base-llm Task01注意力机制: 从autoencoder到seq2seq, 再到attention和transformer
·
autoencoder与编码器和解码器的思想
在多对多+输出输入长度不等的问题上,比如机器翻译等, RNN和 LSTM架构的模型不能解决。
2014年,提取了序列到序列(Sequence-to-Sequence) 的架构, 其中成功应用了编码器和解码器(Encoder-Decoder) 思想。
自编码器, 是一种更基础的、使用编码器-解码器思想的、无监督神经网络。 它的结构中,编码器讲输入数据压缩,解码器接受压缩后的数据,并尝试重构回原始的输入。它的训练目标是,让输出与输入尽可能相同,常被用于降维、特征学习或者数据去噪等任务。就好像是从AD-DA的功能,AD的过程, 对频率为f的数据,在一定的频率Fs下进行采样,而DA要讲采样结果恢复到原始数据, 恢复后的频率f1<f。
seq2seq原理
seq2seq 核心思想, 先完整阅读所有内容,形成一个结果,这个结果叫语义表示,然后基于这个结果,根据任务要求的语言,进行逐词的翻译。形成语义表示的的功能,是编码器完成的,面向任务语言进行逐词翻译的功能, 是解码器完成的。
可以认为 Seq2Seq 的本质 = 编码器(用于理解和压缩信息)+ 条件语言模型(用于在特定条件下生成信息)。
解码器就是一个条件语言模型。
seq2seq 的训练和推理
attention的原理
从“一言以蔽之”到“择其要者而观之”。
人类在进行阅读或翻译时,并不会讲整个句子或段落的信息平均地记在脑海里。当回答特定问题或翻译特定词组是,我们的注意力会自然的聚焦到原文中的相关部分。
在解码器生成每一个词元时,允许它看一遍完整的输入序列,并根据需求,自主给输入序列的每个部分分配不同的注意力权重,然后基于权重将输入信息加权求和,生成一个动态的、专属当前时间步的上下文向量。
transformer结构
transformer的Encoder和Decoder都是由N个功能相同的层(layer)堆叠而成。
-
编码器
-
解码器
-
层的组件
(1) 位置前馈网络(FFN)
(2)残差连接与归一化(Add&Norm) -
其他
(1)位置编码
(2)掩码
transformer的训练和推理
学习教程地址
https://github.com/datawhalechina/base-llm/blob/main/README.md
更多推荐

所有评论(0)