Fullstar

Archives

  • December 2025
  • August 2024
  • July 2024
  • February 2024
  • November 2023
  • August 2023
  • July 2023
  • January 2023
  • November 2022
  • October 2022
  • September 2022
  • February 2022
  • January 2022
  • September 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020

Categories

  • Code
  • Lens
  • Life
0
Fullstar
  • Code

attention model

  • July 26, 2020
  • Brandon

Looking for a Shorter Overview?

AI Summary

Encoder-Decoder通过编码输入并由解码器逐步生成输出,使生成结果能够围绕输入内容。注意力机制为每个解码时间步动态计算不同的上下文向量,让模型聚焦最相关的信息,并可用于机器翻译和图像描述生成。

Key Moments

AI-generated
1

Encoder-Decoder分离编码与生成

Encoder先将输入序列编码为向量,Decoder在各个时间步利用该表示生成目标序列。
2

注意力为每步提供不同上下文

注意力机制让Decoder在每个时间步获得不同的上下文向量,以处理复杂输入并聚焦当前需要的信息。
3

通过匹配、归一化和加权求和计算上下文

将Decoder状态与各Encoder隐藏状态经match函数得到分数,使用softmax归一化后对隐藏状态加权求和得到上下文向量。
4

图像描述中关注CNN空间特征

图像描述任务可将CNN在flatten前输出的特征作为注意力输入,并逐步生成描述图像的词语。
Total
0
Shares
0
0
0

一.Encoder与Decoder的意义
在单纯使用RNN进行generation时其生成的东西非常pool,以生成文本为例,RNN只能通过学习后输出与输入语言风格类似的句子,但我们无法对句子的内容进行控制,因此无法实现模拟对话等功能。

因此可以采用Encoder-Decoder模型进行训练。以文本翻译为例,Encoder指将输入的句子先通过一次RNN,从而生成一个vector,再将此vector输入另一个用于输出翻译结果的RNN,此RNN即称作Decoder。在Decoder中每一个time均将Encoder中生成的vector作为输入,从而避免后续节点忘记训练的内容。

Encoder-Decoder model

二.attention model的意义
attention model能够使得decoder中输入的vector每个time都不一样,此操作的意义在于:1.Encoder中的输入可能非常复杂,无法用一个vector来描述 2.可以让Decoder专注于它所需要的信息,如encoder输入机器学习,则decoder的第一个time仅希望考虑机器两个字而不是一整个句子,因此通过这个方式machine可以学的更好。

attention model

三.attention-based model建立步骤
以机器翻译为例
1.定义初始参数$z^0$,将$h^i$(RNN的hidden layer的output)与$z^0$通过match函数计算得到$\alpha ^i_0$,其中0表示此时计算time为0,match函数可以自行设计,常见的有cosine similarity of z and h等

step 1

2.将$\alpha ^i_0$经过softmax层生成$\hat{\alpha}^i_0$,再利用公式$c^0= \sum_{i=1}^n \hat{\alpha}^i_0 h^i $得到$c^0$。则$c^0$的值将受到$\hat{\alpha}^i_0$的影响,从而实现不同的time专注于不同的信息

step 2

3.将得到的$c^0$输入Decoder中,则得到第一个输出machine,其中训练得到的$z^1$为RNN中的hidden layer output,可再将其作为参数放入Encoder进行训练,从而得到$c^1$。通过重复上述步骤从而完成训练。

step 3

四.attention-based model在Image Caption Generation的应用
基本思路:利用CNN对一张图像进行训练,将模型中作flatten之前的filter output取出,利用attention-based model逐步生成word,则能够得到能够描述图片的一段句子

Image Caption Generation

Related Posts

AI-generated

Memory Network

从按问题聚焦文档句子的记忆网络,到能擦除、写入并更新外部记忆的神经图灵机,文章说明注意力如何驱动阅读理解与序列生成,并用正则化减少重复关注。
78% match July 27, 2020

基于RNN的自动文本生成

从字符索引到向量编码,RNN能够根据已有文本预测下一个字母。文章说明独热编码、Embedding、SimpleRNN与softmax分类层如何协同训练自动文本生成模型。
60.7% match July 22, 2020

Questions Answered

AI-generated

编码器和解码器如何协作生成翻译结果?

编码器压缩输入句子,解码器依据该信息逐步输出翻译。

为什么注意力机制比单一上下文向量更有效?

它在每个时间步聚焦不同信息,处理复杂输入更灵活。

注意力上下文向量是怎样计算出来的?

匹配隐藏状态并归一化权重,再进行加权求和得到。

注意力模型如何用于图像描述生成?

卷积网络提供图像特征,解码器借助注意力逐词生成描述。

Next Up

读写外部记忆
RNN续写文本
词向量映射
掌控生成工作流
Total
0
Shares
Share 0
Tweet 0
Pin it 0
Brandon

Previous Article
  • Code

基于RNN的自动文本生成

  • July 22, 2020
  • Brandon
View Post
Next Article
  • Code

Memory Network

  • July 27, 2020
  • Brandon
View Post
You May Also Like
View Post
  • Code

Letta部署记录

  • Brandon
  • December 26, 2025
View Post
  • Code

WordPress 后台任务利器:使用 BGRunner 构建可靠的异步处理

  • Brandon
  • December 14, 2025
View Post
  • Code

WordPress image offload

  • Brandon
  • December 14, 2025
View Post
  • Code

ComfyUI应用手册

  • Brandon
  • December 6, 2025
View Post
  • Code

Leetcode Java常用代码

  • Brandon
  • February 17, 2024
View Post
  • Code

Golang入门

  • Brandon
  • February 4, 2024
View Post
  • Code

Setting Up and Maintaining a Ubuntu Environment for My Home Server

  • Brandon
  • November 24, 2023
View Post
  • Code

Swift Learning Log

  • Brandon
  • August 31, 2023

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Fullstar

Input your search keywords and press Enter.

Memory Network

基于RNN的自动文本生成

Keras Embedding层

ComfyUI应用手册

Private: keras简单实战代码记录

Letta部署记录

UP NEXT

Memory Network

78% match July 27, 2020 0