前言
该存储库包含牛津大学希拉里学期的深度自然语言处理课程的讲座幻灯片和课程描述。
这是关于自然语言处理的高级课程。自动处理自然语言输入和产生语言输出是人工通用情报的关键组成部分。人类交流中固有的歧义和噪音使传统的符号AI技术无效地代表和分析语言数据。最近,基于神经网络的统计技术在自然语言处理方面取得了许多杰出的成功,从而引起了广泛的商业和学术兴趣
这是一门应用课程,重点介绍了使用复发性神经网络分析和生成语音和文本的最新进展。我们介绍了相关的机器学习模型的数学定义,并得出了相关的优化算法。该课程涵盖了NLP中神经网络的一系列应用,包括分析文本中的潜在维度,将语音转录为文本,翻译在语言之间以及回答问题。这些主题分为三个高级主题,从理解神经网络进行顺序语言建模,理解它们作为转导任务的条件语言模型的使用,最后是使用这些技术与其他高级应用机制结合使用的方法。在整个课程中,还讨论了此类模型在CPU和GPU硬件上的实际实现。
本课程由Phil Blunsom组织,并与DeepMind自然语言研究小组合作。
讲师
- Phil Blunsom(牛津大学和Deepmind)
- 克里斯·戴尔(Chris Dyer)(卡内基·梅隆大学(Carnegie Mellon University)和DeepMind)
- 爱德华·格雷芬斯特(Edward Grefenstette)(DeepMind)
- Karl Moritz Hermann(DeepMind)
- 安德鲁高级(DeepMind)
- Wang Ling(DeepMind)
- 杰里米·阿普利德(Nvidia)
tas
- Yannis Assael
- Yishu Miao
- 布伦丹·希林福德
- Jan Buys
时间表
实践
- 第1组 - 星期一,9:00-11:00(第2-8周),60.05汤姆建筑物
- 第2组 - 16:00-18:00(2-8周),379室
- 实用1:Word2Vec
- 实用2:文本分类
- 实用3:用于文本分类和语言建模的循环神经网络
- 实用4:开放实用
讲座
公开演讲在数学研究所的讲座剧院1,星期二和星期四(第8周除外),16:00-18:00(希拉里学期1,3-8)。
讲座材料
1。1A讲座 - 简介[Phil Blunsom]
该讲座介绍了课程,并激发了为什么使用深度学习技术研究语言处理很有趣的原因。
[幻灯片] [视频]
2。1B讲座 - 深度神经网络是我们的朋友[王Ling]
该讲座修改了学生在开始本课程之前应该知道的基本机器学习概念。
[幻灯片] [视频]
3。讲座2a-单词级别的语义[Ed Grefenstette]
单词是语言中带有单位的核心。代表和学习单词的含义是NLP中的一项基本任务,在本讲座中,将单词嵌入的概念作为一种实用且可扩展的解决方案引入。
[幻灯片] [视频]
阅读
嵌入基础知识
- 约翰·R·菲斯(Firth)。“语言理论的概要,1930- 1955年。” (1957):1-32。
- 柯伦,詹姆斯·理查德。 “从分布到语义相似。” (2004)。
- Collobert,Ronan等。 “自然语言处理(几乎)从头开始。”机器学习研究杂志12. 8月(2011年):2493-2537。
- Mikolov,Tomas等。 “单词和短语的分布表示及其组成性。”神经信息处理系统的进步。 2013。
数据集和可视化
- Finkelstein,Lev等。 “将搜索放在上下文中:重新审视的概念。”世界网络第十届国际会议论文集。 ACM,2001年。
- 希尔,菲利克斯,ROI Reichart和Anna Korhonen。 “ Simlex-999:评估具有(真实)相似性估计的语义模型。”计算语言学(2016年)。
- Maaten,Laurens van der和Geoffrey Hinton。 “使用T-SNE可视化数据。”机器学习研究杂志9.NOV(2008):2579-2605。
博客文章
- 深度学习,NLP和代表,克里斯托弗·奥拉(Christopher Olah)。
- 用JavaScript,Andrej karpathy在t-sne中可视化顶级跨度。
进一步阅读
- Hermann,Karl Moritz和Phil Blunsom。 “组成分布语义学的多语言模型。” ARXIV预印型ARXIV:1404.4641(2014)。
- Levy,Omer和Yoav Goldberg。 “神经词嵌入为隐式矩阵分解。”神经信息处理系统的进步。 2014。
- Levy,Omer,Yoav Goldberg和Ido Dagan。 “通过从单词嵌入中学到的经验教训提高分布相似性。”计算语言学协会交易3(2015):211-225。
- Ling,Wang等。 “对于语法问题,Word2Vec的两个/太简单改编。” HLT-NAACL。 2015。
4。第2B讲座 - 实践概述[Chris Dyer]
该讲座激发了课程的实际部分。
[幻灯片] [视频]
5。讲座3-语言建模和RNNS第1部分[Phil Blunsom]
语言建模是许多NLP应用程序中大量实际使用的重要任务。该讲座介绍了语言建模,包括基于N-Gram的传统方法和更现代的神经方法。特别是引入了流行的复发性神经网络(RNN)语言模型,并描述了其基本培训和评估算法。
[幻灯片] [视频]
阅读
教科书
博客
- 复发性神经网络的不合理有效性,Andrej Karpathy。
- 角色级语言模型的不合理有效性,Yoav Goldberg。
- 解释并说明了复发性神经网络的正交初始化,Stephen Merity。
6。讲座4-语言建模和RNNS第2部分[Phil Blunsom]
该讲座从上一篇讲座开始,并考虑了有效实施RNN语言模型所涉及的一些问题。描述了消失和爆炸梯度问题,并引入了长期记忆(LSTM)等体系结构解决方案。
[幻灯片] [视频]
阅读
教科书
消失的梯度,LSTMS等
- 关于训练复发性神经网络的困难。 Pascanu等人,ICML 2013。
- 长期的短期记忆。 Hochreiter和Schmidhuber,《神经计算》,1997年。
- 使用rnn encoderDecoder进行统计机器翻译的学习短语表示。 Cho等人,EMNLP 2014。
- 博客:了解LSTM网络,克里斯托弗·奥拉(Christopher Olah)。
处理大词汇
- 可扩展的层次分布式语言模型。 Mnih和Hinton,Nips 2009。
- 一种用于培训神经概率语言模型的快速简单算法。 Mnih和Teh,ICML 2012。
- 在使用非常大的目标词汇进行神经机器翻译时。 Jean等人,ACL 2015。
- 探索语言建模的极限。 Jozefowicz等人,Arxiv 2016。
- GPU的有效软效果近似。 Grave等,Arxiv 2016。
- 关于噪声对比估计和负抽样的注释。 Dyer,Arxiv 2014。
- 机器翻译中的务实神经语言建模。 Baltescu和Blunsom,NAACL 2015
正则化和辍学
- 理论上基于复发性神经网络中辍学的应用。 Gal和Ghahramani,NIPS 2016。
- 博客:深度学习的不确定性,Yarin Gal。
其他东西
- 经常性高速公路网络。 Zilly等人,Arxiv 2016。
- 复发性神经网络中的容量和训练性。 Collins等人,Arxiv 2016。
7.讲座5-文本分类[Karl Moritz Hermann]
该讲座讨论了文本分类,从基本分类器(例如天真的贝叶斯)开始,并逐步发展为RNN和卷积网络。
[幻灯片] [视频]
阅读
- 用于文本分类的经常性卷积神经网络。 Lai等。 AAAI 2015。
- Kalchbrenner等人,用于建模句子的卷积神经网络。 ACL 2014。
- Socher等人通过递归矩阵矢量的语义组成。 EMNLP 2012。
- 博客:了解NLP的卷积神经网络,Denny Britz。
- 论文:构图语义的分布表示,赫尔曼(Hermann)(2014)。
8。第6讲 - NVIDIA GPU的深NLP [Jeremy Appleyard]
该讲座介绍了图形处理单元(GPU),作为执行深度学习算法的CPU的替代方法。讨论了GPU的优势和劣势,以及了解记忆带宽和计算如何影响RNN的吞吐量的重要性。
[幻灯片] [视频]
阅读
- 优化GPU上复发性神经网络的性能。 Appleyard等人,Arxiv 2016。
- 持续的RNN:片上固定重量片,Diamos等,ICML 2016
- GPU的有效软效果近似。 Grave等,Arxiv 2016。
9。讲座7-条件语言模型[Chris Dyer]
在本讲座中,我们将语言建模的概念扩展到了以前的信息。通过在输入表示上调节RNN语言模型,我们可以生成上下文相关的语言。这个非常笼统的想法可以应用于将翻译和摘要等任务的新序列转换为新的序列,或将图像转换为描述其内容的字幕中。
[幻灯片] [视频]
阅读
- 经常性连续翻译模型。 Kalchbrenner和Blunsom,EMNLP 2013
- 使用神经网络序列学习的顺序。 Sutskever等,NIPS 2014
- 多模式神经语言模型。 Kiros等人,ICML 2014
- 显示和讲述:神经图像标题发生器。 Vinyals等,CVPR 2015
10。讲座8-引起注意的语言[Chris Dyer]
该讲座介绍了深度神经网络中采用的最重要,最有影响力的机制之一:注意。注意增强反复的网络,能够在输入的特定部分处置条件,并且是在机器翻译和图像字幕等任务中实现高性能的关键。
[幻灯片] [视频]
阅读
- 神经机器翻译通过共同学习对齐和翻译。 Bahdanau等,ICLR 2015
- 显示,参加和讲述:神经图像标题的产生,视觉关注。 Xu等人,ICML 2015
- 将结构对齐偏置纳入注意力神经翻译模型。 Cohn等,NAACL 2016
- BLEU:一种自动评估机器翻译的方法。 Papineni等,ACL 2002
11。第9讲 - 语音识别(ASR)[Andrew Senior]
自动语音识别(ASR)是将口语的原始音频信号转换为文本转录的任务。本演讲涵盖了ASR模型的历史,从高斯混合物到注意力增强RNN,语音的基本语言学以及经常使用的各种输入和输出表示。
[幻灯片] [视频]
12.讲座10-文字到语音(TTS)[Andrew Senior]
本讲座介绍了将书面语言转换为口语(文本到语音)的算法。 TTS是ASR的逆过程,但是应用的模型存在一些重要差异。在这里,我们回顾了传统的TTS模型,然后介绍了更新的神经方法,例如DeepMind的WaveNet模型。
[幻灯片] [视频]
13。讲座11-回答[Karl Moritz Hermann]
[幻灯片] [视频]
阅读
- 教机阅读和理解。 Hermann等人,NIPS 2015
- 回答句子选择的深度学习。 Yu等人,NIPS Deep Learning Workshop 2014
14。讲座12-记忆[Ed Grefenstette]
[幻灯片] [视频]
阅读
- 使用具有动态外部内存的神经网络的混合计算。 Graves等人,自然2016
- 关于带有神经关注的理由。 Rocktäschel等,ICLR 2016
- 学习用无限的内存转导。 Grefenstette等,NIPS 2015
- 端到端内存网络。 Sukhbaatar等人,NIPS 2015
15。讲座13-神经网络中的语言知识
[幻灯片] [视频]
广场
我们将使用广场在课程中促进课堂讨论。我鼓励您没有直接发送问题,而是鼓励您在广场上发布问题,以由您的同学,讲师和讲师回答。但是,请注意,本课程的所有讲师都在自愿参加他们的时间,并且可能并不总是可以提供回应。
在:https://piazza.com/ox.ac.uk/winter2017/dnlpht2017/home上查找我们的课程页面
评估
本课程的主要评估将是学期结束时发布的带回家任务。这项任务将提出有关课程中讨论的概念和模型以及选定的研究出版物的问题。问题的性质将包括分析模型的数学描述,并提出对此类模型的扩展,改进或评估。该任务还可以要求学生阅读特定的研究出版物,并在课程中讨论其拟议算法。在回答问题时,将期望学生提出连贯的书面论点,并使用适当的数学公式(可能是伪代码)来说明答案。
课程的实际组成部分将以通常的方式进行评估。
致谢
如果没有DeepMind的支持,牛津大学计算机科学系,NVIDIA,以及Microsoft Azure的GPU资源的慷慨捐赠,本课程将是不可能的。