基本RNN: h[t-1]记录上一时刻中间输出,tahn(U*h[t-1]+W*x[t])-->h[t]
LSTM:
C是记忆,h是输出,x是输入;
h和x并联,乘以3个W再sigmoid到0~1, 控制3个门;
门就是在输入信号向量点乘控制向量;
C[t-1]经过第一个门,通过一部分(剩下的等于是被遗忘掉了);
W*[h[t-1], x[t]]经过第二个门,新增一部分记忆到C上(Element-wise相加)
C输出到下一时刻做C[t]; C经过第三个门,通过的部分得到本时刻输出h[t]
GRU: 去除了C, 只剩h和x
RNN语句生成:输入词转成word-vector; 输出是softmax分类;前一时刻的输出对应下一时刻的输入;
Image Caption:(看图说话)
DenseCap (by 李飞飞):
1. 卷积网络(VGG迁移而来),提图片特征
2. Fully Convolutional Localization Layer:定位网络,类似Faster-RNN, 得到候选区域的4个坐标值和置信度;双线性插值,转换为同样大小的特征图;
3. Recognition Network: 2个FC层,特征图->特征向量;
4. RNN Language Model: 输入特征向量,输出句子
视频识别:
单帧;晚融合;早融合;慢融合;
C3D
CNN提取每帧的特征;输入到RNN; RNN每帧输出可以做判别(得到判别结果序列),可以做融合再判别(得到一个判别结果);
https://www.jianshu.com/p/583c26bbb675
图片问答:
CNN提取图片特征;RNN(LSTM)提取问题句子特征(语义向量);两者融合,输入RNN(LSTM)得到答案句子;