思源报道

学习时间!2019斯坦福CS224n、CMU NLP公开课视频开放啦

2019 年,自然语言处理公开课开始学了~

你知道入门自然语言处理(NLP)的「标配」公开课 CS224n 么,它和计算机视觉方面的课程 CS231n 堪称绝配,它们都是斯坦福的公开课。但是自 2017 年以来,NLP 有了很多重大的变化,包括 Transformer 和预训练语言模型等。以前开放的是 17 年年初的课程,很多激动人心的前沿模型都没有介绍,而最近 CS224n 终于开始更新 19 年课程的视频。

与此同时,CMU 的 NLP 公开课 CS 11-747 也一直在更新今年的授课视频,它同样介绍了近来 NLP 的主要发展。目前 CS 11-747 已经更新了 14 个课时,从词嵌入注意力机制强化学习都有涉及。

以下展示了这两项 NLP 公开课的资源地址,爱可可老师将视频和字幕都上传到了 B 站。

CS224n:

  • 课程主页:http://web.stanford.edu/class/cs224n/index.html

  • YouTube:https://www.youtube.com/playlist?list=PLoROMvodv4rOhcuXMZkNm7j3fVwBBY42z

  • Bilibili:https://www.bilibili.com/video/av46216519/

CS 11-747:

  • 课程主页:http://phontron.com/class/nn4nlp2019/

  • YouTube:https://www.youtube.com/playlist?list=PL8PYTP1V4I8Ajj7sY6sdtmjgkt7eo2VMs

  • Bilibili:https://www.bilibili.com/video/av40929856/ 

斯坦福 NLP 公开课

CS224n 是一门关于自然语言处理的专项课程,虽然有很多公开课都会涉及循环神经网络或语言建模等内容,但很少如它那样会系统地介绍自然语言处理任务。包括词嵌入、依存关系解析、神经机器翻译语音识别和语义消歧等。此外在 19 年的新课程中,它还会重点介绍最近非常流行的 Transformer 和预训练表征,这些系统化的新内容真的很令人期待。

CS224n 的主讲教师为 Christopher Manning 与 Abigail See,其中 Manning 为斯坦福的机器学习教授,Abigail 为斯坦福的博士生。在 17 年的课程中,CS224n 采用的是 TensorFlow,今年则采用更加简洁的 PyTorch。不过今年并没有专门介绍 PyTorch 的课时,所以还需要读者预先学习 PyTorch。

CS224n 的课程笔记、PPT 资料以及作业都可以在主页上获取,目前 19 年课程就差最后的「NLP 未来发展」以及课程设计就完成了。课程视频目前发布了前 5 个,后面还会继续发布。因为这些视频需要手动制作并校对字幕,而不是直接利用 YouTube 自动生成字幕,所以放出来的速度可能不会太快。

如下所示,前几课主要介绍了词嵌入和数学基础,其中我们会发现传统词嵌入引入了很多新观点。例如 NeurIPS 2018 的高分论文 On the Dimensionality of Word Embedding,其提出了一个理解词嵌入维度的理论框架,从而学习合理的词嵌入维度。

CMU NLP 公开课

该课程先简单地概览了深度神经网络,随后课程主体将介绍如何把神经网络用于各种 NLP 任务。每一部分都会介绍自然语言中的特定问题与现象,并描述这些问题的难点与一些优秀的解决方案。在整个课程中,我们将学到创建深度学习模型的各种技术,包括建模不同长度和结构的句子、处理大型自然语言数据、半监督和无监督学习、结构化预测和多语言建模等等。

CS 11-747 的授课老师主要有 Graham Neubig 和 Antonios Anastasopoulos,其中 Graham 是卡内基梅隆大学的教授,Antonios 是 CMU NeuLab 的博士后。19 年新课主要增了 ELMo/BERT 上下文词表示、模型可解释性等内容,同时还会提供 PyTorch/DyNet 代码示例。

目前该课程已经发布了 14 个视频,它要到 4 月 30 号才结课。已完成章节的 PPT、示例代码和补充资料都可以在主页上找到,视频也在同步更新。因为拍摄的课程视频使用自动字幕,所以视频的更新速度非常快。但是更新快也会有局限,有一些视频拍摄的不够精细,黑板上写的东西看不清,且代码展示与讲解有时候会被 PPT 遮挡。

最后,这两个课程各有优势,一起学习效果更佳~

入门NLPCMUCS224n斯坦福
91
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

基于Transformer 的双向编码器表征技术

BERT是谷歌发布的基于双向 Transformer的大规模预训练语言模型,该预训练模型能高效抽取文本信息并应用于各种NLP任务,并刷新了 11 项 NLP 任务的当前最优性能记录。BERT的全称是基于Transformer的双向编码器表征,其中“双向”表示模型在处理某一个词时,它能同时利用前面的词和后面的词两部分信息。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

神经机器翻译技术

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

ELMo技术

ELMO 是“Embedding from Language Models”的简称, ELMO 本身是个根据当前上下文对 Word Embedding 动态调整的思路。ELMO 采用了典型的两阶段过程,第一个阶段是利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的 Word Embedding 作为新特征补充到下游任务中。

推荐文章
什么时候能更新231n就好了