[PYTHON] Didacticiel "CNTK" de la bibliothèque d'apprentissage en profondeur de Microsoft

Connaissez-vous CNTK? CNTK est une bibliothèque d'apprentissage profond open source dirigée par Microsoft. Pour être honnête, j'ai récemment commencé à l'utiliser, mais ce CNTK n'est pas comme Microsoft dans le bon sens, et c'est assez Je pense que c'est cool. Cette fois, je vais d'abord présenter brièvement les fonctionnalités de CNTK, [Je vais regarder un exemple de code utilisant Jupyter Notebook dans la seconde moitié](http://qiita.com/usuyama/items/bb7600ab7cfc1f5b8be3#python%E3%81%A7cntk] % E3% 82% 92% E4% BD% BF% E3% 81% A3% E3% 81% A6% E3% 81% BF% E3% 82% 8B).

** [Cliquez ici pour le tutoriel](http://qiita.com/usuyama/items/bb7600ab7cfc1f5b8be3#python%E3%81%A7cntk%E3%82%92%E4%BD%BF%E3%81%A3%E3% 81% A6% E3% 81% BF% E3% 82% 8B) **

cntk.png

Politique de développement ouverte qui ne colle pas à «Microsoft»

Open Source

https://github.com/Microsoft/CNTK

Le développement est en cours sur GitHub. Il n'y a pas de version interne.

Wiki officiel

API Python et C ++

Il n'y a pas (encore) d'API .Net. Brainscript est également pris en charge.

Disponible sur Linux et Windows

L'équipe de développement a déclaré: «Linux et Windows sont les premiers citoyens de CNTK». Il semble que les deux plates-formes prennent en charge les mêmes fonctionnalités, bien qu'il puisse y avoir un léger décalage. Docker est également disponible pour Linux, donc peut-être que Linux est plus facile à utiliser. ne pas.

ms_loves_linux.png

Grande vitesse et échelle

Échelle sur plusieurs GPU

La figure compare les performances avec Therano, TensorFlow, Torch 7 et Caffe. Il s'agit d'une comparaison du nombre d'images pouvant être traitées par seconde par un réseau neuronal à 4 couches entièrement connecté (la taille du mini lot est de 8192). Les paramètres bleu et orange sont des clusters de machines Linux avec un ou quatre GPU (Nvidia K40), et le vert est un cluster de deux machines Linux (2 x 4 GPU). ** Avec un GPU, chaque bibliothèque a presque la même vitesse (CNTK est plus rapide que TensorFlow?), Mais CNTK est le seul qui peut utiliser efficacement plusieurs GPU. ** À 4 GPU, CNTK évolue presque 4x, tandis que Torch 7 et Caffe sont environ 2x. TensorFlow est pratiquement inchangé.

speed-comparison.PNG Blog Microsoft Research

Octobre 2016: CNTK atteint une précision de reconnaissance vocale au niveau humain

Lors d'une expérience en octobre 2016, un moteur de reconnaissance vocale développé par l'équipe de Microsoft a enregistré un taux d'erreur de mots de 5,9%. Cela équivaut à demander à un service de transcription professionnel le même fichier audio. De plus, ce service de transcription utilise un processus en deux étapes, la première personne transcrivant à partir de 1 et la seconde effectuant des corrections.

La partie détaillée de la méthode est publiée dans Paper, mais elle utilise un réseau de neurones avec un très grand nombre de couches. Il est également indiqué dans le Paper que CNTK démontrait également sa puissance ici et que le traitement à grande vitesse de CNTK était indispensable.

speech-graphic.jpg

Essayez d'utiliser CNTK avec Python

Introduction à CNTK (Python)

Mon collègue faisait un bon tutoriel, alors je l'ai traduit. Puisqu'il s'agit d'un Jupyter Notebook, vous pouvez éditer et exécuter du code sur place sans préparer l'environnement. Nous prévoyons d'en ajouter d'autres en séquence.

Jupyter Notebook (Azure Notebook) Si vous vous connectez avec votre compte Microsoft, vous pourrez cloner vos notes pour les modifier et les exécuter. azure_notebook.png

Il est très pratique de pouvoir changer le code sur place et de l'exécuter, alors essayez de changer le code du tutoriel et de jouer avec.

jupyter_run_cell.png

référence

--Si vous souhaitez préparer l'environnement localement, Officiel ou [ici](http://qiita.com/ L'article de hiiyan0402 / items / ec41908f2aa81b73047e) semble être utile.

Recommended Posts

Didacticiel "CNTK" de la bibliothèque d'apprentissage en profondeur de Microsoft
Distillateur de bibliothèque d'éclaircissement de modèles d'apprentissage profond
L'apprentissage en profondeur
(python) Principes de base du chaînage de la bibliothèque d'apprentissage en profondeur
Tutoriel d'apprentissage en profondeur de la construction d'environnement
Mémorandum d'apprentissage profond
Commencer l'apprentissage en profondeur
Apprentissage en profondeur Python
Apprentissage profond × Python
Résumé du didacticiel d'apprentissage automatique
Pourquoi quoi? Bibliothèque de calcul scientifique Deep Learning Édition Numpy
Python: pratique du Deep Learning
Fonctions d'apprentissage en profondeur / d'activation
Apprentissage profond à partir de zéro
Deep learning 1 Pratique du deep learning
Apprentissage profond / entropie croisée
Premier apprentissage profond ~ Préparation ~
Première solution d'apprentissage en profondeur ~
[AI] Apprentissage métrique profond
J'ai essayé le deep learning
Bibliothèque DNN (Deep Learning): Comparaison de chainer et TensorFlow (1)
Python: réglage du Deep Learning
Technologie d'apprentissage en profondeur à grande échelle
Bibliothèque d'apprentissage automatique Shogun
PROGRAMMATION PROFONDE PROBABILISTE --- Bibliothèque "Deep Learning + Bayes" --- Présentation d'Edward
Fonction d'apprentissage profond / softmax
Prédiction des ondes sinusoïdales à l'aide de RNN dans la bibliothèque d'apprentissage en profondeur Keras
Mémo d'auto-apprentissage "Deep Learning from scratch" (n ° 15) Tutoriel pour débutants TensorFlow
Apprentissage profond à partir de zéro 1 à 3 chapitres
Essayez l'apprentissage en profondeur avec TensorFlow
Deep Learning Gaiden ~ Programmation GPU ~
<Cours> Apprentissage en profondeur: Day2 CNN
Reconnaissance d'image par apprentissage profond 1 théorie
Deep running 2 Réglage de l'apprentissage profond
Apprentissage profond / code de travail LSTM
<Cours> Apprentissage en profondeur: Jour 1 NN
Apprentissage profond du noyau avec Pyro
Essayez le Deep Learning avec FPGA
Présentation d'Udacity Deep Learning Nanodegree
Introduction au Deep Learning ~ Règles d'apprentissage ~
Apprentissage par renforcement profond 1 Introduction au renforcement de l'apprentissage
Apprentissage par renforcement profond 2 Mise en œuvre de l'apprentissage par renforcement
Générez des Pokémon avec Deep Learning
Introduction au Deep Learning ~ Rétropropagation ~
[Windows Edition] Keras Course, une bibliothèque où vous pouvez essayer le Deep Learning immédiatement - Partie 1