Show and Tell: A Neural Image Caption Generator

[Show and Tell: A Neural Image Caption Generator][https://arxiv.org/pdf/1411.4555v1.pdf]

概要

本文介绍了NIC算法,将CNN与LSTM结合,做了一件什么事呢。就是小学时的看图说话,利用CNN提取图片特征,并作为t1t_{-1}输入LSTM中,将描述性词汇转化为独热编码,利用嵌入模型做为StS_t输入LSTM中。

公式

最大化似然函数:
θ=argmaxθ(I,S)logp(SI;θ) \theta^{\star}=\arg \max _{\theta} \sum_{(I, S)} \log p(S | I ; \theta)
可能性:
logp(SI)=t=0Nlogp(StI,S0,,St1) \log p(S | I)=\sum_{t=0}^{N} \log p\left(S_{t} | I, S_{0}, \ldots, S_{t-1}\right)
在LSTM中:
ht+1=f(ht,xt) h_{t+1}=f\left(h_{t}, x_{t}\right)

it=σ(Wixxt+Wimmt1)ft=σ(Wfxxt+Wfmmt1)ot=σ(Woxxt+Wommt1)ct=ftct1+ith(Wcxxt+Wcmmt1)(7)mt=otctpt+1=Softmax(mt) \begin{aligned} i_{t} &=\sigma\left(W_{i x} x_{t}+W_{i m} m_{t-1}\right) \\ f_{t} &=\sigma\left(W_{f x} x_{t}+W_{f m} m_{t-1}\right) \\ o_{t} &=\sigma\left(W_{o x} x_{t}+W_{o m} m_{t-1}\right) \\ c_{t} &=f_{t} \odot c_{t-1}+i_{t} \odot h\left(W_{c x} x_{t}+W_{c m} m_{t-1}\right)(7) \\ m_{t} &=o_{t} \odot c_{t} \\ p_{t+1} &=\operatorname{Softmax}\left(m_{t}\right) \end{aligned}

输入和输出:
x1=CNN(I)xt=WeSt,t{0N1}pt+1=LSTM(xt),t{0N1} \begin{aligned} x_{-1} &=\mathrm{CNN}(I) \\ x_{t} &=W_{e} S_{t}, \quad t \in\{0 \ldots N-1\} \\ p_{t+1} &=\operatorname{LSTM}\left(x_{t}\right), \quad t \in\{0 \ldots N-1\} \end{aligned}

网络架构

Show and Tell: A Neural Image Caption Generator