激活函数

作者: readilen | 来源:发表于2018-09-28 15:09 被阅读5次

就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。是一个重要的非线性函数,负责提高神经网络的非线性因素,增加深度网络解决问题的能力。“激活函数”按照其可导的性能分成两类——“饱和激活函数”和“非饱和激活函数”。


激活函数分类

sigmoid tanh

sigmoid和tanh是“饱和激活函数”,而ReLU及其变体则是“非饱和激活函数”。使用“非饱和激活函数”的优势在于两点:

  1. 首先,“非饱和激活函数”能解决所谓的“梯度消失”问题。
  2. 其次,它能加快收敛速度。
    Sigmoid函数需要一个实值输入压缩至[0,1]的范围
    σ(x) = 1 / (1 + exp(−x))
    tanh函数需要讲一个实值输入压缩至 [-1, 1]的范围
    tanh(x) = 2σ(2x) − 1
tensorflow.nn.sigmoid
tensorflow.nn.tanh

keras.layers.core.Activation('sigmoid')
keras.layers.core.Activation('tanh')

torch.nn.Sigmoid
torch.nn.Tanh

ReLU

ReLU函数代表的的是“修正线性单元”,它是带有卷积图像的输入x的最大函数(x,o)。ReLU函数将矩阵x内所有负值都设为零,其余的值不变。ReLU函数的计算是在卷积之后进行的,因此它与tanh函数和sigmoid函数一样,同属于“非线性激活函数”。这一内容是由Geoff Hinton首次提出的。

tensorflow.nn.relu
keras.layers.core.Activation('relu')
torch.nn.ReLU

ELUs

ELUs是“指数线性单元”,它试图将激活函数的平均值接近零,从而加快学习的速度。同时,它还能通过正值的标识来避免梯度消失的问题。根据一些研究,ELUs分类精确度是高于ReLUs的。


不饱和函数

Leaky ReLUs
ReLU是将所有的负值都设为零,相反,Leaky ReLU是给所有负值赋予一个非零斜率。Leaky ReLU激活函数是在声学模型(2013)中首次提出的。以数学的方式我们可以表示为:

image
ai是(1,+∞)区间内的固定参数。
tensorflow.nn.leaky_relu
keras.layers.advanced_activations.LeakyReLU
torch.nn.LeakyReLU

参数化修正线性单元(PReLU)

PReLU可以看作是Leaky ReLU的一个变体。在PReLU中,负值部分的斜率是根据数据来定的,而非预先定义的。作者称,在ImageNet分类(2015,Russakovsky等)上,PReLU是超越人类分类水平的关键所在。

tensorlayer.layers.PReluLayer
keras.layers.advanced_activations.PReLU
torch.nn.PReLU

随机纠正线性单元(RReLU)
“随机纠正线性单元”RReLU也是Leaky ReLU的一个变体。在RReLU中,负值的斜率在训练中是随机的,在之后的测试中就变成了固定的了。RReLU的亮点在于,在训练环节中,aji是从一个均匀的分布U(I,u)中随机抽取的数值。形式上来说,我们能得到以下结果:

image
torch.nn.RReLU
  • PReLU中的ai是根据数据变化的;
  • Leaky ReLU中的ai是固定的;
  • RReLU中的aji是一个在一个给定的范围内随机抽取的值,这个值在测试环节就会固定下来。

相关文章

  • 激活函数softmax-P2分类任务

    激活函数种类激活函数作用 激活函数 深度学习常用激活函数之— Sigmoid & ReLU & Softmax 深...

  • 6.神经网络训练细节part1

    一、激活函数 前边我们学到,一个节点的输出会进入激活函数进行处理 常见的激活函数有以下 sigmoid激活函数 s...

  • tanh函数&logistic函数

    传统Sigmoid系激活函数 传统Sigmoid系激活函数 传统Sigmoid系激活函数,Sigmoid系(Log...

  • 机器学习之神经网络

    什么是神经网络 就是使用了平滑的激活函数的多层感知机 激活函数 什么是激活函数呢? 激活函数就是从输入值到对应输出...

  • [Machine Learning From Scratch]-

    激活层激活函数定义 封装激活层

  • 2019-10-09

    深度学习第三天 激活函数: 激活函数是...

  • 理解激活函数

    一、何为激活函数? 深度学习中,激活函数通常指能够实现非线性映射的函数 二、为什么需要非线性激活函数? 定义:这里...

  • 03 多层感知机

    激活函数 ReLU ReLU(x)=max(x,0) Sigmoid函数 tanh函数 激活函数的选择 多层感知机...

  • 非线性激活函数的作用

    一直有个疑问 为什么需要非线性激活函数?如果没有激活函数g(z),即g(z)=z,就叫线性激活函数,或者叫恒等激活...

  • Machine Learning基础:激活函数(Activiat

    Machine Learning基础:激活函数(Activiation Function)   激活函数通常有如下...

网友评论

    本文标题:激活函数

    本文链接:https://www.haomeiwen.com/subject/azkpoftx.html