zoukankan      html  css  js  c++  java
  • 深度神经网络调参经验

    • σ()=σ()(1σ())tanh=1tanh2
    • batch_size:将数据集划分为不同的 batch,是为了限制 RAM 的使用,防止内存溢出;
      • batch_size = 256;
    • 层的神经网络,对于着 1 个层间权值矩阵;

    0. 简单参数

    • hyperparameters:
      • learning rate:一般从 0.01 开始设起,变化的幅度为 10 倍;

    1. 激活函数:做非线性映射

    • Sigmoid 和 tanh 激活函数的问题在于,在函数的最左侧和最右侧,斜率为 0;

      • 这样当 BP 时,复合函数的求导(连乘) ==> 导致梯度消失;
      • ReLU 收敛的速度要比 tanh 的速度快 6 倍,其收敛速度足够快;
    • CNN 尽量不要用 sigmoid(RNN 会用到 Sigmoid 和 tanh)

      • 首先试 ReLU,因为快,但需要小心;
      • 如果 ReLU 失效,使用 Leaky ReLU 或者 Maxout
    • 当然神经网络的输出层一般还是 Sigmoid 函数,因为其值接近于概率输出分布;

    2. 池化层的选择

    池化层(Pooling Layer),downsampling,压缩数据和参数的量,减少过拟合;

    • 图像识别一般使用 maxpooling
    • neural style 使用 average pooling

    3. 深度模型的结构

    • CNN
      - Input
      • [ [CONV -> ReLU]*N -> Pool ?]*M
        • ? 表示可能会接池化层
      • [FC -> ReLU] * K
      • FC

    4. 从框架的角度

    • caffe:
      • 每一层都可以定义 learning rate,因此可以分段调整学习率(learning rate)
  • 相关阅读:
    HTML网页基础知识
    velocity介绍及语法
    velocity中的表达式
    DecimalFormat 小数保留2位,金额千位分割
    UE.Editor下载
    Uncaught Could not find Flash element
    UE.Editor处理内容中含有多余图片问题
    vue路由
    vuejs基本结构
    vue.js组件的重要选项
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421992.html
Copyright © 2011-2022 走看看