赞
踩
本篇博文主要来源于对文章 Unwrapping The Black Box of Deep ReLU Networks: Interpretability, Diagnostics, and Simplification 的学习,同时还有部分内容摘自wiki百科。
ReLU,全称为:Rectified Linear Unit,是一种人工神经网络中常用的激活函数,通常意义下,其指代数学中的斜坡函数,即
f
(
x
)
=
max
(
0
,
x
)
f(x)=\max(0,x)
f(x)=max(0,x)
对应的函数图像如下所示:
而在神经网络中,ReLU函数作为神经元的激活函数,为神经元在线性变换
w
T
x
+
b
\mathbf {w} ^{T}\mathbf {x} +b
wTx+b 之后的非线性输出结果。换言之,对于进入神经元的来自上一层神经网络的输入向量
x
x
x,使用ReLU函数的神经元会输出
max
(
0
,
w
T
x
+
b
)
\max(0,\mathbf {w} ^{T}\mathbf {x} +b)
max(0,wTx+b)
至下一层神经元或作为整个神经网络的输出(取决现神经元在网络结构中所处位置)。
相比于传统的神经网络激活函数,诸如逻辑函数(Logistic sigmoid)和tanh等双曲函数,ReLU函数有着以下几方面的优势:
下面我们使用一个全部用ReLU函数的网络来进一步了解其结构的作用。
上图为定义了一个使用ReLU激活函数的简单网络结构。其中
x
1
,
x
2
x_1,x_2
x1,x2为两个输入变量,右侧为输出,中间为两个隐层,分别由两个与四个节点。这两个隐层的权重我们进行指定:
通过第一隐层后,ReLU函数会将整个输出的
[
−
1
,
1
]
×
[
−
1
,
1
]
[-1, 1] \times [-1, 1]
[−1,1]×[−1,1]的二维区域分为4个子区域,如下左图所示;而通过第二个隐层后,划分为11个子区域(下右图)。
经过简单的计算可以得到,多层仅用ReLU函数的神经网络,在每个区域之中都是一个线性函数的拟合,称之为局部线性模型。我们也可以通过下面的推导,看到这一结论。
对每个区域中的每个变量,我们都可以定义一个 Local Linear Profile,其定义如下
通过上述的分区域表达,我们可以构造出两种重要性排序指标。下面分别为,联合截距项重要性与变量重要性:
其能够分别看出每个区域的相对重要性,以及每个变量在总体网络结构中的重要性情况。
这里以一个真实数据为例,选取前三十个LLMs,看看其对于原始真实数据拟合的表现。
上左图为原始的拟合情况,上右图为剖面图(profile plot),其中的每条线段都表示一个小区域中的拟合,没有重叠,因为在一维情况下所有的边缘区域都是不相交的。注意,在剖面图的底部,通过归一化核密度估计,对每个激活区域的样本分布分别进行平滑处理,为具体的分布情况。
对于二维双圆环数据集,我们可以通过下图看出具体的样本可解释性情况。
从上中图中,二维平面被划分成了500多个区域。在这种可视化中,大面积的蓝色区域代表没有训练实例的未知领域。上右图展示了一个特征的局部线性剖面图(前30个边际LLMs)如上右图所示。在这种高维情况下,局部激活区域对边际特征的投影可能相互重叠。
同样,在真实数据中,我们也可以看到每个变量的重要性情况,以及重要变量对应的不同区域的剖面图。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。