轉載請注明作者:夢里風林Github工程地址:https://github.com/ahangchen/GDLnotes歡迎star,有問題可以到Issue區討論官方教程地址視頻/字幕下載
Limit of Linear Model
實際要調整的參數很多如果有N個Class,K個Label,需要調整的參數就有(N+1)K個
Linear Model不能應對非線性的問題
Linear Model的好處GPU就是設計用于大矩陣相乘的,因此它們用來計算Linear Model非常efficientStable:input的微小改變不會很大地影響output
求導方便:線性求導是常數
我們希望參數函數是線性的,但整個model是非線性的所以需要對各個線性模型做非線性組合最簡單的非線性組合:分段線性函數(RELU)
Neural network
用一個RELU作為中介,一個Linear Model的輸出作為其輸入,其輸出作為另一個Linear Model的輸入,使其能夠解決非線性問題神經網絡并不一定要完全像神經元那樣工作Chain Rule:復合函數求導規律
Lots of data reuse and easy to implement(a simple data pipeline)Back PRopagation
計算train_loss時,數據正向流入,計算梯度時,逆向計算計算梯度需要的內存和計算時間是計算train_loss的兩倍
Deep Neural Network
Current two layer neural network:
優化:
優化RELU(隱藏層), wider增加linear層,layer deeper
Performance: few parameters by deeper隨層級變高,獲得的信息越綜合,越符合目標
About t-model
t-model只有在有大量數據時有效今天我們才有高效的大數據訓練方法:Better Regularization難以決定適應問題的神經網絡的規模,因此通常選擇更大的規模,并防止過擬合Avoid Overfit
Early Termination
當訓練結果與驗證集符合度下降時,就停止訓練Regulation
給神經網絡里加一些常量,做一些限制,減少自由的參數L2 regularization
在計算train loss時,增加一個l2 norm作為新的損失,這里需要乘一個β(Hyper parameter),調整這個新的項的值
Hyper parameter:拍腦袋參數→_→
l2模的導數容易計算,即W本身
DropOut
最近才出現,效果極其好從一個layer到另一個layer的value被稱為activation將一個layer到另一個layer的value的中,隨機地取一半的數據變為0,這其實是將一半的數據直接丟掉由于數據缺失,所以就強迫了神經網絡學習redundant的知識,以作為損失部分的補充由于神經網絡中總有其他部分作為損失部分的補充,所以最后的結果還是OK的More robust and prevent overfit如果這種方法不能生效,那可能就要使用更大的神經網絡了
評估神經網絡時,就不需要DropOut,因為需要確切的結果可以將所有Activation做平均,作為評估的依據因為我們在訓練時去掉了一半的隨機數據,如果要讓得到Activation正確量級的平均值,就需要將沒去掉的數據翻倍
新聞熱點
疑難解答