Preámbulo
Este repositorio contiene las diapositivas de conferencias y la descripción del curso para el curso de procesamiento de lenguaje natural profundo que se ofrece en el término Hilary 2017 en la Universidad de Oxford.
Este es un curso avanzado sobre el procesamiento del lenguaje natural. Procesar automáticamente las entradas de lenguaje natural y producir salidas de lenguaje es un componente clave de la inteligencia general artificial. Las ambigüedades y el ruido inherentes a la comunicación humana hacen que las técnicas de IA simbólicas tradicionales sean ineficaces para representar y analizar los datos del lenguaje. Recientemente, las técnicas estadísticas basadas en redes neuronales han logrado una serie de éxitos notables en el procesamiento del lenguaje natural, lo que lleva a una gran cantidad de interés comercial y académico en el campo
Este es un curso aplicado que se centra en los avances recientes en el análisis y la generación del habla y el texto utilizando redes neuronales recurrentes. Presentamos las definiciones matemáticas de los modelos de aprendizaje automático relevantes y derivamos sus algoritmos de optimización asociados. El curso cubre una variedad de aplicaciones de redes neuronales en PNL, incluido el análisis de dimensiones latentes en texto, transcribir el habla al texto, traducir entre idiomas y responder preguntas. Estos temas se organizan en tres temas de alto nivel que forman una progresión desde la comprensión del uso de redes neuronales para el modelado de idiomas secuenciales, para comprender su uso como modelos de lenguaje condicional para tareas de transducción, y finalmente hasta enfoques que emplean estas técnicas en combinación con otros mecanismos para aplicaciones avanzadas. A lo largo del curso, también se discute la implementación práctica de tales modelos en CPU y hardware de GPU.
Este curso está organizado por Phil Blunsom y se entrega en asociación con Deepmind Natural Language Research Group.
Profesores
- Phil Blunsom (Universidad de Oxford y DeepMind)
- Chris Dyer (Universidad Carnegie Mellon y DeepMind)
- Edward Grefenstette (DeepMind)
- Karl Moritz Hermann (Deepmind)
- Andrew Senior (DeepMind)
- Wang Ling (DeepMind)
- Jeremy Apleyard (Nvidia)
TAS
- Yannis Assael
- Yishu Miao
- Brendan Shillingford
- Jan compra
Calendario
Práctico
- Grupo 1-Lunes 9: 00-11: 00 (semanas 2-8), 60.05 Thom Building
- Grupo 2-Viernes, 16: 00-18: 00 (semanas 2-8), habitación 379
- Práctico 1: word2vec
- Práctico 2: Clasificación de texto
- Práctico 3: Redes neuronales recurrentes para la clasificación de texto y el modelado de idiomas
- Práctico 4: Open Práctico
Conferencias
Las conferencias públicas se llevan a cabo en el Teatro de conferencias 1 del Instituto de Matemáticas, los martes y jueves (excepto la Semana 8), 16: 00-18: 00 (Hilary Term Semanas 1,3-8).
Materiales de conferencias
1. Conferencia 1A - Introducción [Phil Blunsom]
Esta conferencia presenta el curso y motiva por qué es interesante estudiar el procesamiento del lenguaje utilizando técnicas de aprendizaje profundo.
[Diapositivas] [Video]
2. Conferencia 1B - Las redes neuronales profundas son nuestros amigos [Wang Ling]
Esta conferencia revisa conceptos básicos de aprendizaje automático que los estudiantes deben conocer antes de embarcarse en este curso.
[Diapositivas] [Video]
3. Lectura 2a- Semántica de nivel de palabra [Ed Grefenstette]
Las palabras son el núcleo que significa unidades de rodamiento en el lenguaje. Representar y aprender el significado de las palabras es una tarea fundamental en PNL y en esta conferencia el concepto de una incrustación de palabras se introduce como una solución práctica y escalable.
[Diapositivas] [Video]
Lectura
Bastics de incrustaciones
- Firth, John R. "Una sinopsis de la teoría lingüística, 1930-1955". (1957): 1-32.
- Curran, James Richard. "De la similitud de distribución a la semántica". (2004).
- Collobert, Ronan, et al. "Procesamiento del lenguaje natural (casi) desde cero". Journal of Machine Learning Research 12. Aug (2011): 2493-2537.
- Mikolov, Tomas, et al. "Representaciones distribuidas de palabras y frases y su composicionalidad". Avances en sistemas de procesamiento de información neural. 2013.
Conjuntos de datos y visualización
- Finkelstein, Lev, et al. "Colocar la búsqueda en contexto: el concepto revisado". Actas de la décima Conferencia Internacional sobre World Wide Web. ACM, 2001.
- Hill, Felix, Roi Reichart y Anna Korhonen. "SIMLEX-999: Evaluación de modelos semánticos con una estimación de similitud (genuina)". Lingüística computacional (2016).
- Maaten, Laurens van der y Geoffrey Hinton. "Visualizar datos usando T-SNE". Journal of Machine Learning Research 9.Nov (2008): 2579-2605.
Publicaciones de blog
- Aprendizaje profundo, PNL y representaciones, Christopher Olah.
- Visualizando los mejores tweeps con T-SNE, en JavaScript, Andrej Karpathy.
Lectura adicional
- Hermann, Karl Moritz y Phil Blunsom. "Modelos multilingües para semántica distribuida compositiva". ARXIV Preprint ARXIV: 1404.4641 (2014).
- Levy, Omer y Yoav Goldberg. "Las palabras neuronales incrustando como factorización de matriz implícita". Avances en sistemas de procesamiento de información neural. 2014.
- Levy, Omer, Yoav Goldberg e Ido Dagan. "Mejora de la similitud de distribución con las lecciones aprendidas de las incrustaciones de palabras". Transacciones de la Asociación de Lingüística Computacional 3 (2015): 211-225.
- Ling, Wang, et al. "Dos/demasiado simples adaptaciones de Word2Vec para problemas de sintaxis". HLT-NAACL. 2015.
4. Conferencia 2B - Descripción general de las prácticas [Chris Dyer]
Esta conferencia motiva el segmento práctico del curso.
[Diapositivas] [Video]
5. Conferencia 3 - Modelado de idiomas y RNN Parte 1 [Phil Blunsom]
El modelado de idiomas es una tarea importante de un gran uso práctico en muchas aplicaciones de PNL. Esta conferencia introduce el modelado de idiomas, incluidos los enfoques tradicionales basados en N-Gram y los enfoques neuronales más contemporáneos. En particular, se introduce el modelo de lenguaje de la red neuronal recurrente (RNN) popular y se describen sus algoritmos básicos de capacitación y evaluación.
[Diapositivas] [Video]
Lectura
Libro de texto
- Aprendizaje profundo, Capítulo 10.
Blogs
- La efectividad irracional de las redes neuronales recurrentes, Andrej Karpathy.
- La efectividad irracional de los modelos de lenguaje a nivel de personaje, Yoav Goldberg.
- Explicando e ilustrando la inicialización ortogonal para redes neuronales recurrentes, Stephen Merity.
6. Conferencia 4 - Modelado de idiomas y RNN Parte 2 [Phil Blunsom]
Esta conferencia continúa del anterior y considera algunos de los problemas involucrados en la producción de una implementación efectiva de un modelo de lenguaje RNN. Se describe el problema de gradiente de desaparición y explosión y se introducen soluciones arquitectónicas, como la memoria a corto plazo (LSTM).
[Diapositivas] [Video]
Lectura
Libro de texto
- Aprendizaje profundo, Capítulo 10.
Gradientes de desaparición, LSTM, etc.
- Sobre la dificultad de entrenar redes neuronales recurrentes. Pascanu et al., ICML 2013.
- Memoria a largo plazo a corto plazo. Hochreiter y Schmidhuber, Computación Neural 1997.
- Representaciones de frases de aprendizaje utilizando RNN EncoderDECoder para la traducción de la máquina estadística. Cho et al, EMNLP 2014.
- Blog: Comprensión de las redes LSTM, Christopher Olah.
Lidiar con vocabularios grandes
- Un modelo de lenguaje distribuido jerárquico escalable. MNIH y Hinton, NIPS 2009.
- Un algoritmo rápido y simple para capacitar a modelos de lenguaje probabilístico neuronal. Mnih y Teh, ICML 2012.
- Sobre el uso de vocabulario objetivo muy grande para la traducción del automóvil neural. Jean et al., ACL 2015.
- Explorando los límites del modelado de idiomas. Jozefowicz et al., ARXIV 2016.
- Aproximación eficiente de Softmax para GPU. Grave et al., Arxiv 2016.
- Notas sobre la estimación de contraste de ruido y el muestreo negativo. Dyer, Arxiv 2014.
- Modelado de lenguaje neuronal pragmático en traducción automática. Baltescu y Blunsom, NAACL 2015
Regularización y deserción
- Una aplicación teóricamente fundamentada de abandono en redes neuronales recurrentes. Gal y Ghahramani, NIPS 2016.
- Blog: Incertidumbre en el aprendizaje profundo, Yarin Gal.
Otras cosas
- Redes de carreteras recurrentes. Zilly et al., Arxiv 2016.
- Capacidad y capacidad de entrenamiento en redes neuronales recurrentes. Collins et al., Arxiv 2016.
7. Conferencia 5 - Clasificación de texto [Karl Moritz Hermann]
Esta conferencia discute la clasificación de texto, comenzando con clasificadores básicos, como Bayes ingenuos y progresos en RNN y redes de convolución.
[Diapositivas] [Video]
Lectura
- Redes neuronales convolucionales recurrentes para la clasificación de texto. Lai et al. AAAI 2015.
- Una red neuronal convolucional para modelar oraciones, Kalchbrenner et al. ACL 2014.
- Compositalidad semántica a través del vector matriz recursivo, Socher et al. EMNLP 2012.
- Blog: Comprensión de las redes neuronales de la convolución para la PNL, Denny Britz.
- Tesis: Representaciones de distribución para la semántica compositiva, Hermann (2014).
8. Conferencia 6 - PNLP profundo en NVIDIA GPU [Jeremy Apleyard]
Esta conferencia introduce unidades de procesamiento gráficas (GPU) como una alternativa a las CPU para ejecutar algoritmos de aprendizaje profundo. Se discuten las fortalezas y debilidades de las GPU, así como la importancia de comprender cómo el ancho de banda de la memoria y el rendimiento de impacto del cálculo para los RNN.
[Diapositivas] [Video]
Lectura
- Optimización del rendimiento de las redes neuronales recurrentes en las GPU. Apleyard et al., ARXIV 2016.
- RNN persistentes: Pones recurrentes en chip, Diamos et al., ICML 2016
- Aproximación eficiente de Softmax para GPU. Grave et al., Arxiv 2016.
9. Conferencia 7 - Modelos de lenguaje condicional [Chris Dyer]
En esta conferencia extendemos el concepto de modelado de idiomas para incorporar información previa. Al acondicionar un modelo de lenguaje RNN en una representación de entrada, podemos generar un lenguaje contextualmente relevante. Esta idea muy general se puede aplicar para transducir secuencias en nuevas secuencias para tareas como la traducción y el resumen, o las imágenes en subtítulos que describen su contenido.
[Diapositivas] [Video]
Lectura
- Modelos de traducción continua recurrente. Kalchbrenner y Blunsom, EMNLP 2013
- Secuencia al aprendizaje de secuencia con redes neuronales. Sutskever et al., NIPS 2014
- Modelos de lenguaje neuronal multimodal. Kiros et al., ICML 2014
- Mostrar y contar: un generador de subtítulos de imagen neural. Vinyals et al., CVPR 2015
10. Conferencia 8 - Generación del lenguaje con atención [Chris Dyer]
Esta conferencia presenta uno de los mecanismos más importantes e influyentes empleados en redes neuronales profundas: la atención. La atención aumenta las redes recurrentes con la capacidad de acondicionar partes específicas de la entrada y es clave para lograr un alto rendimiento en tareas como la traducción automática y el subtítulos de imágenes.
[Diapositivas] [Video]
Lectura
- Traducción del automóvil neural al aprender conjuntamente a alinearse y traducir. Bahdanau et al., ICLR 2015
- Mostrar, asistir y contar: Generación de subtítulos de imágenes neuronales con atención visual. Xu et al., ICML 2015
- Incorporando sesgos de alineación estructural en un modelo de traducción neuronal atencional. Cohn et al., NAACL 2016
- Bleu: un método para la evaluación automática de la traducción automática. Papineni et al, ACL 2002
11. Conferencia 9 - Reconocimiento de voz (ASR) [Andrew Senior]
El reconocimiento automático de voz (ASR) es la tarea de transducir señales de audio sin procesar del lenguaje hablado en transcripciones de texto. Esta charla cubre la historia de los modelos ASR, desde mezclas gaussianas hasta RNN aumentadas de atención, la lingüística básica del habla y las diversas representaciones de entrada y salida con frecuencia empleadas.
[Diapositivas] [Video]
12. Conferencia 10 - Texto al habla (TTS) [Andrew Senior]
Esta conferencia introduce algoritmos para convertir el lenguaje escrito en lenguaje hablado (texto a discurso). TTS es el proceso inverso para ASR, pero hay algunas diferencias importantes en los modelos aplicados. Aquí revisamos los modelos TTS tradicionales y luego cubrimos enfoques neuronales más recientes como el modelo Wavenet de Deepmind.
[Diapositivas] [Video]
13. Conferencia 11 - Respondía de preguntas [Karl Moritz Hermann]
[Diapositivas] [Video]
Lectura
- Máquinas de enseñanza para leer y comprender. Hermann et al., NIPS 2015
- Aprendizaje profundo para la selección de oraciones de respuesta. Yu et al., NIPS Deep Learning Workshop 2014
14. Conferencia 12 - Memoria [Ed Grefenstette]
[Diapositivas] [Video]
Lectura
- Computación híbrida utilizando una red neuronal con memoria externa dinámica. Graves et al., Nature 2016
- Razonamiento sobre la implicación con la atención neuronal. Rocktäschel et al., ICLR 2016
- Aprender a transducir con memoria ilimitada. Grefenstette et al., NIPS 2015
- Redes de memoria de extremo a extremo. Sukhbaatar et al., NIPS 2015
15. Conferencia 13 - Conocimiento lingüístico en redes neuronales
[Diapositivas] [Video]
Plaza
Usaremos Piazza para facilitar la discusión en clase durante el curso. En lugar de enviar preguntas directamente por correo electrónico, le recomiendo que publique sus preguntas en Piazza para que sus compañeros, instructores y profesores lo respondan. Sin embargo, tenga en cuenta que todos los profesores de este curso están voluntarios en su tiempo y que no siempre están disponibles para dar una respuesta.
Encuentre nuestra página de clase en: https://piazza.com/ox.ac.uk/winter2017/dnlpht2017/home
Evaluación
La evaluación principal para este curso será una asignación para llevar a casa emitida al final del plazo. Esta tarea hará preguntas sobre los conceptos y modelos discutidos en el curso, así como en publicaciones de investigación seleccionadas. La naturaleza de las preguntas incluirá el análisis de descripciones matemáticas de modelos y proponiendo extensiones, mejoras o evaluaciones a dichos modelos. La tarea también puede pedir a los estudiantes que lean publicaciones de investigación específicas y discutan sus algoritmos propuestos en el contexto del curso. Al responder preguntas, se espera que los estudiantes presenten argumentos escritos coherentes y usen fórmulas matemáticas apropiadas, y posiblemente pseudocódigo, para ilustrar las respuestas.
El componente práctico del curso se evaluará de la manera habitual.
Expresiones de gratitud
Este curso no hubiera sido posible sin el apoyo de DeepMind, el Departamento de Ciencias de la Computación de la Universidad de Oxford, Nvidia y la generosa donación de recursos de GPU de Microsoft Azure.