zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    static 小叙
    jq获取动态添加的行 并查找点击行同胞元素中的input值 遍历table中td下元素的值
    Jquery页面跳转 JavaScript 页面跳转 跳转路径错误问题
    且行且珍惜,我的极客导航
    导航网站的思考
    滚动视图性能优化的几种方式
    NSURLConnection
    如何实现从网络获取图片的缓存机制
    学习CocoaPods的使用心得
    如何利用时间差让cache目录下的文件自动清除
  • 原文地址:https://www.cnblogs.com/coldyan/p/8309014.html
Copyright © 2011-2022 走看看