切换视频源:

Activation function 激励函数

作者: Alice 编辑: 莫烦 2016-11-03

学习资料:

今天讲一下在神经网络中激励函数的作用和如何运作,以及 Theano 中有哪些激励函数。

什么是 Activation function

首先,什么是 Activation function

在这个视频中有提到 什么是神经网络 如下图,在这三个中间层中,有激活函数,相当于过滤器或者激活器,作用就是会使一些特征被激活 Activate,同时另一些特征不被激活 Deactivate, 例如,当猫的图片数据传递到第一个隐藏层时,在这个激励函数作用下,大于 0 的数据乘以 1 保持原样,小于 0 的数据乘以 0 变为 0,被 Deactivate

2_4_1.png

有多种激活函数,例如,当传递进来的值越小时,作用后就会越接近 0, 当传递进来的值越大时,作用后就会越接近 1。 还有可以计算线性或者非线性关系的,或者可以计算概率的激活函数。 总而言之,激活函数的作用就是使重要的信息被激励,不重要或者反向的信息不被激励。传进来的值,经过这种变化,得到另一种结果,而这正是我们需要的。

几种常用激活函数

Theano 中可以用的激励函数可以在这个 链接 中找到。 进入这个链接,以 theano.tensor.nnet.nnet.sigmoid(x) 为例。 Sigmoid 函数就是可以做到,当输入值小于 0 并且越小时,输出值就会越接近 0, 当输入值大于 0 并且越大时,输出值就会越接近 1。常被用于分类问题中。 还有其他几种拓展函数,例如 softplus(),当输入值小于 0 时,输出值接近 0, 当输入值大于 0 时,输出值是非线性的上升关系。可以很好地处理具有非线性的逻辑关系的输入值。 relu(), 当输入值小于 0 时,输出值全部等于 0, 当输入值大于 0 时,输出值是线性关系。 常用的有 softplus(),softmax(),relu() 这三种,当然还有 tanh() 等等。 在实际中可以尝试在不同的神经层中,放入不同的激活函数,尝试得到不同的效果。具体问题具体分析,会发现有些激活函数并不适合当前的问题。

应用场景

在隐藏层中,可以用 relu, tanh, softplus 等非线性的激活函数。 在分类问题中,可以用 sigmoid ,softmax 来求概率。例如选择 N 类中概率最大的那一类作为预测值。 在回归问题中,可以什么激活函数都不用,只用 linear function,或者对于 价格,高度 这种非负的变量,可以在输出层用 relu 这种非负的激活函数,使输出值非负。

降低知识传递的门槛

莫烦的对教育的态度是: 降低知识传递的门槛,不希望给"学习"设置金钱障碍。 这是我花大量业余时间贡献 免费 AI分享的原因。 通过 【赞助】 能及时让我看到你对 【莫烦态度】 的认同,我也更有理由坚持下去。

如果你当前目标是找工作或者转行AI,想接受更加丰富的教学资源、培训辅导体验,我想推荐我的朋友 七月在线 给你, 通过这个 【莫烦Python为你提供的注册链接】, 你将可以获得莫烦专门为你协商的课程优惠券。祝你找/换工作顺利~