趣谈深度学习核心----激活函数

作者:詹晓辉

编辑:王抒伟

当你在苦扒图像处理方法得时候

他在用深度学习

当你在干瞪切片像素得时候

他在用深度学习

当你在愁思小偷是谁得时候

他在用深度学习

当你拥堵在北二环得时候

。。。

现在来扒扒深度学习网络心脏

激活函数

全篇概述:

深度学习在训练的过程中常常要用到激活函数

“说,目的是啥?”

“目的是为了让多层网络之间进行非线性变换”

“如果不用呢?”

“不用的话,多层的线性网络的表达能力与单层网络的表达能力是一样的,要不就没意思了”

TA 说:

在使用tensorflow的过程中我发现它提供了以下几个函数: sigmoid、tanh、elu、relu等。

“还等啥啊,赶紧给我讲”

听老衲给施主絮絮叨叨、

咱竹板这么一打啊,别的咱不夸,夸一夸激活函数呐!

函数一: sigmoid

分析:

从图像中我们可以看出当我们输入的数据非常小或非常大时它的值是0或者1那么它的梯度很小趋近于0。

在反向传播中,这个局部梯度会与整个代价函数关于该单元输出的梯度相乘,结果会接近为 0。此时相当于没有信号传到神经元,权重不会更新。

还有一个问题是:sigmoid的值总是为正值。

如果输入都是正值那么梯度总为正或负这会导致训练的时候呈现Z字形梯度下降。

函数二:Tanh

双曲正切tanh读作/tæntʃ/

有着对比精神,可以看到tanh函数其实是sigmoid函数的变形

同样的tanh函数也存在饱和的问题,不过tanh函数的值经过原点

并且函数值在(-1,1)之间的不同于sigmoid值总是为正值或负值

函数三:Relu

Relu(Rectified Linear Units)读 /'relju/

f(u) = max ( 0, u )

可以看到反向传播的时候梯度要么是0要么不变,所以梯度衰减很小,经过很多层也不会减弱.收敛的速度会比tanh和sigmoid快。

不过有个缺点是当x<0时 f '(x)=0 (z) (这里是导函数为零)所有负梯度到这都变成0,且这个神经元有可能再也不被激活,神经元的梯度永远都是0.

函数四:Elu

Elu函数是sigmoid和relu的结合体。

当x<0时,跟relu不一样的函数值趋近于-1,使elu能够对输入具有更强的鲁棒性

当下x>0时线性部分能够缓解梯度消失,Elu的输出均值是接近于0的,因此它的收敛会更快。

本文函数都是深度学习常用的激活函数当然还有其它的,大家可以维基百科!

原文发布于微信公众号 - 机器学习算法全栈工程师(Jeemy110)

原文发表时间:2017-09-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

深度学习中训练参数的调节技巧

1、学习率 步长的选择:你走的距离长短,越短当然不会错过,但是耗时间。步长的选择比较麻烦。步长越小,越容易得到局部最优化(到了比较大的山谷,就出不去了),而大了...

4558
来自专栏人工智能LeadAI

译文 | 简明 TensorFlow 教程:所有的模型

01 概述 在本文中,我们将讨论 TensorFlow 中当前可用的所有抽象模型,并描述该特定模型的用例以及简单的示例代码。 完整的工作示例源码(https:/...

3657
来自专栏智能算法

GBDT算法(详细版)

一、前言 通过之前的文章GBDT算法(简明版)对GBDT的过程做了大概的讲解,我们可以了解到GBDT是一种迭代的决策树算法,由多棵决策树组成,所有树的结论累加起...

3026
来自专栏人工智能

未来的人工智能将有神经元结构?谷歌 Tensorflow 系统已经实现

神经网络是Tensorflow最擅长的机器学习领域。TensorFlow拥有一套符号引擎,它使得训练复杂模型变得更简单和方便。通过这套符号引擎,我们能够实现许多...

1709
来自专栏SIGAI学习与实践平台

神经网络的激活函数总结

激活函数在神经网络中具有重要的地位。在SIGAI之前的公众号文章“理解神经网络的激活函数”中,我们回答了3个关键的问题:

1040
来自专栏利炳根的专栏

学习笔记CB009:人工神经网络模型、手写数字识别、多层卷积网络、词向量、word2vec

由n个输入特征得出与输入特征几乎相同的n个结果,训练隐藏层得到意想不到信息。信息检索领域,模型训练合理排序模型,输入特征,文档质量、文档点击历史、文档前链数目、...

35915
来自专栏AI研习社

机器学习经典算法优缺点总结

决策树:判别模型,多分类与回归,正则化的极大似然估计 特点: 适用于小数据集,在进行逐步应答过程中,典型的决策树分析会使用分层变量或决策节点,例如,可将一个给定...

2938
来自专栏ATYUN订阅号

Python中的白噪声时间训练

白噪声是时间序列预测中的一个重要概念。如果一个时间序列是白噪声,它是一个随机数序列,不能预测。如果预测误差不是白噪声,它暗示了预测模型仍有改进空间。 在本教程中...

4856
来自专栏机器学习实践二三事

再看CNN中的卷积

这两天在看CS231n的课程笔记,结合着原版英文和知乎上中文版翻译在看,确实Andrej Karpathy写的很棒,很多都是些实践经验不仅仅是理论知识. 我结合...

18410
来自专栏算法channel

斯坦福大学NLP-cs224课程笔记2:词向量

详细请参考:斯坦福大学NLP-cs224课程笔记1:应用深度学习到自然语言处理简介

652

扫描关注云+社区