• 卷积神经网络与典型结构


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

      0.DNN能用到计算机视觉上吗?为什么需要CNN?

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

      1.层级结构

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

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

        (3)主要是以下的层次:

          数据输入层/input layer

          卷积计算层 /CONV layer

          激励层   /Activation layer

          池化层 /Pooling layer

          全连接层/FC layer

          Batch Normalization 层(可能有)

        (4)数据输入层/input layer:

          三种常见的数据处理方式:

            去均值:把输入数据各个维度都中心化到0

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

            PCA(主成分分析)/白化:用PCA降维

                白化是对数据每个特征轴上的幅度归一化

        (5)卷积计算层/CONV layer

          局部关联。每个神经元都看做一个filter,或者叫做kernal

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

          涉及概念:

            深度/depth:第二层神经元的个数,有多少个filter/kernal就有多少个depth

            步长/stride 比如一个3x3的滑窗,每次向右滑动2格,这个格数就叫做stride

            填充值/zero-padding

          参数共享机制:假设每个神经元连接窗口的权重是固定的

          固定每个神经元连接权重,可以看做模板

          每个神经元只关注一个特性  

          需要估算的权重个数减少:一层1亿=>3.5w

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

        (6)激励层:把卷积层输出结果做非线性映射

          CNN慎用sigmoid

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

          如果RELU失效,请用Leaky RELU或者Maxout

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

        (7)池化层/Pooling layer

          夹在连续的卷积层中间

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

          Max pooling最大池化

          average pooling平均池化 

        (8)全连接层/FC layer

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

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

        (9)典型的CNN结构为
          INPUT

          [[CONV -> RELU]*N ->POOL?]*M

          [FC ->RELU]*K

          FC    

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

        (11)卷积神经网络训练算法

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

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

          SGD需要计算W和b的偏导

          BP算法就是计算偏导用的

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

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

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

        (12)卷积神经网络的优缺点  

          优点:

            共享卷积核,优化计算量

            无需手动选取特征,训练好权重,即得特征

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

          缺点:

            需要调参,需要大量样本,GPU等硬件资源

            物理含义不明确

      2.数据处理

      3.训练算法

    二、正则化与Dropout

      1.正则化与Dropout处理

        (1)神经网络学习能力强可能会过拟合

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

         

      2.Droupout理解

        (1)防止过拟合的第一种理解方式:

        (2)防止过拟合的第二种理解方式:

          

    三、典型结构与训练

      1.典型CNN

        (1)Lenet

        (2)AlexNet

        (3)ZFNet

        (4)VGG

        (5)GoogLeNet

        (6)ResNet

      2.训练与调优

      3.卷积神经网络优缺点:

        (1)优点:共享卷积核,优化计算量

            无需手动选择特征,驯良好权重,即得特征

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

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

            物理含义不明确

  • 相关阅读:
    ORA-12560:TNS:协议适配器错误解决方法
    Linux安装Oracle报Checking operating system version must be redhat3, SuSE9, redhat4, UnitedLin
    The web application created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@1807b9
    Red Hat Enterprise Linux 5安装Oracle10
    Dispatcher initialization failed解决办法
    oui 报错 i386 libawt.so libXp.so.6
    struts2中OGNL中访问静态方法
    超炫无比 10个免费的jQuery相册(附下载)
    ubuntu linux启用root帐户
    linux 下安装eclipse无法启动,找不到jdk的解决办法
  • 原文地址:https://www.cnblogs.com/bigdata-stone/p/10274284.html
Copyright © 2020-2023  润新知