【文献阅读】Self-Normalizing Neural Networks
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的更多相关文章
- 论文阅读 Streaming Graph Neural Networks
3 Streaming Graph Neural Networks link:https://dl.acm.org/doi/10.1145/3397271.3401092 Abstract 本文提出了 ...
- 【文献阅读】Augmenting Supervised Neural Networks with Unsupervised Objectives-ICML-2016
一.Abstract 从近期对unsupervised learning 的研究得到启发,在large-scale setting 上,本文把unsupervised learning 与superv ...
- 《Graph Neural Networks: A Review of Methods and Applications》阅读笔记
本文是对文献 <Graph Neural Networks: A Review of Methods and Applications> 的内容总结,详细内容请参照原文. 引言 大量的学习 ...
- 【论文阅读】Learning Dual Convolutional Neural Networks for Low-Level Vision
论文阅读([CVPR2018]Jinshan Pan - Learning Dual Convolutional Neural Networks for Low-Level Vision) 本文针对低 ...
- 阅读笔记 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 ...
- [论文阅读] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (MobileNet)
论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 本文提出的模型叫Mobi ...
- 【论文阅读】Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks
Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks 参考 1. 人脸关键点: 2. ...
- 《The Unreasonable Effectiveness of Recurrent Neural Networks》阅读笔记
李飞飞徒弟Karpathy的著名博文The Unreasonable Effectiveness of Recurrent Neural Networks阐述了RNN(LSTM)的各种magic之处, ...
- 【论文阅读】Clustering Convolutional Kernels to Compress Deep Neural Networks
文章:Clustering Convolutional Kernels to Compress Deep Neural Networks 链接:http://openaccess.thecvf.com ...
随机推荐
- DQL数据查询语言
--查询全表select * from t_hq_ryxx; --查询字段select xingm as 姓名 ,gongz as 工资 from t_hq_ryxx; --链接字段查询select ...
- [置顶]
docker1.12--docker命令行帮助文档
镜像操作 build 使用dockerfile方式创建镜像 使用dockerfile文件docker build dockerflle/,dockerfile文件默认位于dockerflle/Dock ...
- Struts2实现登录权限访问控制
目录: Ⅰ 条件 Ⅱ 目的 Ⅲ 分析 Ⅳ 实现 Ⅴ 具体代码实现 ------------------------------------------------------------------- ...
- Linux内核实践之工作队列
工作队列(work queue)是另外一种将工作推后执行的形式,它和tasklet有所不同.工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行.这样,通过工作 ...
- ISP模块之RAW DATA去噪(二)--BM3D算法
在正式开始本篇文章之前,让我们一起回顾一下CFA图像去噪的一些基本思路与方法.接着我会详细地和大家分享自己学习理解的BM3D算法,操作过程,它的优缺点,最后会给出算法效果图供参考. 在ISP模块里,研 ...
- android layout 布局属性
控件属性: android属性 Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true或false android:layout ...
- Maven够用就好
学习maven.仅仅要知道pom.dependency.coordination就能够了,剩下的就是学习一个一个的plugin的Goal 配置maven 下载 http://maven.apac ...
- android-SQLite数据库MVC关联实例源码(三层架构)
前两天布置下了一个期末练习,其中的重点是两个表之间的SQLite关联操作. 拿到题目,首先需要建库和关联表,下面是代码. 我使用简单的表插入,将数据的提交卸载onCreate方法中,这样不会发生写在主 ...
- Windows局域网如何进行远程桌面连接
我们以虚拟机为例: 1 确保被控制的计算机允许远程连接 2 确保被控制的计算机有密码(一般人方便,只有一个administrator账号,而且不设密码,开机直接进入的,如果没有密码,将无法进行远程 ...
- MySQL架构组成之物理文件组成
一.日志文件 1.错误日志:Error Log 内容:MyQL Server 执行过程中全部较为严重的警告和错误信息,以及MySQL Server 每次启动和关闭的具体信息. 路径:默认存放位置在 ...