過擬合:在訓練資料上得分很高,在測試資料上得分相對比較低
欠擬合:在訓練資料上得分很低,在測試資料上得分相對比較低
與網路中的可訓練引數成正比。網路中的神經單元數越多,層數越多,神經網路的擬合能力越強。但是訓練速度、難度越大,越容易產生過擬合。
所謂超引數,也就是搭建神經網路中,需要我們自己如選擇(不是通過梯度下降演算法去優化)的那些引數。比如,中間層的神經元個數、學習速率。
一種顯然的想法是增大網路容量:
1.增加層
2.增加隱藏神經元個數
單純的增加神經元個數對於網路效能的提高並不明顯,增加層會大大提高網路的擬合能力,這也是為什麼現在深度學習的層越來越深的原因,但是單層的神經元個數,不能太小,太小的話,會造成資訊瓶頸,使得模型欠擬合,理想的模型是剛好在欠擬合和過擬合的界線上,也就是正好擬合資料。
首先開發乙個過擬合的模型:
(1)新增更多的層。
(2)讓每一層變得更大。
(3)訓練更多的輪次
然後,抑制過擬合:
(1)dropout
(2)正則化
(3)影象增強
(4)增加訓練資料(最好的方法)
再次,調節超引數:學習速率,隱藏層單元數,訓練輪次。
超引數的選擇是乙個經驗與不斷測試的結果。經典機器學習的方法,如特徵工程、增加訓練資料也要做交叉驗證
總的原則是:保證神經網路容量足夠擬合資料
一、增大網路容量,直到過擬合
二、採取措施抑制過擬合
三、繼續增大網路容量,直到過擬合
深度學習 網路超引數設定
網路超引數包括 輸入影象畫素 卷積層引數 池化層引數。應事先將影象統一壓縮至 2n 2 n大小。具體可檢視tensorflow中的api tf.nn.conv2d tf.nn.conv2d input,filter,strides,padding,use cudnn on gpu none,name...
網路優化與超引數選擇
可以認為與網路中的可訓練引數成正比。網路中的神經單元數越多,層數越多,神經網路的擬合能力越強。但是訓練速度 難度越大,越容易產生過擬合。所謂超引數,也就是搭建神經網路中,需要我們自己如選擇 不是通過梯度下降演算法去優化 的那些引數。比如,中間層的神經元個數 學習速率。一種顯然的想法是增大網路容量 1...
深度學習網路與演算法整理
一.基礎網路 1.2014 vgg very deep convolutional networks for large scale image recognition 翻譯 2.tensorflow實現vggnet 3.python3下tensorflow練習 六 之vgg16 vgg19探索 4...