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. 编码器

  2. 解码器

  3. 层的组件
    (1) 位置前馈网络(FFN)
    (2)残差连接与归一化(Add&Norm)

  4. 其他
    (1)位置编码
    (2)掩码

transformer的训练和推理

学习教程地址

https://github.com/datawhalechina/base-llm/blob/main/README.md

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐