卷积网络循环网络结合-CNN+RNN

xiaoxiao2021-02-28  104

卷积网络循环网络结合-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

转载请注明原文地址: https://www.6miu.com/read-62974.html

最新回复(0)