Encoder-Decoder框架

news/2025/2/12 21:57:17/文章来源:https://www.cnblogs.com/qhj384343045-/p/18712144

1.介绍

编码器-解码器,是深度学习中常见的模型框架。Encoder-Decoder 并不是一个具体的模型,而是一个通用的框架。Encoder 和 Decoder 部分可以是任意文字,语音,图像,视频数据,模型可以是 CNN,RNN,LSTM,GRU,Attention 等等。所以,基于 Encoder-Decoder,我们可以设计出各种各样的模型。

encoder:编码,将输入序列转化转化成一个固定长度向量。

decoder:解码,将之前生成的固定向量再转化出输出序列。

Encoder-Decoder:阶段的编码与解码的方式可以是CNN、RNN、LSTM、GRU等;

2.Seq2Seq

Seq2Seq (Sequence-to-sequence 的缩写),输入一个序列,输出另一个序列。这种结构最重要的地方在于输入序列和输出序列的长度是可变的。

最常见的就是机器翻译

案例:英文 it is a cat. 翻译成中文的过程。
  1)先将整个源句子进行符号化处理,以一个固定的特殊标记作为翻译的开始符号和结束符号。此时句子变成 it is a cat . 
  2) 对序列进行建模,得到概率最大的译词,如第一个词为 “这”。将生成的词加入译文序列,重复上述步骤,不断迭代。
  3)直到终止符号被模型选择出来,停止迭代过程,并进行反符号化处理,得到译文。

3.Encoder-Decoder框架

Encoder阶段编码RNN,Decoder阶段编码RNN。

1) 编码器中RNN是一种由隐藏状态h和可选输出y组成的神经网络,该输出y在变长序列x = (x1,…,xT)上运行。

在每个时间步t, RNN的隐藏状态h(t)被更新为  h⟨t⟩ = f ( h⟨t-1⟩ , x(t) ),f为非线性激活函数

2) 语义向量C(长度固定,也是缺陷)是Encoder编码阶段的最终隐藏层的状态,或是多个隐藏层状态的加权总和,作为Decoder解码阶段的初始状态;

3) 解码器是另一个RNN,它被训练成通过给定隐藏状态h(t)来预测下一个符号y(t)来生成输出序列。然而,与编码器中描述的RNN不同,y(t)和h⟨t⟩也在输入序列的y(t−1)和c上被约束。因此,解码器在时刻t的隐藏状态计算为:h⟨t⟩ = f ( h⟨t-1⟩ , y(t-1) , x(t) )

 4.Encoder-Decoder 的缺陷

与其说是 Encoder-Decoder 的局限,不如说是 RNN 的局限,在机器翻译中,输入某一序列,通过 RNN 将其转化为一个固定向量,再将固定序列转化为输出序列,即上面所讲的将英文翻译成中文。不管输入序列和输出序列长度是什么,中间的「向量 c」长度都是固定的。所以,RNN 结构的 Encoder-Decoder 模型存在长程梯度消失问题,对于较长的句子,我们很难寄希望于将输入的序列转化为定长的向量而保存所有有效信息,即便 LSTM 加了门控机制可以选择性遗忘和记忆,随着所需翻译的句子难度怎能更加,这个结构的效果仍然不理想。

5.Attention机制

 

Attention 名为注意力机制,何为注意力机制。就像我们平时读文章一样,我们的视线不可能注意到所有的文字,随着眼睛的移动,我们的注意力也会跟着视线转移,最终会停留在认为重要的单词上,甚至还会划重点。一般来说,一篇文章的标题,小标题,我们都会第一时间注意到,这就是注意力机制。

 

在 Attention 模型中,我们翻译当前词,会寻找于源语句中相对应的几个词语,然后结合之前已经翻译的序列来翻译下一个词。

 

1) 对 RNN 的输出计算注意程度,通过计算最终时刻的向量与任意 i 时刻向量的权重,通过 softmax 计算出得到注意力偏向分数,如果对某一个序列特别注意,那么计算的偏向分数将会比较大。
2)计算 Encoder 中每个时刻的隐向量
3) 将各个时刻对于最后输出的注意力分数进行加权,计算出每个时刻 i 向量应该赋予多少注意力
4)decoder 每个时刻都会将 3 部分的注意力权重输入到 Decoder 中,此时 Decoder 中的输入有:经过注意力加权的隐藏层向量,Encoder 的输出向量,以及 Decoder 上一时刻的隐向量
5) Decoder 通过不断迭代,Decoder 可以输出最终翻译的序列。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/882753.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Macbook装Window后闪屏

打开英特尔显卡控制面板电源-使用电池 把各种模式下的面板自行刷新功能禁用掉。

DeepSeek 保姆级技巧,强烈建议收藏!

DeepSeek 已经成为了全球热点,因为做自媒体的原因能看到各种留言,我发现大家对 DeepSeek 的认识,千差万别差距巨大。 比如有的读者说,DeepSeek 是“水变油”骗局;有的读者说它就是忽悠国外的东西;还有的说它是中国国运堪比六代机,还有的说 DeepSeek 就是 AI 版本的小米等…

Macbook装Window后触摸滑动方向反

找到设备id 可以看到我的是: VID_05ac&PID_0276&MI_02&Col01\6&8d58d53&0&0000如果有多个,可以在常规>位置中根据命名区分 对其设置 输入 regedit,打开注册表, 然后依次找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_05ac&am…

Spring 项目接入 DeepSeek,分享两种超简单的方式!

DeepSeek 作为一款卓越的国产 AI 模型,越来越多的公司考虑在自己的应用中集成。对于 Java 应用来说,我们可以借助 Spring AI 集成 DeepSeek,非常简单方便! 相关文章推荐:DeepSeek 的这波回答我给满分! IDEA 接入 DeepSeek,太酷了!Spring AI 是什么? Spring AI 从著名的 …

我命由我不由天?

作为一名大一学生,还有几天就下学期开学了,至今还感到迷茫,不知道这个被迫选择的专业应该怎么学,回头看看高中的同学虽然与我专业不同,但是却自学这门让我逃之不及的一门课,并且人家也有着明确的目标与计划,而我确是一个普普通通的二本学生,并不知道应该如何做,也没有…

是“陷阱”还是“机遇”,怎么办?

作为一名大一学生,还有几天就下学期开学了,至今还感到迷茫,不知道这个被迫选择的专业应该怎么学,回头看看高中的同学虽然与我专业不同,但是却自学这门让我逃之不及的一门课,并且人家也有着明确的目标与计划,而我确是一个普普通通的二本学生,并不知道应该如何做,也没有…

C#/.NET/.NET Core技术前沿周刊 | 第 24 期(2025年1.27-1.31)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…

deepseek-v3 论文阅读

deepseek-v3论文中 AIInfra相关的技术学习模型结构 MLA(Multi-Head Latent Attention) 主要作用是在保证效果的基础上, 利用低秩压缩的原理优化kvCache, 加速推理, 同时节省训练显存. 先回忆下MHA, 在每个head上, 分别经过K, V生成 $ attnweights=(W_Qh_i)^T∗(W_Kh_j) $, 然后…

大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!

1 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来! 1.1 背景目前AI已经大行其道,chatGPT、DeepSeek等如雨后春笋般涌现出来,笔者做为一个守旧派和顽固派,一直认为AI只是雕虫小技,根本没有办法和人写的代码相提并论,在chatGPT已经大火几年之后仍然一直无动于衷…

【洛谷P1196】银河英雄传说[NOI2002]

今天学习提高版的并查集 洛谷200题纪念! 首先我们看题目 P1196 [NOI2002] 银河英雄传说 题目背景 公元 \(5801\) 年,地球居民迁至金牛座 \(\alpha\) 第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。 宇宙历 \(799\) 年,银河系的两大…

P3826 [NOI2017] 蔬菜 题解

Description 有 \(n\) 种蔬菜,对于所有的满足条件 \(d\times x_i \leq c_i\) 的正整数 \(d\) ,有 \(x_i\) 个单位的蔬菜将在 第 \(d\) 天结束时变质。 特别地,若 \((d - 1)\times x_i \leq c_i < d\times x_i\) ,则有 \(c_i - (d - 1)\times x_i\) 单位的蔬菜将在第 \(d…

什么是token?token是用来干嘛的?

从事计算机行业的朋友都听说过token这么个东西,尤其是deepseek爆火后api(大家都知道什么意思吧),但是其他行业的人就很少了解到token,下面就给大家来详细介绍一下token是什么意思?token是用来干嘛的这一块的内容,希望能帮助到大家。token是什么意思? 作为计算机术语时,…