神经网络中激活函数的目的是什么?


Answers:


13

非线性激活函数提供的几乎所有功能都由其他答案给出。让我总结一下:

  • 首先,非线性是什么意思?这意味着东西(在此情况下的功能),它是不是线性的相对于给定的变量/变量,即`f(c1.x1+c2.x2...cn.xn+b)!=c1.f(x1)+c2.f(x2)...cn.f(xn)+b.
  • 在这种情况下,非线性是什么意思?这意味着神经网络可以成功地近似不遵循线性的函数(直至由用户决定的某个误差),或者可以成功地预测被非线性决策边界所划分的函数的类别。e
  • 为什么有帮助?我几乎认为您找不到直接遵循线性的任何物理世界现象。因此,您需要一个可以近似非线性现象的非线性函数。同样好的直觉将是任何决策边界或函数是输入要素的多项式组合的线性组合(因此最终是非线性的)。
  • 激活功能的目的?除了引入非线性之外,每个激活函数都有其自己的功能。

乙状结肠1(1+e(w1x1...wnxn+b))

这是最常见的激活功能之一,并且到处都在单调增加。这通常在最终输出节点使用,因为它将值压缩在0和1之间(如果要求输出为0or 1)。因此可以将大于0.5的值视为1小于0.5的0值,尽管0.5可以设置不同的阈值(not )。它的主要优点是易于区分,并使用已经计算出的值,并且据称horse神经元在其神经元中具有这种激活功能。

Tanh e(w1x1...wnxn+b)e(w1x1...wnxn+b))(e(w1x1...wnxn+b)+e(w1x1...wnxn+b)

相对于S型激活函数,它具有一个优势,因为它倾向于将输出居中置为0,从而具有在后续层上更好地学习的作用(用作特征归一化器)。这里的解释很好。负输出值和正输出值可以分别视为01。主要用于RNN。

Re-Lu激活函数 -这是另一种非常常见的简单非线性(在正范围内和负范围内是线性的,彼此互斥)激活功能,其优点是消除了上述两种方法所面临的梯度消失的问题,即梯度趋于0因为x趋向于+无限或-无限。下面是关于-尽管其明显的线性度再露的近似功率的答案。ReLu的缺点是神经元死亡,导致较大的NN。

您还可以根据自己的特殊问题设计自己的激活功能。您可能具有二次激活函数,它将更好地近似二次函数。但是,然后,您必须设计一个成本函数,该函数本质上应该是凸的,以便可以使用一阶微分对其进行优化,并且NN实际上会收敛到一个不错的结果。这是使用标准激活功能的主要原因。但是我相信使用适当的数学工具,对于新的偏心激活函数有巨大的潜力。

例如,假设您要逼近单个变量二次函数,例如。这将通过一个二次激活来最佳近似瓦特1 X 2 + b其中,瓦特1b将可训练参数。但是,对于非单调递增函数,设计遵循常规一阶导数方法(梯度下降)的损失函数可能非常困难。a.x2+cw1.x2+bw1b

对于数学家:在S型激活函数我们看到e w 1 x 1 ... w n x n + b 总是<通过二项式展开或无限大GP系列的逆向计算,得到s i g m(1/(1+e(w1x1...wnxn+b))e(w1x1...wnxn+b) 1 = 1 + y + y 2。现在在NN y = e w 1 x 1 ... w n x n + b )中。因此,我们得到 y的所有等于 e 的幂w 1 x 1 ... w n x n + b sigmoid(y)1+y+y2.....y=e(w1x1...wnxn+b)ye(w1x1...wnxn+b)因此对于y 2 = e - 2 w 1 x 1 e - 2 w 2 x 2 e - 2,可以将每个幂视为基于特征x的几个衰减指数的乘积。w 3 x 3 * e 2 b yxy2=e2(w1x1)e2(w2x2)e2(w3x3)......e2(b)。因此,每个特征在图的缩放比例上都有发言权。y2

另一种思维方式是根据泰勒级数展开指数: 在此处输入图片说明

因此,我们得到了一个非常复杂的组合,其中存在输入变量的所有可能的多项式组合。我相信,如果神经网络的结构正确,则NN可以通过修改连接权重并选择最大有用的多项式项来微调这些多项式组合,并通过减去正确加权的2个节点的输出来拒绝项。

由于|的输出,因此激活可以以相同的方式工作。t a n h | < 1。我不知道Re-Lu的工作原理,但是由于其刚性的结构和死亡神经元的探针,需要使用ReLu的较大网络来很好地近似。tanh|tanh|<1

但是,要获得正式的数学证明,必须先看一下通用近似定理。

对于非数学家,一些更好的见解可以访问以下链接:

Ng的激活功能-获得更正式和科学的答案

神经网络分类器如何从仅绘制决策平面进行分类?

可微分的激活函数 一种视觉证明,神经网络可以计算任何函数


3
我认为ReLU实际上在当今的
NN中

@AndreasStorvikStrauman,你说得很对……但是乙状结肠有一个叫softmax的孩子:)
DuttaA

7

如果神经网络中只有线性层,则所有层实际上都将折叠为一个线性层,因此,“深度”神经网络架构实际上不再是深度分类,而只是线性分类器。

y=f(W1W2W3x)=f(Wx)

其中W对应于代表网络权重和一层偏置的矩阵,f()代表激活函数。

现在,随着每次线性转换后引入非线性激活单元,这种情况将不再发生。

y=f1(W1f2(W2f3(W3x)))

现在,每一层都可以建立在前面的非线性层的结果上,这实际上导致了一个复杂的非线性函数,该函数可以通过正确的加权和足够的深度/宽度来近似每个可能的函数。


WW1,W2...W2W1W1(W2x)W(x)

5

f:VW

  1. f(x+y)=f(x)+f(y),x,yV
  2. f(cx)=cf(x),cR

如果您过去学习过线性代数,则应该熟悉此定义。

但是,从数据的线性可分离性考虑线性是更重要的,这意味着可以通过绘制代表线性决策边界的线(或超平面,如果大于二维),可以将数据分为不同的类别,数据。如果我们不能做到这一点,那么数据就不是线性可分离的。通常,来自更复杂(因此更相关)的问题设置的数据不是线性可分离的,因此对这些模型进行建模符合我们的利益。

为了建模数据的非线性决策边界,我们可以利用引入非线性的神经网络。神经网络通过使用某些非线性函数(或我们的激活函数)变换数据来对不可线性分离的数据进行分类,因此所得的变换后的点将变为线性可分离的。

不同的激活功能用于不同的问题设置环境。您可以在《深度学习》(自适应计算和机器学习系列)一书中了解有关此内容的更多信息。

有关非线性可分离数据的示例,请参见XOR数据集。

在此处输入图片说明

您可以画一条线来分隔两个类吗?


4

一次线性多项式

非线性不是正确的数学术语。那些使用它的人可能打算引用输入和输出之间的一次多项式关系,这种关系将被绘制为直线,平面或没有曲率的更高次曲面。

为了建模比y = a 1 x 1 + a 2 x 2 + ... + b更复杂的关系,不仅需要泰勒级数逼近的两个项。

具有非零曲率的可调谐功能

诸如多层感知器及其变体之类的人工网络是具有非零曲率的函数矩阵,当将它们统称为电路时,可以使用衰减网格对其进行调整,以近似非零曲率的更复杂函数。这些更复杂的功能通常具有多个输入(独立变量)。

衰减网格只是矩阵向量乘积,矩阵是经过调整以创建电路的参数,该电路可以用更简单的曲线函数来近似更复杂的曲线多元函数。

像在电气工程惯例中那样,将多维信号定向在左侧,将结果显示在右侧(从左到右的因果关系),垂直列称为激活层,主要是出于历史原因。它们实际上是简单弯曲函数的数组。今天最常用的激活是这些。

  • ReLU
  • 泄漏的ReLU
  • ELU
  • 阈值(二进制步骤)
  • 后勤

由于各种结构上的便利性原因,有时会使用身份功能来传递未触摸的信号。

这些使用较少,但在某一点或另一点很流行。它们仍在使用,但已失去流行性,因为它们在反向传播计算上增加了额外的开销,并且往往在速度和准确性的竞赛中丢失。

  • 软最大
  • 乙状结肠
  • ArcTan

这些参数中较复杂的可以参数化,并且所有这些参数都可能受到伪随机噪声的干扰,从而提高了可靠性。

为什么要打扰所有这些?

人工网络对于调整输入和期望输出之间关系的良好发展类别不是必需的。例如,可以使用发达的优化技术轻松地对它们进行优化。

  • 高次多项式-通常可以使用直接从线性代数衍生的技术直接求解
  • 周期函数—可以用傅立叶方法处理
  • 曲线拟合-使用Levenberg-Marquardt算法(阻尼最小二乘法)很好地收敛

对于这些,在人造网络出现之前很久就开发出的方法通常可以以较少的计算开销以及更高的精度和可靠性来获得最佳解决方案。

人工网络最擅长的领域是获取从业人员基本上不了解的功能,或者对尚未设计特定收敛方法的已知功能的参数进行调整。

多层感知器(ANN)在训练过程中会调整参数(衰减矩阵)。通过梯度下降或其变体之一进行调整,以产生模拟电路的数字近似值,该电路模拟未知函数。梯度下降是由一些标准驱动的,通过将输出与该标准进行比较,电路行为将朝着该标准下降。条件可以是这些条件中的任何一个。

  • 匹配标签(与训练示例输入相对应的期望输出值)
  • 需要通过狭窄的信号路径传递信息并从有限的信息中进行重构
  • 网络固有的另一个标准
  • 来自网络外部信号源的另一个标准

综上所述

总而言之,激活功能提供了可在网络结构的二维空间中重复使用的构造块,因此,与衰减矩阵结合使用,可以改变层与层之间信令的权重,已知它们能够近似任意和复杂的功能。

更深层次的网络兴奋

千禧年后关于更深层网络的激动人心的原因是,已经成功地识别出两种不同类别的复杂输入的模式,并将其在较大的业务,消费者和科学市场中使用。

  1. 异构和语义复杂的结构
  2. 媒体文件和流(图像,视频,音频)

但是问题是关于激活的目的,而不是关于使用ANN的问题
DuttaA,

@DuttaA,您的评论是准确的。谢谢。答案只有一个句子直接回答了这个问题,而与其余答案的联系并没有很好地传达出来。我进行了实质性的编辑。
FauChristian

这实际上是最好的答案,应该有更多的赞誉,应该是公认的答案。
DuttaA

4

x1x1

w11,w12,w21w22

o1=w11x1+w12x2o2=w21x1+w22x2

让我们计算权重为的最后一层的输出z1z2

out=z1o1+z2o2

o1o2

out=z1(w11x1+w12x2)+z2(w21x1+w22x2)

要么

out=(z1w11+z2w21)x1+(z2w22+z1w12)x2

z1w11+z2w21z2w22+z1w12

结论:没有非线性,多层NN的计算能力等于1层NN。

同样,如果给出概率的语句,您可以将S型函数视为可微的。并且添加新层可以创建新的,更复杂的IF语句组合。例如,第一层组合特征并给出图片上有眼睛,尾巴和耳朵的概率,第二层组合来自最后一层的新的,更复杂的特征,并给出存在猫的可能性。

有关更多信息:《神经网络黑客指南》


2

人工网络中的激活功能没有目的,就像21个因素中的3个没有目的。 。删除激活函数,剩下的就是一系列无用的矩阵乘法。将21中的3删除,结果不是21的效果不佳,而是数字7完全不同。

axaax

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.