位置: IT常识 - 正文

深度学习参数初始化(二)Kaiming初始化 含代码

编辑:rootadmin
深度学习参数初始化(二)Kaiming初始化 含代码

推荐整理分享深度学习参数初始化(二)Kaiming初始化 含代码,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

目录

一、介绍

二、基础知识

三、Kaiming初始化的假设条件 

四、Kaiming初始化的简单的公式推导

1.前向传播

2.反向传播

五、Pytorch实现

深度学习参数初始化系列:

(一)Xavier初始化 含代码

(二)Kaiming初始化 含代码

一、介绍

        Kaiming初始化论文地址:https://arxiv.org/abs/1502.01852

        Xavier初始化在ReLU层表现不好,主要原因是relu层会将负数映射到0,影响整体方差。而且Xavier初始化方法适用的激活函数有限:要求关于0对称;线性。而ReLU激活函数并不满足这些条件,实验也可以验证Xavier初始化确实不适用于ReLU激活函数。所以何恺明在对此做了改进,提出Kaiming初始化,一开始主要应用于计算机视觉、卷积网络。

二、基础知识

1.假设随机变量X和随机变量Y相互独立,则有

        (1) 

 2.通过期望求方差的公式, 方差等于平方的期望减去期望的平方.

                (2)

 3.独立变量乘积公式

        (3)

4.连续性随机变量X的概率密度函数为f(x),若积分绝对收敛,则期望公式如下:

                        (4)

三、Kaiming初始化的假设条件 

        与Xavier初始化相似,Kaiming初始化同样适用Glorot条件,即我们的初始化策略应该使得各层的激活值和状态梯度的方差在传播过程中的方差保持一致;Kaiming初始化的参数仍然满足均值是0,且更新的过程中权重的均值一直是0。

        与Xavier初始化不同的,Kaiming初始化不在要求每层输出均值都是0(因为Relu这样的激活函数做不到啊);当然也不再要求f′(0)=1。

        Kaiming初始化中,前向传播和反向传播时各自使用自己的初始化策略,但是保证前向传播时每层的方差和反向传播时梯度的方差都是1。

四、Kaiming初始化的简单的公式推导

        我们使用卷积来进行推导,并且激活函数使用ReLU。

1.前向传播

        对于一层卷积,有:

                        (5)

         其中是激活函数前的输出,是权重的个数,是权重,是输入。

        根据(3)式,可将(4)式推导为:

        (6)

         根据假设,但是是上一层通过ReLU得到的,所以,则:

                (7)

 通过(2)式可得,则(7)式推导为:

深度学习参数初始化(二)Kaiming初始化 含代码

                        (8)

根据期望公式(4), 通过第层的输出来求此期望, 我们有, 其中表示ReLU函数.

                         (9)

其中表示概率密度函数,因为的时候,所以可以去掉小于0的区间, 并且大于0的时候,可推出:

                   (10)

因为是假设在0周围对称分布且均值为0, 所以也是在0附近分布是对称的, 并且均值为0(此处假设偏置为0),则

       (11) 

所以的期望是:

              (12)

 根据公式(2),因为的期望等于0,于是有:

则式(12)推导为:

                        (13)

将(13)式带入(8)式:

                        (14)

从第一层一直往前进行前向传播, 可以得到某层的方差为 :

这里的就是输入的样本, 我们会将其归一化处理, 所以, 现在让每层输出方差等于1, 即:

于是正向传播时,Kaiming初始化的实现就是下面的均匀分布:

高斯分布:

2.反向传播

因为反向传播的时候

                (15)

 其中表示损失函数对其求导. 为参数

根据(3)式:

 其中表示反向传播时输出通道数,最后得出

于是反向传播时,Kaiming初始化的实现就是下面的均匀分布:

高斯分布:

五、Pytorch实现import torchclass DemoNet(torch.nn.Module): def __init__(self): super(DemoNet, self).__init__() self.conv1 = torch.nn.Conv2d(1, 1, 3) print('random init:', self.conv1.weight) ''' kaiming 初始化方法中服从均匀分布 U~(-bound, bound), bound = sqrt(6/(1+a^2)*fan_in) a 为激活函数的负半轴的斜率,relu 是 0 mode- 可选为 fan_in 或 fan_out, fan_in 使正向传播时,方差一致; fan_out 使反向传播时,方差一致 nonlinearity- 可选 relu 和 leaky_relu ,默认值为 。 leaky_relu ''' torch.nn.init.kaiming_uniform_(self.conv1.weight, a=0, mode='fan_out') print('xavier_uniform_:', self.conv1.weight) ''' kaiming 初始化方法中服从正态分布,此为 0 均值的正态分布,N~ (0,std),其中 std = sqrt(2/(1+a^2)*fan_in) a 为激活函数的负半轴的斜率,relu 是 0 mode- 可选为 fan_in 或 fan_out, fan_in 使正向传播时,方差一致;fan_out 使反向传播时,方差一致 nonlinearity- 可选 relu 和 leaky_relu ,默认值为 。 leaky_relu ''' torch.nn.init.kaiming_normal_(self.conv1.weight, a=0, mode='fan_out') print('kaiming_normal_:', self.conv1.weight)if __name__ == '__main__': demoNet = DemoNet()
本文链接地址:https://www.jiuchutong.com/zhishi/300432.html 转载请保留说明!

上一篇:微信小程序获取用户openid(微信小程序获取手机号失败)

下一篇:学习CSS3,使用双旋转实现福到了的迎春喜庆特效(css3知识总结)

  • 论坛基本推广步骤(论坛基本推广步骤是什么)

    论坛基本推广步骤(论坛基本推广步骤是什么)

  • 小米mix4怎么设置关机密码(小米mix4锁屏壁纸怎么设置)

    小米mix4怎么设置关机密码(小米mix4锁屏壁纸怎么设置)

  • ios支付失败(苹果支付方式失败)

    ios支付失败(苹果支付方式失败)

  • ipad有必要买插卡版吗(ipad必须要用原装插头吗)

    ipad有必要买插卡版吗(ipad必须要用原装插头吗)

  • 计算机病毒寄生方式(计算机病毒寄生方式分类)

    计算机病毒寄生方式(计算机病毒寄生方式分类)

  • 怎么把快手上别人的视频变成自己的(怎么把快手上别人的视频水印去掉)

    怎么把快手上别人的视频变成自己的(怎么把快手上别人的视频水印去掉)

  • pm965最高支持的cpu(intel pm965)

    pm965最高支持的cpu(intel pm965)

  • 抖音直播广场是什么(抖音直播广场是哪个页面)

    抖音直播广场是什么(抖音直播广场是哪个页面)

  • 显存不足怎么解决方案(显存不足怎么解决是要加内存吗)

    显存不足怎么解决方案(显存不足怎么解决是要加内存吗)

  • 为什么新注册抖音没有观看量(为什么新注册抖音号没有最新特效)

    为什么新注册抖音没有观看量(为什么新注册抖音号没有最新特效)

  • leoa是什么手机(leoia是什么牌子手机)

    leoa是什么手机(leoia是什么牌子手机)

  • 支付宝怎么在相册扫福卡(支付宝怎么相互扫红包)

    支付宝怎么在相册扫福卡(支付宝怎么相互扫红包)

  • 抖音可以设置只给一个人看吗(抖音可以设置只给谁看吗)

    抖音可以设置只给一个人看吗(抖音可以设置只给谁看吗)

  • caps键盘在哪里(键盘的capslock在哪里)

    caps键盘在哪里(键盘的capslock在哪里)

  • 华为手机快手怎么没有小黄车(华为手机快手怎么k歌)

    华为手机快手怎么没有小黄车(华为手机快手怎么k歌)

  • 小天才监听功能在哪里(小天才监听功能在哪里 Z8)

    小天才监听功能在哪里(小天才监听功能在哪里 Z8)

  • wifi需要认证登录什么意思(WiFi需要认证登录)

    wifi需要认证登录什么意思(WiFi需要认证登录)

  • 什么是面向对象的操作系统(什么是面向对象设计)

    什么是面向对象的操作系统(什么是面向对象设计)

  • 华为P30pro手机怎么样使用u盘(华为p30pro手机怎么样)

    华为P30pro手机怎么样使用u盘(华为p30pro手机怎么样)

  • flypods青春版怎么充电(flypods青春版怎么看电量)

    flypods青春版怎么充电(flypods青春版怎么看电量)

  • 二维码扫一扫使用了什么识别方式(二维码扫一扫使用了什么识别功能)

    二维码扫一扫使用了什么识别方式(二维码扫一扫使用了什么识别功能)

  • smg9280是什么型号

    smg9280是什么型号

  • 小米钱包在哪(小米钱包app)

    小米钱包在哪(小米钱包app)

  • 计算机内部采用二进制主要原因是(计算机内部采用二进制表示数据十进制表示程序代码)

    计算机内部采用二进制主要原因是(计算机内部采用二进制表示数据十进制表示程序代码)

  • win11任务栏图标重叠怎么解决?win11任务栏图标重叠解决方法(win11任务栏图标删除)

    win11任务栏图标重叠怎么解决?win11任务栏图标重叠解决方法(win11任务栏图标删除)

  • aiepk.exe是什么进程 aiepk是什么文件的进程(exe是什么进程)

    aiepk.exe是什么进程 aiepk是什么文件的进程(exe是什么进程)

  • 微擎框架破解版v2.6.6去授权一键安装纯净商业版(微擎纯净框架,无任何限制)-电脑学习网(微擎框架开发小程序)

    微擎框架破解版v2.6.6去授权一键安装纯净商业版(微擎纯净框架,无任何限制)-电脑学习网(微擎框架开发小程序)

  • 增值税发票的红章压到金额没有关系吧
  • 为什么征收增值税体现了量益原则
  • 办公室转租怎么给对方开发票
  • 租办公室还要交什么税
  • 商品盘点短缺和溢余的核算
  • 长期股权投资的交易费用计入哪里
  • 计入当期损益的利得
  • 以实物抵债账务协议
  • 长期待摊费用摊销表
  • 海关免税设备清单
  • 房地产销售土地增值税纳税人减免申请核准表
  • 招标代理公司转让
  • 购买办公软件怎么入账
  • 开错的红字发票申请单上传了怎么撤销?
  • 免税和不免税的价格区别
  • 外贸企业当期认证的发票没申报影响退税吗?
  • 基本账户代发代扣怎么操作
  • 新注册公司税务报到
  • 小规模纳税人减征额怎么计算
  • 金税盘发票份数没有显示
  • 季度预缴所得税可以弥补以前亏损吗
  • 对方开的销项负数抵扣联怎么处理
  • 贷款资金取现就无法追查了吗
  • 劳务费没发票怎样下账
  • 法人把资产转移到国外有没有限制
  • linux的基础知识
  • protect.exe进程
  • 短期借款利息怎么做分录
  • 应付债券的会计处理
  • 一维频率分布表
  • aes加解密工具
  • 金税盘全额抵扣政策
  • 应收账款收不回来的情况说明
  • 发票上多盖了一个发票章
  • mongodb索引存储方式
  • 差旅费报销会计凭证
  • 员工向用人单位借钱怎么处理
  • 一次性发放年终奖金怎么扣除个人所得税144000有何意义
  • 一次性发放的年终奖金应按工资薪金代扣代缴个税
  • 应交增值税进项税额
  • 超市购物小票可以入账吗
  • 残疾人报税怎么报
  • 社保局会给失业人员打电话吗
  • 出口退税一般风险商品
  • 材料暂估入库的附件需要哪些资料
  • 接受捐赠的增值税可以抵扣吗
  • 逾龄资产对企业的影响
  • 投资收益在什么科目
  • 会计利润调增调减项目
  • 办公设备维修费会计分录
  • 发票信息不一致是怎么回事
  • 退货销售折让会计分录
  • 非限定性净资产属于什么科目
  • 小规模纳税人劳务派遣差额征税税率
  • 管家婆销售赠品是不是自动结转成本?
  • sql to sqlalchemy 转换的小例子
  • xp附件游戏
  • Windows移动中心里没有无线网络
  • win73d设置怎么设置
  • iphone制造成本
  • centos vncviewer
  • windows7粘滞键怎么关
  • win8.1怎么关机快捷键
  • 怎么彻底关闭windows更新
  • windows 8.1有哪些版本
  • cocos creator截图
  • cocos怎么用
  • jQuery.parseHTML() 函数详解
  • 分享js粘帖屏幕怎么弄
  • js实现登录功能
  • 深入理解android内核
  • vr project
  • android电池优化设置
  • 税务局窗口业务
  • 天津生育津贴如何查询申请进度
  • 中国税务干部
  • 银行收取手续费可以抵扣进项税额吗
  • 内蒙古国税网上办税厅
  • 如何落实请示汇报
  • 经营工作会议
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设