机器不学习:CNN+RNN,二神合体,威力无穷,最好的NN模型介绍
i机器不学习 2018-08-18 10:54:05
机器不学习 www.jqbxx.com : 深度聚合机器学习、深度学习算法及技术实战
卷积网络循环网络结合-CNN+RNN
1. CNN+RNN
相同点
- 都是传统神经网络的扩展;
- 前向计算产生结果,反向计算进行模型的更新;
- 每层神经网络横向可以多个神经元共存,纵向可以有多层神经网络连接。
不同点
- CNN进行空间扩展,神经元与特征卷积;RNN进行时间扩展,神经元与多个时间输出计算;
- RNN可以用于描述时间上连续状态的输出,有记忆功能;CNN则用于静态输出;
- CNN高级结构可以达到100+深度;RNN的深度有限。
组合的意义
- 大量信息同时具有时间空间特性:视频,图文结合,真实的场景对话;
- 带有图像的对话,文本表达更具体;
- 视频相对图片描述的内容更完整。
组合方式
- CNN特征提取,用于RNN语句生成->图片标注
- RNN特征提取用于CNN内容分类->视频分类
- CNN特征提取用于对话问答->图片问答
组合方式实现
- 特征提取:
- LSTM输出(考虑不同时间研究对象的特征),FC层输出。
- 特征合并
- Concatenate层(合并在一起形成更长的向量),Attention相乘(某些区域加强,某些区域削弱)。
- 结果输出
- 连续语句输出LSTM,组合分类回归DNN。
2. 图片标注
问题描述
拥有大量图片及其标注信息,能够通过学习建立一个能够自动图片标注的模型?
基本思路
- 目标是产生标注语句,是一个语句生成的任务,根本上来说是一个RNN的任务,使用LSTM。
- 描述的对象是大量的图像信息,进行图像信息的表达,使用CNN。
- CNN网络中全连接层利用特征进行图片的描述,特征与LSTM输入进行结合。
模型设计
1. 整体结构
2. 特征提取
- 图片特征:CNN全连接层提取;
- 语言特征:Word2Vec。
3. 数据准备
- 图片CNN特征提取;
- 图片标注生成Word2Vec向量;
- 生成训练数据:图片特征+第n个单词向量->第n+1个单词向量。
4. 模型训练
- 运用迁移学习进行模型构建和训练,用于CNN特征,语句特征应用已有的模型;
- 最终的输出模型是LSTM,训练过程的参数:设定梯度上限(gradient clipping)用于防止梯度爆炸、学习率调整(adaptive learning)
5. 模型运行
- CNN进行特征提取;
- CNN特征+语句的开头,单词逐个预测;
图片标注升级-详细标注
DenseCap,主要基于Faster R-CNN
3. 视频行为识别
常用方法
- CNN特征简单组合
- 3D版本CNN
RNN+CNN
- RNN用于CNN特征融合
- CNN进行特征提取;
- LSTM判断;
- 多次识别结果进行分析。
- CNN进行特征提取;
- LSTM融合;
- Linear regr + Softmax分类。
- RNN用于CNN特征筛选+融合
- 并不是所有的视频图像包含确定分类信息;
- RNN用于确定哪些frame是有用的;
- 对有用的图像特征融合;
- RNN用于目标检测
- CNN直接产生目标候选区;
- LSTM对产生候选区进行融合(相邻时刻位置近似);
- 确定最终的精确位置。
4. 图片/视频问答
给定一张图片,提出图片内容相关问题,问答模型给出答案。
问题的种类
方法流程
- 按照语言问答路程解决;
- 图片特征同语言特征融合;
- 训练数据:问题+图片->答案
模型设计
纯文字问答系统
- 背景故事生成(word embedding)
- 问题特征生成;
- 背景,问题特征融合;
- 标准答案回归。
图片问答系统
- 基本模型
- 背景故事特征生成-CNN;
- 问题特征生成;
- 背景,问题特征融合;
- 标准答案回归。
- 模型优化1
- 对图片特征向量进一步处理,建立CNN特征的fisher特征;
- 提高特征表达的效率,更容易同encoding特征组合。
- 模型优化2
- 用问题作为“候选区域”对原始CNN特征图局部识别。
- 模型优化3
- 注意力图对图片问答进行帮助;
- 根据问题产生第一次注意力图;
- 然后产生最终的注意力图;
5. 实例:学习Image Caption 图片自动标注
一个将图片转换为相应文字描述的例子。
fork代码参见:https://github.com/KoalaTree/models/tree/master/im2txt
机器不学习:CNN+RNN,二神合体,威力无穷,最好的NN模型介绍http://t.jinritoutiao.js.cn/RdBCdC/