目录
权重初始化为正态分布
一般来讲权重矩阵是K个N维向量。从直觉上来讲,如果这K个N维向量在N维空间中均匀分布在以原点为中心的N-1维单位超球面上,在随机性上应该是最好的。因为这样,这K个向量的夹角为均匀分布。
此时问题变成了,如何在N-1维超球面上进行均匀采样。根据这篇论文A note on a method for generating points uniformly on n-dimensional spheres 可知,若对N维向量的每个分量进行N(0,1)的正态分布采样,生成K个N维向量,然后投影到单位超球面上,那么形成的K个N维向量在单位超球面上均匀分布。
所以用正态分布初始化,再单位化,就可以达到这种效果。当然也可以不必单位化(事实上每个向量还要用BN重新放缩,所以不可能单位化),此时也能达到K个向量的夹角为均匀分布。
但事实上在高维空间中的深度学习中的采样都是稀疏采样,很难达到真正的均匀分布。理论上我猜最好的方法是不用采样,而是用算法直接在N-1维超球面上进行均匀划分获得K个N维点。
原文链接: 点击跳转