Self-Normalizing Neural Networks ,长达93页的附录足以成为吸睛的地方(给人感觉很厉害), 此paper提出了新的激活函数,称之为 SELUs ,其具有normalization的功能.

给人感觉只是在全连接层有效果,在CNN和RNN中貌似没有提及有效果

Abstract:

CNN在视觉的多个领域有很好的表现,然而 feed-forward neural networks(FNNs) (wiki上解释就是传统的前向传播网络)不能提取many levels of abstract representations(反正就是FNNs特征提取能力不够强),而作者提出的SNNs(self-normalizing neural networks)可以提取高级抽象特征,SNNs用了新的激活函数SELUs,这个激活函数就是 SNNs中S的含义,也就是 自归一化的性质。文章用了Banach fixed-point theorem 证明了如下结论:在SNNs里,即使存在noise和perturbations,经过多层的前向传播,activations 是可以接近于零均值,单位方差的。即使activations不是单位方差的, 作者也证明了是有方差上界和下界的,从而可以避免vanishing and exploding gradients。

作者在121个数据集上做了验证,用SNNs和FNNs作比较,SNNs全都比FNNs效果好。(其实就是说在对比全连接层时,用Selu激活函数会好,而在卷积层的表现如何呢? 作者并没有给出相应的实验和解释)

Introduction:

第一段讲的是deep learning中的RNN,CNN分别在 sequential tasks和vision 领域中表现很好,有多好呢,反正很好就对了,paper第一段就要写×××很厉害,很好.

第二段,画风突转, However,在非 sequential tasks和vision领域中,其他传统machin learning的方法可以获得最好的表现,少数情况下,FNNs即使是获得最好表现,其也是很浅层的,很难用深层的FNNs

(这一段成功的引出问题, 问题就是非 sequential tasks和vision领域下, FNNs的缺点,看来作者的SNNs就是要解决这个问题的,这个问题有个条件就是 非 sequential tasks和vision领域 下,针对FNNs 的缺点进行改善)

第三段,简介三个normalization.第一个 batch normalization,第二个Layer normalization,第三个 weight normalization.又来画风突转, However, 这三个normalization技术容易受到SGD,stochastic regularization(like dropout),and the estimation of the normalization parameters的影响.RNN和CNN可以通过weight sharing来克服这种影响(为什么?搞不懂啊),但是 FNN就不可以了,FNN容易受到这些normalization技术的影响,会导致high variance in the training error,这个 high variance呢,由会导致学习慢并且阻碍学习(不知道为什么,知道的同学希望在评论区讲一下吧 ). ## 标题 ##

作者再次抛出问题,说FNN这方面不行啊,意思是作者提出来的SNN要在这方面解决FNN不行的问题咯?

第四段:

说SNN相比于FNN是好的,很好的,非常好的

1. SNN robust to perturbations

2. do not have high variance in their training errors

3. SNN 可以使得neuron activations 有 零均值,单位方差.所以具有类似batch normalization的作用.

4. SNN中的Selu激活函数有着类似于 variance stabilization的性质,而 这个性质是可以避免 exploding and vanishing gradients的

Self-normalizing Neural Networks (SNNs):

Normalization and SNNs:

公式(1),及之前的内容都是讲一些定义,主要讲一个layer的 input的数据有一个mean和variance,通过这个layer之后会有新的mean和variance,那么这个mean和variance的变化(映射)就是用一个g()来表示,这个g()就是一个映射,表示input的(mean和variance) 到 output的(mean和variance) 的映射

接着definition1:

说了一个重要的性质,就是经过多次迭代,这个g()可以把 mean和varivance 给变到一个稳定点( stable fixed point),具体的g是这样的:

g(Ω) ⊆ Ω, where Ω = {(μ, ν) | μ ∈ [μmin, μmax ], ν ∈ [νmin , νmax ]}.

也就是说 mean和variance都有一个上界和下界的时候, 就可以通过反复迭代,到达一个 fixed point

因此,假如样本的mean和variance是在predefined intervals(我猜intervals就是上面这条公式的[μmin, μmax ], [νmin , νmax ] ,不知道正确不正确啊),那么 mean 和variance最终会收敛到一个fixed point.

Constructing SNN:

作者说通过调整g()的性能来构建一个SNN,看来这个g()在SNN中是非常重要的.

g()的设计仅有两种选择: (1) the activation function and (2) the initialization of the weights.

对于(1),作者提出 SELUs,也就是Selu激活函数.来看看函数形式把:

Deriving the Mean and Variance Mapping Function g:

考虑中心极限定理(大量相互独立的随机变量,其均值分布以正态分布为极限),可以得出g()映射之后的mean和variance

公式如下:

Stable and Attracting Fixed Point (0, 1) for Normalized Weights.

通过公式 4.5 以及假设fixed point 是(0,1), 可以求出参数 α01 ≈ 1.6733 and λ01 ≈ 1.0507

Stable and Attracting Fixed Points for Unnormalized Weights.

在学习过程当中,weight vector 不能保证一直是 normalized的,但是,只要 (ω, τ ) is close to (0, 1),

g() 还是可以到达一个接近(0,1 )的fixed point

Theorem 1.2.3 没有看了…就是讲证明

Initialization.

SNN的初始化采用如下初始化方法,从高斯分布中采样

New Dropout Technique

作者提出 “alpha dropout”, 根本原因是为了保证 dropout后的mena和varivance不会因dropout了一些神经元而改变

Applicability of the central limit theorem and independence assumption.

……

Experiments:

在121 UCI Machine Learning Repository datasets. 上进行实验,主要还是对比FNN嘛,在大于1000个data points的时候 SNN才会比其他机器学习算法有更好的表现.而小于1000个 data points时,random forests 和SVMs 要比SNN和其他的FNN要好.

作者还在Drug discovery,Astronomy上做了实验

【文献阅读】Self-Normalizing Neural Networks的更多相关文章

  1. 论文阅读 Streaming Graph Neural Networks

    3 Streaming Graph Neural Networks link:https://dl.acm.org/doi/10.1145/3397271.3401092 Abstract 本文提出了 ...

  2. 【文献阅读】Augmenting Supervised Neural Networks with Unsupervised Objectives-ICML-2016

    一.Abstract 从近期对unsupervised learning 的研究得到启发,在large-scale setting 上,本文把unsupervised learning 与superv ...

  3. 《Graph Neural Networks: A Review of Methods and Applications》阅读笔记

    本文是对文献 <Graph Neural Networks: A Review of Methods and Applications> 的内容总结,详细内容请参照原文. 引言 大量的学习 ...

  4. 【论文阅读】Learning Dual Convolutional Neural Networks for Low-Level Vision

    论文阅读([CVPR2018]Jinshan Pan - Learning Dual Convolutional Neural Networks for Low-Level Vision) 本文针对低 ...

  5. 阅读笔记 The Impact of Imbalanced Training Data for Convolutional Neural Networks [DegreeProject2015] 数据分析型

    The Impact of Imbalanced Training Data for Convolutional Neural Networks Paulina Hensman and David M ...

  6. [论文阅读] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (MobileNet)

    论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 本文提出的模型叫Mobi ...

  7. 【论文阅读】Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks

    Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks 参考 1. 人脸关键点: 2. ...

  8. 《The Unreasonable Effectiveness of Recurrent Neural Networks》阅读笔记

    李飞飞徒弟Karpathy的著名博文The Unreasonable Effectiveness of Recurrent Neural Networks阐述了RNN(LSTM)的各种magic之处, ...

  9. 【论文阅读】Clustering Convolutional Kernels to Compress Deep Neural Networks

    文章:Clustering Convolutional Kernels to Compress Deep Neural Networks 链接:http://openaccess.thecvf.com ...

随机推荐

  1. linux coreseek-4.1安装

    1.假设已经有coreseek-4.1-beta.tar.gz源文件 [root@qp232 ~]# cd /usr/local [root@qp232 local]# tar -zxvf /yd/l ...

  2. 使用Chrome DevTools直接调试Node.js与JavaScript(并行)

    Good News: 现在我们可以用浏览器调试node.js了!!! 前提 Node.js 6.3+, 这个可上Node.js官网自行下载: Chrome 55+. 如果您本地的chrome升级到最新 ...

  3. cocurrent包countdownlatch 倒计时门栓

    latch 英[lætʃ]美[lætʃ]n. 门闩; 弹簧锁; 锁是每个类的成员变量,它是这个类的固有属性,当然要声明为成员变量. 成员变量的初始化是通过对象的构造函数的. 锁是每个类的成员变量,它是 ...

  4. VUE -- 安装新模块

  5. Qt自己定义事件实现及子线程向主线程传送事件消息

    近期在又一次学习Qt的时候,由于要涉及到子线程与主线程传递消息,所以便琢磨了一下.顺便把有用的记录下来,方便自己以后查询及各位同仁的參考! 特此声明,本篇博文主要讲述有用的,也就是直接说明怎么实现,就 ...

  6. wireshark问题现象分析

    讲的非常透彻:建议学习 wireshark问题现象分析1:参考博客1 https://blog.csdn.net/u012398362/article/details/52276067 wiresha ...

  7. 【AS3 Coder】任务五:Flash 2D游戏的第二春(中)

    在上一节中,我们介绍了如何构建我们小小的90度角RPG游戏的背景,在这一节中我将为列位带来重头戏部分,隆重介绍我们的主角及NPC登场,噔噔噔噔……掌声在哪里?! 额,没听到掌声,罢了,直接开场吧. 本 ...

  8. 基于Storyboard的创建多分支NavigationController的方法

    如果遇到本文图片只展示一半的情况,多数情况下刷新一下浏览器即可 遇到的问题 我在写程序的时候碰到这样一个简单的需求,用户点击"我的XX"这样的功能时候,需要判断当前用户是否已经登录 ...

  9. 双人对战的球类游戏ios源代码项目

    双人对战的球类游戏源代码,这个是一款双人对战的ios球类游戏源代码.游戏的源代码也比較具体的,我们在屏幕上下看到各有一个球门.内有一球,两边通过控制轮盘使球进入对方的球门的.事实上玩法也非常easy的 ...

  10. react 打包后,项目部署完毕,刷新页面报错(404)

    原因解析: 之所以你在浏览器内可以由首页跳转到其他路由地址,是因为这是由前端自行渲染的,你在React Router定义了对应的路由,脚本并没有刷新网页访问后台,是JS动态更改了location. 当 ...