一介紹
該章主要是介紹深層網(wǎng)絡(luò), 該章節(jié)主要按照損失函數(shù),優(yōu)化技巧倆部分進(jìn)行展開。
二 損失函數(shù)
在損失函數(shù)介紹幾種經(jīng)典損失函數(shù):
1. 交叉熵:刻畫了倆個概率分布之間的距離,它是分類問題中使用比較廣的一種損失函數(shù),計算公式如下:
? ? ? ? ? ? ? ? ? ?
注意:H(p,q) != H(q, p)即交叉熵不滿足對稱性,它刻畫的是通過概率分布q來表達(dá)概率分布p的困難程度。因為正確答案是希望得到的結(jié)果,所以當(dāng)交叉熵作為損失函數(shù)時,P代表的是正確答案, q代表的是預(yù)測值。交叉熵刻畫的是倆個概率分布的距離,也就是說交叉熵值越小,倆個概率分布越接近。
tips: 因為log x,如果x小于等于0會報錯,所以在損失函數(shù)需要注意這種情況,在tensorlow中tf.clip_by_value可以將一個張量中的數(shù)值控制在一個范圍內(nèi)。

2. 自定義損失函數(shù):根據(jù)需要,需要自己定義損失函數(shù),比如:當(dāng)x>y時:
tips:需要用到tf.greater()以及tf.where
tf.where 有三個參數(shù)。第一個為選擇條件依據(jù),當(dāng)選擇條件為true時,tf.where函數(shù)會選擇第二個參數(shù)中的值,否則使用第三個參數(shù)中的值。
三神經(jīng)網(wǎng)絡(luò)優(yōu)化算法
3.1 學(xué)習(xí)率設(shè)置
學(xué)習(xí)率決定了參數(shù)更新的幅度。如果幅度過大,那么可能導(dǎo)致參數(shù)在極優(yōu)值的倆側(cè) 來回移動。為了設(shè)置合理的學(xué)習(xí)率,在本書中提到了指數(shù)衰減法。tf.train.exponential_decay。原理是可以先使用較大的學(xué)習(xí)率來得到一個比較優(yōu)的解,然后隨著迭代的繼續(xù)逐步減小學(xué)習(xí)率。主要是事先的是:? ? ? ? ?learning_rate表示學(xué)習(xí)率, decay_rate表示衰減系數(shù),decay_steps為衰減速度? ? ? ? ? ? ? ? ? ? ? ?tips:函數(shù)還有一個參數(shù)staircase布爾型, 如果為 true表示在一個數(shù)據(jù)集內(nèi)學(xué)習(xí)率是一樣的,即decay_rate的指數(shù)取整
3.2 過擬合問題
過擬合問題表示在訓(xùn)練集訓(xùn)練的太好,將噪音數(shù)據(jù)都學(xué)出來了,在驗證集上的表現(xiàn)卻太差。為了讓模型的結(jié)構(gòu)不至于負(fù)責(zé)。引入了正則化的概念。
L1:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
L2:
? ?????????????????????????????????????????????
將正則化添加到損失函數(shù),可以有效避免過擬合的問題。tensorflow中正則化的表達(dá)式為tf.contrib.layers.l2_regularizer(lambda),lambda為權(quán)重。

3.3 滑動平均模型
在tensorflow提供tf.train.ExponentialMovingAverage來實現(xiàn)滑動平均模型。 該函數(shù)就是給每一個變量維護(hù)一個影子變量。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????????????? ? ? ? ? ? tips: decay衰減率控制模型更新速度。如果函數(shù)參數(shù)中有step參數(shù),即模型迭代次數(shù),衰減率為:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
? ? ? ? ? ? ??
具體代碼如下:

四 總結(jié)
該部分主要介紹了一些trick,可以提高模型的穩(wěn)定性,避免過擬合。