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

作者:詹晓辉

编辑:王抒伟

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

他在用深度学习

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

他在用深度学习

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

他在用深度学习

当你拥堵在北二环得时候

。。。

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

激活函数

全篇概述:

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

“说,目的是啥?”

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

“如果不用呢?”

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

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 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

Word2Vec教程-Skip-Gram模型

原文:Word2Vec Tutorial - The Skip-Gram Model(http://mccormickml.com/2016/04/19/wor...

3625
来自专栏数据派THU

独家 | 一文带你上手卷积神经网络实战(附数据集、学习资料)

原文标题:Understanding deep Convolutional Neural Networks with a practical use-case ...

3748
来自专栏目标检测和深度学习

入门 | 从VGG到NASNet,一文概览图像分类网络

选自towardsdatascience 作者:Lars Hulstaert 机器之心编译 了解图像分类的不同网络架构是一项非常艰巨的任务。本文将讨论目前可在 ...

41813
来自专栏IT派

PyTorch实例:用ResNet进行交通标志分类

【导读】本文是机器学习工程师Pavel Surmenok撰写的一篇技术博客,用Pytorch实现ResNet网络,并用德国交通标志识别基准数据集进行实验。文中分...

2370
来自专栏机器学习和数学

[机智的机器在学习] 卷积神经网络入门教程(2)

今天继续回归卷积神经网络的入门教程,主要是介绍全连接网络的训练过程,通俗的讲就是我们入门教程(1)里面讲的是全连接网络长什么样,神经元之间的关系是什么样的,里面...

3284
来自专栏Deep learning进阶路

深度学习论文随记(一)---AlexNet模型解读

深度学习论文随记(一)---AlexNet模型解读 ImageNet  classification with deep convolutional neur...

2910
来自专栏程序生活

Word2Vec教程-Skip-Gram模型模型“伪”任务关于模型的更多细节隐藏层输出层

原文:Word2Vec Tutorial - The Skip-Gram Model ---- 这篇教程主要讲述了Word2Vec中的skip gram模型,...

3544
来自专栏AI2ML人工智能to机器学习

Outlier 预处理流程图

我们在“一个奇异值的江湖 -- 经典统计观” 和 “一个奇异值的江湖 -- 机器学习观” 里面我们介绍了Outlier处理的基本的方法。 我们在“R语言和表数...

431
来自专栏专知

【深度学习】一文教你如何确定好的“学习率”

【导读】近日,数据科学家Hafidz Zulkifli发布一篇文章,主要讲解了深度学习中的“学习率”,以及如何利用学习率来提高深度学习模型的性能并减少训练时间。...

3055
来自专栏人工智能

使用学习率规划器自适应调整神经网络训练过程中的学习率

到目前为止,训练神经网络和大型的深度学习网络是一个困难的优化问题。

3805

扫码关注云+社区