AI解剖课堂 · Part 3 把文字变成数字
第 36 章 怎么知道顺序?
Q. “10点11分”和“11点10分”的词元一模一样,AI 怎么知道它们不同?
- “狗咬人”和“人咬狗”,字完全一样,顺序一换,意思就反了。中文主要靠语序分清谁做了什么,有时也用“被”来标明。
- “10点11分”和“11点10分”也一样:词元完全相同,只是顺序换了,意思就不同。顺序本身也是信息。
- 注意力(第 45 章)会一次看完所有词元再混合。没有位置信息,两句话就像同一袋词元。
- 所以要给词元向量加上表示“第几个”的数字。可如果直接加 1、2、3,第 2,000 个词元的意思就被淹没了。
- 最初的 Transformer(2017)用的是正弦波:在快慢不同的波上读出那个位置的高度。值总在 −1 和 1 之间。
- 把钟表的快针和慢针一起看,就能知道时刻。波也一样,每个位置的花纹都不一样。
- 把这个花纹加到词元向量上。这样,同一个“10”放在 0 号位置和 2 号位置,向量就不同了,顺序也就装进去了。
- 文字、词元、编号、嵌入、位置信息。现在,文字变成了模型能计算的数字。Part 3 结束,接下来是 Part 4。
本章小结
- 同样的词元,顺序一变意思就变(10点11分 ≠ 11点10分,狗咬人 ≠ 人咬狗)。
- 位置信息:给词元向量加上表示“第几个”的花纹。
- 花纹用快慢不同的正弦波做成(2017)。值在 −1~1 之间,每个位置都不同。