zoukankan      html  css  js  c++  java
  • 【dlbook】深度网络

    前向网络:无反馈 feedback 连接

    【输出单元】

      线性 -- 高斯分布 、

      sigmoid单元 -- bernoulli输出、

      softmax单元 -- multinoulli

    【隐藏单元】

    整流线型单元: relu,不可微,但是在梯度下降中的表现依然很好。原因是只要接近局部最小值即可,不需要达到。

      优势:二阶导数几乎处处为0,也就是梯度更加有用

      缺陷:如果为0,那么就不能基于梯度的方法学习,因此需要拓展。

      拓展:在小于0时使用一个非零的斜率:

          绝对值整流:固定为1

          渗透整流: Leaky ReLU 固定为一个类似0.01的小值

          参数化整流:将其作为一个参数进行学习。2015年的paper.

    sigmoid与tanh

      广泛饱和性:z很大饱和到高值,z很小饱和到低值,z接近0才比较敏感。如果加入weight decay会比较好。

      tanh通常比sigmoid要好:在0附近,tanh和单位函数比较像,因此只要不饱和,训练tanh更加容易。

    线性隐藏单元:

      单位函数作为激活函数,如果n到p的网络线性相关,秩为q,那么可以用一个q个节点的线性层来实现,可以有效的减少网络的参数。

      

    其他隐藏单元:

      径向基函数:x在某个值表现更活跃,

      softplus:平滑版的ReLU,但是通常表现并没有ReLU好,比较反直觉

      硬双曲正切:max(-1, min(1, a)),

    【架构设计】

    万能近似定理:只要一层就能以任意精度近似有限维Borel可测函数

    学习失败的原因:

      优化算法找不到最优,

      过拟合

    有一些临界值d,在大于d时能高效的近似,但是小于d时需要一个远远更大的模型。

    对ReLU来说,一个深度网络可能需要指数级的浅层网络的参数

    对于一个卷积的例子,增加网络参数但是不增加层数,事实证明是没有什么用的。

    【历史总结】

    神经网络在很小的时候 sigmoid显著比ReLU更好,

    对于小的数据集,线性整流甚至比学习隐层权重更重要。

  • 相关阅读:
    Anaconda安装(python2和python3版本)
    windows系统同时安装python2和python3的详细步骤
    Java 重写和重载的区别
    Windows Internals 笔记——用内核对象进行线程同步
    公考之行测笔记3
    公考之行测笔记2
    公考之行测笔记
    Docker: 简要分析内核问题
    Docker: 仓库管理
    Docker: 认识与使用
  • 原文地址:https://www.cnblogs.com/yesuuu/p/8387504.html
Copyright © 2011-2022 走看看