序列与注意力:从顺序依赖到Transformer
- 说明序列中的位置与上下文为什么重要
- 解释注意力加权和Transformer的基本角色
顺序本身也是信息
云朵工坊给卡片附上简短描述,例如红色圆形玩具靠近蓝色方形玩具。把这句话拆成若干单位后,顺序与相互关系会影响含义;红色修饰哪个物体,不能只靠统计出现了哪些词判断。序列可以是文字、声音片段或连续观测,不只等于语言。处理序列时,模型需要表示当前元素,也要利用其他位置的信息。这个需求不同于单张卡片的两个数值特征,直接求所有输入的平均值往往丢失关键关系。
先理解逐步传递状态
循环神经网络按顺序处理元素,把前面得到的隐藏状态传给下一步,像一个不断更新的简短笔记。长短期记忆网络用门控机制调节哪些信息保留、哪些信息更新,以改善某些长期依赖问题。它们并不是拥有永久记忆的人,状态容量与训练条件仍有限,长序列也可能难处理。逐步处理适合一些流式场景,但在训练中对长序列逐个推进可能限制并行效率;不同任务不能只用一个结构名称来判断优劣。
注意力究竟在做什么
注意力让一个位置根据与其他位置的匹配程度,对相关表示作加权组合。可以把查询理解为当前需要寻找什么,把键理解为各位置提供怎样的匹配线索,把值理解为被汇总的信息;这只是计算角色的类比,不是三个外部资料库。描述中的圆形位置可能从红色位置汇集颜色信息,也从靠近位置汇集关系信息。权重由模型计算而来,总和常被归一化;较高注意力权重不必然意味着它就是人类意义上的唯一解释或因果证据。
Transformer增加了哪些安排
变换器以注意力模块为核心,同时包含逐位置的前馈网络、残差连接和归一化等结构。因为注意力本身不自动提供可靠的先后顺序,模型还需要位置相关表示。自注意力在同一序列内部汇集信息,多头注意力允许多个投影视角并行形成组合。某些用于文本生成的模型采用因果遮罩,使当前位置不能查看未来答案;这与理解整段文本的双向处理不同。不能把所有Transformer都说成逐字预测,也不能把它完全等同于一个注意力公式。
如何选择并认识成本
工坊若只判断两项数字特征,没必要因为名字流行而引入Transformer;若任务依赖描述中远距离关系,它可能更适合比较。标准全自注意力的两两匹配随序列长度增长得很快,长输入通常增加计算与内存压力,具体成本还受实现影响。我们应先定义输入长度、延迟要求和可用数据,再比较基线。注意力改善信息组合方式,不保证模型真正理解全部关系;反例测试应故意交换颜色与位置,检查它是否只记住常见词语搭配。
本节要点
- 序列任务需要考虑顺序、位置与上下文关系
- 注意力按匹配程度汇总表示,不等于人类因果解释
- Transformer是一组结构安排,适用性取决于任务和成本
动手练习:检验模型是否读懂关系变化
- 写出红色圆形靠近蓝色方形与蓝色圆形靠近红色方形两句描述
- 设定问题圆形玩具是什么颜色,分别给出两个答案
- 说明词频汇总为什么可能无法区分,并画出当前位置从相关颜色位置汇集信息的箭头
自查清单
- 两句对应颜色答案正确
- 说明相同词集合不足以保留关系
- 不把注意力示意图当作已证明的模型解释
先自己做,再查看参考答案
第一句中圆形玩具是红色,第二句中圆形玩具是蓝色。两句含有近乎相同的词,只改变修饰关系;只记录出现了红色、蓝色、圆形和方形,可能得到同一汇总,无法回答问题。示范箭头从圆形位置指向当前句里与它对应的颜色表示,再结合位置或语法关系信息形成输出。注意力是一种实现信息组合的机制,但画出的箭头只是教学示意,不能宣称实际模型必然采用这个唯一通路。还应加入距离变化、无关词插入和不常见颜色组合测试,检查模型是否依赖关系而非常见搭配;无需在本页面运行任何模型。