各個激活函數的優缺點算法
Sigmod編程
優勢微信
缺點網絡
Tanhapp
優勢ide
缺點函數
Relu性能
優勢學習
缺點優化
Leakly ReLu
優勢
缺點
ELU
優勢
缺點
如何選擇激活函數?
Relu-當心設置learning
rate(由於x>0的狀況下,導數均爲1),最好是設置一個比較小的值。
如何初始化CNN?(理論)
不要所有把超參數設置爲0(單層網絡能夠)
如何初始化CNN?(實踐)
Xavier-tanh(不太適合relu)
Fan_out輸出通道數
如何分析初始化參數結果好壞?
查看初始化後各層的激活值分佈
比較好的初始化結果
均值爲0,方差爲0.02
什麼叫梯度消失,梯度爆炸
當網絡層數過多時,前面層因爲求導過程乘積運算,出現weight與bias變得異常大與異常小的狀況
左下角的內容清楚的說明了梯度爆炸和梯度消失的場景
BN是什麼,爲何能提升收斂速度
批歸一化是什麼?
如上圖所示,BN步驟主要分爲4步:
爲何能提升收斂速度?
Tips
BN(實踐)
各個優化器的優缺點
優化器分兩種
固定學習率的優化算法
SGD隨機梯度降低
優勢
缺點
Momentum動量
優勢
缺點
自適應學習率的優化算法
Adagrad
優勢
缺點
RMSProp
優勢
缺點
Adam(結合了動量和RMSProp,通用方案)
梯度裁剪
介紹一下殘差網絡
爲何殘差網絡會有效果?
□ 先驗證實《深層網絡效果會比淺層網絡好》
效率不影響,層數增長,能夠低成本高效率的學到更多非線性的特徵。
解決梯度瀰漫問題
解決模型退化問題
Q:既然說中間層是沒必要要的,那麼爲何不直接把這些層去掉呢?可事實上,ResNet的結果比淺層網絡的結果好的多,這應該怎麼解釋呢?
加入中間層主要是爲了說明會產生退化的效果。 ResNet效果好是由於解決了退化問題,,梯度爆炸/梯度彌散,調節了網絡結構,簡化了反向傳播求導運算的流程。這和砍掉深一點的層是不同的思想
風格轉換的原理
風格特徵
內容特徵
- 簡化模型
- 正則化(包含dropout)
- 數據加強
- 集成學習
- 早停
- 減小特徵數或使用較少的特徵組合
- 增長特徵數或者使用較多的特徵組合
- 減少正則權重
- 增長模型複雜度
- 使用boosting集成學習
如何提升學習算法性能的指導方針
->低可擬合誤差
->低方差
->清晰的正交化方案
數據預處理通常步驟有哪些?
如何用指標和方案去評判一個優秀的模型?
1. 合理設計模型2. 權值剪枝(編程稀疏矩陣)
3. 權值量化(聚類)
4. 二值化(BWN,XNorNet)
5. 霍夫曼編碼
6. 奇異值分解(projection層)
7. 1x1卷積的恰當使用減小通道量
8. 卷積分解爲deepwise Conv和pointwise
Conv可大幅度減少計算量和參數量1/(Dk^2)9. Group Conv(可節省1/g計算量)
10. Channel Shuffle
11. 蒸餾法
12. 低秩分解
13. 模型裁剪
神經網路中的超參數主要包括1. 學習率 η,
2. 正則化參數 λ,
3. 神經網絡的層數 L
4. 每個隱層中神經元的個數 j
5. 學習的回合數Epoch
6. 小批量數據 minibatch 的大小
由神經網絡的機理進行選擇
7. 輸出神經元的編碼方式
8. 代價函數的選擇
9. 權重初始化的方法
10. 神經元激活函數的種類
11 . 寬泛策略的核心在於簡化和監控
12. 參加訓練模型數據的規模
如文章你已看懂,點個「喜歡」便可。如若錯誤以及不清晰的地方,隨時提出。歡迎掃一掃上面二維碼加入個人我的微信號進行技術交流。