新快。人工智能课程:自然语言处理入门课程

我们最新的课程是代码第一介绍NLP,紧跟着快。ai教学理念分享实际的代码实现,并给学生一种感觉“整个游戏”在深入到底层细节之前。涵盖的应用程序包括主题建模、分类(确定评审的意见是积极的还是消极的)、语言建模和翻译。该课程混合了传统的NLP主题(包括正则表达式、SVD、朴素贝叶斯、记号化)和最近的神经网络方法(包括RNNs、seq2seq、attention和transformer架构),以及解决紧迫的伦理问题,如偏见和虚假信息。话题可以以任何顺序观看。

本课程的所有视频都在YouTube上,所有代码都在GitHub上
本课程的所有视频都在YouTube上,所有代码都在GitHub上

所有的代码都是在Python的木星笔记本,使用PyTorchfastai图书馆。你可以找到所有的笔记本代码GitHub上可用所有的视频课程在这个播放列表中

这门课程最初是在旧金山大学开设的数据科学硕士2019年5月至6月期间的项目。USF MSDS已经成立7年了(在此期间有超过330名学生毕业并从事数据科学家的工作!数据研究所在旧金山市中心。前几年,杰里米教机器学习课程我教过a计算线性代数作为课程的一部分。

突出了

本课程的一些亮点让我特别兴奋:

GPT-2等新语言模型带来的风险
GPT-2等新语言模型带来的风险

大部分的主题可以独立存在,所以如果你只对特定的主题感兴趣,就没有必要按照顺序来学习这门课程(尽管我希望每个人都能观看视频偏见虚假信息对于每个对机器学习感兴趣的人来说,这些都是重要的话题)。注意,视频的长度在20-90分钟之间。

课程主题

概述

在过去的一年里,NLP有许多重大的进展,而且每个月都在取得新的最先进的成果。NLP在很大程度上仍是一个不断变化的领域,最佳实践不断变化,新标准尚未确定。这为学习NLP提供了一个令人兴奋的时机。这门课程涵盖了更传统的技术,更新的神经网络方法,以及偏见和虚假信息的紧急问题。

传统的NLP方法

在本课程的前三分之一,我们涵盖了使用SVD进行主题建模,通过朴素贝叶斯和逻辑回归进行情感分类,以及正则表达式。在这个过程中,我们学习了关键的处理技术,如记号化和数字化。

深度学习:NLP的迁移学习

杰里米分享朱佩特的笔记本ULMFit去年,他与Sebastian Ruder进行了开创性的工作,成功地将转移学习应用到NLP中。该技术包括在大型语料库上训练语言模型,针对不同的较小语料库对其进行微调,然后在最后添加一个分类器。这项工作是在BERT、GPT-2和XLNet等最新论文的基础上进行的。在新的资料(随附对fastai库的更新)中,Jeremy分享了使用英语以外语言的技巧和技巧,并介绍了针对越南语和土耳其语实现ULMFit的示例。

杰里米用越南语和土耳其语分享ULMFit的实现
杰里米用越南语和土耳其语分享ULMFit的实现

深度学习:Seq2Seq翻译和变压器

我们将深入了解RNNs如何简单工作的一些基本细节,然后考虑一个用于转换的seq2seq模型。我们建立我们的翻译模型,增加教师强迫,注意,GRUs等方法来提高表现。然后,我们准备进入Transformer,探索一个实现。

用于语言翻译的转换器
用于语言翻译的转换器

NLP中的伦理问题

NLP提出了重要的伦理问题,例如刻板印象如何被编码在文字嵌入中,以及边缘化群体的文字如何更容易被归类为有毒的。斯坦福的博士生Nikhil Garg分享了他的工作,这是一种特殊的享受发表在《美国国家科学院学报》上发表关于这个主题。我们还了解了一个框架,以便更好地理解不同类型偏见的原因,质疑我们应该完全避免做哪些工作的重要性,以及解决偏见的步骤,例如NLP的数据语句

Nikhil Garg做了一个关于他的工作的客座演讲,展示了在过去的100年里单词嵌入是如何量化刻板印象的
Nikhil Garg做了一个关于他的工作的客座演讲,展示了在过去的100年里单词嵌入是如何量化刻板印象的

偏见并不是NLP中唯一的伦理问题。更复杂的语言模型可以创造出令人信服的虚假文章,从而淹没真实的人类或操纵公众舆论。我们将介绍虚假信息的动态、引人注目的计算机生成文本的风险、OpenAI对GPT-2分段发布的争议性决定,以及一些解决方案的建议步骤,如验证或数字签名系统。

为什么算法偏差很重要,不同的类型,以及解决它的步骤
为什么算法偏差很重要,不同的类型,以及解决它的步骤

我们希望你能看看这个课程!所有的代码为木星在课堂上使用的笔记本可以GitHub上发现所有视频的播放列表是在YouTube上可用

先决条件

(更新添加)熟悉使用Python处理数据以及机器学习概念(如训练和测试集)是必要的先决条件。有一些PyTorch和神经网络的经验是有帮助的。

和往常一样,快我们建议学习在必要的基础上(太多的学生觉得他们需要花几个月甚至几年的时间来学习背景材料,然后才能得到他们真正感兴趣的东西,而且很多情况下,这些背景材料甚至都不是必要的)。如果你对这个课程感兴趣,但不确定你是否有正确的背景,继续并尝试这个课程!如果你发现了一些你不熟悉的必要概念,你总是可以停下来学习它们。

另外,请务必查看fast.aiforums作为一个问问题和分享资源的地方。