• CNN和RNN结合与对比,实例讲解


    一、前述

    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)提高人工智能应用范围-观察,思考,表达。

  • 相关阅读:
    【C++】运算符重载案例 - 字符串类 ① ( Visual Studio 中创建 String 类 | 构造函数与析构函数 | 完整代码示例 )
    SpringCloud Gateway源码跟踪解析
    CICD—Linux下Jenkins+Gitlab 自动化打包安卓-APK
    springboot2.x版本集成redis说明(lettuce、redisson)
    有谁知道这个3D模型是哪个封装吗,power6的封装实在是找不到
    Spring系列28:@Transactional事务源码分析
    Vue项目配置文件整理
    带头双向循环链表讲解-思路清晰+画图+代码实现
    五、分页总结
    Fundamentals of Electrostatic Discharge-SUMMARY
  • 原文地址:https://blog.csdn.net/a519781181/article/details/126516305