tensorflow基础
過擬合:
過擬合是機器學(xué)習(xí)中一個常見的問題,它是指模型預(yù)測準確率在訓(xùn)練集上升高,在測試集上反而下降,這通常意味著泛化性不好,模型只是記憶了當前數(shù)據(jù)的特征,不具備推廣能力。
解決辦法:Hinton提出的dropout,在使用復(fù)雜的cnn訓(xùn)練圖像數(shù)據(jù)時尤為有效,大致思路是在訓(xùn)練時,將網(wǎng)絡(luò)某一層的輸出節(jié)點數(shù)據(jù)隨機丟棄一部分(可以理解為將一整圖片上50%的點變成黑點),每次丟棄節(jié)點可以看做是對特征的一種采樣,相當于我們訓(xùn)練了一個ensemble的神經(jīng)網(wǎng)絡(luò)模型,對每個樣本都做特征采樣,只不多沒有訓(xùn)練多個神經(jīng)網(wǎng)絡(luò),只有一個融合的神經(jīng)網(wǎng)絡(luò)。
參數(shù)調(diào)試:
神經(jīng)網(wǎng)絡(luò)通常不是一個凸優(yōu)化的問題,他處處充滿著局部最優(yōu)(比如在我的網(wǎng)絡(luò)中,lr設(shè)置為0.00001,過于小,因此它就跳不出這個坑坑,很快就收斂,這就是局部最小值,當我改變成0.0001時,我的loss開始重新震蕩,恢復(fù)正常),不同的lr可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)落入截然不同的局部最優(yōu)之中。SGD需要對學(xué)習(xí)速率等參數(shù)進行較為復(fù)雜的調(diào)試,而adagrad,adam,adadelta等自適應(yīng)的方法可以減輕調(diào)試參數(shù)的負擔。
梯度彌散:(梯度消失)
relu函數(shù)在坐標軸上是一條折線,信號在超過某個閾值時,神經(jīng)元才會進入興奮和活躍狀態(tài),平時處于抑制狀態(tài)。relu可以很好地傳遞梯度,經(jīng)過多層的反向傳播,梯度依舊不會大幅縮小,因此非常合適訓(xùn)練較深的網(wǎng)絡(luò)。,在實踐中大部分情況下,將隱藏層的激活函數(shù)從sigmoid替換為relu都可以帶來訓(xùn)練速度及模型準確率的提升,當然神經(jīng)網(wǎng)絡(luò)的輸出層一般還是sigmoid函數(shù),因為他最接近概率輸出分布。
?
CNN概念之局部連接,權(quán)值共享,降采樣:
1.局部連接:
圖片中的 像素點有空間相似性。每一個神經(jīng)元不需要接受某張圖片全部像素的信息,只需要接受局部像素點作為輸入,而后,神經(jīng)元將所有這些神經(jīng)元接收到的信息綜合起來就可以得到全局信息。
2.權(quán)值共享:
輸入層和隱藏層的連接方式是卷積操作,即默認每一個隱藏節(jié)點到同一個神經(jīng)元的參數(shù)都完全一樣,這一層所有的參數(shù)即卷積核的尺寸,因此不論隱藏節(jié)點或圖片有多大,參數(shù)量只和卷積核大小有關(guān)。
每一個卷積核都是圖像一類特征的映射,即一個feature map。卷積核數(shù)量越多,能夠抽象出來的高階特征越多。
3.
轉(zhuǎn)載于:https://www.cnblogs.com/nkh222/p/8116696.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的tensorflow基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OC 中的属性
- 下一篇: @JsonIgnorePropertie