据说神经网络中的激活函数有助于引入非线性。
- 这是什么意思?
- 在这种情况下,非线性是什么意思?
- 引入这种非线性有何帮助?
- 激活功能还有其他用途吗?
据说神经网络中的激活函数有助于引入非线性。
Answers:
非线性激活函数提供的几乎所有功能都由其他答案给出。让我总结一下:
乙状结肠
这是最常见的激活功能之一,并且到处都在单调增加。这通常在最终输出节点使用,因为它将值压缩在0和1之间(如果要求输出为0
or 1
)。因此可以将大于0.5的值视为1
小于0.5的0
值,尽管0.5
可以设置不同的阈值(not )。它的主要优点是易于区分,并使用已经计算出的值,并且据称horse神经元在其神经元中具有这种激活功能。
Tanh
相对于S型激活函数,它具有一个优势,因为它倾向于将输出居中置为0,从而具有在后续层上更好地学习的作用(用作特征归一化器)。这里的解释很好。负输出值和正输出值可以分别视为0
和1
。主要用于RNN。
Re-Lu激活函数 -这是另一种非常常见的简单非线性(在正范围内和负范围内是线性的,彼此互斥)激活功能,其优点是消除了上述两种方法所面临的梯度消失的问题,即梯度趋于0
因为x趋向于+无限或-无限。下面是关于-尽管其明显的线性度再露的近似功率的答案。ReLu的缺点是神经元死亡,导致较大的NN。
您还可以根据自己的特殊问题设计自己的激活功能。您可能具有二次激活函数,它将更好地近似二次函数。但是,然后,您必须设计一个成本函数,该函数本质上应该是凸的,以便可以使用一阶微分对其进行优化,并且NN实际上会收敛到一个不错的结果。这是使用标准激活功能的主要原因。但是我相信使用适当的数学工具,对于新的偏心激活函数有巨大的潜力。
例如,假设您要逼近单个变量二次函数,例如。这将通过一个二次激活来最佳近似瓦特1 X 2 + b其中,瓦特1和b将可训练参数。但是,对于非单调递增函数,设计遵循常规一阶导数方法(梯度下降)的损失函数可能非常困难。
对于数学家:在S型激活函数我们看到e − (w 1 ∗ x 1 ... w n ∗ x n + b )总是<通过二项式展开或无限大GP系列的逆向计算,得到s i g m 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 )因此对于y 2 = e - 2 (w 1 x 1 ) ∗ e - 2 (w 2 x 2 ) ∗ e - 2,可以将每个幂视为基于特征x的几个衰减指数的乘积。(w 3 x 3 ) * 。。。。。。e − 2 (b )。因此,每个特征在图的缩放比例上都有发言权。
因此,我们得到了一个非常复杂的组合,其中存在输入变量的所有可能的多项式组合。我相信,如果神经网络的结构正确,则NN可以通过修改连接权重并选择最大有用的多项式项来微调这些多项式组合,并通过减去正确加权的2个节点的输出来拒绝项。
由于|的输出,因此激活可以以相同的方式工作。t a n h | < 1。我不知道Re-Lu的工作原理,但是由于其刚性的结构和死亡神经元的探针,需要使用ReLu的较大网络来很好地近似。
但是,要获得正式的数学证明,必须先看一下通用近似定理。
对于非数学家,一些更好的见解可以访问以下链接:
如果您过去学习过线性代数,则应该熟悉此定义。
但是,从数据的线性可分离性考虑线性是更重要的,这意味着可以通过绘制代表线性决策边界的线(或超平面,如果大于二维),可以将数据分为不同的类别,数据。如果我们不能做到这一点,那么数据就不是线性可分离的。通常,来自更复杂(因此更相关)的问题设置的数据不是线性可分离的,因此对这些模型进行建模符合我们的利益。
为了建模数据的非线性决策边界,我们可以利用引入非线性的神经网络。神经网络通过使用某些非线性函数(或我们的激活函数)变换数据来对不可线性分离的数据进行分类,因此所得的变换后的点将变为线性可分离的。
不同的激活功能用于不同的问题设置环境。您可以在《深度学习》(自适应计算和机器学习系列)一书中了解有关此内容的更多信息。
有关非线性可分离数据的示例,请参见XOR数据集。
您可以画一条线来分隔两个类吗?
一次线性多项式
非线性不是正确的数学术语。那些使用它的人可能打算引用输入和输出之间的一次多项式关系,这种关系将被绘制为直线,平面或没有曲率的更高次曲面。
为了建模比y = a 1 x 1 + a 2 x 2 + ... + b更复杂的关系,不仅需要泰勒级数逼近的两个项。
具有非零曲率的可调谐功能
诸如多层感知器及其变体之类的人工网络是具有非零曲率的函数矩阵,当将它们统称为电路时,可以使用衰减网格对其进行调整,以近似非零曲率的更复杂函数。这些更复杂的功能通常具有多个输入(独立变量)。
衰减网格只是矩阵向量乘积,矩阵是经过调整以创建电路的参数,该电路可以用更简单的曲线函数来近似更复杂的曲线多元函数。
像在电气工程惯例中那样,将多维信号定向在左侧,将结果显示在右侧(从左到右的因果关系),垂直列称为激活层,主要是出于历史原因。它们实际上是简单弯曲函数的数组。今天最常用的激活是这些。
由于各种结构上的便利性原因,有时会使用身份功能来传递未触摸的信号。
这些使用较少,但在某一点或另一点很流行。它们仍在使用,但已失去流行性,因为它们在反向传播计算上增加了额外的开销,并且往往在速度和准确性的竞赛中丢失。
这些参数中较复杂的可以参数化,并且所有这些参数都可能受到伪随机噪声的干扰,从而提高了可靠性。
为什么要打扰所有这些?
人工网络对于调整输入和期望输出之间关系的良好发展类别不是必需的。例如,可以使用发达的优化技术轻松地对它们进行优化。
对于这些,在人造网络出现之前很久就开发出的方法通常可以以较少的计算开销以及更高的精度和可靠性来获得最佳解决方案。
人工网络最擅长的领域是获取从业人员基本上不了解的功能,或者对尚未设计特定收敛方法的已知功能的参数进行调整。
多层感知器(ANN)在训练过程中会调整参数(衰减矩阵)。通过梯度下降或其变体之一进行调整,以产生模拟电路的数字近似值,该电路模拟未知函数。梯度下降是由一些标准驱动的,通过将输出与该标准进行比较,电路行为将朝着该标准下降。条件可以是这些条件中的任何一个。
综上所述
总而言之,激活功能提供了可在网络结构的二维空间中重复使用的构造块,因此,与衰减矩阵结合使用,可以改变层与层之间信令的权重,已知它们能够近似任意和复杂的功能。
更深层次的网络兴奋
千禧年后关于更深层网络的激动人心的原因是,已经成功地识别出两种不同类别的复杂输入的模式,并将其在较大的业务,消费者和科学市场中使用。
人工网络中的激活功能没有目的,就像21个因素中的3个没有目的。 。删除激活函数,剩下的就是一系列无用的矩阵乘法。将21中的3删除,结果不是21的效果不佳,而是数字7完全不同。