AI解剖课堂 · Part 4 Transformer 之前的故事
第 42 章 翻译器的结构
Q. 两种语言的语序和长度都不一样,AI 是怎么翻译的?
- “我今天去学校”译成英文是“I go to school today”。语序和词数都不一样,没法一个词一个词地换。
- 2014 年,苏茨克维(Sutskever)的团队把两个 RNN 接在一起:负责读的编码器和负责写的解码器,叫 seq2seq。
- 编码器一个词一个词地读中文,不断改写纸条。最后一张纸条装着整句话的意思。
- 解码器拿到这张纸条,一个词一个词地写英文。写出的词又会作为输入送回去,和第 2 章的自回归一样。
- 可是纸条的大小是固定的。不管四个词还是四十个词,整句话都得硬塞进同样大小的一张纸条里。
- 这就是瓶颈:所有意思都得挤过瓶子窄窄的脖子。所以句子越长,翻译就越差。
- 如果解码器每写一个词,都能回头再看原文呢?这个想法就是第 43 章的注意力。
本章小结
- seq2seq(2014):编码器 RNN 负责读,解码器 RNN 一个词一个词地写。
- 编码器把整句话装进一张大小固定的纸条(向量)传过去。
- 瓶颈:句子越长,一张纸条越装不下,翻译就越差。