各位同学好,最近学习了CS231N斯坦福计算机视觉公开课,讲的太精彩了,和大家分享一下。

激活函数的作用是把神经元的输入线性求和后,放入非线性的激活函数中激活,正因为有非线性的激活函数,神经网络才能拟合非线性的决策边界,解决非线性的分类和回归问题


1. Sigmoid 函数

作用:将负无穷到正无穷的输入,映射到0到1之间。

公式:

若x=0,函数值=0.5,;若x很大时,函数值非常接近1;若x很小时,函数值非常接近0

特点:

(1)将负无穷到正无穷的任何输入,都挤压成0到1之间的一个数,又称为挤压函数

(2)可解释性好,可类比神经细胞是否激活。函数输出的是0到1之间的值,相当于一个二分类问题,0是一个类别,1是另一个类别

缺陷:

(1)饱和性导致梯度消失x过小或过大时,梯度接近0。

(2)函数输出值都是正数,不是关于零对称的。

如下图,如果两个隐含层的输出都是正数,会导致每个神经元中所有对权重的偏导数都是同号的。也就是说对于一个神经元所有的权重,要么同时增大,要么同时减小。

假如函数是  用 sigmoid 函数激活,对内层函数求偏导,。这个xi是神经元的输入,也是上个神经元的输出。若上个神经元用sigmoid函数激活,那么xi肯定是一个正数。

也就是,对于函数的 w1, w2, w3 来说,各自的偏导数都是正数,即所有的权重是一同增大和减小的。如下面的右图所示,横轴代表w1的偏导数,纵轴代表w2的偏导数。权重的更新方向始终是第一象限或第三象限,要么都是正的要么都是负的。如下图中蓝色线条,现在需要让w1增大(正),让w2减小(负),是没办法一步到位的。需要大家先一起减小,再一起增大,来回滑动,生成锯齿形优化路径。

(3)指数运算较消耗资源。相比加减乘除之类的运算,是比较消耗资源的。


2. tanh 函数

双曲正切函数和 sigmoid 函数类似,两者之间可通过缩放和平移变换相互转换。

特点:

(1)饱和性导致梯度消失

(2)将负无穷到正无穷的任何输入,都挤压成-1到1之间的一个数

(3)函数输出值有正有负,关于0对称


3. ReLU 函数

ReLU函数又称为修正线性单元,将输入小于0的数都抹为0。

公式:

特点:

(1)函数不会饱和,x大于0时,输入有多大,输出就有多大。

(2)计算简单,几乎不消耗计算资源。

(3)x大于0时,梯度能得到保留,因此ReLU函数比sigmoid函数的收敛速度快6倍以上。

缺陷:

(1)输出不是关于0对称

(2)x小于0时,梯度为0。导致一些神经元是死的(dead ReLU),既不会产生正的输出,也不会产生正的梯度,也不会发生更新。

导致Dead ReLU原因是① 初始化不良,随机初始化的权重,让神经元所有的输出都是0,梯度等于0;② 学习率太大,步子跨太大容易乱窜

为了解决Dead ReLU的问题,在ReLU的权重上加一个偏置项0.01,保证所有的神经元一开始都能输出一个正数,使所有的神经元都能获得梯度更新


4. ReLU 函数改进

为了解决ReLU函数x小于0,梯度为0的情况,推出了Leaky ReLU 和 ELU函数。

Leaky ReLU函数给x小于0时,乘以一个非常小的权重。

公式:

x小于0时满足线性关系

ELU函数给x小于0时,使用指数函数

公式:

改善了ReLU函数输出不关于0对称的问题,但是使用指数运算会带来更大的计算量


5. Maxout

如下图,现在有两个输出神经元,现在使用另外一套神经网络对这两个输出做处理,使用5个神经元(5套权重)对输出进行处理,从这5个输出结果中选出最大的最为激活函数输出

特点:不仅仅是一种激活函数,还改变了网络的结构,因为引入了新的神经元,而且参数个数呈k倍增加


6. 总结

(1)使用ReLU函数,要注意学习率不能太大,否则会导致梯度消失

(2)可以使用Leaky ReLU或ELU或Maxout,代替ReLU

(3)不要在中间层使用Sigmoid函数。如果是二分类问题,可以输出层使用sigmoid函数

(4)可以使用tanh函数,但不要对它抱有太大的希望。

【深度学习理论】(3) 激活函数相关推荐

  1. 【深度学习理论】一文看懂卷积神经网络

    [深度学习理论]一文看懂卷积神经网络 https://mp.weixin.qq.com/s/wzpMtMFkVDDH6scVcAdhlA 选自Medium 作者: Pranjal Yadav 经机器之 ...

  2. 【深度学习理论】一文搞透pytorch中的tensor、autograd、反向传播和计算图

    转载:https://zhuanlan.zhihu.com/p/145353262 前言 本文的主要目标: 一遍搞懂反向传播的底层原理,以及其在深度学习框架pytorch中的实现机制.当然一遍搞不定两 ...

  3. 斯坦福大学秋季课程《深度学习理论》STATS 385开讲

    转载:http://mp.weixin.qq.com/s?timestamp=1510210312&src=3&ver=1&signature=qmn1IsRtGkSXORGK ...

  4. 关于深度学习理论和架构的最新综述(part3)

    关于深度学习理论和架构的最新综述-part3 递归神经网络(RNN) 介绍 长短期记忆(LSTM) 门控循环单元(GRU) 卷积LSTM(ConvLSTM) RNN架构的变体及其应用 基于注意力的RN ...

  5. 深度学习的权重衰减是什么_【深度学习理论】一文搞透Dropout、L1L2正则化/权重衰减...

    前言 本文主要内容--一文搞透深度学习中的正则化概念,常用正则化方法介绍,重点介绍Dropout的概念和代码实现.L1-norm/L2-norm的概念.L1/L2正则化的概念和代码实现- 要是文章看完 ...

  6. 深度学习理论与实战:基础篇电子书

    出版社:电子工业出版社 出版时间:2019-07-01 ISBN:9787121365362 包装:平装 字数:537000 页数:424 版次:1 开本:16开 用纸:胶版纸 正文语种:中文 字数: ...

  7. 【干货51页PPT】深度学习理论理解探索

    来源:专知 普林斯顿大学计算机科学系教授Sanjeev Arora做了深度学习理论理解探索的报告,包括三个部分: Why overparametrization and or overprovisio ...

  8. 深度强化学习_深度学习理论与应用第8课 | 深度强化学习

    本文是博雅大数据学院"深度学习理论与应用课程"第八章的内容整理.我们将部分课程视频.课件和讲授稿进行发布.在线学习完整内容请登录www.cookdata.cn 深度强化学习是一种将 ...

  9. 【深度学习】陶大程等人编写!最新41页深度学习理论综述

    作者单位:悉尼大学(陶大程等人) 论文 https://arxiv.org/pdf/2012.10931.pdf 最近,悉尼大学陶大程等人发布了一个41页的最新深度学习理论的综述,对深度学习理论的最新 ...

  10. 【机器学习算法面试题】四.深度神经网络中激活函数有哪些?

    欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...

最新文章

  1. Centos 7 解压文件
  2. WinCE下冷启动程序自动安装装载
  3. linux nohup不生成日志,linux重定向及nohup不输出的方法
  4. 被约谈后,丰巢道歉并让步了......
  5. [转]awsome-java
  6. 不小心rm删除文件怎么办
  7. 【SecureCRT的下载、安装与使用】详细过程
  8. 关于加密、证书的那些事
  9. java 日程表_Java实现 LeetCode 729 我的日程安排表 I(二叉树)
  10. 从蚂蚁的觅食过程看团队研发(转载)
  11. 新浪短链接生成器 最新新浪短网址短链接在线生成器推荐
  12. c语言 异或 浮点数存储 分支结构
  13. php 自动关键词,php实现自动获取生成关键词功能
  14. Hexo+Kaze+Gitee Pages 搭建静态博客网站
  15. 计算机课教学进度,小学信息技术教学进度表.doc
  16. B2029 大象喝水题解
  17. Python 关于引用注意
  18. Overleaf latex绘制三线表
  19. AI公司CEO冒充中科大少年班校友!清华、斯坦福名校经历全造假
  20. Excel表格身份证号显示不完整问题

热门文章

  1. error: unbound prefix. Message{kind=ERROR, text=error: unbound prefix., sources=[E:\work\me\fragment
  2. ABAP 程序间的调用
  3. Cannot locate BeanDefinitionParser for element [scoped-proxy]
  4. COLLATE 函数
  5. 2022-2028年中国绝缘栅双极晶体管(IGBT)行业投资分析及前景预测报告
  6. linux mysql 2003错误代码,如何解决linux mysql2003错误
  7. 43.放苹果(递归练习)
  8. js实现双击后网页自己主动跑-------Day55
  9. 基于php下载文件的详解
  10. ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS