快新课程:自然语言处理的代码优先入门

我们的最新课程是遵循fast.ai的代码首次介绍NLP。 教学理念 分享实用的代码实现,并给学生以 “整场比赛” 在深入研究底层细节之前。涉及的应用程序包括主题建模,分类(标识评论的情绪是正面还是负面),语言建模和翻译。该课程教授传统NLP主题(包括正则表达式,SVD,朴素贝叶斯,令牌化)和最新的神经网络方法(包括RNN,seq2seq,注意力和转换器架构)的融合,以及解决紧迫的道德问题,例如偏见和虚假信息。主题可以按任何顺序观看。

该课程的所有视频均在YouTube上,所有代码均在GitHub上
该课程的所有视频均在YouTube上,所有代码均在GitHub上

所有代码都在Jupyter Notebooks中的Python中,使用 火炬法斯特图书馆。您可以找到笔记本的所有代码 在GitHub上可用 和所有的视频 讲座在此播放列表中.

本课程最初在旧金山大学教授 数据科学硕士 该计划已于2019年5月至6月进行。USF MSDS已有7年的历史了(这段时间已有330多名学生毕业并继续担任数据科学家!),现在位于 数据研究所 在旧金山市中心。前几年,杰里米(Jeremy)教过 机器学习课程 我教过 计算线性代数 选修课程。

强调

我对此课程特别感兴趣的一些重点:

新语言模型(例如GPT-2)带来的风险
新语言模型(例如GPT-2)带来的风险

大多数主题可以独立存在,因此,如果您仅对特定主题感兴趣,则无需按顺序进行课程(尽管我希望每个人都可以在 偏压虚假信息,因为对于那些对机器学习感兴趣的人来说,这些都是重要的主题)。请注意,视频的时长在20-90分钟之间变化。

课程主题

总览

去年NLP取得了许多重大进步​​,并且每月都有新的最新成果。 NLP仍然是不断变化的领域,最佳实践不断变化,新标准尚未确定。这为学习NLP提供了令人兴奋的时间。本课程涵盖了更多传统技术,更新的神经网络方法以及迫切的偏见和虚假信息的融合。

传统的NLP方法

对于本课程的前三分之一,我们将介绍使用SVD进行主题建模,通过朴素贝叶斯和逻辑回归进行情感分类以及正则表达式。在此过程中,我们学习了关键的处理技术,例如标记化和数值化。

深度学习:为NLP转移学习

杰里米(Jeremy)分享Jupyter笔记本逐步 超低价,他去年与塞巴斯蒂安·鲁德(Sebastian Ruder)取得了开创性的合作,成功地将迁移学习应用于NLP。该技术涉及在大型语料库上训练语言模型,针对另一个和较小的语料库对其进行微调,然后在最后添加分类器。这项工作是基于BERT,GPT-2和XLNet等较新的论文而建立的。杰里米(Jeremy)在新资料中(包括对fastai库的更新中)与使用英语以外的其他语言的技巧和窍门,并逐步介绍了为越南语和土耳其语实施ULMFit的示例。

Jeremy分享了越南语和土耳其语的ULMFit实现
Jeremy分享了越南语和土耳其语的ULMFit实现

深度学习:Seq2Seq转换和Transformer

我们将深入研究简单RNN的工作原理,然后考虑seq2seq模型进行翻译。我们建立了翻译模型,并添加了诸如教师强迫,注意力和GRU之类的方法来提高性能。然后,我们准备继续进行“变形金刚”,探索实现方案。

用于语言翻译的变压器
用于语言翻译的变压器

NLP中的道德问题

NLP提出了重要的道德问题,例如如何在字词嵌入中编码刻板印象,以及如何更容易将边缘化群体的字词归为有毒。斯坦福大学的博士生Nikhil Garg分享他的工作 在PNAS中发布 关于这个话题。我们还学习了一个框架,可以更好地理解各种类型的偏见的成因,质疑我们应避免做的工作的重要性,以及解决偏见的步骤,例如 NLP的数据陈述.

Nikhil Garg在他的作品上作了客座演讲,展示了词嵌入如何量化过去100年的刻板印象
Nikhil Garg在他的作品上作了客座演讲,展示了词嵌入如何量化过去100年的刻板印象

偏差不是NLP中唯一的道德问题。更复杂的语言模型可以创建引人入胜的假散文,这些散文可能淹没真实的人类或操纵舆论。我们涵盖了虚假信息的动态,引人注目的计算机生成文本的风险,OpenAI争议性的GPT-2分阶段发布决定,以及一些针对解决方案的拟议步骤,例如验证或数字签名系统。

关于算法偏见为何如此重要,不同类型以及解决偏见的步骤
关于算法偏见为何如此重要,不同类型以及解决偏见的步骤

希望您能完成本课程!该类中使用的jupyter笔记本的所有代码都可以 在GitHub上找到 所有视频的播放列表是 在YouTube上可用.

先决条件

(已更新以添加) 必须熟悉使用Python处理数据以及机器学习概念(例如培训和测试集)。使用PyTorch和神经网络的一些经验会有所帮助。

一如往常,在fast.ai 我们建议学习 在必要的基础上(太多的学生觉得他们需要花数月甚至数年的时间才能获得真正感兴趣的背景材料,而且很多情况下,甚至不需要这些背景材料)。 如果您对本课程感兴趣,但不确定背景是否合适,请继续尝试本课程! 如果您发现了不熟悉的必要概念,则可以随时停下来学习。

另外,请务必检查 快论坛 作为提问和共享资源的地方。