博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【深度学习篇】---CNN和RNN结合与对比,实例讲解
阅读量:6604 次
发布时间:2019-06-24

本文共 1355 字,大约阅读时间需要 4 分钟。

一、前述

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

转载于:https://www.cnblogs.com/LHWorldBlog/p/9581918.html

你可能感兴趣的文章
将datatable 保存为 Excel文件(高效率版本)
查看>>
C/C++五大内存分区(转)
查看>>
System V 共享内存区
查看>>
springmvc_1(hello world)
查看>>
0.随笔——读后感
查看>>
Linux基本安全措施、加强系统账号密码安全、系统引导和登录安全、用户切换、su、sudo、grub菜单...
查看>>
StringUtils类方法解析
查看>>
CentOS 6.5下PXE+Kickstart无人值守安装操作系统
查看>>
Nginx ssl/https 配置
查看>>
客户端通过TCP通信分页从服务器获取数据
查看>>
steps of Tie Line Change(Avaya G450)
查看>>
HTTP协议包头分析
查看>>
HNUSTOJ-1600 BCD时钟
查看>>
oracle范围分区表和INTERVAL分区表相互转化
查看>>
防火墙基础:ISA Server 防火墙客户端和Forefront TMG 客户端介绍
查看>>
xtrapivotcontrol 控件用法及相关属性
查看>>
13.MongoDB 连接命令格式
查看>>
关于wireshark
查看>>
[c++] How many bytes do pointers take up?
查看>>
使用Git和Github来管理自己的代码和笔记
查看>>