参与:蒋思源、Smith、李亚洲 近日,arXiv 上公开的一篇 NIPS 投稿论文《Self-Normalizing Neural Networks》引起了圈内极大的关注,它提出了缩放指数型线性单元(SELU)而引进了自归一化属性,该单元主要使用一个函数 g 映射前后两层神经网络的均值和方差以达到归一化的效果。该论文的作者为 Sepp Hochreiter,也就是当年和 Jürgen Schmidhuber 一起发明 LSTM 的大牛,之前的 ELU 同样来自于他们组。有趣的是,这篇 NIPS 投稿论文虽然只有 9 页正文,却有着如同下图一样的 93 页证明附录。
在这篇文章中,机器之心对该论文进行了概要介绍。此外,Github 上已有人做出了论文中提出的 SELUs 与 ReLU 和 Leaky ReLU 的对比,我们也对此对比进行了介绍。
论文地址:https://arxiv.org/pdf/1706.02515.pdf 摘要:深度学习不仅通过卷积神经网络(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) 天文学任务上采用标准 FNN 和其他机器学习方法(如随机森林、支持向量机等)的性能。SNN 在 121 个 UCI 任务上显著地优于所有竞争的 FNN 方法,并在 Tox21 数据集上超过了所有的竞争方法,同时 SNN 还在天文数据集上达到了新纪录。该实现的 SNN 架构通常比较深,实现可以在以下链接获得:。 前言 深度学习在许多不同的基准上都达到了新记录,并促进了各种商业应用的发展 [25, 33]。循环神经网络(RNN)[18] 令语音和自然语言处理达到了新阶段。而与其相对应的卷积神经网络(CNN)[24] 则变革了计算机视觉和视频任务。 然而,当我们回顾 Kaggle 竞赛时,通常很少有任务是和计算机视觉或序列任务相关的,梯度提升、随机森林或支持向量机(SVM)通常在绝大多数任务上都能取得十分优秀的表现。相反,深度学习却表现并不优异。 为了更鲁棒地训练深度卷积神经网络(CNN),批归一化发展成了归一化神经元激励值为 0 均值和单位方差 [20] 的标准方法。层级归一化(Layer normalization)[2] 确保了 0 均值和单位方差,因为如果上一层的激励值有 0 均值和单位方差,atv,那么权值归一化 [32] 就确保了 0 均值和单位方差。然而,归一化技术在训练时通常会受到随机梯度下降(SGD)、随机正则化(如 dropout)和估计归一化参数所扰动。 自归一化神经网络(SNN)对于扰动是具有鲁棒性的,它在训练误差上并没有高方差(见图 1)。SNN 令神经元激励值达到 0 均值和单位方差,从而达到和批归一化相类似的效果,而这种归一化效果可以在许多层级的训练中都保持鲁棒性。SNN 基于缩放指数型线性单元(SELU)而引进了自归一化属性,因此方差稳定化(variance stabilization)也就避免了梯度爆炸和梯度消失。 自归一化神经网络(SNN) 归一化和 SNN
图 1:左边图表和右边图表的 y 轴展示了带有批归一化(BatchNorm)和自归一化(SNN)的前馈神经网络(FNN)的训练损失,x 轴代表迭代次数,该训练在 MNIST 数据集和 CIFAR10 数据集上完成。我们测试的神经网络有 8、16 和 32 层,且学习率为 1e-5。采用批归一化的 FNN 由于扰动出现了较大的方差,但 SNN 并不会出现较大的方差,因此 SNN 对扰动会更加鲁棒,同时学习的速度也会更加迅速。 构建自归一化神经网络 我们通过调整函数 g 的属性以构建自归一化神经网络。函数 g 只有两个可设计的选择:(1) 激活函数和 (2) 权重的初始化。 通过映射函数 g 派生均值和方差 (责任编辑:本港台直播) |