zoukankan      html  css  js  c++  java
  • 卷积神经网络与典型结构

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

      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等硬件依赖

            物理含义不明确

  • 相关阅读:
    “XXXXX” is damaged and can’t be opened. You should move it to the Trash 解决方案
    深入浅出 eBPF 安全项目 Tracee
    Unity3d开发的知名大型游戏案例
    Unity 3D 拥有强大的编辑界面
    Unity 3D物理引擎详解
    Unity 3D图形用户界面及常用控件
    Unity 3D的视图与相应的基础操作方法
    Unity Technologies 公司开发的三维游戏制作引擎——Unity 3D
    重学计算机
    windows cmd用户操作,添加,设备管理员组,允许修改密码
  • 原文地址:https://www.cnblogs.com/bigdata-stone/p/10274284.html
Copyright © 2011-2022 走看看