Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
CNTK: Microsofts Open-Source Deep-Learning Toolkit
KDD 2016 Hands-On Lernprogramm von Frank Seide und Amit Agarwal, Microsoft
Folien, die im Lernprogramm verwendet werden
Hinweis: Sie müssen zwei große Downloads vornehmen, die CNTK-Binärdatei (~300 MB) und den CIFAR-10-Datensatz (170 MB) und die CNTK-Binärdateien und alle erforderlichen Abhängigkeiten auf Ihrem Computer installieren. Wir empfehlen, dies vorher zu tun, z. B. von Ihrem Hotelzimmer aus. Weitere Anweisungen finden Sie unten .
Trainieren sie neurale Netzwerke wie Microsoft-Produktgruppen! Dieses Lernprogramm führt das Microsoft Cognitive Toolkit oder CNTK, das skalierbare Open-Source-Deep-Learning-Toolkit von Microsoft für Windows und Linux ein. CNTK ist ein leistungsstarkes Berechnungs-Graph-basiertes Deep-Learning-Toolkit für Schulungen und Auswertung von tiefen neuralen Netzwerken. Microsoft-Produktgruppen verwenden CNTK, z. B. zum Erstellen der Cortana-Sprachmodelle und -Webbewertungen.
Zielgruppe und Erwartung
Dieses Lernprogramm richtet sich an aktuelle oder zukünftige Deep-Learning-Experten, die nach einem Tool suchen, das einfach zu verwendenist, abereffizient und skalierbarer für Multi-Machine GPU-Cluster für reale Workloads.
Das Lernprogramm übernimmt grundlegende Kenntnisse von Deep Learning. Die Teilnehmer lernen die Kernkonzepte und Nutzungskonzepte von CNTK kennen und üben, um neurale Netzwerkschulungen mit CNTK für die Bilderkennung und Die Textverarbeitung auszuführen. Das Lernprogramm ist ein Ausgangspunkt für die Lösung ihrer eigenen realen Deep-Learning-Aufgabe mit CNTK.
Voraussetzungen, Download- und Setupanweisungen
Um die Übungssitzungen im Lernprogramm zu erledigen, wird ein Laptop oder ein Remotecomputer mit 64 Bit Windows 8.1+ oder Linux benötigt, und eine CUDA-fähige GPU wird empfohlen (die schnellere besser). Wenn Ihr Computer Mac-OS ausführt, können Sie Linux in einem Docker-Container ausführen und die unten beschriebene Installation/Einrichtung in diesem Docker-Container ausführen.
Sie müssen das CNTK-Binärpaket, den CIFAR-10-Satz und die Lernprogrammdateien insgesamt ca. 500 MB herunterladen und installieren. Führen Sie dies idealerweise vor dem Vorgang aus.
- Laden Sie die CNTK-Binärdateien herunter und installieren Sie sie:
Auf dieser Seite werden die verschiedenen Alternativen erläutert, um die Microsoft Cognitive Toolkit auf Ihrem Computer zu installieren. Für den Umfang dieses Lernprogramms ist eine Installation basierend auf einer binären CNTK-Installation ausreichend. Sie müssen CNTK nicht aus dem Quellcode erstellen. Anweisungen zum Einrichten. Sie können einfach die Anweisungen zum Herunterladen eines Binärinstallationspakets aus dieser Seite befolgen.
Stellen Sie in jedem Fall sicher, dass die CNTK-ausführbaren Dateien in Ihrer Umgebung enthalten sind.
Laden Sie die CIFAR-10-Gruppe herunter: Für das CIFAR-10-Set laden Sie diese Datei herunter: http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
Laden Sie die Lernprogrammdateien (~12 MB) herunter, indem Sie diesen Link öffnen und auf die Schaltfläche "Herunterladen" klicken.
Online-Lernprogramme durchführen
Die beiden Hands-On-Lernprogramme wurden hier als Seiten gepostet, die entlang folgen können:
- Bilderkennung auf CIFAR-10: Bilderkennung auf CIFAR-10 mit konvolutionalen und Restnetzen
- Language Understanding mit ATIS: Slottagging und Absichtsklassifizierung mit wiederkehrenden Netzwerken
ABSTRAKT
Dieses Lernprogramm führt das Microsoft Cognitive Toolkit oder CNTK, das modernste Open-Source-Deep-Learning-Toolkit von Microsoft für Windows und Linux ein. CNTK ist ein leistungsstarkes Berechnungs-Graph-basiertes Deep-Learning-Toolkit für Schulungen und Auswertung von tiefen neuralen Netzwerken. Microsoft-Produktgruppen verwenden CNTK, z. B. zum Erstellen der Cortana-Sprachmodelle und -Webbewertungen. CNTK unterstützt feed-forward, konvolutional und wiederkehrende Netzwerke für Sprach-, Bild- und Textlasten auch in Kombination. Beliebte Netzwerktypen werden entweder systemeigene (Konvolution) unterstützt oder können als CNTK-Konfiguration (LSTM, Sequenz-zu-Sequenz) beschrieben werden. CNTK skaliert auf mehrere GPU-Server und ist rund um die Effizienz ausgelegt. Dieses Lernprogramm enthält einen Überblick über die allgemeine Architektur von CNTK und beschreibt die spezifischen Methoden und Algorithmen, die für die automatische Differenzierung, wiederkehrende Schleife-Inference und Ausführung, Speicherfreigabe, on-the-fly-Randomisierung von großen Korpora und Multi-Server-Parallelisierung verwendet werden. Anschließend wird gezeigt, wie typische Verwendungen für relevante Aufgaben wie Bilderkennung, Sequenz-zu-Sequenzmodellierung und Spracherkennung aussehen.
GLIEDERUNG
Das Lernprogramm behandelt folgende Themen:
- Was ist CNTK?
- Einführung in das Computernetzwerk
- Wie sieht eine typische Verwendung von CNTK aus?
- Definieren des Computernetzwerks
- Konfigurieren von Daten I/O
- SGD-Hyperparameter
- Typische Workflows
- Deep Dive in bestimmte Technologien
- Implizite Behandlung von Zeit
- Minibatching von Variablenlängensequenzen
- Daten parallele Schulung
- Hands-On-Beispiele, einschließlich
- Bilderkennung (AlexNet, ResNet)
- Textverarbeitung (ATIS)
- Vorschau: CNTK-Bibliotheks-APIs für Python und C++
Sprecherbiografien
Frank Seide, ein Einheimischer von Hamburg, Deutschland, ist ein Senior Researcher bei Microsoft Research. Sein aktueller Forschungsfokus liegt auf tiefen neuralen Netzwerken für die Spracherkennung von Unterhaltungen; zusammen mit dem Co-Autor Dong Yu war er zunächst zum Ersten, um die Wirksamkeit von tiefen neuralen Netzwerken für die Erkennung von Unterhaltungen zu zeigen. Während seiner Karriere hat er sich an einer breiten Palette von Themen und Komponenten der automatischen Spracherkennung interessiert, einschließlich sprachdialogischen Systemen, der Anerkennung von Mandarin-Chinesisch und insbesondere der großen Vokabularerkennung von Unterhaltungen mit Anwendung auf Audioindexierung, Transkription und Sprachübersetzung. Sein aktueller Fokus ist das CNTK-Deep-Learning-Toolkit von Microsoft.
Amit Agarwal ist ein Hauptsoftwareentwickler in der Abteilung Technologie und Forschung von Microsoft. Sein aktueller Fokus liegt auf dem Aufbau von CNTK, der großen verteilten Deep Learning-Plattform von Microsoft, um eine beispiellose Skalierung, Geschwindigkeit und Kapazität für die Schulung massiver Deep Learning-Modelle auf enormen Datasets zu ermöglichen, die in einer breiten Bandbreite von Sprach-, Bild- und Textbezogenen Deep Learning-Aufgaben bei Microsoft und in der Community verwendet werden. Amit Agarwal arbeitete an einer vielzahl von Microsoft-Produkten und an Mentor-Grafiken. Er hält 7 Patente im Zusammenhang mit heterogener und GPU-Programmierung.
REFERENCES
[1] Amit Agarwal, Eldar Akchurin, Chris Basoglu, Guoguo Chen, Scott Cyphers, Jasha Droppo, Adam Eversole, Brian Guenter, Mark Hillebrand, T. Ryan Hoens, Xuedong Huang, Zhiheng Huang, Vladimir Ivanov, Alexey Kamenev, Philipp Kranen, Oleksii Kuchaiev, Wolfgang Manousek, Avner May, Bhaskar Mitra, Olivier Nano, Gaizka Navarro, Alexey Orlov, Hari Parthasarathi, Baolin Peng, Marko Radmilac, Alexey Reznichenko, Frank Seide, Michael L. Seltzer, Malcolm Slaney, Andreas Stolcke, Huaming Wang, Yongqiang Wang, Kaisheng Yao, Dong Yu, Yu Zhang, Geoffrey Zweig (in alphabetischer Reihenfolge), "Eine Einführung in Computernetzwerke und das Computational Network Toolkit", Microsoft Technical Report MSR-TR-2014-112, 2014.
[2] "CNTK",