1樓:
以卷積神經網路為例,如果你初試化兩個卷積核權值都一樣,那麼在一次訓練後兩個卷積核變化都一樣,卷積後的特徵層都一樣;如果你定義了100個一樣的卷積核本質上只提取了乙個特徵。
如果你一百個卷積核的權值隨機定義,你就能提取100個特徵。
keras 沒有初始化權值的**,那預設是怎麼初始化的
2樓:網友
keras一般預設的是glorot_uniform初始化,不同的層可能有不同的初始化方法,keras手冊裡邊沒有提到,但是可以檢視原始碼。舉個例子,對於dense layer:
class dense(layer):
.def __init__(self, units,activation=none,use_bias=true,kernel_initializer='glorot_uniform',bias_initializer='zeros',kernel_regularizer=none,bias_regularizer=none,activity_regularizer=none,kernel_constraint=none,bias_constraint=none,**kwargs):
3樓:最後乙隻恐龍
, init='uniform'))
uniform:均勻分佈。
lecun_uniform:是在lecun在98年發表的**中基於uniform的一種方法。區別就是lecun_uniform的scale=sqrt(3/f_in)。
f_in就是待初始化權值矩陣的行。
normal:正態分佈(高斯分佈)。
identity :用於2維方陣,返回乙個單位陣。
orthogonal:用於2維方陣,返回乙個正交矩陣。
zero:產生乙個全0矩陣。
glorot_normal:基於normal分佈,normal的預設 sigma^2=scale=,而此處sigma^2=scale=sqrt(2 / (f_in+ f_out)),其中,f_in和f_out是待初始化矩陣的行和列。
glorot_uniform:基於uniform分佈,uniform的預設scale=,而此處scale=sqrt( 6 / (f_in +f_out)) 其中,f_in和f_out是待初始化矩陣的行和列。
he_normal:基於normal分佈,normal的預設 scale=,而此處scale=sqrt(2 / f_in),其中,f_in是待初始化矩陣的行。
he_uniform:基於uniform分佈,uniform的預設scale=,而此處scale=sqrt( 6 / f_in),其中,f_in待初始化矩陣的行。
深度學習 如何找到訓練最優權重
4樓:長頸鹿表示驚慌
alphago依靠精確的專家評估系統(value network):專家系統是乙個智慧型電腦程式系統,其內部含有大量的某個領域專家水平的知識與經驗,能夠利用人類專家的知識和解決問題的方法來處理該領域問題。
基於海量資料的深度神經網路(policy network):多層的好處是可以用較少的參數列示複雜的函式。在監督學習中,以前的多層神經網路的問題是容易陷入區域性極值點。
如果訓練樣本足夠充分覆蓋未來的樣本,那麼學到的多層權重可以很好的用來**新的測試樣本。但是很多工難以得到足夠多的標記樣本,在這種情況下,簡單的模型,比如線性迴歸或者決策樹往往能得到比多層神經網路更好的結果。非監督學習中,以往沒有有效的方法構造多層網路。
多層神經網路的頂層是底層特徵的高階表示,比如底層是畫素點,上一層的結點可能表示橫線,三角; 而頂層可能有乙個結點表示人臉。
傳統的人工智慧方法蒙特卡洛樹搜尋的組合:是一種人工智慧問題中做出最優決策的方法,一般是在組合博弈中的行動(move)規劃形式。它結合了隨機模擬的一般性和樹搜尋的準確性。
深度學習中怎麼把訓練好的權值賦給複雜的網路用於初始化
5樓:網友
dnn 從名字上你就可以看出來,是深度神經網路,類比於淺層神經網路,它的訓練方法也是bp,沒有引入無監督的預訓練。隱層的啟用函式使用了 relu,改善了「梯度彌散」,通過正則化+dropout 改善了過擬合的現象,在輸出層 是softmax 作為啟用函式。目標函式是交叉熵。
他是乙個 有監督的判別模型。
stacked denoised autoencoder (sda)深度學習結構,和dbn類似 使用 無監督的網路「堆疊」起來的,他有分層預訓練來尋找更好的引數,最後使用bp來微調網路。比dnn利用各種演算法來初始化權值矩陣,從經驗上來看是有幫助的。但是缺點也很明顯,每層的貪婪學習權值矩陣,也帶來了過長的訓練時間。
在大量的資料面前 dnn(relu)的效果已經不差於預訓練的深度學習結構了。最終dbn也是看成是「生成模型」。
cnn 也沒有pre-train過程,訓練演算法也是用bp。 因為加入卷積 可以更好的處理2d資料,例如影象和語音。並且目前看來 相比其它網路有更好的表現。
dnn/dbn/sda 等都是處理1d的資料。
怎樣將深度學習和隨機共振聯絡起來?
6樓:網友
深度學習是在深度神經網路引數未知的情況下通過隨機初始化引數並迭代訓練的手段來使模型收斂,整體結構和引數最優使得輸出響應與預期響應擬合,達到共振的效果。
python深度學習框架學哪個
深度學習的概念源於人工神經網路的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特徵形成更加抽象的高層表示差鏈屬性類別或特徵,以發現資料的分散式特徵表示。晦澀難懂的概念,略微有些難以理解,但是在其如帆高冷的背後,卻有深遠的應用場景和未來。深度學習是實現機器學習的一種方式或一條路徑...
什麼是深度學習啊?一直在看到優就業的深度學習
深度學習簡單來說就是一種技術,目的在於實現人工智慧。機器學習是實現人工智慧的方法,深度學習是實現機器學習的技術。機器學習在實現人工智慧時中需要人工輔助 半自動 而深度學習使該過程完全自動化 深度學習的概念源於人工神經網路的研究,含多個隱藏層的多層感知器就是一種深度學習結構,通過組合低層特徵形成更加抽...
學好深度學習,python得達到什麼程度
會基本矩陣運算 numpy 裝好keras 就可以開始使用深度學習了。就在上個專星期,我從裝完keras到做完一屬個kaggle上的貓狗 的資料分類,達到90 的準確度。照著網上的攻略,用vgg16分類貓狗的那個 只用了三天時間,程式設計時間不到二十小時。在此之前我對深度學習一竅不通,甚至不知道什麼...