分享
5. 编码器-解码器架构
输入“/”快速插入内容
5. 编码器-解码器架构
用户8537
用户8537
用户4392
用户4392
用户278
用户278
1月13日修改
•
课程地址:
https://www.cloudskillsboost.google/course_templates/543
•
视频学习:
https://youtu.be/qZxtqYlZHnM
生成式AI和编码器-解码器架构
作者:Benoit Dherin,Google高级解决方案实验室的机器学习工程师
引言
大家好,我叫 Benoit Dherin。在Google的高级解决方案实验室,我担任机器学习工程师。目前,围绕生成式AI和新的进步(包括新的Vertex AI功能,如GenAI Studio、Model Garden、Gen AI API)有很多令人兴奋的事情。
目标
我们在这些短期课程中的目标是让您扎实地了解一些使所有GenAI魔法成为可能的基本概念。
编码器-解码器架构概述
•
编码器-解码器架构是一个序列到序列的架构。
•
这意味着它需要一个单词序列作为输入,并输出对应的翻译序列。
例如:
输入:英语中的句子“The cat ate the mouse”
输出:法语翻译“Le chat a mangé la souris”。
架构细节
•
编码器阶段产生输入语句的向量表示。
•
解码器阶段使用这个向量表示创建序列输出。
•
编码器和解码器都可以用不同的内部架构来实现,比如递归神经网络(RNN)或更复杂的转换器块。
递归神经网络(RNN)编码器
•
一次获取输入序列中的每个标记,并生成表示该标记以及先前摄取的标记的状态。
•
将所有输入标记摄入RNN后,输出一个向量,代表完整的输入句子。
RNN 解码器
•
采用输入语句的向量表示,并从该表示中生成输出语句。
•
分步进行,使用当前状态和到目前为止已解码的内容一次解码输出一个标记。
训练阶段
•
要训练模型,您需要一个数据集,它是输入/输出对的集合,您想让您的模型模仿。
•
在训练期间,模型将根据它在数据集中的给定输入上产生的错误来校正其权重。
•
这个错误本质上是神经网络在给定输入序列的情况下生成的结果与数据集中的真实输出序列之间的差异。
如何产生训练数据集
•
在编码器-解码器架构的情况下,您需要一组输入和输出文本。
•
在翻译的情况下,这将是一个句子在源语言的句子对和目标语言。
•
您会将源语言句子提供给编码器,然后计算解码器生成的内容与实际翻译之间的误差。
训练编码器-解码器模型:教师强制
•
训练过程中的陷阱: 解码器在训练时也需要自己的输入!
•
您需要为解码器提供正确的先前翻译的标记作为输入以生成下一个标记,而不是解码器到目前为止生成的标记。
•
这种训练方法称为教师强制,因为您强制解码器从正确的前一个标记生成下一个标记。
输入准备:两个输入句子
•
一个是输入到编码器的原始句子。
•
另一个是您将输入到解码器的、向左移动的原始句子。