zoukankan      html  css  js  c++  java
  • Deep Learning 学习笔记——第9章

    总览:

    本章所讲的知识点包括》》》》

    1、描述卷积操作  2、解释使用卷积的原因  3、描述pooling操作  4、卷积在实践应用中的变化形式  

    5、卷积如何适应输入数据  6、CNN对DL的影响

    本章未包含的知识点有》》》》

    在实际应用中如何选取CNN架构

    本章的目的是阐述CNN提供的处理数据的方法。在第11章将会对怎样使用这些方法做说明。

    9.1 卷积操作

    问题:

      1、与信号系统或者数学中的卷积有何区别?

      2、如何用代码实现

    注意:CNN包括的计算不仅仅只有卷积计算,还包括pooling、激活函数处理等等。

    那么单纯的卷积是怎样的?它与一般意义的卷积有何区别?有什么作用?

    一维连续的卷积形式:

    表示方式:

    表述的意义:信号x在t时刻,对之前的信号进行w函数形式的使用,即通过对不同时刻的加权,预测当前的状态。

    一维离散的卷积形式:

    以上,变量a的取值范围有不同条件下的约束,其约束条件由实际而定。

    二维离散的卷积形式:

    根据卷积可交换性,变成:

    在CNN中,卷积操作的表述形式:

    这种形式被大多数的CNN库所采用,其实应该称为cross-correlation 即互相关,与一般意义上的卷积比较:

    1、没有了翻转。“-"号有翻转的作用。  2、较翻转的“原始卷积”操作,互相关得到的结果也是翻转过来的。

    卷积操作示意图:

    如何用代码实现简单的卷积操作,见连接:

    9.2 卷积特点

    1、sparse interactions  2、parameter sharing  3、equivariant respections

    sparse interactions————》》如下是效果图,与全连接网络对比。蓝色框中是全连接神经网络,红色框是卷积网络。

     

    卷积相对于全连接是稀疏的。优势:1、参数更少 2、内存需求降低 3、计算量降低。那么效果比较呢?

     

    时间复杂度:全连接》》O(m*n)  卷积》》O(k*n)  m为输入层节点数,n为输出节点数,k为卷积核大小。

    上图是多层结构的联系图,可知通过增加网络层数,保留全局的特征。而全连接的优势也是为了得到特征,CNN有同样提取效果的功能。

    parameter sharing————》》下图第二图,红色框是卷积核,使用同样的卷积核对输入做卷积,即为权值共享。

                    第一图是权值共享与全连接权值的比较。


                                         

    优势:同样是减少了参数量。一个卷积核,目的是为了得到一种特征。使用多个卷积核,可产生多个特征。

    equivariant respections——————》》当输入图像通过平移后,卷积的结果也会平移。

                                      

    如上所示:在lenet手写数字识别中,数字7从右向左平移,对应红色框里的layer-1也进行了平移。

    同时注意:单就卷积操作而言,这种等变换在缩放、旋转上是不成立的。

    对比:整个CNN操作(包括卷积层以及后面的层),主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。

    9.3 Pooling

    典型的CNN包含3个阶段:如下图的右边部分所示》》》

    阶段一》》 卷积操作    阶段二》》Detector,此处经过非线性处理    阶段三》》pooling

    下图左边部分是CNN中总体结构。

    Pooling》》1、max pooling  对一定范围的邻域取最大值,其效果是可以允许输入有一定的波动。

              

    上图右图: 使用3个卷积核对输入处理,能对三种输入做出不同的匹配。输入一个数字,得到激活,使用pooling能够适应输入波动。

    2、均值Pooling

    3、L2正则

    并且在第20.10.6中有更复杂的方法。对正则会在近期总结。

    9.4 Infinitely strong prior

    讲述卷积和Pooling与先验条件的联系。

    卷积的先验是:特征层学到的内容是局部的并且是可以进行一定的移动的。

    pooling的先验是:pooling操作适应输入的小变化,有不变性。

    weak prior 拥有高熵值,比如高斯分布,这种先验对参数进行约束。

    strong prior 拥有低熵值,对参数调节的终止调节进行约束。

    卷积是全连接的最大先验,因为将卷积核与全连接比较,除卷积核部分外,其他部分的参数均为0.

    意义:

    卷积和Pooling导致underfitting。因为他们只有当实际情况与先验假设吻合时,才有作用。

    比如:假设一个实际任务当中,结果依赖与特征的具体位置,此时如果对所有的特征进行pooling操作,则会导致较高的训练错误率。而解决此问题的方法便是:在某些通道使用pooling,而其他通道不使用,从而结果有一定的invariant feature以及不会underfit。

    9.5 卷积的基本变化形式

    参考:

    《Deep Learning》Ian Goodfellow,Yoshua Bengio,AND Aaron Courville
    《Gradient-Based Learning Applied to Document Recognition》YANN LECUN, MEMBER, IEEE, LEON BOTTOU, YOSHUA BENGIO, AND PATRICK HAFFNER
    http://yann.lecun.com/exdb/lenet/index.html 

  • 相关阅读:
    跟我一起来学ORACLE开发系列之三sql语法篇 老猫
    浅谈Oracle DBlink搭建 老猫
    一个合格的Oracle DBA的速成法摘录 老猫
    Oracle数据库设计要做到五戒 老猫
    Oracle分析函数参考手册一 老猫
    Oracle10G常用维护语句 老猫
    数据库设计中的敏捷方法 老猫
    oracle数据字典总结 老猫
    DBA 1.0与DBA眼中的DBA 2.0时代 老猫
    海水的绘制 szlongman
  • 原文地址:https://www.cnblogs.com/wangxiu/p/5566555.html
Copyright © 2011-2022 走看看