深度学习原理23——激活函数

这篇文章不错

激活函数

  • 1 激活函数作用
  • 2 激活函数类型
    • 2.1 softmax(一般只用于最后一层进行分类,准确说应该叫分类函数了)
    • 2.2 Sigmoid
    • 2.3 tanh 函数(the hyperbolic tangent function,双曲正切函数):
    • 2.4 ReLU

1 激活函数作用

激活函数(Activation functions)对于人工神经网络 [1] 模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。它们将非线性特性引入到我们的网络中。如图1,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数。引入激活函数是为了增加神经网络模型的非线性。没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。

深度学习原理23——激活函数_第1张图片
(1)如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。
(2)如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

2 激活函数类型

2.1 softmax(一般只用于最后一层进行分类,准确说应该叫分类函数了)

深度学习中使用Softmax进行分类时,如果我们的结果有10类,那么最后的神经元输出就是10,也就是输出有10个数,但是直接输出这10个数有时候并不是特别好,这时候添加一个Softmax,通过softmax这个函数,上面的10个数就转换为了概率,输出还是10个数,它们加起来就等于1,这样概率最大的就是我们想要的结果,我们尽可能让这个数接近1,其它9个数接近0。

深度学习原理23——激活函数_第2张图片

深度学习原理23——激活函数_第3张图片
深度学习原理23——激活函数_第4张图片

输出是几类,softmax的结果就是几个。前面经过了5个神经元,然后再经过softmax,那softmax的输出值还是5个,不改变输入值的个数,只改变值,使其符合概率分布。

这篇文章对softmax介绍的特别详细
添加链接描述

2.2 Sigmoid

深度学习原理23——激活函数_第5张图片
深度学习原理23——激活函数_第6张图片
注意上面使用的是Sigmoid函数,预测出来的三个数都是相互独立的,加起来并不等于1,和softmax不一样,softmax预测出来的数加起来等于1。

深度学习原理23——激活函数_第7张图片

输入是一个值,输出也是1个值

2.3 tanh 函数(the hyperbolic tangent function,双曲正切函数):

深度学习原理23——激活函数_第8张图片
深度学习原理23——激活函数_第9张图片

2.4 ReLU

深度学习原理23——激活函数_第10张图片
深度学习原理23——激活函数_第11张图片

深度学习原理23——激活函数_第12张图片
深度学习原理23——激活函数_第13张图片

你可能感兴趣的:(#,深度学习基础知识,深度学习)