[Kaiming]Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
@article{he2015delving,
title={Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification},
author={He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
pages={1026--1034},
year={2015}}
概
本文介绍了一种PReLU的激活函数和Kaiming的参数初始化方法.
主要内容
PReLU

\left \{ \begin{array}{ll}
y_i, & y_i >0, \\
a_i y_i, & y_i \le 0.
\end{array} \right.
\]
其中\(a_i\)是作为网络的参数进行训练的.
等价于
\]
特别的, 可以一层的节点都用同一个\(a\).
Kaiming 初始化
Forward case
\]
在卷积层中时, \(\mathbf{x}_l\)是\(k\times k \times c\)的展开, 故\(\mathrm{x}_l\in \mathbb{R}^{k^2c}\), 而\(\mathbf{y}_l \in \mathbb{R}^{d}\), \(W_l \in \mathbb{R^{d \times k^2c}}\)(每一行都可以视作一个kernel), 并记\(n=k^2c\).
\]
则
\]

假设\(w_l\)与\(x_l\)(注意没粗体, 表示\(\mathbf{w}_l, \mathbf{x}_l\)中的某个元素)相互独立, 且\(w_l\)采样自一个均值为0的对称分布之中.
则
\]
除非\(E[x_l]=0\), \(Var[y_l] = n_lVar[w_l]Var[x_l]\), 但对于ReLu, 或者 PReLU来说这个性质是不成立的.
如果我们令\(b_{l-1}=0\), 易证
\]
其中\(f\)是ReLU, 若\(f\)是PReLU,
\]
下面用ReLU分析, PReLU是类似的.
故
\]
自然我们希望
\]
Backward case
\Delta \mathbf{x}_l = \hat{W}_l \Delta \mathbf{y}_l,
\]
\(\Delta \mathbf{x}_l\)表示损失函数观念与\(\mathbf{x}_l\)的导数, 这里的\(\mathbf{y}_l\)与之前提到的\(\mathbf{y}_l\)有出入, 这里需要用到卷积的梯度回传, 三言两语讲不清, \(\hat{W}_l\)是\(W_l\)的一个重排.
因为\(\mathbf{x}_l=f(\mathbf{y}_{l-1})\), 所以
\]
假设\(f'(y_l)\)与\(\Delta x_{l+1}\)相互独立, 所以
\]
若\(f\)为ReLU:
\]
若\(f\)为PReLU:
\]
下面以\(f\)为ReLU为例, PReLU类似
\]
这里\(\hat{n}_l=k^2d\)为\(\mathbf{y}_l\)的长度.
和前向的一样, 我们希望\(Var[\Delta x_l]\)一样, 需要
\]
是实际中,我们前向后向可以任选一个(因为误差不会累积).
[Kaiming]Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification的更多相关文章
- 微软亚洲实验室一篇超过人类识别率的论文:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification ImageNet Classification
在该文章的两大创新点:一个是PReLU,一个是权值初始化的方法.下面我们分别一一来看. PReLU(paramter ReLU) 所谓的PRelu,即在 ReLU激活函数的基础上加入了一个参数,看一个 ...
- PReLU——Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
1. 摘要 在 \(ReLU\) 的基础上作者提出了 \(PReLU\),在几乎没有增加额外参数的前提下既可以提升模型的拟合能力,又能减小过拟合风险. 针对 \(ReLU/PReLU\) 的矫正非线性 ...
- AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks
ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky ...
- 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)
ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...
- 《ImageNet Classification with Deep Convolutional Neural Networks》 剖析
<ImageNet Classification with Deep Convolutional Neural Networks> 剖析 CNN 领域的经典之作, 作者训练了一个面向数量为 ...
- C++ Low level performance optimize 2
C++ Low level performance optimize 2 上一篇 文章讨论了一些底层代码的优化技巧,本文继续讨论一些相关的内容. 首先,上一篇文章讨论cache missing的重要性 ...
- C++ Low level performance optimize
C++ Low level performance optimize 1. May I have 1 bit ? 下面两段代码,哪一个占用空间更少,那个速度更快?思考10秒再继续往下看:) //v1 ...
- [notes] ImageNet Classification with Deep Convolutional Neual Network
Paper: ImageNet Classification with Deep Convolutional Neual Network Achievements: The model address ...
- ImageNet Classification with Deep Convolutional Neural Networks(译文)转载
ImageNet Classification with Deep Convolutional Neural Networks Alex Krizhevsky, Ilya Sutskever, Geo ...
随机推荐
- 日常Java 2021/10/28
Java lterator Java lterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList和HashSet等集合.lterator是Java迭代器最简单的 ...
- Ubuntu Linux安装QT5之旅
1. QT 版本选择 如何选择QT版本,参考如下介绍 https://www.cnblogs.com/chinasoft/p/15226293.html 2. 在此以5.15.0解说 下载QT 版本 ...
- 大数据学习day16------第三阶段-----scala04--------1. 模式匹配和样例类 2 Akka通信框架
1. 模式匹配和样例类 Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句.类型检查等.并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配 1.1 模式匹 ...
- 容器之分类与各种测试(四)——multimap
multiset和multimap的具体区别在于,前者的key值就是自己存储的value,后者的key与value是分开的不相关的. 例程 #include<stdexcept> #inc ...
- Shell脚本实现自动修改IP地址
作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名.ip信息.网关等配置.修改成特定的主机名 ...
- 【Java 8】 Reduce方法
一:reduce rudece方法:从一个流中生成一个值 三个重载方法: Optional<T> reduce(BinaryOperator<T> accumulator); ...
- 解决git push报错error: failed to push some refs to 的问题
这个问题发生的背景一般是: 想把自己本地的某个项目关联到远程仓库并推送上去,接着他会做如下操作: 本地项目->远程创建仓库->本地关联远程->推送最新代码 最后一个步骤发生问题: 那 ...
- eclipse.ini顺序
-vmargs需放在-Dfile.encoding=UTF-8之前,否则会出现乱码 举例: -startup plugins/org.eclipse.equinox.launcher_1.3.0.v2 ...
- BS版本的TCP程序
// 使用Socket对象中的方法getInputStream,获取到网络字节输入流InputStream对象 InputStream is = socket.getInputStream();// ...
- ctfshow 红包题 武穆遗书
偶然见看到这道题,就下载了看了看.确实是我自己的逆向能力不够,逆不动.但是我似乎找到了非预期... 下载程序,ida打开,发现不对.后来发现是加了upx壳,拿软件去一下.再次ida打开. 其中buff ...