2018/12/14 Deep Neural Network Training(1)
阿新 • • 發佈:2018-12-24
Loss Function and Optimization
- 損失函式
- 如何優化
- 線性分類器
損失函式是量化的評估線性分類器的標準。損失函式是優化的目標。
損失函式的定義:
當初始化W很小的時候,S–>0,此時L–>c-1(其中c代表類的個數)
線性代數
有限字長
當我們在訓練集上訓練出來的分類器訓練的很好的時候,這時候會出現一個過擬合效應,原因是我們的訓練集並沒有很好的表現現實中的狀況。接下來就需要避免過擬合問題。
- 加入約束項(懲罰函式)
lambda 屬於一個超引數。
奧卡姆剃刀
複雜性帶來的多樣式是一些系統適應環境的一種方式,比如人、人類社會 - SoftMax 分類器:評分–>概率問題
這個score有了一個資訊學意義,即概率分佈
一個單樣本問題轉化為 - 整合起來如何找到最好的W?
最優化方法
- 隨機搜尋(random search),就是暴力搜尋
超級非凸不一定是不連續的–>2 - 梯度下降
超引數 step-size 步長 - 隨機梯度下降
為了縮減計算量,我們認為樣本空間足夠的大,我們在其中隨機的抽取一個小的BATCH。N is a minibatch
BP
鏈式法則
upstream gradient & local gradient(這個是要會算的)
分支處的梯度可以直接加起來,因為其是線性的
雅克比
problem
- KL散度的定義
- accurate 是如何算出來的以及loss是如何算出來的????
- 一些計算概念
訓練過程
- 一次性準備:啟用函式,資料預處理,權重初始化,正則化,梯度
- 訓練過程:引數更新,超引數(網路引數選項)
- 驗證評估:模型整合
啟用函式
all kinds of activation functions
sigmoid and tanh 有啥區別呢????
- sigmoid 很容易飽和,殺死梯度;只能往一個方向走(this is also why you want zero-mean data);計算量稍大
數值 - TANH
- relu :simple 但是存在無法更新的區域
- leaky relu :keep properties ; Prelu;這兩個的表現很好
- Elu :不會選
- Maxout 計算量太大,不會選
資料預處理
- preprocess the data
零均值(隨機取樣,一個很重要的思路;統計意義上,一幅影象的均值和很多張影象的均值相差不大 )和歸一化為了更快地收斂
PCA and Whitening(影象一般不會再做了)
假定小的隨機數:值不停地在衰減,所以每一層衰減的很快。求和抵消不了指數衰減(?)。bp傳不回去
比較大的隨機數:產生震盪,所有的層都幾近飽和,所以梯度也會為0
xavier初始化(啟用函式是tanh),每個數除以根號下N ,求方差,後面還會有平方項
用relu的話/根號下2n
batch normalization
訓練過程
- double check that the loss is reasonable
- learning rate 選擇要使loss減小
- accurate 是如何算出來的以及loss是如何算出來的???
- 1e-3—1e-5之間學習率經驗值
random search vs. grid search
- 大量的依賴於經驗
- update and values的比值約為0.01經驗值
掌握它的思路是發現新問題的一個重要因素
滿足自私的唯一的辦法就是利他