基于注意力机制的图像描述生成网络实现
1. 向量作为上下文的使用方式
在图像描述生成任务中,我们可以将向量作为上下文,有两种使用方式:
- 直接将其作为基于循环神经网络(RNN)的解码器网络的输入。
- 将其作为基于RNN的解码器网络的初始隐藏状态。
不过,这可能会带来一个限制,即RNN(更可能是LSTM)层的单元数量需要与卷积网络层的维度相匹配。例如,在VGG19中,循环层必须有4096个单元。为了解决这个问题,我们可以在4096单元层之上添加一个全连接层,该层的单元数量与RNN层所需的状态值数量相同。
2. 注意力机制在图像描述网络中的应用
2.1 注意力机制的应用场景
注意力机制不仅可以应用于序列到序列(文本到文本)网络,也可以应用于图像到文本网络。但直接将其应用于上述网络可能不太合理。在语言翻译中,上下文是单词序列的内部表示,应用注意力意味着网络在不同时间步关注句子的不同部分。而在图像描述网络中,网络顶部的全连接层已将不同特征压缩为单一表示,4096元素向量的不同部分与图像的不同区域没有直接对应关系,每个元素都包含输入图像所有像素的信息。
2.2 更合理的应用方式
更合理的做法是将注意力机制应用于顶部卷积层。在这种网络中,卷积层的输出是一个3D结构,其中两个维度对应图片的两个维度,第三个维度(通道)表示不同类型特征的特征图。以VGG19架构为例,顶部卷积层的输出维度为14×14×512,即由196个向量组成,每个向量包含512个元素。每个向量对应输入图像的一个特定区域,向量中的512个元素表示网络可能在该区域识别出的512种不同类型的特征。使用这196个向量作为
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



