8月27日计算机视觉理论学习笔记——图说


前言

本文为8月27日计算机视觉理论学习笔记——图说,分为三个章节:

  • RNN;
  • LSTM;
  • 图说模型 Image Captioning。

一、RNN

  • 单层神经网络在时间上的扩展;

1

  • t-1 时刻的隐层状态(hidden state)会参与 t 时刻输出的计算;
  • 严重的梯度消失。

2

  • BPTT 算法: 针对循环层的训练算法,包含三个步骤:
    1. 前向计算每个神经元的输出值;
    2. 反向计算每个神经元的误差项值 δ j \delta_j δj,它是误差函数 E 对神经元 j 的加权输入的偏导数 n e t j net_j netj
    3. 计算每个权重的梯度。

二、LSTM

1、数学模型

3

  • 3个输入:

    1. 前一时刻的隐含状态 h t − 1 h_{t-1} ht1
    2. 前一时刻的记忆状态 c t − 1 c_{t-1} ct1
    3. 当前时刻的输入 v t v_t vt
  • 2个输出:

    1. 当前时刻的隐含状态 h t h_t ht
    2. 当前时刻的记忆状态 c t c_t ct

4

三、图说模型 Image Captioning

为图片生成描述语言:

  • 输入:图片;
  • 输出:客观描述图片内容的句子。

理解模式:
5

1、State-of-the-art 模型组成

  • DNN 框架:
    • CNN:图片理解 VGG、ResNet、GoogLeNet;
    • RNN:语言理解及生成 LSTM、GRU;
    • 特殊功能模块:Attention。

2、NIC 模型

利用 encoder-decoder 框架:

  1. 首先利用 CNN 作为 encoder,将 Softmax 之前的一层固定维数的向量作为图像特征;
  2. 再使用 LSTM 作为 decoder,其中图像特征输入 decoder;
  3. 使用最大化对数似然来训练。

6

3、Beam Search

  • 假设 beam size 为2,词典大小为3,内容为(a, b, c);
  • 生成第1个词时,选择概率最大的2个词(a, c),则当前序列为a, c;
  • 生成第2个词时,分别与词表中的所有词进行组合,得到新的6个序列 aa, ab, ac, ca, cb, cc,从中选择2个得分最高的作为当前序列;
  • 不断重复,直到遇到结束符为止。

7

4、注意力机制

固定的中间语义表示 C C C 换成了根据当前输出单词来调整成加入注意力模型的变化的 C i C_i Ci

8
9

  • Attention-based Encoder-Decoder:
    • Encoder 部分保持不变;
    • Decoder 部分引入 Attention 机制,使得 C 更灵活;
    • C 由 h 1 , … , h T h_1, …, h_T h1,,hT 加权求和获得,且每个 h i h_i hi 前面的权重系数 W i W_i Wi 不一样。

10

5、Show,attend and tell(SAT)模型

  • Encoder: 使用 CNN 提取 L个 D 维的特征 vector 作为注释向量,每一个都对应图像的一个区域;
  • Decoder: 用 LSTM 生成 caption,C 是句子长度,K 是词表大小,y 是各个词的 one-hot 编码所构成的集合。

11

  • 注意机制模块 Attention module:
    • 注意权重推断:
      e t = f a t t ( a , h t − 1 ) = W a t t   t a n h ( W a a + W h h t − 1 + b ) a t = s o f t m a x ( e t ) e_t = f_{att}(a, h_{t-1}) = W_{att}\ tanh(W_a a + W_h h_{t-1} + b)\\ a_t = softmax(e_t) et=fatt(a,ht1)=Watt tanh(Waa+Whht1+b)at=softmax(et)
    • 14×14 特征中单个特征:
      e t i = f a t t ( a i , h t − 1 ) a t i = e x p ( e t i ) ∑ k = 1 L e x p ( e t k ) e_{ti} = f_{att}(a_i, h_{t-1})\\ a_{ti} = \frac{exp(e_{ti})}{ {\textstyle \sum_{k=1}^{L}} exp(e_{tk}) } eti=fatt(ai,ht1)ati=k=1Lexp(etk)exp(eti)
    • 特征融合(权重相加):
      z ^ t = ϕ ( { a i } , { α i } ) = ∑ i L α i a i = α t ⋅ a \hat{z}_t = \phi (\{a_i\}, \{\alpha_i \}) = {\textstyle \sum_{i}^{L}} \alpha_i a_i = \alpha_t \cdot a z^t=ϕ({ai},{αi})=iLαiai=αta

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值