当前位置:   article > 正文

全连接层的激活函数_激活函数用于fully connected层吗

激活函数用于fully connected层吗

1、全连接层

当来到了全连接层之后,可以理解为一个简单的多分类神经网络(如:BP神经网络),通过softmax函数得到最终的输出。整个模型训练完毕。

两层之间所有神经元都有权重连接,通常全连接层在卷积神经网络尾部。也就是跟传统的神经网络神经元的连接方式是一样的: 

 https://images2018.cnblogs.com/blog/1226410/201809/1226410-20180910194649765-666983892.png

全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。

全连接的核心操作就是矩阵向量乘积:y=W*x。 本质就是由一个特征空间线性变换到另一个特征空间。目标空间的任一维——也就是隐层的一个 cell——都认为会受到源空间的每一维的影响。不考虑严谨,可以说,目标向量是源向量的加权和。

2.激活函数

所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。

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

24e33efd665540310543cd7109ba7ac7d47.jpg

如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。

 

如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。 

但是全连接都是wx+b的形式,无法产生高阶特征啊?因为全连接层后面还跟着激活函数比如sigmoid/relu 等,给wx+b 的线性变换加入了非线性。比如原始特征是2维的(x1,x2), 那么在这个二维平面上所有的特征都是线性特征,都能w1x1+w2x2线性表示,那什么是非线性呐?比如x1*x2, x1^2,x1^3*x2 这些特征都是不能被(x1,x2) 线性表示的,所以称之为非线性特征。怎么实现非线性呐?答案就是在每一个全连接层的神经元中加入一个激活函数,将w1x1+w2x2 经过sigmoid函数之后得到的指数函数的形式就是非线性的,也就将低阶特征转化为高阶特征,同时失去了低阶特征。

2.1 常用的激活函数

2.1.1 Sigmoid函数

Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间 [2]  。公式如下

https://gss2.bdstatic.com/-fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D101/sign=18c3b100f11f4134e437017e141d95c1/962bd40735fae6cdc554878203b30f2443a70f74.jpg

函数图像如下

aa2ba1f13fc16843697803ee435088dbba7.jpg

2.1.2 Tanh函数

Tanh是双曲函数中的一个,Tanh()为双曲正切。在数学中,双曲正切“Tanh”是由基本双曲函数双曲正弦和双曲余弦推导而来。公式如下

https://gss0.bdstatic.com/-4o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D106/sign=7f2eb2a43512b31bc36cc929b0193674/09fa513d269759ee31ce4e28befb43166c22dfb2.jpg

函数图像如下

04b50f78bbc4515d9c161d3af602715224e.jpg

  2.1.3 ReLU函数

Relu激活函数(The Rectified Linear Unit),用于隐层神经元输出。公式如下

https://gss1.bdstatic.com/-vo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D117/sign=eb8624203687e9504617f76d2739531b/9a504fc2d5628535b85bf9c29cef76c6a6ef639d.jpg

函数图像如下 

c252002a9eb4ee8628a2eb2c9624e7fc29b.jpg

这里要着重提一下Relu激活函数,它与其他激活函数最大的不同在于它是线性的,因而不存在梯度爆炸的问题,在多层网络结构下梯度会线性传递。

在深度学习中Relu是用的最广泛的一种激活函数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/75157
推荐阅读
相关标签
  

闽ICP备14008679号