深度学习之激活函数详解

激活函数是什么

激活函数,即Activation Function,有时候也称作激励函数。它是为了解决线性不可分的问题引出的。但是也不是说线性可分就不能用激活函数,也是可以的。它的目的是为了使数据更好的展现出我们想要的效果。

激活函数在哪里用?

比如一个神经网络

为了更清晰的表示,我用红色标出。比如像上面的网络z = W*x,这个线性运算就是上面节点白色的部分,另一部分当然就是F(z)了。则第一层隐层(除了输入和输出层,其他都为隐层,因为'看不见')输出的就是F(z)。但是不是说所有层都要经过激活函数。根据自己的情况而定。

为什么要用激活函数

这个用简单的数学推导即可。

比如有两层隐层网络:z_1 = W_1*x, z_2 = W_2*z_1 (x为输入层,W_1, W_2为两个隐层,z_2为输出层)

则z_2 = W_2*z_1 = W_2*W_1*x = W*x

可以看出,无论经过多少次隐层,跟经过一层的是一样的。简单的应该看出来激活函数的作用了吧。

激活函数该怎么用

就一个一个说说常用的吧。

sigmoid函数,范围是(0,1)。如果你想要你的数据近可能的处在0或1上,或者你要进行二分类,就用这个函数吧。其他的情况尽量不要用。或者几乎从来不用。因为,下面的这个函数几乎在任何场合都比sigmoid更加优越。

tanh函数,范围是(-1,1)。如果想让数据尽可能在-1和1之间,就考虑这个吧。

但是,sogmoid和tanh有个很明显的缺点:在z很大或者很小的时候,导数几乎是零,也就是在梯度下降优化时几乎更新不了。然而在机器学习中最受欢迎的莫过于修正线性单元reLU(rectified Linear Unit)。下面就是:

reLU = max(0, z) 当z小于零时,导数为0,当z大于0时,导数为1。这个激活函数几乎变成默认的激活函数,如果你不知道用什么激活函数的话。

虽然遇到向量z(0,0,0,0,0,0,0,0,...,0)的几率贼小,但是为了万无一失,有人就提出了下面的reLU版本:

leaky reLU = max(0.01z, z) 叫做 带泄漏reLU,0.01这个值是经验值,在z小于0的时候有个特别特别缓的直线。这个比reLU好用,但是实际用的真的不多。

reLU和leaky reLU的好处在于当z大于0时,导数和0差的很远。所以在实际实践中,用reLU和leaky reLU会使得神经网络学习速率快很多。虽然有z有小于0的可能,但是在实际中,有足够多的隐层单元是的z大于0

激活函数的导数

sigmoid F'(z) = 1 - F(z)

tanh F'(z) = 1 - F^2 (z)

1 if z >= 0

reLU F'(z) =

0 if z < 0

1 if z >= 0

leaky reLU F'(z) =

0.01 if z < 0

原文发布于微信公众号 - 深度学习自然语言处理(zenRRan)

原文发表时间:2017-12-31

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SeanCheney的专栏

《Scikit-Learn与TensorFlow机器学习实用指南》 第13章 卷积神经网络

(第一部分 机器学习基础) 第01章 机器学习概览 第02章 一个完整的机器学习项目(上) 第02章 一个完整的机器学习项目(下) 第03章 分类 第...

10110
来自专栏智能算法

SVM 的“核”武器

一、上一次我们讲到关于SVM通过拉格朗日乘子法去求解的部分,引入乘子 得到下面的式子: ? 我们令 ? 当所有的约束条件满足时,我们得到的 ? ,而之前的优...

34760
来自专栏SeanCheney的专栏

《Scikit-Learn与TensorFlow机器学习实用指南》 第06章 决策树

和支持向量机一样, 决策树是一种多功能机器学习算法, 即可以执行分类任务也可以执行回归任务, 甚至包括多输出(multioutput)任务.

23920
来自专栏ml

神经网络模型之AlexNet的一些总结

说明: 这个属于个人的一些理解,有错误的地方,还希望给予教育哈~ 此处以caffe官方提供的AlexNet为例. 目录: 1.背景 2.框架介绍 3.步骤详细说...

34550
来自专栏智能算法

深度学习三人行(第4期)---- TF训练DNN之进阶

31080
来自专栏IT大咖说

阿猫还是阿狗?AI视觉识别中目标检测的关键技术

内容来源:2018 年 04 月 21 日,AI教育求职平台景略集智创始人王文凯在“百度深度学习公开课·北京站:AI工程师的快速进阶之路”进行《目标检测面面观》...

11010
来自专栏鸿的学习笔记

LSTMs

由于使用权重矩阵的方式,会对典型RNN可以学习的模式类型存在一些显着的限制。因此,对于称为长短期存储器网络(Long Short-Term Memory net...

11710
来自专栏AI科技大本营的专栏

数据科学家必须要掌握的5种聚类算法

编译 | AI科技大本营 参与 | 刘 畅 编辑 | 明 明 【AI科技大本营导读】聚类是一种将数据点按一定规则分群的机器学习技术。给定一组数据点,我们可...

34850
来自专栏Python中文社区

Python机器学习算法入门之梯度下降法实现线性回归

專 欄 ❈ ZZR,Python中文社区专栏作者,OpenStack工程师,曾经的NLP研究者。主要兴趣方向:OpenStack、Python爬虫、Pytho...

40350
来自专栏ATYUN订阅号

【学术】一文教你如何正确利用kNN进行机器学习

AiTechYun 编辑:xiaoshan k最近邻算法(kNN)是机器学习中最简单的分类方法之一,并且是入门机器学习和分类的好方法。它基本上是通过在训练数据中...

28950

扫码关注云+社区

领取腾讯云代金券