lectures README

The project's README from github.com/oxford-cs-deepnlp-2017/lectures. As one markdown file: README.md.

Preamble

This repository contains the lecture slides and course description for the Deep Natural Language Processing course offered in Hilary Term 2017 at the University of Oxford.

This is an advanced course on natural language processing. Automatically processing natural language inputs and producing language outputs is a key component of Artificial General Intelligence. The ambiguities and noise inherent in human communication render traditional symbolic AI techniques ineffective for representing and analysing language data. Recently statistical techniques based on neural networks have achieved a number of remarkable successes in natural language processing leading to a great deal of commercial and academic interest in the field

This is an applied course focussing on recent advances in analysing and generating speech and text using recurrent neural networks. We introduce the mathematical definitions of the relevant machine learning models and derive their associated optimisation algorithms. The course covers a range of applications of neural networks in NLP including analysing latent dimensions in text, transcribing speech to text, translating between languages, and answering questions. These topics are organised into three high level themes forming a progression from understanding the use of neural networks for sequential language modelling, to understanding their use as conditional language models for transduction tasks, and finally to approaches employing these techniques in combination with other mechanisms for advanced applications. Throughout the course the practical implementation of such models on CPU and GPU hardware is also discussed.

This course is organised by Phil Blunsom and delivered in partnership with the DeepMind Natural Language Research Group.

Lecturers

TAs

Timetable

Practicals

  1. Practical 1: word2vec
  2. Practical 2: text classification
  3. Practical 3: recurrent neural networks for text classification and language modelling
  4. Practical 4: open practical

Lectures

Public Lectures are held in Lecture Theatre 1 of the Maths Institute, on Tuesdays and Thursdays (except week 8), 16:00-18:00 (Hilary Term Weeks 1,3-8).

Lecture Materials

1. Lecture 1a - Introduction [Phil Blunsom]

This lecture introduces the course and motivates why it is interesting to study language processing using Deep Learning techniques.

[slides] [video]

2. Lecture 1b - Deep Neural Networks Are Our Friends [Wang Ling]

This lecture revises basic machine learning concepts that students should know before embarking on this course.

[slides] [video]

3. Lecture 2a- Word Level Semantics [Ed Grefenstette]

Words are the core meaning bearing units in language. Representing and learning the meanings of words is a fundamental task in NLP and in this lecture the concept of a word embedding is introduced as a practical and scalable solution.

[slides] [video]

Reading

Embeddings Basics

Datasets and Visualisation

Blog posts

Further Reading

4. Lecture 2b - Overview of the Practicals [Chris Dyer]

This lecture motivates the practical segment of the course.

[slides] [video]

5. Lecture 3 - Language Modelling and RNNs Part 1 [Phil Blunsom]

Language modelling is important task of great practical use in many NLP applications. This lecture introduces language modelling, including traditional n-gram based approaches and more contemporary neural approaches. In particular the popular Recurrent Neural Network (RNN) language model is introduced and its basic training and evaluation algorithms described.

[slides] [video]

Reading

Textbook

Blogs

6. Lecture 4 - Language Modelling and RNNs Part 2 [Phil Blunsom]

This lecture continues on from the previous one and considers some of the issues involved in producing an effective implementation of an RNN language model. The vanishing and exploding gradient problem is described and architectural solutions, such as Long Short Term Memory (LSTM), are introduced.

[slides] [video]

Reading

Textbook

Vanishing gradients, LSTMs etc.

Dealing with large vocabularies

Regularisation and dropout

Other stuff

7. Lecture 5 - Text Classification [Karl Moritz Hermann]

This lecture discusses text classification, beginning with basic classifiers, such as Naive Bayes, and progressing through to RNNs and Convolution Networks.

[slides] [video]

Reading

8. Lecture 6 - Deep NLP on Nvidia GPUs [Jeremy Appleyard]

This lecture introduces Graphical Processing Units (GPUs) as an alternative to CPUs for executing Deep Learning algorithms. The strengths and weaknesses of GPUs are discussed as well as the importance of understanding how memory bandwidth and computation impact throughput for RNNs.

[slides] [video]

Reading

9. Lecture 7 - Conditional Language Models [Chris Dyer]

In this lecture we extend the concept of language modelling to incorporate prior information. By conditioning an RNN language model on an input representation we can generate contextually relevant language. This very general idea can be applied to transduce sequences into new sequences for tasks such as translation and summarisation, or images into captions describing their content.

[slides] [video]

Reading

10. Lecture 8 - Generating Language with Attention [Chris Dyer]

This lecture introduces one of the most important and influencial mechanisms employed in Deep Neural Networks: Attention. Attention augments recurrent networks with the ability to condition on specific parts of the input and is key to achieving high performance in tasks such as Machine Translation and Image Captioning.

[slides] [video]

Reading

11. Lecture 9 - Speech Recognition (ASR) [Andrew Senior]

Automatic Speech Recognition (ASR) is the task of transducing raw audio signals of spoken language into text transcriptions. This talk covers the history of ASR models, from Gaussian Mixtures to attention augmented RNNs, the basic linguistics of speech, and the various input and output representations frequently employed.

[slides] [video]

12. Lecture 10 - Text to Speech (TTS) [Andrew Senior]

This lecture introduces algorithms for converting written language into spoken language (Text to Speech). TTS is the inverse process to ASR, but there are some important differences in the models applied. Here we review traditional TTS models, and then cover more recent neural approaches such as DeepMind's WaveNet model.

[slides] [video]

13. Lecture 11 - Question Answering [Karl Moritz Hermann]

[slides] [video]

Reading

14. Lecture 12 - Memory [Ed Grefenstette]

[slides] [video]

Reading

15. Lecture 13 - Linguistic Knowledge in Neural Networks

[slides] [video]

Piazza

We will be using Piazza to facilitate class discussion during the course. Rather than emailing questions directly, I encourage you to post your questions on Piazza to be answered by your fellow students, instructors, and lecturers. However do please do note that all the lecturers for this course are volunteering their time and may not always be available to give a response.

Find our class page at: https://piazza.com/ox.ac.uk/winter2017/dnlpht2017/home

Assessment

The primary assessment for this course will be a take-home assignment issued at the end of the term. This assignment will ask questions drawing on the concepts and models discussed in the course, as well as from selected research publications. The nature of the questions will include analysing mathematical descriptions of models and proposing extensions, improvements, or evaluations to such models. The assignment may also ask students to read specific research publications and discuss their proposed algorithms in the context of the course. In answering questions students will be expected to both present coherent written arguments and use appropriate mathematical formulae, and possibly pseudo-code, to illustrate answers.

The practical component of the course will be assessed in the usual way.

Acknowledgements

This course would not have been possible without the support of DeepMind, The University of Oxford Department of Computer Science, Nvidia, and the generous donation of GPU resources from Microsoft Azure.

lectures (oxford-cs-deepnlp-2017/lectures)

Searching Database…

15.9K ·GitHub
这是什么?这是牛津大学 2017 年春季学期(希拉里学期)开设的“深度自然语言处理”课程的讲义幻灯片和课程介绍:一门由 Phil Blunsom 组织、与 DeepMind 自然语言研究组合作讲授的高级应用型 NLP 课程。
是真的可以直接阅读的幻灯片吗,还是必须看课程视频?可靠的资料是幻灯片:列出的每一讲都有自己的幻灯片 PDF 链接,外加一份阅读清单,包含论文、教材章节和博客文章。每讲旁边也列出了视频链接,但在本 README 里都是空的,所以还是以幻灯片和链接的论文为准。
如果我现在就想跟着学,有什么坑需要注意?它是 2017 年版课程的冻结快照:README 里的视频链接是空的,讲义列表在讲到第 10 讲“语音合成”时描述就中断了,之后也没有任何更新。把它当作 Transformer 出现之前的经典基础来学,而不是一门最新的课程。
我是机器学习新手,能跟得上吗?基本跟不上:课程明确标注为高级课程,而且专门设置了 Lecture 1b 来复习学生在开课前应掌握的机器学习基础概念。课程内容是数学化的模型定义和推导出的优化算法,而不是循序渐进的入门介绍。
课程会讲硬件方面的内容吗,比如 GPU?会:NVIDIA 的 Jeremy Appleyard 讲授了 Lecture 6,内容包括 GPU 与 CPU 的对比、内存带宽,以及计算方式如何影响 RNN 的吞吐量。整个课程都会讨论模型在 CPU 和 GPU 硬件上的实际实现。
这些讲义都讲了哪些主题?共十二讲,从词向量和基于 RNN 与 LSTM 的语言建模讲起,经过文本分类和 GPU 实现,讲到条件语言模型、注意力机制、语音识别和语音合成。课程列出的应用包括机器翻译、语音转文字、图片描述生成和问答。
这门课是谁讲的?课程由 Phil Blunsom(牛津大学和 DeepMind)组织,与 DeepMind 自然语言研究组合作讲授。讲师包括 Chris Dyer(卡内基梅隆大学和 DeepMind)、Ed Grefenstette、Karl Moritz Hermann、Andrew Senior 和 Wang Ling(均为 DeepMind),以及 NVIDIA 的 Jeremy Appleyard。
2017 年的资料现在还值得学吗?作为基础知识,值得:阅读清单都是 Transformer 出现之前的经典论文(word2vec、LSTM、sequence-to-sequence、注意力机制),其中在 Lecture 8 引入的注意力机制被称为深度网络中最重要的机制之一,也是当今语言模型的基石。只是涉及较新的内容时,需要搭配更新的资料一起学。
有实际动手练习吗?有:课程安排了四次实践课(word2vec、文本分类、用循环神经网络做文本分类和语言建模,以及一次开放实践),并在第 2 到第 8 周每周组织一次答疑辅导。README 中没有说明这些练习使用的是什么软件。
Size
47.8 MB
Stars
15.9K
Updated
CommitJun 12
Age
9y
Commits · 90 Days