转自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初始化论文阅读笔记与实现