深度學習 權重初始化為什麼要用正態分佈

2021-09-24 10:00:19 字數 504 閱讀 6880

一般來講權重矩陣是k個n維向量。從直覺上來講,如果這k個n維向量在n維空間中均勻分布在以原點為中心的n-1維單位超球面上,在隨機性上應該是最好的。因為這樣,這k個向量的夾角為均勻分布。

此時問題變成了,如何在n-1維超球面上進行均勻取樣。根據這篇**a note on a method for generating points uniformly onn-dimensional spheres可知,若對n維向量的每個分量進行n(0,1)的正態分佈取樣,生成k個n維向量,然後投影到單位超球面上,那麼形成的k個n維向量在單位超球面上均勻分布。

所以用正態分佈初始化,再單位化,就可以達到這種效果。當然也可以不必單位化(事實上每個向量還要用bn重新放縮,所以不可能單位化),此時也能達到k個向量的夾角為均勻分布。

但事實上在高維空間中的深度學習中的取樣都是稀疏取樣,很難達到真正的均勻分布。理論上我猜最好的方法是不用取樣,而是用演算法直接在n-1維超球面上進行均勻劃分獲得k個n維點。

鍊錶初始化為什麼要用雙重指標

list l insert l 初始化insert list l 初始化中 為什麼要雙重指標?意思是 你想通過函式來改變l的值,但是l是指標型別,所以你要改變它的值就要傳l的位址進去,因為雙重指標的意思就是指向指標的指標,就是指標的位址,那麼 l就是指向指標l的位址,那麼通過函式呼叫雙重指標就能改變...

深度學習 深度學習權重初始化

本文對cs231中的training neural networks的權重更新部分進行記錄 權重的初始化在深度神經網路中起著比較大的重要,算是乙個trick,但在實際應用上確是個大殺器。1.如果一開始把網路中的權重初始化為0,會發生什麼?因為權重初始為0,由於網路中的神經元的更新機制完全相同,由於網...

深度學習筆記 2 1 11 權重初始化

經過1.10節的分析,我們知道過大或過小的權重設定可能會帶來梯度 或消失的問題,嚴重影響我們計算神經網路的速度,加大神經網路的訓練難度。那麼應該如何初始化權重呢?如下圖所示 我們用單個神經元舉例,這裡同樣不考慮b的情況 b 0 這時z w1x1 w2x2 wnxn,當n很大時,我們希望能夠存在較小的...