理解神经网络的数学原理(三)激活函数的作用

您所在的位置:网站首页 神经网络中隐藏层的作用 理解神经网络的数学原理(三)激活函数的作用

理解神经网络的数学原理(三)激活函数的作用

#理解神经网络的数学原理(三)激活函数的作用| 来源: 网络整理| 查看: 265

概述

理解激活函数的作用能更好的解释神经网络的运行逻辑,在以前的章节中只简单概述了激活函数的作用,但是其实结论是比较草率的,这篇文章希望能谨慎的证明这些结论。

sign 激活函数

一般我们都直接在分类的全连接层,而不是隐藏层去加 s i g n sign sign函数作为分类的的激活,带线性层与 s i g n sign sign激活函数的节点为 y = s i g n ( w T x + b ) = { 1 , w T x + b > 0 − 1 , w T x + b ⩽ 0 y = sign(w^Tx+b) =\left\{\begin{matrix} 1&,w^Tx+b>0 \\ -1&,w^Tx+b\leqslant 0 \end{matrix}\right. y=sign(wTx+b)={1−1​,wTx+b>0,wTx+b⩽0​通过其公式,我们会很容易的看到超平面 H = { x ∣ w T x + b = 0 } H=\{x \mid w^Tx+b = 0\} H={x∣wTx+b=0},但是它是否是 s i g n sign sign函数所构造出来的超平面呢?

我们先假设 H = { x ∣ w T x + b = 0 } H=\{x \mid w^Tx+b = 0\} H={x∣wTx+b=0}是其构造的超平面,根据超平面的特性,当 w T x + b > 0 w^Tx+b>0 wTx+b>0时, x x x 一定在超平面所划分的正半空间 x + x^+ x+中,同理 w T x + b < 0 w^Tx+b< 0 wTx+b 0 − 1 , w T x + b ⩽ 0 y = f(w^Tx+b) =\left\{\begin{matrix} 1&,w^Tx+b>0 \\ -1&,w^Tx+b\leqslant 0 \end{matrix}\right. y=f(wTx+b)={1−1​,wTx+b>0,wTx+b⩽0​所以我们可以看到,两者形式是等价的,意味着只要拥有这种形式的函数其所构造的超平面都是 H = { x ∣ w T x + b = 0 } H=\{x \mid w^Tx+b = 0\} H={x∣wTx+b=0},而且标签是什么是不重要的可以用其他数值任意替换。

所以, s i g n sign sign构造出了超平面 H = { x ∣ w T x + b = 0 } H=\{x \mid w^Tx+b = 0\} H={x∣wTx+b=0},或者可以这样说由 s i g n sign sign的定义构造出了超平面 H = { x ∣ w T x + b = 0 } H=\{x \mid w^Tx+b = 0\} H={x∣wTx+b=0},我们可以设置 y = s i g n ( w T x + b ) = { 1 , w T x + b > c − 1 , w T x + b ⩽ c y = sign(w^Tx+b) =\left\{\begin{matrix} 1&,w^Tx+b>c \\ -1&,w^Tx+b\leqslant c \end{matrix}\right. y=sign(wTx+b)={1−1​,wTx+b>c,wTx+b⩽c​这时超平面发生了位移,即超平面变为了 H = { x ∣ w T x + b − c = 0 } H=\{x \mid w^Tx+b -c = 0\} H={x∣wTx+b−c=0},所以超平面是依定义构造出来的。

ReLU激活函数

带线性层与 R e L U ReLU ReLU激活函数的节点可以用数学公式表示为如下形式 y = R e L U ( w T x + b ) = { w T x + b , w T x + b > 0 0 , w T x + b ⩽ 0 y = ReLU(w^Tx+b) =\left\{\begin{matrix} w^Tx+b&,w^Tx+b>0 \\ 0&,w^Tx+b\leqslant 0 \end{matrix}\right. y=ReLU(wTx+b)={wTx+b0​,wTx+b>0,wTx+b⩽0​这个和上面的 s i g n sign sign激活函数有一些区别,但是其实也是和上面等价的形式。既然我们有疑问,那么可以通过其他方式来证明 R e L U ReLU ReLU 所构造的超平面也是 H = { x ∣ w T x + b = 0 } H=\{x \mid w^Tx+b = 0\} H={x∣wTx+b=0}

我们可以假设,其构造的超平面为 H = { x ∣ w T x + b − c = 0 } H=\{x \mid w^Tx+b - c= 0\} H={x∣wTx+b−c=0},其中 c c c为任意的实数,这里 c c c前面的负号只是为了形式的整洁。

显然,当 R e L U ReLU ReLU 节点有大于0的输出时 y = w T x + b y=w^Tx+b y=wTx+b 此时 w T x + b > 0 w^Tx+b>0 wTx+b>0,而其在超平面的一侧,所以 w T x + b − c > 0 w^Tx+b - c> 0 wTx+b−c>0,可以推导出 w T x + b > c w^Tx+b>c wTx+b>c,所以 c ⩾ 0 c\geqslant0 c⩾0;

同理 R e L U ReLU ReLU 节点输出为0时 y = 0 y=0 y=0此时 w T x + b < 0 w^Tx+b< 0 wTx+bx∣wTx+b=0}的距离公式为: d = ∣ w T x + b ∣ ∥ w ∥ d = \frac{\mid w^Tx+b\mid }{\parallel w\parallel } d=∥w∥∣wTx+b∣​可以推出 ∣ w T x + b ∣ = d ∥ w ∥ \mid w^Tx+b\mid=d\parallel w\parallel ∣wTx+b∣=d∥w∥而经过 R e L U ReLU ReLU输出的数据必然大于0,所以 w T x + b = d ∥ w ∥ w^Tx+b=d\parallel w\parallel wTx+b=d∥w∥所以我们可以说,经过线性变换与 R e L U ReLU ReLU后的输出,只与点到超平面的距离及范数相关;对同一节点,其差异只与点到超平面的距离相关。

多节点的作用

由多个带线性层与 R e L U ReLU ReLU激活函数的节点,不再是单个节点这种简单的得到一个超平面的逻辑了,而是组合逻辑,即使构造的超平面编排(Hyperplane Arrangement)或超平面组合,将输入空间划分为多个线性区域(Linear Regions)及区域切片与映射了,可以查看本系列的其他文章,或者查看参考文献中的文章。

sigmoid激活函数

带线性层与 s i g m o i d sigmoid sigmoid激活函数的节点可以用数学公式表示为如下形式 y = σ ( w T x + b ) = 1 1 + e x p ( − ( w T x + b ) ) y = \sigma(w^Tx+b) =\frac{1}{1+exp(-(w^Tx+b))} y=σ(wTx+b)=1+exp(−(wTx+b))1​事实上在神经网络的隐藏节点,我们无法像 R e L U ReLU ReLU那样,确切的说其构造的超平面是什么。虽然我们可以这样构造,如 y = σ ( w T x + b ) = { σ ( w T x + b ) , w T x + b > 0 σ ( w T x + b ) , w T x + b ⩽ 0 y = \sigma(w^Tx+b) = \left\{\begin{matrix} \sigma(w^Tx+b) &,w^Tx+b>0 \\ \sigma(w^Tx+b) &,w^Tx+b\leqslant 0 \end{matrix}\right. y=σ(wTx+b)={σ(wTx+b)σ(wTx+b)​,wTx+b>0,wTx+b⩽0​但是实际上是没有意义的,因为其为同胚映射,或者简单的说在其定义域与值域都是连续的,所以也可以这样构造 y = σ ( w T x + b ) = { σ ( w T x + b ) , w T x + b − c > 0 σ ( w T x + b ) , w T x + b − c ⩽ 0 y = \sigma(w^Tx+b) = \left\{\begin{matrix} \sigma(w^Tx+b) &,w^Tx+b-c>0 \\ \sigma(w^Tx+b) &,w^Tx+b-c\leqslant 0 \end{matrix}\right. y=σ(wTx+b)={σ(wTx+b)σ(wTx+b)​,wTx+b−c>0,wTx+b−c⩽0​这个 c c c值是多少是无法直接确定的,虽然我们知道 w T x + b = 0 w^Tx+b=0 wTx+b=0是sigmoid值域的一个对称超平面。

但是说一个现象,用BCELoss训练的带sigmoid激活函数的分类网络,其标签定义为{0,1},在分类层这里其构造的超平面是 H = { x ∣ w T x + b = 0 } H=\{x \mid w^Tx+b = 0\} H={x∣wTx+b=0}或者是非常接近 H = { x ∣ w T x + b = 0 } H=\{x \mid w^Tx+b = 0\} H={x∣wTx+b=0}的。

但是在隐藏层中目前没有检查过是否也是如此, t a n h tanh tanh激活函数和sigmoid差不多,也基本是这种情况。

输出数据的范围限制与非线性变换这种sigmoid自带的作用就不必说了,都是比较平凡的解释。

先写后改,后续看是否有其他结论,如果你证明了可以分享到评论区。

参考 开源代码 DNNexpOn the Number of Linear Regions of Deep Neural NetworksOn the number of response regions of deep feed forward networks with piece- wise linear activationsOn the Expressive Power of Deep Neural NetworksOn the Number of Linear Regions of Convolutional Neural NetworksBounding and Counting Linear Regions of Deep Neural NetworksFacing up to arrangements: face-count formulas for partitions of space by hyperplanesAn Introduction to Hyperplane ArrangementsCombinatorial Theory: Hyperplane ArrangementsPartern Recognition and Machine Learning


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3