KDD 2016 Tutorial
CNTK: O Open-Source Deep-Learning Toolkit da Microsoft
KDD 2016 Hands-On Tutorial por Frank Seide e Amit Agarwal, Microsoft
Nota: Terá de escamar dois grandes downloads, o binário CNTK (~300 MB) e o conjunto de dados CIFAR-10 (170 MB) e instalar os binários CNTK e todas as dependências necessárias à sua máquina. Recomendamos fazê-lo previamente, por exemplo, do seu quarto de hotel. Veja abaixo as instruções.
Treine redes neurais como grupos de produtos da Microsoft! Este tutorial apresentará o Microsoft Cognitive Toolkit, ou CNTK, o escalável kit de ferramentas de deep learning da Microsoft para Windows e Linux. CNTK é um poderoso kit de ferramentas de aprendizagem profunda baseada em gráficos de computação para treinar e avaliar redes neuronais profundas. Os grupos de produtos da Microsoft usam a CNTK, por exemplo, para criar os modelos de fala cortana e o ranking web.
Público-alvo e Expectativa
Este tutorial é direcionado para os atuais ou futuros praticantes de deep-learning que procuram uma ferramenta que seja fácil de usar , mas eficiente e escalável através de clusters GPU multi-máquinas para cargas de trabalho no mundo real.
O tutorial assume o conhecimento básico da aprendizagem profunda. Os participantes poderão compreender os conceitos e uso fundamentais da CNTK e praticar para executar treinos de rede neural com a CNTK para reconhecimento de imagem e processamento de texto. O tutorial será um ponto de partida para resolver a sua própria tarefa de aprendizagem profunda no mundo real com a CNTK.
Pré-requisitos, Instruções de Descarregamento e Configuração
Para fazer as sessões práticas de laboratório no tutorial, é necessário um computador portátil ou remoto com 64bit Windows 8.1+ ou Linux, e recomenda-se uma GPU com capacidade cuda (quanto mais rápido melhor). Se a sua máquina estiver a funcionar com o Mac-OS, pode executar o Linux dentro de um contentor de estivadores e executar a instalação/configuração descrita abaixo dentro deste recipiente de estiva.
Você precisará de descarregar e instalar o pacote binário CNTK, o conjunto CIFAR-10 e os ficheiros tutoriais, no total cerca de 500 MB. O ideal é fazê-lo de antemão.
- Faça o download e instale os binários CNTK:
Esta página explica-lhe as diferentes alternativas para instalar o Microsoft Cognitive Toolkit na sua máquina. Para o âmbito deste tutorial, basta uma instalação baseada numa instalação CNTK binária. Não precisará de construir a CNTK a partir do código fonte. para instruções de configuração. Basta seguir as instruções para descarregar um pacote de instalação binário a partir dessa página.
Em todo o caso, certifique-se de que os executáveis CNTK estão incluídos no seu ambiente.
Descarregue o conjunto CIFAR-10: Para o conjunto CIFAR-10, descarregue este ficheiro: http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
Descarregue os ficheiros Tutorial (~12 MB) abrindo este link e clicando no botão Descarregar.
Faça os tutoriais práticos on-line
Os dois tutoriais práticos foram publicados como páginas aqui que podem ser seguidas:
- Reconhecimento de Imagem no CIFAR-10: Reconhecimento de imagem no CIFAR-10 com Redes Convolucionais e Residuais
- Language Understanding com ATIS: Marcação de slots e classificação de intenções com redes recorrentes
RESUMO
Este tutorial apresentará o Microsoft Cognitive Toolkit, ou CNTK, o kit de ferramentas de aprendizagem de fundo de ponta da Microsoft para Windows e Linux. CNTK é um poderoso kit de ferramentas de aprendizagem profunda baseada em gráficos de computação para treinar e avaliar redes neuronais profundas. Os grupos de produtos da Microsoft usam a CNTK, por exemplo, para criar os modelos de fala cortana e o ranking web. A CNTK suporta redes de feed-forward, convolutional e recorrente para trabalhos de fala, imagem e texto, também em combinação. Os tipos de rede populares são suportados de forma nativa (convolution) ou podem ser descritos como uma configuração CNTK (LSTM, sequência-a-sequência). A CNTK escala para vários servidores GPU e é projetada em torno da eficiência. Este tutorial dará uma visão geral da arquitetura geral da CNTK e descreverá os métodos e algoritmos específicos usados para a diferenciação automática, inferência e execução recorrentes, partilha de memória, aleatoriedade on-the-fly de grandes corporas, e paralelização multi-servidor. Mostraremos então como são os usos típicos para tarefas relevantes como reconhecimento de imagem, modelação de sequências e reconhecimento de voz.
ESTRUTURA
O tutorial abordará estes tópicos:
- O que é CNTK?
- Introdução da rede computacional
- Como é o uso típico da CNTK?
- Definição da Rede Computacional
- Configuração de dados I/O
- Hiper-parâmetros SGD
- Fluxos de trabalho típicos
- Mergulhar profundamente em tecnologias específicas
- Manipulação implícita do tempo
- Minibatching de sequências de comprimento variável
- Formação em paralelo de dados
- Exemplos práticos, incluindo
- Reconhecimento de imagem (AlexNet, ResNet)
- Processamento de texto (ATIS)
- Pré-visualização: APIs da Biblioteca CNTK para Python e C++
BIOGRAFIAS DO ORADOR
Frank Seide, natural de Hamburgo, Alemanha, é investigador sénior da Microsoft Research. O seu foco atual de investigação é em redes neuronais profundas para reconhecimento de discursos conversais; juntamente com o coautor Dong Yu, foi o primeiro a mostrar a eficácia das redes neuronais profundas para o reconhecimento do discurso conversacional. Ao longo da sua carreira, tem-se interessado e trabalhado num vasto leque de tópicos e componentes de reconhecimento automático de discursos, incluindo sistemas de diálogo falado, reconhecimento do chinês mandarim e, em particular, reconhecimento de discurso sonoro com aplicação à indexação áudio, transcrição e tradução fala-a-fala. O seu foco atual é o kit de ferramentas de aprendizagem profunda da Microsoft.
Amit Agarwal é um engenheiro de software principal na divisão de Tecnologia e Investigação da Microsoft. O seu foco atual é a construção da CNTK, a plataforma de aprendizagem profunda distribuída em larga escala da Microsoft, para permitir uma escala, velocidade e capacidade sem precedentes para treinar modelos de aprendizagem profunda em enormes conjuntos de dados, usados numa ampla gama de tarefas de aprendizagem profunda relacionadas com a fala, imagem e texto na Microsoft e na comunidade. Amit Agarwal trabalhou numa vasta gama de produtos da Microsoft e na Mentor Graphics. Detém 7 patentes relacionadas com a programação heterogénea e gpu.
REFERÊNCIAS
[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 Radk, Alex Michael L. Seltzer, Malcolm Slaney, Andreas Stolcke, Huaming Wang, Yongqiang Wang, Kaisheng Yao, Dong Yu, Yu Zhang, Geoffrey Zweig (por ordem alfabética), "Uma Introdução às Redes Computacionais e o Kit de Ferramentas da Rede Computacional", Relatório Técnico da Microsoft MSR-TR-2014-112, 2014.
[2] "CNTK",