Xavier初始化和He初始化
转自https://blog.csdn.net/xxy0118/article/details/84333635
- Xavier初始化:
- 条件:正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。
- 初始化方法:
W∼U[−6√ni+ni+1√,6√ni+ni+1√]
W∼U[−ni+ni+16,ni+ni+16
- ]
- 假设激活函数关于0对称,且主要针对于全连接神经网络。适用于tanh和softsign
- 论文地址:Understanding the difficulty of training deep feedforward neural networks
- 参考资料:
深度学习之参数初始化(一)——Xavier初始化
- He初始化:
- 条件:正向传播时,状态值的方差保持不变;反向传播时,关于激活值的梯度的方差保持不变。
- 适用于ReLU的初始化方法:
W∼N[0,2niˆ−−√]
W∼N[0,ni^2
- ]
- 适用于Leaky ReLU的初始化方法:
W∼N[0,2(1+α2)niˆ−−−−−−−√] - W∼N[0,(1+α2)ni^2]
niˆ=hi∗wi∗dini^=hi∗wi∗di
其中,hihi、wiwi分别表示卷积层中卷积核的高和宽,而didi当前层卷积核的个数。- 疑问:在论文里,当前层卷积核个数di
di与当前层输出通道个数outiouti(下一层输入通道个数ini+1ini+1)是一致的,即di=outi−1=ini+1di=outi−1=ini+1。但是在tensorflow的实现中,di=ini∗outi
- di=ini∗outi。在用tensorflow实现He初始化时,应该以哪个为准?(个人倾向前者)
- 论文地址:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
- 参考资料:
深度学习之参数初始化(二)——Kaiming初始化
He初始化论文阅读笔记与实现
Xavier初始化和He初始化相关推荐
- 标准K-means算法的缺陷、K-mean++初始化算法、初始化算法步骤、Kmeans++算法实现
标准K-means算法的缺陷.K-mean++初始化算法.初始化算法步骤.Kmeans++算法实现 目录 标准K-means算法的缺陷.K-mean&
- Spark源码剖析 - SparkContext的初始化(八)_初始化管理器BlockManager
8.初始化管理器BlockManager 无论是Spark的初始化阶段还是任务提交.执行阶段,始终离不开存储体系.Spark为了避免Hadoop读写磁盘的I/O操作成为性能瓶颈,优先将配置信息.计算结 ...
- Java静态初始化,实例初始化以及构造方法
静态初始化:是指执行静态初始化块里面的内容. 实例初始化:是指执行实例初始化块里面的内容. 构造方法:一个名称跟类的名称一样的方法,特殊在于不带返回值. 1.一个对象第一次被创建时,先要加载该对象所属 ...
- 初始化全局变量实例说明C语言中初始化和未初始化的全局变量所在不同的段
本文是一篇关于初始化全局变量的帖子 实例说明C语言中初始化和未初始化的全局变量地点不同的段 一个程序: Makefile: objs := bss.oall: bss bss: $(objs)gcc ...
- 28.构造函数中,成员变量一定要通过初始化列表来初始化的?
首先要明确:如果对象成员是const或者引用的话,必须将其初始化! 构造函数中,成员变量一定要通过初始化列表来初始化的的几种情况! 1)对象成员是const或者引用 #include <iost ...
- 复制初始化和直接初始化
string str("12345"); string str = "12345"; 在写代码时忽然想到这个两个有啥区别呢,其实这个还是c++基础薄弱的原因 于 ...
- 【Java4】实例初始化,类初始化,/接口,多态,final/static,权限修饰符/native
文章目录 1.实例初始化过程:有几个构造器,就会有几个实例初始化方法 2.实例初始化和类初始化结合:先类(静态)后实 3.接口:只有abstract可省 3.1 鸟类案例:Flyable相当于父类的一 ...
- C++直接初始化与复制初始化的区别深入解析
首先:这是原文地址,这个哥们的文章解决了我的问题.谢谢这个哥们了.下面把原文地址放在这里: https://www.jb51.net/article/54773.htm C++中直接初始化与复制初始化 ...
- C++中的值初始化和默认初始化
1.值初始化 顾名思义,就是用数值初始化变量.如果没有给定一个初始值,就会根据变量或类对象的类型提供一个初始值.对于int类型其值初始化后的值为0. 2.默认初始化:如果定义变量时没有指定初值,则变量 ...
- 列表初始化和赋值初始化的使用注意事项
成员变量初始化方式有两种:列表初始化和赋值初始化.如下代码.但是这两种初始化表面上看着相同,但是用法和原理却并不相同.本篇博客主要讨论这两种初始化的使用方法和基本原理. class Test {pub ...
最新文章
- 工作10年后,再看String s = new String(xyz) 创建了几个对象?
- 实战!工作中常用到哪些设计模式
- 删除Linux的依赖库并进入救援模式恢复
- python for循环删除
- 【数据平台】sklearn库特征工程之特征选择和降维
- hapi logs 日志保存代码片段
- hbase 伪分布安装 java_HBase基础和伪分布式安装配置
- Python求转置矩阵最简便的方法
- SQL数据库不用SQL语句能显示全表的内容_Sql性能优化看这一篇就够了
- 构造函数与new关键字
- ssh连接aix问题与解决
- 计算机函数语法,clickhouse 函数语法
- Mysql基本增删改查
- 算法学习(十九)——A3C
- springboot+redis实现文章浏览量记录
- 大数据处理系统,分布式存储系统和分布式计算框架介绍
- 书籍推荐《麦肯锡教我的写作武器》
- 单硬盘win10+ubuntu双系统安装教程
- Tomcat中配置多个工程使用不同端口访问问题
- 瀑布模型的问题是什么?
热门文章
- 如何关闭win10自动更新_如何关闭win10系统自动更新
- dataframe 空值替换为0_缓解Pandas中DataFrame占用内存过高
- python 新建文件 hdfs_大数据学习(六):Python操作hdfs(包括追加数据文件到hdfs文件)...
- 使用CDN之后APACHE日志记录中IP地址不正确的解决方案
- 6502汇编 跳转以及返回
- 【MVC】Controller的使用
- UVA12299 线段树水水水,但别乱开空间= =
- 学习是一个漫长不能松懈的过程
- ubuntu 18.04安装oh my zsh
- @responseBody java_java-如何使用@ResponseBody从Spring Controller返回JSON数据