自归一化神经网络

来源:互联网 发布:武汉火凤凰云计算基地 编辑:程序博客网 时间:2024/06/05 03:00

【声明:鄙人菜鸟一枚,写的都是初级博客,如遇大神路过鄙地,请多赐教;内容有误,请批评指教,如有雷同,属我偷懒转运的,能给你带来收获就是我的博客价值所在。】
【声明】原文《Self-Normalizing Neural Networks》作者:Günter Klambauer 、Thomas Unterthiner、Andreas Mayr、Sepp Hochreiter
    翻译:蔡鑫奇 校对:张永伟 蔡鑫奇

  这期为大家翻译了一篇2017年6月10日发表在 arXiv 上的 NIPS 投稿论文,这篇文章介绍了一种新的神经网络模型,提出了一种新的激活函数「放缩指数型线性单元(SELUs)」而引进了自归一化属性。时代在时刻变更,而知识也应不断更新,所以学习并翻译了这篇文章,PO了这篇博客,这样也为了能与他人一同讨论、学习、进步。老实讲,这篇文章初看貌似只有一个创新点(就是刚说到的新的激活函数),但实则深入地看,并不只是如此简单,在提出一个全新的神经网络模型时,不光是提出模型概念,还要在模型架构、算法设计、模型论证等等多方面考量。原文下载地址:https://arxiv.org/pdf/1706.02515.pdf 。看到原文,让我惊讶的是,这篇 NIPS 投稿论文虽然只有 9 页正文,却有着 93 页的定理证明附录,该论文的作者为 Sepp Hochreiter,也就是当年和 Jürgen Schmidhuber 一起发明 LSTM 的大牛,之前的 ELU 同样来自于他们组。此外,已有人对这篇论文提出的 SELUs(缩放指数型线性单元)进行了 Tensorflow 实现,并将实验数据放在了Github上,此项实验旨在对 SELUs,ReLU 和 Leaky-ReLU 等进行对比,其重点是在 Tensorboard 上对激励进行可视化,实验项目地址:https://github.com/shaohua0116/Activation-Visualization-Histogram 。

摘要:深度学习不仅通过卷积神经网络(CNN)推动计算机视觉的发展,同时还通过循环神经网络(RNN)为自然语言处理带来了变革。然而,实际中使用了标准前馈神经网络(FNN)的深度学习案例却很少有成功的,通常表现良好的 FNN 都只是浅层模型,并不能挖掘多层次的抽象表征。所以这里我们希望通过引入自归一化神经网络(self-normalizing neural networks/SNNs)来实现对高层次抽象表征的挖掘,虽然批归一化要求精确的归一化处理,但 SNN 的神经元激活因子可自发地收敛于零均值和单位方差。SNN 的激活函数可称之为「放缩指数型线性单元(scaled exponential linear units/SELUs)」,该单元可诱导自归一化的属性。我们使用Banach 的不动点定理(fixed-point theorem)证明了:那些逼近于零均值和单位方差的且通过多层网络传播的激活因子仍将收敛于零均值和单位方差,即使是存在噪声和扰动的情况下也是如此。SNN 的这种收敛性质就使得 (1) 能够训练多层深度神经网络,同时 (2) 采用强正则化方案以及 (3) 学习更具鲁棒性。此外,对于非逼近于单位方差的激活因子,我们证实了其方差存在着上确界和下确界,因此不可能出现梯度消失和梯度爆炸问题。我们在以下三种情况上:(a) 来自 UCI 机器学习库的 121 项任务;(b) 新药的发现基准,以及 (c) 天文学任务,分别比较了SNN同标准 FNN 和其他机器学习方法(如随机森林、支持向量机等)之间的区别。另外,对提出的SNN 模型,我们还考虑了 (ⅰ) 未经归一化的ReLU神经网络;(ⅱ) 批归一化;(ⅲ) 层级归一化;(ⅳ) 权重归一化;(ⅴ) 高速归一化;(ⅵ) 残值神经网络这六种情况。在 UCI 机器学习库的 121 项任务上,SNN相对其他所有参与对比的 FNN 方法具有显著的优越性,在 Tox21 数据集上也同样如此。除此,SNN 在天文学数据集上亦创下了新纪录。这种 SNN 架构通常都比较深度化,其实现过程可以通过以下链接获得:http://github.com/bioinf-jku/SNNs 。

前言

  深度学习在(许多)不同的基准上都创造了新记录,也引发了各种商业应用[25, 33]。循环神经网络(RNN)[18] 在语音和自然语言处理(例如TIMIT基准 [12] 或语言翻译)上达到了新的水平,且已经成功地应用在了移动设备上[31]。此外,RNN在手写体识别(汉字和阿拉伯文字手写体识别)[33,13,6]挑战和Kaggle(如“Grasp-and Lift EEG”脑电图掌握与提升)挑战的任务上均取得了成功。作为与RNN相似的模型,CNN[24]在计算机视觉和视频任务上有着优异的表现,甚至在皮肤癌视觉检测领域匹敌人类皮肤专家[9]。自动驾驶汽车运用的视觉处理技术也是基于CNN[19],如AlphaGo,在围棋博弈上曾击败过一位人类最强棋手[34]的人工智能机器人,也用到了基于CNN的视觉输入技术。CNN在计算机视觉上一直出于领先地位,例如:在大规模数据集ImageNet上有竞争优势[23,16],除此之外在几乎所有的Kaggle视觉挑战(如“Diabetic Retinopathy糖尿病性视网膜病变”挑战和“Right Whale露脊鲸”挑战[8,14])任务上都有着优势。
  然而,当我们回顾 Kaggle 竞赛时,通常很少有任务是和计算机视觉或序列任务相关的,梯度提升、随机森林或支持向量机(SVM),这些通常在绝大多数任务上都能取得十分优异的表现。相反,深度学习的表现却和一般。
  为了鲁棒性训练深度卷积神经网络(CNN),批归一化发展成了归一化神经元激活因子为零均值和单位方差 [20] 的标准方法。层级归一化(Layer normalization)[2] 确保了零均值和单位方差,因为如果上一层的激活因子有零均值和单位方差,那么权重归一化 [32] 就确保了零均值和单位方差。然而,归一化技术在训练时通常会受到随机梯度下降(SGD)、随机正则化(如 dropout)和估计归一化参数所扰动。RNN和CNN均能通过权重共享来稳定学习,因此他们更不易于发生紊乱。相比之下,经归一化技术训练过的FNN能够抵御这些干扰并在训练误差上有着高方差(见图1)。高方差阻碍并减缓了学习过程,而且强的正则化,如dropout是不可能的,因为强正则化会进一步提高方差,转而会导致学习过程变得发散。我们认为这种对干扰的敏感性说明了RNN和CNN比FNN更成功。
  自归一化神经网络(SNN)对干扰具有鲁棒性,它在训练误差上并没有大的方差(见图 1)。SNN 令神经元激活因子不断趋向于零均值和单位方差,从而达到和批归一化相似的效果,而这种归一化作用效果可以在许多层级的训练中都保持着鲁棒性。SNN 是基于放缩指数型线性单元(SELU)的,这种单元诱导了自归一化属性,如方差稳定化(variance stabilization),从而避免了梯度爆炸和梯度消失。

自归一化神经网络(SNN)

归一化和 SNN

  我们针对某个带有激活函数 f 的神经网络,考虑了两个以权重矩阵 W 连接的连续层。由于神经网络的输入是任意的变量,如较低层的激活因子 x 和网络的输入 z=Wx ,以及较高层的激活因子 y=f(z) 。我们假设所有较低层的激活因子 xi 的均值为 μ=E(xi),方差为 ν=Var(xi);类似的,较高层级的激活因子 y 的均值和方差依次为 μ̃ =E(y)ν̃ =Var(y)。这里的 E() 表示期望,Var() 表示任意变量的方差。单个激活因子 y=f(z) 的网络输入为 z=wTx ,对n个低层级的单元,其对应的激活因子为 xi,1in ,我们定义 n 倍权重矩阵(wRn)均值为 ω=ni=1wi 以及 n 倍二阶原点矩为 τ=ni=1w2i
  我们考虑了映射 g,即将激活因子的均值和方差从一个层级映射到下一个层级

(μν)(μ̃ ν̃ )(μ̃ ν̃ )=g(μν).(1)

  归一化技术,例如:批归一化、层归一化或者权重归一化,确定一个映射 g ,使得 (μ,ν)(μ̃ ,ν̃ ) 接近预设值(一般是(0,1))。
定义1(自归一化神经网络)
  若某个神经网络对每个激活因子 y 有映射 gΩΩ 且该映射能将(激活因子 y 的)均值和方差从一个层级映射到下一个层级并具有一个基于 Ω 中数组 (ω,τ) 的稳定磁性不动点,则它就是自归一化的。另外,均值和方差仍在区域 Ω 内,即 g(Ω)Ω ,其中 Ω=(μ,ν)μ[μmin,μmax],ν[νmin,νmax]。当迭代使用映射 g 时,Ω 中的每个点都收敛于这个不动点。
  因此,如果所有样本中的这些激活因子的均值和方差都处在预设区间内,那我们将考虑对神经网络的激活因子做归一化处理。倘若 x 的均值和方差已经处在这些区间, 而同样地,在这些区间中依旧存在 y 的均值与方差,也即归一化是可以在层间传递的。在这些区间中,如果在迭代中反复用到映射函数的话,则均值与方差都将收敛于一个不动点。
这里写图片描述
图 1:图中 y 轴表示使用批归一化(BatchNorm)前馈神经网络(FNN)和使用自归一化神经网络(SNN)的训练损失,x 轴表示迭代次数,左、右两图的训练过程分别在MNIST数据集和CIFAR10数据集上完成。我们分别测试了8、16和32层神经网络,且学习率均设置为1e-5。采用批归一化的FNN由于扰动出现了较大的方差,相比之下,SNN并未出现较大的方差,这是因为SNN对扰动具有更好的鲁棒性,同时学习速度也更加迅速。
  因此,SNN能使激活因子在神经网络层间传播时依然保持着归一化状态。此外我们能在神经网络层间观测到一种归一化效应:每层激活因子都将趋向于某个不动点。对学习过程中的两个固定层级而言,该效应依旧能被观测到:通过向不动点引导激活因子的方式,较低层激活因子或权重的扰动会在较高层会有所减弱。若对所有较高层的 y值,其对应的权重向量的 ωτ 都是相同的话,那这些不动点也都将是相同的。在这种情况下,对所有激活因子 y 都存在一个特殊的不动点与之对应。除此之外,在更普遍的情况下,不同的 y 有着不同的 ωτ,而激活因子的均值取值于区间 [μmin,μmax],同时其方差取值于区间 [νmin,νmax]

构建自归一化神经网络(SNN)

  我们通过调整函数 g 的属性来构建自归一化神经网络,函数 g 只有两种设计方案可供选择:(1) 激活函数;(2) 权重的初始化。
激活函数 我们提出“放缩指数型线性单元”(SELU),将前馈神经网络(FNN)用作自归一化过程。SELU的激活函数具有如下的形式:

selu(x)=λ{x,αexα,if x>0if x≤0 .(2)

  可用SELU来构造一个映射函数 g,其具有的属性能实现SNN的构建。实际上SNN是无法借助(可放缩)修正线性单元(ReLU)、Sigmoid函数单元、tanh函数单元和有缺陷的修正线性单元。此外,还要求激活函数 (1) 为调控均值可正可负;(2) 存在饱和区(斜率趋近于零),使得较低层方差不会太大;(3) 存在大于1的斜率,使得较高层方差不会太小;(4) 对应的曲线是连续的。后者确保存在一个不动点,且在该点处的方差减幅会被方差增长所补偿。通过倍乘 λ>1 的指数型线性单元(ELU),我们可以观测激活函数的一些属性,从而确保对网络正输入值的斜率会存在大于1的情况。
权重的初始化 在权重初始化时,我们建议对所有较高层的单元,设置ω=0τ=1。在文章接下来的部分中,我们会展示这种初始化所带来的优势。当然,在学习过程中,将会违反这些权重向量的假设。不过我们能够证明:权重矢量的自归一化属性并不是归一化的。因此不论在学习过程中还是当权重发生变化时,自归一化属性都能保持不变。
通过映射函数 g 派生均值和方差
  本文假设样本 xi 之间相互独立,并且有相同的均值 μ 和方差 ν,当然通常情况下是不满足独立性假设的。我们将在后面详细描述独立性假设,较高层级的网络输入为 z=wTx,从中我们可以推断以下的矩:E(z)=ni=1wiE(xi)=μωVar(z)=Var(ni=1wixi)=ντ ,这里用到了 xi 的独立性。网络输入 z 是独立但不必同分布的变量 xi 的加权和,中心极限定理说明 z 逼近于一个正态分布:zN(μω,ντpN(z;μω,ντ) 。根据中心极限定理,n 越大,z 就越逼近于正态分布。就深度学习而言,外层带有成百上千的神经元是普遍存在。因此,认为 z 是服从正态分布的假设,在大多数目前使用的神经网络(见图A8)中能得到很好的满足。函数 g 将前一层神经网络激活因子的均值和方差映射到下一层中激活因子 y 的均值 µ̃ =E(y) 和方差 ν̃ =Var(y) 中:
g:(μν)(μ̃ ν̃ ):μ̃ (μ,ω,ν,τ)=selu(z)pN(z;μω,ντ)dzν̃ (μ,ω,ν,τ)=selu(z)2pN(z;μω,ντ)dz(μ̃ )2(3)

这些积分的解析解可通过以下方程求出:
μ̃ =12λ((μω)erf(μω2ντ)+αeμω+ντ/2erfc(μω+ντ2ντ)αerfc(μω2ντ)+2πντe(μω)22(ντ)+μω).(4)

ν̃ =12λ2(((μω)2+ντ)(2erfc(μω2ντ))+2π(μω)ντe(μω)22(ντ)+α2(2eμω+ντ2erfc(μω+ντ2ντ)e2(μω+ντ)erfc(μω+2ντ2ντ)+erfc(μω2ντ)))(μ̃ )2.(5)

归一化权重的稳定磁性不动点(Stable and Attracting Fixed Point)(0,1)
  我们假设,某个归一化的权重矢量 wω=0,τ=1,根据给定的不动点 (μ,ν)=(0,1) ,我们可联立式 (4)、(5) 解出 αλ 。在进行激活因子归一化时,我们一般选取不动点 (μ,ν)=(0,1) 。本文得到不动点等式 μ̃ =μ=0ν̃ =ν=1 ,并得到解:α011.6733λ011.0507 ,这里的下标 01 表示不动点 (0,1) 的参数,α01,λ01 的解析表达式如公式 (14)所示。我们想知道不动点 (μ,ν)=(0,1) 是否是稳定磁性的,如果 g 的雅可比矩阵在不动点处有小于 1 的范数,那么 g 就是收缩映射且对应的不动点是稳定的。经过在不动点 (0,1) (已知 α01,λ01 )上的解析,得到 g:(μ,ν)(μ̃ ,ν̃ )2×2 雅可比矩阵 J(μ,ν) 为:
J(μ,ν)=μnew(μ,ν)μνnew(μ,ν)μμnew(μ,ν)ννnew(μ,ν)ν,J(0,1)=(0.00.00.0888340.782648).(6)

J(0,1) 的谱范数(它的最大奇异值)为 0.7877<1 ,这意味着 g 是不动点 (0,1) 附近的一个收缩映射(该映射描绘在图2中)。因此,(0,1) 是映射 g 的一个稳定不动点。
非归一化权重的稳定磁性不动点(Attracting Fixed Point)
  事实上,在学习过程中是无法确定某个归一化的权重矢量 w ,但当SELU的参数 α=α01λ=λ01 ,在下文定理 1 中会说明:当 (ω,τ) 趋近于 (0,1) 时,g 依旧有一个趋近于 (0,1) 的稳定磁性不动点。所以,一般情况下仍存在这样的稳定不动点,只不过要依赖于 (ω,τ) 。倘若我们将 (μ,ν,ω,τ) 约束在确定的间距内,那么就能说明 (μ,ν) 被映射到每个分立的区间上。接下来,我们将介绍文章的核心定理,也即SELU神经网络在基于权重的一般条件下进行自归一化时所遵循的定理。
这里写图片描述
图 2:对于ω = 0 和 τ = 1,上图描述了将均值 μ(x 轴)和方差 ν(y 轴)映射到下一层的均值 μ ̃ 和方差 ν ̃。图中箭头展示了由 g∶(μ,ν)⟼(μ ̃,ν ̃) 映射的 (μ,ν) 的方向,且映射 g 的不动点为 (0,1)。
定理1(稳定磁性不动点)
  这里假设 α=α01,λ=λ01,同时我们定义函数的区域 Ωμ[0.1,0.1]ω[0.1,0.1]ν[0.8,1.5]τ[0.95,1.1]。对于 ω=0τ=1,公式(3)所示映射拥有一个稳定不动点 (μ,ν)=(0,1) ;而对于其他取值的 ωτ 该映射拥有的是稳定磁性不动点,这根据 (ω,τ) 该章节给出了定理证明的概要(附录 Section A3 给出详细的证明)。根据 Banach 不动点定理(fixed point theorem),我们证明了存在唯一的磁性和稳定不动点。

证明:这里我们给出一个粗略的证明(详细证明见附录A3)。Banach不动点定理表明稳定磁性不动点是唯一存在的,最终我们需要证明a) g 是一个收缩映射(拓扑空间 Y 的子集 B 称为 Y 的一个收缩核,若存在连续映射 r:YB,使得任意 xBr(x)=x;此时称r为Y到B的一个收缩映射);b) 且该映射在定义域内,即 g(Ω)Ω。若已知关于某个 2×2 矩阵的最大奇异值的显式公式,则可通过此公式来求解映射 g 的雅可比矩阵谱范数,若该谱范数小于 1,则 g 是一个收缩映射。这里我们借助计算机辅助验证手段求得良好栅格上的最大奇异值,并通过对应硬件上应用算法的误差传播分析来确保计算机验证精度。根据中值定理,格点间的奇异值存在上限。为此我们对最大奇异值公式中关于 ω,τ,μ,ν 的偏导做了范围约束。接着,将中值定理应用到点对(由位于栅格上的点与栅格外的点组成)。这表明对区域 Ωω,τ,μ,ν 的所有取值,g 的谱范数会小于1 ,因此 g 是区域 Ω 上的收缩映射。最后,文章说明了:通过 μ̃ ,ν̃  上的边界微分,映射 g 可稳定在区域 Ω 上。基于以上的论述,Banach不动点定理是成立的,同时在 Ω 上存在唯一的不动点,且是可取的点。
  结果表明每层带有多个单元且拥有SELU激励函数的前馈神经网络都是自归一化的(见定义1),这显然服从定理1 。为了给出直观的说明,SELU的主要性能是抑制网络负输入的方差、增大网络正输入的方差。如果网络输入十分地偏离零值,方差抑制得就更加厉害;同时,如果网络输入接近于零,方差增大得就越厉害。因此,对于低层中那些方差较大的激活因子而言,这种(方差)抑制效应将是十分明显的,且越高层的激活因子,其方差就越大。
  然而我们无法保证均值和方差是在区域 Ω 内取值,因此我们随后考虑了 (μ,ν) 不在 Ω 内的情况。考虑 ν 是十分有必要的,因为变量 ν 的影响权重要比 μ 的大得多。将 ν 通过层间映射成较大值,这个过程符合梯度爆炸,这是因为相对于低层的激活因子,高层的激活因子的雅可比矩阵有较大的奇异值。类似地,将 ν 通过层级间映射成较小值,这个过程符合梯度消失。从上界和下界对 ν 的映射加以约束,这能同时避免梯度爆炸和梯度消失。定理 2 说明SNN的神经元激活因子的方差存在上界,从而确保了SNN模型学习的鲁棒性以及避免了梯度爆炸问题。
定理2(降低 ν
  对于 λ=λ01,α=α01 和区域 Ω+1μ1,0.1ω0.1,3ν160.8τ1.25 ,对公式(5)所给的方差 ν̃ (μ,ω,ν,τ,λ,α) 有:ν̃ (μ,ω,ν,τ,λ,α)<ν
  该定理的详细证明可以在附录 Section A3 中找到。因此,当映射经过许多层级时,在区间 [3,16] 内的方差被映射到一个小于 3 的值。结果是,映射 g(公式(3))的所有不动点 (μ,ν) 都有 ν<3 。类似的,定理3说明SNN模型的神经元激活因子方差存在下界,从而能确保SNN模型不会有梯度消失问题。
定理3(提高 ν
  设定 λ=λ01,α=α01 和区域 Ω0.1μ0.1,0.1ω0.1。对区域:0.02ν0.160.8τ1.25 以及区域:0.02ν0.240.9τ1.25 ,公式(5)所给的方差 ν̃ (μ,ω,ν,τ,λ,α) 对应的映射会有所提高:ν̃ (μ,ω,ν,τ,λ,α)>ν
  该定理的证明可以在附录 Section A3 找到。所有映射 g (Eq. (3)) 的不动点 (µ,ν) 确保了 0.8τν̃ >0.160.9τν̃ >0.24。结果是,方差映射(公式(5))确保方差 ν 的边界更小。从而,SELU网络能将激活因子的方差调整到某个区间上,随后均值和方差变成不动点处的值,故而SELU网络将方差逐步归一化,最终也将均值归一化。整个实验过程中观测了自归一化神经网络将激活因子的均值和方差变换到区域 Ω 内。
初始化
  因为 SNN 有归一化权重 ω=ni=1ωi=0τ=ni=1ω2i=1 (见上文)的零均值和单位方差不动点,所以我们初始化 SNN 来满足一些期望的约束条件。此处用一个高斯分布(E(ωi)=0Var(ωi)=1/n)来描述权重,而带有这些状态值的标准化截顶高斯分布能产生具有类似行为特征的网络。类似的有“MSRA初始化”,因为它使用了零均值及方差 2/n 来初始化权重[17],附加因素2则抵制来自修正线性单元的作用影响。
新的 Dropout 技术
  标准 Dropout 随机地设定一个激活因子 x1q 的概率等于 0,其中 0<q<1。为了保持均值,激活因子在训练中通过 1/q 进行缩放。若 x 的均值 E(x)=μ 且方差 Var(x)=ν ,dropout变量 d 服从二项分布 B(1,q) ,而均值 E(1/qdx)=μ 保持不变。dropout很好地吻合了修正线性单元,这是由于 0 位于低方差区域且对应于默认值。对于放缩指数型线性单元,低方差默认值是

limxselu(x)=λα=α
因此我们提出“α-dropout”即可随机设置输入为 α ,新的均值和方差为
E(xd+α(1d))=qμ+(1q)α
Var(xd+α(1d))=q((1q)(αμ)2+ν)
。我们期望在经过“α-dropout”之后能保持均值和方差不变,以便能够确定自归一化属性,即便对于“α-dropout”。仿射变换 a(xd+α(1d))+b 可以确定参数 ab,他们的均值和方差恒为
E(a(xd+α(1d))+b)=μ
Var(a(xd+α(1d))+b)=ν
。与 dropout 相反, ab 将取决于 μν ,但SNN模型收敛于零均值、单位方差的激活因子。当 μ=0ν=1 时,a=(q+α2q(1q))1/2b=(q+α2q(1q))1/2((1q)α) 。参数 ab 仅取决于dropout速率 1q 和最负面的激活因子 α。我们发现 dropout 速率为 1q=0.050.10 的会产生性能良好的模型。通过随机设定激活因子为负饱和值,“α-dropout”能很好地吻合放缩指数型线性单元。
中心极限定理和独立性假设的适用性
  在映射 (Eq. (3)) 的导数中,我们利用中心极限定理(CLT),以某个正态分布逼近神经网络的输入 z=ni=1wixi 。我们对其具有的正态性作了证明,因为(神经)网络的输入是所有输入值 xi 的权重和,其对应的深度学习 n 通常都很大。Berry-Esseen 定理表明正态收敛速率为 n1/2 [22]。在古典中心极限定理中,随机变量必须是独立同分布的,这在神经网络中是不成立的。然而,Lyapunov 中心极限定理不再要求变量是同分布的,而且即使在弱相关下,随机变量和在分布上也收敛于高斯分布[5] 。

实验

  我们将SNN和其他不同基准的深度网络进行比较。通过对某个单独的验证集上的每个数据集进行网格搜索,可以实现对超参数(例如:层(块)数、每层神经元、学习速率和 dropout 速率)的调整(详见A4章节)。我们对比了以下FNN方法:

“MSRAinit”:未经归一化但具有修正线性单元(ReLU)的FNN,以及“微软权重初始化”[17];
“BatchNorm”:批归一化FNN[20];
“LayerNorm”:层归一化FNN[2];
“WeightNorm”:权重归一化FNN[32];
“Highway”:高速网络;
“ResNet”:剩余网络[16](即适用于某种特殊的FNN,该FNN使用2或3层矩形或diavolo形状的残块);
“SNNs”:自归一化神经网络(包含 α=α_01,λ=λ_01 的放缩指数型线性单元以及本文提出的dropout技术和初始化方法)。

UCI机器学习库的121个数据集
  这里的基准是由121个来自UCI机器学习库的分类数据集[10]组成的,且这些数据集取自不同的应用领域,如物理、地理或生物领域。这些数据集的大小不一,包含10~130000个数据点,且含有的特征数目由4至250个不等。上述工作[10]存在方法上的错误,在本文中这类问题已得到了解决。本文对每个参与比较的FNN方法进行了优化,具体而言,选取某个验证集(该数据集会从后续的分析中删除),随后在这个验证集上对FNN方法的体系结构和超参数进行优化。所选的超参数用于评价这些方法,而评价的标准是(方法)作用在预定义的测试集上的精确度(有关超参数部分详见章节A4),精确度结果如表A11所示,本文根据每个预测任务的准确性对这些方法进行排名,并比较了它们的平均排名。在成对进行的比较中(整个数据集上成对的 Wilcoxon 测试),SNN的表现明显优于所有参与对比的网络,如表1(左侧部分)。
  在比较中还包括17种机器学习方法,它们分别代表不同的方法组,并将数据集分组为“小”和“大”数据集(详细参见章节A4)。在75个小数据集(所含数据点少于1000个)上,随机森林和SVM比SNN和其他FNN更有优势;在46个更大的数据集(至少包含1000个数据点)上,SNN展现的性能是最好的,其次是SVM和随机森林(参见表1右侧部分,完整结果详见表A12与A13)。总体而言,在UCI数据集(其包含的数据点多于1000个)上,SNN的表现优于传统机器学习方法。
  在超参数的选择问题上,通常会选择比其他FNN所选架构深得多的SNN架构,其平均深度为10.8 层,相比之下,BatchNorm的平均深度为6.0层,WeightNorm的为3.8层,LayerNorm的为7.0层,Highway 的为5.9层,MSRAinit的为7.1层。对于ResNet,其平均块数为6.35。通常情况下,在所有神经网络中,具有超过4层结构的SNN能提供最佳的预测精度。
表1:左本部分是对121个UCI任务中七个FNN的比较。我们考虑了相对排名4的平均排名差,这是随机预测的七种方法的平均排名。第一列给出的是方法,第二列给出平均排名差,以及与之匹配的Wilcoxon最新p值(用来检验同性能最佳的方法之间的差异是否显著),结果表明:SNN显着优于所有其他方法。右半部分是对具有超过1000个数据点的UCI数据集上的24种机器学习方法(ML)进行的比较。第一列给出方法,第二列给出相对排名12.5的平均排名差,以及与之匹配的Wilcoxon最新p值(用来检验同性能最佳的方法之间的差异是否显著)。表格中比最佳方法差的方法会标有“*”,表A11、表A12和表A13是完整的表格,结果表明:SNN优于所有竞争方法。
这里写图片描述
药物发现:Tox21挑战数据集。
  Tox21挑战数据集包含约12,000种化合物,而这些化合物具有的12种毒性作用必须根据他们的化学结构进行预测。我们使用挑战胜出的验证集进行超参数选择(见章节A4),同时使用挑战测试集进行性能比较,我们将整个评估过程重复了5次,以获得误差条形数据,平均AUC的结果列于表2。2015年,美国NIH组织了一项挑战,其中一个浅层ReLU FNN组合实现了0.846的平均AUC,并夺得了这项挑战的冠军[28]。除了FNN,这个系列还包含随机森林和支持向量机。单个SNN的AUC能接近于0.845±0.003,性能最佳的SNN具有8层(网络),相比之下,性能较差一点的是层归一化ReLU网络,仅具有2层和3层结构。通常情况下,当批归一化和权重归一化网络具有2~4层的浅层网络时,他们也能实现最佳的性能(表2)。当某个网络越深时,SNN和其他方法之间的性能差异就越大(见表2第5-8列),可以看出具有8层网络的SNN是性能最佳的网络。
表2:在Tox21挑战数据集上的FNNs在AUC方面的比较。行给出的是不同的方法下的实验数据,列给出了不同的网络深度和剩余网络(ResNet)的剩余块(residualblock)数量(“na”:由于计算限制而省略了32个块)。网络越深,SNN的优势越突出,结果表明:性能最好的网络是8层的SNN。
这里写图片描述
天文学:HTRU2数据集中脉冲星的预测。
  十年来,机器学习方法已被用于识别无线电波信号中的脉冲[27]。 最近发布的高分辨率宇宙测量(HTRU2)数据集,共有1639个实际脉冲星和16259个杂散信号。目前,10折交叉验证的AUC值最高为0.976,这是通过朴素贝叶斯分类器实现的,其次是决策树C4.5,0.949和SVMs为0.929。这里用到的八个特征是由脉冲特征实验室(PulsarFeatureLab)构造的,是传统的特征[27],此外还使用10折嵌套交叉验证来评估FNN的性能,在进行交叉验证时,我们在验证集的内部循环中选择超参数(有关超参数选择的详细信息,请参见A4节)。表3给出了AUC,结果表明:SNN优于其他所有方法,并将最新技术水平推向了0.98的AUC。
表3:HTRU2上的FNN和参考方法在AUC方面的比较。第一、四和七列给出了不同方法,第二、五和八列给出AUC平均值超过10的交叉验证结果,第三和第六列给出AUC的 Wilcoxon测试得到的p值数据(与最佳性能的10折交叉方法进行对照)。结果表明:FNN得到了比朴素贝叶斯(NB)、C4.5和SVM更好的效果,且SNN的性能最好,并创造新的纪录。
这里写图片描述

结论

  我们提出了自归一化神经网络,并且已经证明了当神经元激励在网络中传播时是在朝零均值(zero mean)和单位方差(unit variance)的趋势发展的。而且,对于没有接近单位方差的激励,我们也证明了方差映射的上限和下限。于是 SNN 不会产梯度消失和梯度爆炸的问题。因此,SNN 非常适用于这种多层结构,这样我们便可引入一个全新的正则化(regularization)机制,从而更稳健地进行学习。在 121UCI 基准数据集中,SNN 已经超过了其他一些包含或不包含归一化方法的 FNN,比如批归一化(batch)、层级归一化(layer)、权重归一化(weight normalization)或其它特殊结构(Highway network 或 Residual network)。SNN在药物研发和天文学任务中也同样取得了完美的结果。和其他的 FNN 网络相比,性能最佳的 SNN 其结构深度通常会更深。

2017年8月30日
转载请声明来自:飘逸慕嫣然 http://blog.csdn.net/caixinqiworld/

原创粉丝点击