zoukankan      html  css  js  c++  java
  • CNN的层级结构

     
    CNN的层级结构

    1、CNN的层级结构包括:

    数据输入层/ Input layer

    卷积计算层/ CONV layer

    ReLU激励层 / ReLU layer

    池化层 / Pooling layer

    全连接层 / FC layer

    Batch Normalization层(可能有)

    2、一般 CNN 结构依次为:

    INPUT

    [[CONVà RELU]*N àPOOL]*M

    [FC àRELU]*K

    FC

    数据输入层/ Input layer

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

    1)去均值

    2)把输入数据各个维度都中心化到0

    3)归一化

    幅度归一化到同样的范围

    4)PCA/白化

    用PCA降维

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

    卷积层

    1)涉及概念:

    深度(depth) : 顾名思义,它控制输出单元的深度,也就是filter的个数,连接同一块区域的神经元个数。

    步幅(stride):它控制在同一深度的相邻两个隐含单元,与他们相连接的输入区域的距离。如果步幅很小(比如 stride = 1)的话,相邻隐含单元的输入区域的重叠部分会很多; 步幅很大则重叠区域变少。

    补零(zero-padding) : 我们可以通过在输入单元周围补零来改变输入单元整体大小,从而控制输出单元的空间大小。

    2)参数共享机制

    • 每个卷积核连接数据窗的权重是固定的,这样需要估算的权重个数减少
    • 可以把卷积核看做模板,每个卷积核只关注一个特性
    • 一组固定的权重和不同窗口内数据做内积: 卷积
    激励层

    激励层的作用是把卷积层输出结果做非线性映射

    实际经验

    ① CNN尽量不要用sigmoid

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

    ③ 如果2失效,请用Leaky ReLU

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

    池化层

    夹在连续的卷积层中间

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

    类别:

    Max pooling

    average pooling

     

    全连接层

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

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

    批规范化(Batch normalization)

    批规范化(Batch normalization)是深度学习中经常见到的一种训练trick,指在采用梯度下降法训练DNN时,对网络层中每个mini-batch的数据进行归一化,使其均值变为0,方差变为1,其主要作用是缓解DNN训练中的梯度消失/爆炸现象,加快模型的训练速度。

  • 相关阅读:
    Java的多线程机制系列:(二)缓存一致性和CAS
    Java的多线程机制系列:(一)总述及基础概念
    pydev常用快捷键
    利用python的pyinotify模块监控文件夹和文件的变动
    Linux 下文件名乱码(无效的编码)的解决办法
    ubuntu 中文界面下中文文件夹改英文
    SystemParametersInfo
    jsp:forward与缓冲区
    kafka:(9) 流式处理
    kafka:(8) 事务、幂等
  • 原文地址:https://www.cnblogs.com/yongfuxue/p/10095730.html
Copyright © 2011-2022 走看看