这里整理了 CSCI 544 前七讲的笔记。你可以按下面的顺序学习,也可以直接跳到想复习的主题。同一个知识点即使在几节课里反复出现,也会放在一起讲,方便前后联系。
每页顶部的标签会告诉你,这个主题在哪几讲出现过。想按上课顺序查笔记,可以看课程时间线;只想查一个概念或公式,可以看术语表与公式。点击语言按钮,就能切换到同一页的英文版。
这门课目前讲到了哪里?
课程先从一个简单的问题开始:我们能不能猜出一句话接下来会出现什么词?接着,我们学习怎样让模型根据例子给文本分类,怎样用一组数字表示一个词的含义,最后再看怎样把分类器从一次加权求和扩展成多层网络。
前两部分用到了同一个想法:选择一组参数,让我们已经看到的例子更有可能出现。这个方法叫最大似然估计(maximum likelihood estimation)。在简单的词频模型里,它就是数一数、再相除;在分类模型里,它会变成一种计算误差的方法:模型给正确答案的概率越低,误差就越大。
同一个想法在 word2vec 里第三次出现:它对词对训练一个逻辑回归分类器,再把权重留下来当词向量。这些模型也面临同一个难题:训练材料不可能包含以后会遇到的所有情况。平滑方法会给没见过的词语搭配留出概率;正则化则帮助分类模型避免只记住训练中的例子。
按主题开始学习
课程导览
了解课程在讲什么,以及作业、评分和答疑怎样安排。
第一部分 · 预测下一个词
从词频统计开始建立语言模型,检查预测效果,再处理训练材料里没出现过的情况。
- 1.1语言模型怎样计算句子的概率?先估计下一个词出现的可能性,再把这些概率连起来,得到整句话的概率。第 2–3 讲
- 1.2怎样用前几个词预测下一个词?在大量文本里数一数哪些词常常连着出现,再用这些次数做预测。这就是 n-gram 模型的基本做法。第 2–3 讲
- 1.3怎样判断预测得好不好?困惑度(perplexity)用一个分数概括模型预测新文本的表现。本页解释它怎样计算,以及该怎样比较。第 2–3 讲
- 1.4怎样生成句子,又怎样处理没见过的词?模型可以一个词接一个词地写下去,但遇到训练中没见过的词或搭配时,就需要额外的处理。第 2–3 讲
- 1.5给没见过的搭配留一点可能性训练材料里没出现过,不代表以后不会出现。平滑方法会为这些词语搭配留出一部分概率。第 3–4 讲
第二部分 · 学习给文本分类
跟着完整的学习过程走一遍:准备数据、做出预测、计算误差,然后调整模型。
- 2.1怎样把文本变成模型能用的数据?从带答案的例子出发,把文字整理成数字特征,再交给模型学习分类。第 3–4 讲
- 2.2怎样预测一条评论是好评还是差评?逻辑回归把不同线索加起来,算出属于某一类的概率,再根据正确答案衡量这次预测的误差。第 3–5 讲
- 2.3模型怎样从错误中一点点改进?梯度告诉我们该往哪个方向调整参数,学习率决定每次调整多少。重复这个过程,模型就能逐步降低误差。第 4–5 讲
- 2.4怎样避免模型只记住练过的题?训练时表现好,不一定代表遇到新数据也能做好。正则化通过约束参数,帮助模型学到更容易推广的规律。第 4–5 讲
- 2.5不止两个选项时,模型怎样分类?先给每个类别打分,再用 softmax 把分数转换成概率。这样就能从好评、中评、差评等多个选项中做出判断。第 5–6 讲
第三部分 · 用数字表示词义
用词周围的语境描述它的含义,再比较由此得到的词向量。
第四部分 · 神经网络
把单个分类器变成一层层的单元,学会一条直线画不出来的分界。
接下来会学什么?
第 1 讲给出的课程安排,大致沿着语言模型的发展顺序展开:
- 早期神经网络语言模型,约 2013–2018 年:先学习怎样得到更紧凑的词向量,再学习前馈网络、循环神经网络、反向传播,以及编码器—解码器结构。第 7 讲已经讲到前两项;反向传播安排在 9 月 17 日。它们帮助我们理解神经网络怎样处理和生成一串文字。
- 2018 年以后的模型:学习注意力机制和 Transformer,再看两类任务:补出被遮住的词,以及根据已有文本预测下一个词。
- 大语言模型:学习预训练、微调、提示词、指令训练和人类反馈怎样影响模型行为,也会讨论文本生成、看似可信却不正确的回答、隐私等尚未解决的问题。
计划中的作业主题包括 n-gram 模型、词向量与循环语言模型、Transformer 中的注意力,以及大语言模型进阶内容。课程会从中安排两次作业,每次约 3–4 周;具体选题可能调整。