一、前述

CNN和RNN几乎占据着深度学习的半壁江山,所以本文将着重讲解CNN+RNN的各种组合方式,以及CNN和RNN的对比。

二、CNN与RNN对比

1、CNN卷积神经网络与RNN递归神经网络直观图

2、相同点:
    2.1. 传统神经网络的扩展。
    2.2. 前向计算产生结果,反向计算模型更新。
    2.3. 每层神经网络横向可以多个神经元共存,纵向可以有多层神经网络连接。

3、不同点
    3.1. CNN空间扩展,神经元与特征卷积;RNN时间扩展,神经元与多个时间输出计算
    3.2. RNN可以用于描述时间上连续状态的输出,有记忆功能,CNN用于静态输出
   3. 3. CNN高级100+深度,RNN深度有限

三、CNN+RNN组合方式

1. CNN 特征提取,用于RNN语句生成图片标注。

2. RNN特征提取用于CNN内容分类视频分类。

3. CNN特征提取用于对话问答图片问答。

四、具体应用

1、图片标注

基本思路
       目标是产生标注的语句,是一个语句生成的任务,LSTM?
       描述的对象大量图像信息,图像信息表达,CNN?
       CNN网络中全连接层特征描述图片,特征与LSTM输入结合。

具体步骤:

1.1 模型设计-特征提取
全连接层特征用来描述原图片
LSTM输入:word+图片特征;输出下一word。

1.2 模型设计-数据准备

1. 图片CNN特征提取
2. 图片标注生成Word2Vect 向量
3. 生成训练数据:图片特征+第n单词向量:第n+1单词向量。

1.3 模型训练:
1. 运用迁移学习,CNN特征,语句特征应用已有模型
2. 最终的输出模型是LSTM,训练过程的参数设定:梯度上限(gradient clipping), 学习率调整(adaptivelearning)
3. 训练时间很长。

1.4 模型运行:

1. CNN特征提取
2. CNN 特征+语句开头,单词逐个预测

2、视频行为识别 :

视频中在发 生什么?

2.1常用方法总结:

RNN用于CNN特征融合

1. CNN 特征提取

2. LSTM判断

3. 多次识别结果分析。

不同的特征不同输出。

或者:所有特征作为一个输出。

2.2 RNN用于CNN特征筛选+融合:

1. 并不是所有的视频 图像包含确定分类信息

2. RNN用于确定哪些frame 是有用的

3. 对有用的图像特征 融合。

2.3 RNN用于,目标检测:

1. CNN直接产生目标候选区

2. LSTM对产生候选区融合(相邻时刻位置近 似)

3. 确定最终的精确位置。

2.4 多种模型综合:

竞赛/应用中,为了产生最好结果,多采用 多模型ensemble形式。

 3、图片/视频问答

3.1 问题种类

3.2 图片问答意义
1. 是对纯文本语言问答系统的扩展
2. 图片理解和语言处理的深度融合
3. 提高人工智能应用范围-观察,思考,表达

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1wzcx9d4ww853

【深度学习篇】---CNN和RNN结合与对比,实例讲解的更多相关文章

  1. [转] 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践

    转自知乎上看到的一篇很棒的文章:用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文 ...

  2. 深度学习入门: CNN与LSTM(RNN)

    1. 理解深度学习与CNN: 台湾李宏毅教授的入门视频<一天搞懂深度学习>:https://www.bilibili.com/video/av16543434/ 其中对CNN算法的矩阵卷积 ...

  3. 深度学习之循环神经网络RNN概述,双向LSTM实现字符识别

    深度学习之循环神经网络RNN概述,双向LSTM实现字符识别 2. RNN概述 Recurrent Neural Network - 循环神经网络,最早出现在20世纪80年代,主要是用于时序数据的预测和 ...

  4. 深度学习之 cnn 进行 CIFAR10 分类

    深度学习之 cnn 进行 CIFAR10 分类 import torchvision as tv import torchvision.transforms as transforms from to ...

  5. 深度学习篇——Tensorflow配置(傻瓜安装模式)

    前言 如果你是一个完美主义者,那么请绕过此文,请参考<深度学习篇——Tensorflow配置(完美主义模式)> 安装 pip install tensorflow ok,只要不报错,安装就 ...

  6. 【深度学习】CNN 中 1x1 卷积核的作用

    [深度学习]CNN 中 1x1 卷积核的作用 最近研究 GoogLeNet 和 VGG 神经网络结构的时候,都看见了它们在某些层有采取 1x1 作为卷积核,起初的时候,对这个做法很是迷惑,这是因为之前 ...

  7. 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践

    https://zhuanlan.zhihu.com/p/25928551 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类 ...

  8. PyTorch中使用深度学习(CNN和LSTM)的自动图像标题

    介绍 深度学习现在是一个非常猖獗的领域 - 有如此多的应用程序日复一日地出现.深入了解深度学习的最佳方法是亲自动手.尽可能多地参与项目,并尝试自己完成.这将帮助您更深入地掌握主题,并帮助您成为更好的深 ...

  9. 深度学习:浅谈RNN、LSTM+Kreas实现与应用

    主要针对RNN与LSTM的结构及其原理进行详细的介绍,了解什么是RNN,RNN的1对N.N对1的结构,什么是LSTM,以及LSTM中的三门(input.ouput.forget),后续将利用深度学习框 ...

随机推荐

  1. QQ connect client request's parameters are invalid, invalid openid 问题的解决

    很多人的这个问题是POST的时候发生,我的也恰好在POST的时候发生.后来我发现可能是因为QQ的这个后端是采用类PHP的语言开发,在动态语言的获取参数时POST参数和GET参数是可以分开读取的,也就是 ...

  2. Django ValidationError中的单下划线

    用惯pycharm,结果这个下划线无法自动找到.后来看文档发现其是翻译gettext的简化格式,import方式: from django.utils.translation import ugett ...

  3. .gitignore文件不起作用的解决方法

    http://keendawn.blog.163.com/blog/static/88880743201531554431124/ git rm -r --cached . git add . git ...

  4. 基于Django的独立运行脚本开发

    1.在Django框架下工作时间长了,会对Django的技术设施产生依赖,比如其方便的ORM,如果写基于Django的独立运行脚本,主要在脚本前面加上以下代码: import sys,os,djang ...

  5. Java基础知识总结【转+整合】

    写代码: 1.明确需求.自己要做什么? 2.分析思路.怎么做? 3.确定步骤.每个思路部分用到哪些语句,方法和对象. 4.代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该 ...

  6. (七):C++分布式实时应用框架 2.0

    C++分布式实时应用框架 2.0 技术交流合作QQ群:436466587 欢迎讨论交流 上一篇:(六):大型项目容器化改造 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同 ...

  7. notepad++中双击选中字符串高亮颜色设置

    notepad++ 中最好用的功能就是双击选中,本文档中所有相同的内容高亮 不过有个问题就是当文档特别大,而且注释比较多的时候,我选中的内容高亮为绿色不太好找,那怎么设置呢? 设置--语言格式设置-- ...

  8. MyBatis打印SQL执行时间

    1.plugins MyBatis官网对于plugins的描述是这样的: MyBatis allows you to intercept calls to at certain points with ...

  9. C# Dispose模式详细分析

    C#Dispose模式 目的: 为了及时释放宝贵的非托管资源和托管资源,并且保证资源在被gc回收的时候可以正确释放资源,同时兼顾执行效率 必须遵循的事实: 1 托管资源释放: 由另一线程的gc进行释放 ...

  10. AspnetCore 缓存篇

    AspnetCore 缓存篇 一.缓存的作用 怎样理解缓存: 其实所有的程序,架构,优化,线程...等技术手段,最终的目的都是如何使产品快速的响应用户的操作,提高用户的体验性,目标都是为了系统的使用者 ...