我在几个 jupyter 笔记本中看到人们使用以下方法初始化 NN 权重:
np.random.randn(D, M) / np.sqrt(D)
其他时候他们只是这样做:
np.random.randn(D, M)
将高斯分布除以层中神经元数量的平方根有什么好处?
谢谢
我在几个 jupyter 笔记本中看到人们使用以下方法初始化 NN 权重:
np.random.randn(D, M) / np.sqrt(D)
其他时候他们只是这样做:
np.random.randn(D, M)
将高斯分布除以层中神经元数量的平方根有什么好处?
谢谢
我认为他们使用 Xavier/Glorot 的初始化方法。您可以从原始论文中阅读:
我们将偏差初始化为 0,权重在每一层使用以下常用的启发式方法:
在哪里是区间内的均匀分布和是前一层的大小(的列数)
有些人使用它,因为一些报告说这种初始化方法会导致更好的结果