卷积网络循环网络结合-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 图片自动标注

一个将图片转换为相应文字描述的例子。

代码参见:https://github.com/KoalaTree/models/tree/master/im2txt

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2018-02-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨熹的专栏

attention 机制入门

在下面这两篇文章中都有提到 attention 机制: 使聊天机器人的对话更有营养 如何自动生成文章摘要 今天来看看 attention 是什么。 下面这篇...

3788
来自专栏机器学习从入门到成神

机器学习之深入理解神经网络理论基础、BP算法及其Python实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

681
来自专栏机器学习算法与Python学习

深度学习必须理解的25个概念

1386
来自专栏技术碎碎念

基于深度学习的图像风格转换

距离上次写博客已经好久好久好久了,真是懈怠的生活节奏,整天混吃等死玩游戏,前些日子做毕业设计时总算又学了点新东西。学了一点深度学习和卷积神经网络的知识,附带着...

3207
来自专栏机器学习算法全栈工程师

手把手教你实现GAN半监督学习

作者:刘威威 编辑:田 旭 引言 本文主要介绍如何在tensorflow上仅使用200个带标签的mnist图像,实现在一万张测试图片上99%的测试精度,原理...

9057
来自专栏书山有路勤为径

深度卷积网络:实例探究

介绍几种经典的卷积神经网络结构,分别是LeNet、AlexNet、VGGNet。 LeNet-5 LeNet-5主要是针对灰度设计的,所以其输入较小,为32...

714
来自专栏技术翻译

带你了解什么是卷积神经网络

CNN在图像处理和视频处理领域有着广泛的应用。在这篇文章中,我将详细介绍卷积神经网络是如何进化的,以及为什么它们在图像领域如此出色。在此基础上,我们将建立一个使...

470
来自专栏PPV课数据科学社区

全连接网络到卷积神经网络逐步推导(组图无公式)

摘要: 在图像分析中,卷积神经网络(Convolutional Neural Networks, CNN)在时间和内存方面优于全连接网络(Full Connec...

632
来自专栏用户2442861的专栏

CNN神经网络的直观解释

卷积神经网络(ConvNets 或者 CNNs)属于神经网络的范畴,已经在诸如图像识别和分类的领域证明了其高效的能力。卷积神经网络可以成功识别人脸、物体和交通信...

682
来自专栏大学生计算机视觉学习DeepLearning

深度学习(三)转-可视化理解卷积神经网络

原文地址:https://www.cnblogs.com/DOMLX/p/9579461.html

763

扫码关注云+社区