[Kaiming]Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification

He K, Zhang X, Ren S, et al. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification[C]. international conference on computer vision, 2015: 1026-1034.

@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

在这里插入图片描述

f(yi)={yi,yi>0,aiyi,yi0.

其中ai是作为网络的参数进行训练的.
等价于

f(yi)=max(0,yi)+aimin(0,yi).

特别的, 可以一层的节点都用同一个a.

Kaiming 初始化

Forward case

yl=Wlxl+bl,

在卷积层中时, xlk×k×c的展开, 故xlRk2c, 而ylRd, WlRd×k2c(每一行都可以视作一个kernel), 并记n=k2c.

xl=f(yl1),

cl=dl1.

在这里插入图片描述

假设wlxl(注意没粗体, 表示wl,xl中的某个元素)相互独立, 且wl采样自一个均值为0的对称分布之中.

Var[yl]=nlVar[wlxl]=nlVar[wl]E[xl2],

除非E[xl]=0, Var[yl]=nlVar[wl]Var[xl], 但对于ReLu, 或者 PReLU来说这个性质是不成立的.

如果我们令bl1=0, 易证

E[xl2]=12Var[yl1],

其中f是ReLU, 若f是PReLU,

E[xl2]=1+a22Var[yl1].

下面用ReLU分析, PReLU是类似的.

Var[yl]=12nlar[wl]Var[yl1],

自然我们希望

Var[yi]=Var[yj]12nlVar[wl]=1,l.

Backward case

(13)Δxl=W^lΔyl,

Δxl表示损失函数观念与xl的导数, 这里的yl与之前提到的yl有出入, 这里需要用到卷积的梯度回传, 三言两语讲不清, W^lWl的一个重排.

因为xl=f(yl1), 所以

Δyl=f(yl)Δxl+1.

假设f(yl)Δxl+1相互独立, 所以

E[Δyl]=E[f(yl)]E[Δxl+1]=0,

f为ReLU:

E[(Δyl)2]=Var[Δyl]=12Var[Δxl+1].

f为PReLU:

E[(Δyl)2]=Var[Δyl]=1+a22Var[Δxl+1].

下面以f为ReLU为例, PReLU类似

Var[Δxl]=n^lVar[wl]Var[Δyl]=12n^lVar[wl]Var[Δxl+1],

这里n^l=k2dyl的长度.

和前向的一样, 我们希望Var[Δxl]一样, 需要

12n^lVar[wl]=1,l.

是实际中,我们前向后向可以任选一个(因为误差不会累积).

posted @   馒头and花卷  阅读(407)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2019-04-23 Robust PCA via Outlier Pursuit
点击右上角即可分享
微信分享提示