卷积神经网络与典型结构

一、神经网络与卷积神经网络

  0.DNN(MLP多层感知器)能用到计算机视觉上吗?为什么需要CNN

    DNN可以用在计算机视觉上,

  1.卷积神经网络和人工神经网络的差异在哪里?

    

    为什么需要卷积神经网络。下面是一个32x32x3的图片,隐层一般为1024或者4096的维度。输入维度是4k左右,隐层在1024维度。这会导致过拟合和太大的计算量

  2.层级结构

    (1)保持了层级网络结构

    (2)不同层次有不同的形式(运算)与功能

    (3)主要有以下层次

      数据输入层/Input layer

        有3中常见的数据处理方式:

          去均值:把输入数据各个维度第中心化到0,必做,AlexNet,VGG,在RGB上取均值。

          归一化:幅度归一化到同样的范围,必做

          PCA/白化:用PCA降维;白化是对数据每个特征轴上的幅度归一化

          下图一是原始数据,数据不要随着每次的变化偏移越来越大或者说有越来越大的偏移度,所以需要去均值,将数据各个维度中心化到0

           如下图,使用PCA降维,找到一些正交的轴,然后将数据投影到轴上,是一个去相关的操作。白化是做完PCA之后,把数据归一化到一个范围之内。

      图像处理:resize()===>sub mean(去均值)

      卷积计算层/CONV layer   第一层

        卷积核(kernel,filter):第二层用于数据处理,用于数据计算的神经元.

        每个神经元和前一层的所有输入都去进行连接,而且 每一个连接都要给一个权重w,这个时候参数量就会很大,

        局部关联。每个神经元看做一个filter

        窗口(receptive field)滑动,filter对局部数据计算

        涉及概念:

          深度/depth,第二层神经元的个数,有多少个kernel(filter)这个depth值就是多少

          步长/stride,滑窗每次滑动的格数

          填充值/zero-padding,在周边补0的圈数

      滑窗滑到每个位置的计算。用滑窗和对应位置做乘积,然后将所有的乘积加在一起。每到一个位置都是做这样的处理,

      参数共享机制

      假设每个神经元连接数据窗的权重是固定的;假定每个神经院连接权重,可以看做模板,每个神经元只关注一个特性。需要估算的权重格数减少:一层1亿=》3.5w

      一组固定的权重和不同窗口内数据做内积:卷积。 

      激励层/Activation layer:把卷积层输出的结果做非线性映射

        Sigmoid:

        Tanh(双曲正切)

        ReLU

        Leaky ReLU

        ELU

        Maxout

      池化层(下采样层)/Pooling layer

        夹在连续的卷积层中间

        压缩数据和参数的量,减小过拟合

        

  

      全连接层/FC layer

        两层之间所有神经元都有权重连接

        通常全连接层在卷积神经网络尾部

      典型CNN结构为:

      

      Batch Normalization层(可能有)  2015年google提出

      CNN慎用sigmoid!

      首先试RELU,因为快,但是要小心

      如果2失败,请用Leaky RELU或者Maxout

      某些情况下tanh倒是有很不错的效果,但是很少

    (4)卷积神经网络卷积层可视化理解 

      CONV Layer 2

    (5)通一般机器学习算法,先定义Loss function,衡量和实际效果之间的差距

      找到最小化损失函数的W和b,CNN中用的算法是SGD

      SGD需要计算W和b的偏导

      BP算法就是计算偏导用的

      BP算法的核心就是求导的链式法则

      BP算法利用链式求导法则,逐级相乘直到求解出dW和db

      利用SGD/随机梯度下降,迭代和更新W和b  

    (6)卷积神经网络优缺点:

      优点:

        共享卷积核,优化计算量

        无序手动选择特征,训练好权重,即得特征

        深层次的网络抽取图像信息丰富,表达效果好

      缺点:

        需要调参,需要大量样本,GPU等硬件依赖

        物理含义不明确    

  3.数据处理

  4.训练算法

  5.优缺点

二、正则化与Droupout

  0.神经网络学习能力强可能会过拟合

    Dropout(随机失活)正则化:别一次开启所有学习单元

    

  1.正则化与Droupout处理

  2.Droupout理解

三、典型结构与训练

  1.典型CNN

  2.训练与优化

原文地址:https://www.cnblogs.com/bigdata-stone/p/10324933.html