影響的關鍵因素:
1.樣本數量K:不影響隨機梯度的期望,但是會影響方差
K越大,方差越小
K較大時可以設置大學習率,引入噪聲提升訓練穩定性
K較小時可以設置小學習率,否則會出現不收斂的現象
K值與學習率的關系:線性縮放規則。
K值對收斂的影響:
K值較大時,計算效率提升神經網絡 參數初始化,迭代效率可能下降(單步較慢)
K值越小,模型泛化能力越強
一般來說K可以設置得更大(樣本數量足夠時)
2.梯度:以“加權移動平均”作為參數更新的方向(動量化)
梯度截斷
3.學習率:動態學習率
隨時間遞減
②動態學習率
應用于小批量隨機梯度下降
理想狀態:一開始步長盡可能大,接近最優解時應當減小以免過沖
學習率衰減: 階梯衰減、線性衰減
逆時衰減:
指數衰減:
自然指數衰減:
余弦衰減:
周期性學習率調整:三角循環學習率、帶熱重啟的余弦衰減(整體遞減)
周期性調整的原因:為了跳出局部最優
③其他學習率調整方法
增大批量大小(K與
正相關)
學習率預熱(初始化時梯度不穩定)
自適應學習率
④梯度估計修正
1.動量法
用之前累積的動量代替真正的梯度
負梯度的“加權移動平均”;每次迭代的梯度可以看作是加速度,可以近似看作二階梯度。
2.加速梯度
3.Adam算法
動量法+
step1:計算兩個移動平均
step2:偏差修正
step3:更新
4.梯度截斷(用于解決梯度爆炸問題)
按值截斷:
值處于[a,b]區間內
按模截斷:
模值最大為b
2.小結
大部分優化算法可以描述為:
為t步的學習率
為t步的梯度
四、參數初始化
參數不能初始化為0,會造成對稱權重問題(回傳參數時,第一層的所有神經元都保持一致,無法判別其權重,會導致神經網絡喪失能力)
初始化方法:①預訓練初始化 ②隨機初始化 ③固定值初始化(偏置通常0初始化)
1.隨機初始化
高斯分布:參數從一個固定均值和固定方差的高斯分布進行隨機初始化
均勻分布:參數在區間[-r,r]內采用均勻分布進行初始化
范數保持性:為了避免梯度爆炸/梯度消失問題,誤差項應盡可能=1(不放大/縮小)
基于方差縮放的參數初始化
正交初始化
step1:用均值為0、方差為1的高斯分布初始化一個矩陣
step2:將這個矩陣用奇異值分解得到兩個正交矩陣(使用其中之一作為權重矩陣)--通常用于RNN
五、數據預處理 1.尺度不變性
算法在縮放全部或部分特征后不影響學習和預測。
不同輸入特征的尺度差異過大時會造成以下困難:
1.參數初始化較為困難
2.優化效率
2.規范化
①最小最大值規范化
②標準化
其中
③PCA(計算較為復雜,一般不使用標準化就夠了)
3.逐層規范化
目的:更好的尺度不變性;內部協變量偏移(激活值分布隨參數變化而變化);更平滑的優化地形。
①批量規范化
第 l 層神經網絡為:
給定K個樣本的小批量集合,方差和均值為:
批量規范化:
優點:提高優化效率;隱形的正則化優化方法(使得神經網絡不會過分依賴某個樣本,從而提高網絡的泛化能力)
缺點:小批量樣本不能太小;無法應用到循環神經網絡
②層規范化
第 l 層神經元的凈輸入為
層規范化定義
4.超參數優化
超參數:層數、每層神經元個數、激活函數、學習率、正則化稀疏、mini-batch大小
①網格搜索
假設共K個超參數,第k個超參數可以取
個值,并窮舉每種組合。
若超參數連續,則需要將其離散化(不等距離)
②隨機搜索
③其他方法
貝葉斯優化、動態資源分配、神經架構搜索
六、正則化
所有損害優化的算法。包括:
①增加優化約束(L1/L2約束、數據增強)
②干擾優化過程(權重衰減、隨機梯度下降、早停法、暫退法)
1.早停法
引入一個驗證集,每迭代一次使用驗證集測試一次,若驗證集錯誤率不再下降,則停止優化。
2.權重衰減
通過限制權重的取值范圍,降低模型能力
每次更新參數時,引入一個衰減系數
,(一般取值較小,如0.0005)
3.暫退法
神經層:
引入一個掩蔽函數使:
(m為掩碼,值域區間{0,1},使用概率為p的貝努利分布隨機生成)
會造成訓練和測試時網絡的輸出不一致的問題,可以對測試集降維
暫退法提升網絡正則化的解釋:
①集成學習的解釋
每進行一次暫退神經網絡 參數初始化,相當于從原始網絡中采樣得到一個子網絡,最后使用的可以視為2^n個子網絡的集成
②貝葉斯學習的解釋
暫退法一般不能直接應用在循環神經網絡(會損害其記憶能力)
變分暫退法
對參數矩陣的每個約束進行隨機暫退,所有時刻使用同樣的暫退掩碼
4.l1和l2正則化
優化問題可以寫作:
其中
為規范函數:l1和l2范數
為正則化系數
目標是使
需要使得l1,l2的絕對值小于1
標準的隨機梯度下降中,l2正則化等價于權重衰減
5.數據增強
人工構建新的樣本來增加訓練數據的數量和多樣性
①對x的增強
采用旋轉、翻轉、縮放、平移、加噪聲等方式來增強圖像數據
采用詞匯替換、回譯、隨機編輯噪聲(增刪改查、句子亂序)來增強文本數據
②對y的增強
標簽平滑:在輸出標簽中添加噪聲來避免過擬合