Preâmbulo
Este repositório contém os slides de aula e a descrição do curso para o curso de processamento de linguagem natural profundo oferecido no Hilary Term 2017 na Universidade de Oxford.
Este é um curso avançado sobre processamento de linguagem natural. O processamento automático de entradas de linguagem natural e a produção de saídas de linguagem é um componente essencial da inteligência geral artificial. As ambiguidades e o ruído inerentes à comunicação humana tornam as técnicas simbólicas de IA tradicionais ineficazes para representar e analisar dados de idiomas. Recentemente, técnicas estatísticas baseadas em redes neurais alcançaram vários sucessos notáveis no processamento de linguagem natural, levando a uma grande quantidade de interesse comercial e acadêmico no campo
Este é um curso aplicado com foco nos recentes avanços na análise e geração de fala e texto usando redes neurais recorrentes. Introduzimos as definições matemáticas dos modelos relevantes de aprendizado de máquina e derivamos seus algoritmos de otimização associados. O curso abrange uma variedade de aplicações de redes neurais na PNL, incluindo a análise de dimensões latentes no texto, transcrevendo a fala para o texto, a tradução entre os idiomas e a resposta a perguntas. Esses tópicos são organizados em três temas de alto nível, formando uma progressão da compreensão do uso de redes neurais para modelagem de linguagem seqüencial, para entender seu uso como modelos de linguagem condicional para tarefas de transdução e, finalmente, abordagens empregando essas técnicas em combinação com outros mecanismos para aplicações avançadas. Ao longo do curso, também é discutida a implementação prática de tais modelos no hardware da CPU e da GPU.
Este curso é organizado por Phil Blunsom e entregue em parceria com o Grupo de Pesquisa de Idiomas Naturais DeepMind.
Palestrantes
- Phil Blunsom (Universidade de Oxford e Deepmind)
- Chris Dyer (Universidade Carnegie Mellon e Deepmind)
- Edward Grefenstette (Deepmind)
- Karl Moritz Hermann (Deepmind)
- Andrew Senior (DeepMind)
- Wang Ling (Deepmind)
- Jeremy Appleyard (NVIDIA)
Tas
- Yannis Assael
- Yishu Miao
- Brendan Shillingford
- Jan compra
Cronograma
Prático
- Grupo 1-segunda-feira, 9: 00-11: 00 (Semanas 2-8), 60.05 Thom Building
- Grupo 2-Sexta-feira, 16: 00-18: 00 (Semanas 2-8), sala 379
- Prático 1: Word2vec
- Prático 2: Classificação de texto
- Prático 3: Redes neurais recorrentes para classificação de texto e modelagem de idiomas
- Prático 4: Open Practical
Palestras
As palestras públicas são realizadas no Teatro de Palestras 1 do Instituto de Matemática, às terças e quintas-feiras (exceto semana 8), 16: 00-18: 00 (Hilary Term Weeks 1,3-8).
Materiais de palestras
1. Palestra 1A - Introdução [Phil Blunsom]
Esta palestra apresenta o curso e motiva por que é interessante estudar processamento de idiomas usando técnicas de aprendizado profundo.
[slides] [Vídeo]
2. Palestra 1B - Redes neurais profundas são nossos amigos [Wang Ling]
Esta palestra revisa os conceitos básicos de aprendizado de máquina que os alunos devem saber antes de iniciar este curso.
[slides] [Vídeo]
3. Palestra 2a- semântica do nível de palavras [Ed Grefenstette]
Palavras são o principal significado de unidades de rolamento na linguagem. Representando e aprendendo os significados das palavras é uma tarefa fundamental na PNL e nesta palestra O conceito de incorporação de palavras é introduzido como uma solução prática e escalável.
[slides] [Vídeo]
Leitura
Basics de incorporação
- Firth, John R. "Uma sinopse da teoria linguística, 1930-1955". (1957): 1-32.
- Curran, James Richard. "Da distribuição à similaridade semântica". (2004).
- Colobert, Ronan, et al. "Processamento de linguagem natural (quase) do zero". Journal of Machine Learning Research 12. agosto (2011): 2493-2537.
- Mikolov, Tomas, et al. "Representações distribuídas de palavras e frases e sua composicionalidade". Avanços nos sistemas de processamento de informações neurais. 2013.
Conjuntos de dados e visualização
- Finkelstein, Lev, et al. "Colocando a pesquisa no contexto: o conceito revisitado". Anais da 10ª Conferência Internacional sobre World Wide Web. ACM, 2001.
- Hill, Felix, ROI Reichart e Anna Korhonen. "SIMLEX-999: Avaliando modelos semânticos com estimativa de similaridade (genuína)". Linguística Computacional (2016).
- Maaten, Laurens van der e Geoffrey Hinton. "Visualizando dados usando T-SNE". Journal of Machine Learning Research 9.Nov (2008): 2579-2605.
Postagens do blog
- Deep Learning, PNL e representações, Christopher Olah.
- Visualizando os Tweeps com T-Sne, em JavaScript, Andrej Karpathy.
Leitura adicional
- Hermann, Karl Moritz e Phil Blunsom. "Modelos multilíngues para semântica distribuída composicional". Arxiv pré -impressão Arxiv: 1404.4641 (2014).
- Levy, Omer e Yoav Goldberg. "Palavra neural incorporada como fatoração de matriz implícita". Avanços nos sistemas de processamento de informações neurais. 2014.
- Levy, Omer, Yoav Goldberg e Ido Dagan. "Melhorando a similaridade distributiva com as lições aprendidas com as incorporações de palavras". Transações da Associação para Linguística Computacional 3 (2015): 211-225.
- Ling, Wang, et al. "Duas/ou simples adaptações muito simples do Word2vec para problemas de sintaxe". Hlt-Naacl. 2015.
4. Palestra 2B - Visão geral das práticas [Chris Dyer]
Esta palestra motiva o segmento prático do curso.
[slides] [Vídeo]
5. Palestra 3 - Modelagem de Idiomas e RNNs Parte 1 [Phil Blunsom]
A modelagem de idiomas é uma tarefa importante de grande uso prático em muitos aplicativos de PNL. Esta palestra apresenta modelagem de idiomas, incluindo abordagens tradicionais baseadas em n-gramas e abordagens neurais mais contemporâneas. Em particular, o modelo de linguagem popular de rede neural recorrente (RNN) é introduzido e seus algoritmos básicos de treinamento e avaliação descritos.
[slides] [Vídeo]
Leitura
Livro
- Aprendizagem profunda, capítulo 10.
Blogs
- A eficácia irracional das redes neurais recorrentes, Andrej Karpathy.
- A eficácia irracional dos modelos de idiomas em nível de caráter, Yoav Goldberg.
- Explicando e ilustrando a inicialização ortogonal para redes neurais recorrentes, Stephen Merity.
6. Palestra 4 - Modelagem de Idiomas e RNNs Parte 2 [Phil Blunsom]
Essa palestra continua a partir da anterior e considera alguns dos problemas envolvidos na produção de uma implementação eficaz de um modelo de idioma RNN. O problema do gradiente de desaparecimento e explosão é descrito e as soluções arquitetônicas, como memória de longo prazo (LSTM), são introduzidas.
[slides] [Vídeo]
Leitura
Livro
- Aprendizagem profunda, capítulo 10.
Gradientes de desaparecimento, LSTMS etc.
- Sobre a dificuldade de treinar redes neurais recorrentes. Pascanu et al., ICML 2013.
- Memória de longo prazo de longo prazo. Hochreiter e Schmidhuber, Computação Neural 1997.
- Representações de frase de aprendizado usando o RNN EncoderDecoder para tradução de máquina estatística. Cho et al, EMNLP 2014.
- Blog: Entendendo as redes LSTM, Christopher Olah.
Lidar com grandes vocabulários
- Um modelo de linguagem distribuída hierárquica escalável. MNIH e Hinton, NIPS 2009.
- Um algoritmo rápido e simples para o treinamento de modelos de linguagem probabilística neural. MNIH e TEH, ICML 2012.
- Ao usar vocabulário de destino muito grande para tradução para a máquina neural. Jean et al., ACL 2015.
- Explorando os limites da modelagem de idiomas. Jozefowicz et al., Arxiv 2016.
- Aproximação eficiente da MAX SOFT para GPUs. Grave et al., Arxiv 2016.
- Notas sobre estimativa contrastiva de ruído e amostragem negativa. Dyer, Arxiv 2014.
- Modelagem de linguagem neural pragmática na tradução da máquina. BALTESCU e BLUNSOM, NAACL 2015
Regularização e abandono
- Uma aplicação teoricamente fundamentada de abandono em redes neurais recorrentes. Gal e Ghahramani, NIPS 2016.
- Blog: Incerteza em Deep Learning, Yarin Gal.
Outras coisas
- Redes de rodovias recorrentes. Zilly et al., Arxiv 2016.
- Capacidade e treinabilidade em redes neurais recorrentes. Collins et al., Arxiv 2016.
7. Palestra 5 - Classificação de texto [Karl Moritz Hermann]
Esta palestra discute a classificação de texto, começando com classificadores básicos, como Bayes ingênuos, e progredindo até as RNNs e redes de convolução.
[slides] [Vídeo]
Leitura
- Redes neurais convolucionais recorrentes para classificação de texto. Lai et al. AAAI 2015.
- Uma rede neural convolucional para modelar frases, Kalchbrenner et al. ACL 2014.
- Composicionalidade semântica por meio de vetor de matriz recursivo, Socher et al. EMNLP 2012.
- Blog: Entendendo as redes neurais da convolução para a PNL, Denny Britz.
- Tese: Representações distributivas para semântica de composição, Hermann (2014).
8. Palestra 6 - Deep NLP nas GPUs NVIDIA [Jeremy Appleyard]
Esta palestra apresenta unidades de processamento gráfico (GPUs) como uma alternativa às CPUs para executar algoritmos de aprendizado profundo. Os pontos fortes e fracos das GPUs são discutidos, bem como a importância de entender como a largura de banda da memória e a computação afetam a taxa de transferência dos RNNs.
[slides] [Vídeo]
Leitura
- Otimizando o desempenho de redes neurais recorrentes nas GPUs. Appleyard et al., Arxiv 2016.
- RNNs persistentes: escondendo pesos recorrentes no chip, Diamos et al., ICML 2016
- Aproximação eficiente da MAX SOFT para GPUs. Grave et al., Arxiv 2016.
9. Palestra 7 - Modelos de linguagem condicional [Chris Dyer]
Nesta palestra, estendemos o conceito de modelagem de idiomas para incorporar informações anteriores. Ao condicionar um modelo de idioma RNN em uma representação de entrada, podemos gerar linguagem contextualmente relevante. Essa idéia muito geral pode ser aplicada para transduzir sequências em novas seqüências para tarefas como tradução e resumo, ou imagens em legendas que descrevem seu conteúdo.
[slides] [Vídeo]
Leitura
- Modelos de tradução contínua recorrente. Kalchbrenner e Blunsom, EMNLP 2013
- Sequência para seqüência de aprendizado com redes neurais. Sutskever et al., NIPS 2014
- Modelos multimodais de linguagem neural. Kiros et al., ICML 2014
- Mostre e diga: um gerador de legenda de imagem neural. Vinyals et al., CVPR 2015
10. Palestra 8 - Gerando linguagem com atenção [Chris Dyer]
Esta palestra apresenta um dos mecanismos mais importantes e influenciais empregados em redes neurais profundas: atenção. A atenção aumenta as redes recorrentes com a capacidade de condicionar em partes específicas da entrada e é essencial para alcançar o alto desempenho em tarefas como tradução da máquina e legenda de imagem.
[slides] [Vídeo]
Leitura
- Tradução da máquina neural aprendendo em conjunto a alinhar e traduzir. Bahdanau et al., ICLR 2015
- Mostre, participe e diga: geração de legenda da imagem neural com atenção visual. Xu et al., ICML 2015
- Incorporando vieses de alinhamento estrutural em um modelo de tradução neural atencional. Cohn et al., NAACL 2016
- BLEU: Um método para avaliação automática da tradução da máquina. Papineni et al, ACL 2002
11. Palestra 9 - Reconhecimento de fala (ASR) [Andrew Senior]
O reconhecimento automático de fala (ASR) é a tarefa de transdução de sinais de áudio bruto da linguagem falada em transcrições de texto. Essa palestra cobre a história dos modelos ASR, das misturas gaussianas a RNNs aumentados de atenção, a linguística básica da fala e as várias representações de entrada e saída frequentemente empregadas.
[slides] [Vídeo]
12. Palestra 10 - Texto para fala (TTS) [Andrew Senior]
Esta palestra apresenta algoritmos para converter a linguagem escrita em linguagem falada (texto em fala). O TTS é o processo inverso para o ASR, mas existem algumas diferenças importantes nos modelos aplicados. Aqui, revisamos os modelos TTS tradicionais e, em seguida, abordamos abordagens neurais mais recentes, como o modelo Wavenet da DeepMind.
[slides] [Vídeo]
13. Palestra 11 - Perguntas Respondendo [Karl Moritz Hermann]
[slides] [Vídeo]
Leitura
- Máquinas de ensino para ler e compreender. Hermann et al., NIPS 2015
- Aprendizagem profunda para seleção de sentenças de resposta. Yu et al., Nips Deep Learning Workshop 2014
14. Palestra 12 - Memória [Ed Grefenstette]
[slides] [Vídeo]
Leitura
- Computação híbrida usando uma rede neural com memória externa dinâmica. Graves et al., Nature 2016
- Raciocínio sobre falta de atenção neural. Rocktäschel et al., ICLR 2016
- Aprendendo a transduzir com a memória ilimitada. Grefenstette et al., NIPS 2015
- Redes de memória de ponta a ponta. Sukhbaatar et al., NIPS 2015
15. Palestra 13 - Conhecimento linguístico em redes neurais
[slides] [Vídeo]
Praça
Usaremos a Piazza para facilitar a discussão em classe durante o curso. Em vez de enviar perguntas diretamente por e -mail, encorajo você a postar suas perguntas sobre a Piazza a ser respondida por seus colegas, instrutores e palestrantes. No entanto, observe que todos os professores deste curso estão oferecendo seu tempo e nem sempre podem estar disponíveis para dar uma resposta.
Encontre nossa página de aula em: https://piazza.com/ox.ac.uk/winter2017/dnlpht2017/home
Avaliação
A avaliação principal deste curso será uma tarefa para levar para casa emitida no final do prazo. Essa tarefa fará perguntas sobre os conceitos e modelos discutidos no curso, bem como de publicações de pesquisa selecionadas. A natureza das perguntas incluirá a análise de descrições matemáticas dos modelos e a proposta de extensões, melhorias ou avaliações a esses modelos. A tarefa também pode solicitar aos alunos que leiam publicações específicas de pesquisa e discutam seus algoritmos propostos no contexto do curso. Ao responder às perguntas, os alunos deverão apresentar argumentos escritos coerentes e usar fórmulas matemáticas apropriadas e possivelmente pseudo-código, para ilustrar respostas.
O componente prático do curso será avaliado da maneira usual.
Agradecimentos
Este curso não teria sido possível sem o apoio da DeepMind, do Departamento de Ciência da Computação da Universidade de Oxford, NVIDIA, e a generosa doação de recursos da GPU da Microsoft Azure.