
摘要
深度学习通过卷积神经网络(CNNs)革新了视觉领域,并通过循环神经网络(RNNs)推动了自然语言处理的发展。然而,使用标准前馈神经网络(FNNs)的深度学习成功案例却较为罕见。表现良好的FNNs通常较浅,因此无法利用多层抽象表示。我们引入自归一化神经网络(SNNs),以实现高层次的抽象表示。虽然批归一化需要显式的归一化操作,但SNNs的神经元激活值会自动收敛到零均值和单位方差。SNNs的激活函数为“缩放指数线性单元”(Scaled Exponential Linear Units, SELUs),该函数具有自归一化的特性。利用巴拿赫不动点定理,我们证明了接近零均值和单位方差的激活值在经过多层网络传播后仍会收敛到零均值和单位方差——即使存在噪声和扰动也是如此。这一收敛性质使得SNNs能够(1)训练具有许多层的深层网络,(2)采用强正则化方法,以及(3)使学习过程高度稳健。此外,对于远离单位方差的激活值,我们还证明了其方差的上下界,从而消除了梯度消失和梯度爆炸的问题。我们在以下三个方面对SNNs进行了测试:(a)来自UCI机器学习库的121个任务;(b)药物发现基准测试;以及(c)天文学任务,并将其与标准FNN和其他机器学习方法如随机森林和支持向量机进行了比较。在121个UCI任务中,SNNs显著优于所有竞争性的FNN方法;在Tox21数据集上,SNNs的表现超过了所有竞争对手的方法;并且在一个天文学数据集中创下了新的记录。获胜的SNN架构往往非常深。相关实现代码可在以下地址获取:github.com/bioinf-jku/SNNs。