KDD 2016 Tutorial
CNTK: Kit de Ferramentas de Open-Source Deep-Learning da Microsoft
KDD 2016 Hands-On Tutorial de Frank Seide e Amit Agarwal, Microsoft
Observação: você precisará fazer dois downloads grandes, o binário CNTK (aproximadamente 300 MB) e o conjunto de dados CIFAR-10 (170 MB) e instalar os binários CNTK e todas as dependências necessárias em seu computador. É recomendável fazer isso de antemão, por exemplo, do seu quarto de hotel. Veja abaixo instruções.
Treinar redes neurais como grupos de produtos da Microsoft! Este tutorial apresentará o Microsoft Cognitive Toolkit ou o CNTK, o kit de ferramentas de aprendizado profundo de software livre escalonável da Microsoft para Windows e Linux. O CNTK é um poderoso kit de ferramentas de aprendizado profundo baseado em grafo de computação para treinamento e avaliação de redes neurais profundas. Os grupos de produtos da Microsoft usam o CNTK, por exemplo, para criar os modelos de fala da Cortana e o ranking da Web.
Público-alvo e expectativa
Este tutorial é direcionado a profissionais de aprendizado profundo atuais ou futuros que procuram uma ferramenta fácil de usar , mas eficiente e escalonável em clusters de GPU de várias máquinas para cargas de trabalho do mundo real.
O tutorial pressupõe o conhecimento básico do aprendizado profundo. Os participantes entenderão os principais conceitos e o uso do CNTK e praticarão a execução de treinamentos de rede neural com o CNTK para reconhecimento de imagem e processamento de texto. O tutorial será um ponto de partida para resolver sua própria tarefa de aprendizado profundo do mundo real com o CNTK.
Pré-requisitos, download e instruções de instalação
Para realizar as sessões de laboratório práticas no tutorial, um laptop ou computador remoto com 64 bits Windows 8.1+ ou Linux é necessário, e uma GPU compatível com CUDA é recomendada (quanto mais rápido, melhor). Se o computador estiver executando o Mac-OS, você poderá executar o Linux dentro de um contêiner do Docker e executar a instalação/instalação descrita abaixo dentro desse contêiner do Docker.
Você precisará baixar e instalar o pacote binário CNTK, o conjunto CIFAR-10 e os arquivos de tutorial, no total de cerca de 500 MB. O ideal é fazer isso de antemão.
- Baixe e instale os binários do CNTK:
Esta página explica as diferentes alternativas para instalar o Microsoft Cognitive Toolkit em seu computador. Para o escopo deste tutorial, uma instalação baseada em uma instalação binária do CNTK é suficiente. Você não precisará criar o CNTK com base no código-fonte. para instruções de instalação. Basta seguir as instruções para baixar um pacote de instalação binária dessa página.
De qualquer forma, verifique se os executáveis CNTK estão incluídos em seu ambiente.
Baixe o conjunto CIFAR-10: para o conjunto CIFAR-10, baixe este arquivo: http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
Baixe os arquivos do Tutorial (aproximadamente 12 MB) abrindo este link e clicando no botão Baixar.
Fazer os tutoriais práticos online
Os dois tutoriais práticos foram postados 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
- Reconhecimento vocal com ATIS: marcação de slot e classificação de intenção com redes recorrentes
ABSTRATA
Este tutorial apresentará o Microsoft Cognitive Toolkit ou o CNTK, o kit de ferramentas de aprendizado profundo de software livre de ponta da Microsoft para Windows e Linux. O CNTK é um poderoso kit de ferramentas de aprendizado profundo baseado em grafo de computação para treinamento e avaliação de redes neurais profundas. Os grupos de produtos da Microsoft usam o CNTK, por exemplo, para criar os modelos de fala da Cortana e o ranking da Web. O CNTK dá suporte a redes de encaminhamento de feed, convolucionais e recorrentes para cargas de trabalho de fala, imagem e texto, também em combinação. Tipos de rede populares têm suporte nativamente (convolução) ou podem ser descritos como uma configuração CNTK (LSTM, sequência para sequência). O CNTK é dimensionado para vários servidores de GPU e foi projetado em torno da eficiência. Este tutorial fornecerá uma visão geral da arquitetura geral do CNTK e descreverá os métodos e algoritmos específicos usados para diferenciação automática, inferência e execução de loop recorrente, compartilhamento de memória, randomização em tempo real de corporação grande e paralelização de vários servidores. Em seguida, mostraremos como são os usos típicos para tarefas relevantes, como reconhecimento de imagem, modelagem sequência a sequência e reconhecimento de fala.
ESTRUTURA DE TÓPICOS
O tutorial abordará estes tópicos:
- O que é CNTK?
- Introdução à rede computacional
- Como é o uso típico do CNTK?
- Definindo a rede computacional
- Configurando e/S de dados
- Hiperparâmetros SGD
- Fluxos de trabalho típicos
- Aprofundamento em tecnologias específicas
- Tratamento implícito do tempo
- Minibatching de sequências de comprimento variável
- Treinamento paralelo de dados
- Exemplos práticos, incluindo
- Reconhecimento de imagem (AlexNet, ResNet)
- Processamento de texto (ATIS)
- Versão prévia: APIs da Biblioteca CNTK para Python e C++
BIOGRAFIAS DO LOCUTOR
Frank Seide, natural de Hamburgo, Alemanha, é pesquisador sênior da Microsoft Research. Seu foco de pesquisa atual é em redes neurais profundas para reconhecimento de fala conversacional; junto com o co-autor Dong Yu, ele foi o primeiro a mostrar a eficácia de redes neurais profundas para reconhecimento de fala conversacional. Ao longo de sua carreira, ele se interessou e trabalhou em uma ampla gama de tópicos e componentes de reconhecimento automático de fala, incluindo sistemas de diálogo falado, reconhecimento de chinês mandarim e, particularmente, reconhecimento de grande vocabulário de fala conversacional com aplicativo para indexação de áudio, transcrição e tradução de fala em fala. Seu foco atual é o kit de ferramentas de aprendizado profundo CNTK da Microsoft.
Amit Agarwal é um engenheiro de software principal da divisão de Tecnologia e Pesquisa da Microsoft. Seu foco atual é a criação do CNTK, a plataforma de aprendizado profundo distribuído em larga escala da Microsoft, para permitir escala, velocidade e capacidade sem precedentes para treinar modelos de aprendizado profundo maciço em enormes conjuntos de dados, usados em uma ampla gama de tarefas de aprendizado profundo relacionadas à fala, imagem e texto na Microsoft e na comunidade. Amit Agarwal trabalhou em uma ampla gama de produtos da Microsoft e em elementos gráficos mentor. Ele possui 7 patentes relacionadas à programação heterogênea e gpu.
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 (em ordem alfabética), "Uma Introdução às Redes Computacionais e ao Kit de Ferramentas de Rede Computacional", Microsoft Technical Report MSR-TR-2014-112, 2014.
[2] "CNTK",