框架
encoder-decoder
- 中间向量 长度是固定的(缺陷)
( 语义向量无法完全表示整个序列的信息,先输入的内容携带的信息会被后输入的信息稀释掉 ) - 输入信息 太长,会丢失信息(缺陷)
Seq2Seq
- 输入 输出 序列长度可变
-
- 输入输出 固定长度,长度稍微变化,补零
encoder-decoder & Seq2Seq
- Seq2Seq 属于 Encoder-Decoder 的大范畴
- Seq2Seq 更强调目的,Encoder-Decoder 更强调方法
Attention
- 解决 信息过长,信息丢失
- Encoder 不将 输入序列编码 为固定长度 的中间向量C,
- 编码成向量序列
生成顺序:
- 解决输入输出是固定长度,长度有变化,补零: Seq2Seq
- 解决中间向量固定:Attention
优化
- SGD(minibatch stochastic gradient descent):负责采样
- Adadelta:负责优化下降方向
改进
- attention机制
- visual sentinel 哨兵机制
- CNN改进
- 强化学习训练模型
- 目标检测
图片出自:Image2Caption
优秀论文解析链接
Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning --------文章 1(内含代码链接) ------- 文章 2
代码复现 - 单文
Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering
Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
Show, Control and Tell: A Framework for Generating Controllable and Grounded Captions. - 官方代码