• cs231n官方note笔记


    本文记录官方note中比较新颖和有价值的观点(从反向传播开始)

    一 反向传播

    1 “反向传播是一个优美的局部过程。在整个计算线路图中,每个门单元都会得到一些输入并立即计算两个东西:1. 这个门的输出值,和2.其输出值关于输入值的局部梯度。门单元完成这两件事是完全独立的,它不需要知道计算线路中的其他细节。”

    2 反向传播的编程中要学会分段计算,即在前向传播过程中把有用的中间变量缓存下来。

    3 输入的大小对梯度有巨大影响,因此数据预处理很重要。例如乘法门会将大梯度分给小输入,小梯度分给大输入,因此当输入变化时,需要调整学习率。

    二 神经网络介绍

    1 生物动机:神经网络模型与实际的生物神经有一定的相似之处,但只是一个粗糙的近似模型,通常生物中更复杂,表现在突触不是线性的权重,输出的峰值信号的精确时间点很重要,等等。

    2 “正则化损失从生物学角度可以看做逐渐遗忘,因为它的效果是让所有突触权重w在参数更新过程中逐渐向着0变化。”

    3 常见激活函数及其特点:

    sigmoid:饱和性导致梯度消失,非零中心性导致梯度下降低效。

    Tanh:仍然具有饱和性,但是输出是0中心的。

    Relu:计算简单,收敛比tanh快6倍。缺点是会死亡。

    Leaky ReLU,PRelu,elu等Relu变种:克服了Relu会死亡的缺点,但是效果不稳定。

    Maxout:是Relu和Leaky ReLU的一般化归纳,继承了Relu的优点,克服了Relu的缺点,缺点是参数量翻倍。

    选择激活函数的准则:“用ReLU非线性函数。注意设置好学习率,或许可以监控你的网络中死亡的神经元占的比例。如果单元死亡问题困扰你,就试试Leaky ReLU或者Maxout,不要再用sigmoid了。也可以试试tanh,但是其效果应该不如ReLU或者Maxout。”

     4 有研究证明,拥有至少一个隐层的神经网络就可以近似任何连续函数。

    参考文献:

    贺完结!CS231n官方笔记授权翻译总集篇发布  https://zhuanlan.zhihu.com/p/21930884

  • 相关阅读:
    Hive 2.1.1安装配置
    vi / vim 删除以及其它命令
    『MySQL』时间戳转换
    update 中实现子查询
    hive lateral view 与 explode详解
    xpath定位方法详解
    Python int与string之间的转化
    ORM、SQLAchemy
    python bottle 简介
    python wsgi 简介
  • 原文地址:https://www.cnblogs.com/coldyan/p/8309014.html
Copyright © 2020-2023  润新知