天天看點

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

背景介紹

1.深度學習應用

圖像應用----識别 (舉例:淘寶拍立淘、路況識别、圖像labeling、圖像分割轉換)

NLP應用----文筆模仿

NLP+圖像上的應用----機器翻譯、機器同聲傳譯、語音識别

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

綜合應用

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

綜合應用原理

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

2.神經網絡非線性能力及原理

1).感覺器與邏輯門

線性分類器:得分函數

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡
七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

損失函數(或稱代價函數、客觀度): 給定W,可以由像素映射到類目得分 ;可以調整參數/權重W,使得映射的結果和實際類别吻合;損失函數是用來衡量吻合度的。

損失函數1:支援向量機損失(SVM)

Ø 對于訓練集中的第i張圖檔資料xi 

Ø 在W下會有一個得分結果向量f(xi,W) 

Ø 第j類的得分為我們記作f(xi,W)j 

Ø 則在該樣本上的損失我們由下列公式計算得到

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

損失函數2:交৿熵損失(softmax分類器)

Ø 對于訓練集中的第i張圖檔資料xi 

Ø 在W下會有一個得分結果向量fyi

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

使用log原因:機率值連乘容易超過計算機最小範圍精度,相對來說加法可控

為什麼不用MSE:因為是非凸函數

支援向量機損失(SVM)與交叉熵損失比較:SVM是求超過安全距離帶來的loss交叉熵損失是求兩個機率向量差異度有多高(從最大似然角度去考慮)

通常學習架構(可以了解為blackbox映射):語音識别、手寫識别、下圍棋AI、聊天機器人系統

神經網絡定義:輸入層、輸出層、隐層(特征交叉、組合、提取)

從邏輯回歸到神經元“感覺器”

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

添加少量隐層 => 淺層神經網絡

增多中間層 => 深度神經網絡(DNN)

2).強大的空間非線性切分能力 

Google機器學習平台Tensortflow遊樂場---Neural Network Playground (http://playground.tensorflow.org)

神經網絡非線性切分:神經元完成【邏輯與】、【邏輯或】

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡
七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

3).網絡表達力與過拟合問題 

o 理論上說單隐層神經網絡可以逼近任何連續函數(隻要隐層的神經元個數足夠多)。

o 雖然從數學上看表達能力一緻,但是多隐藏層的神經網絡比 單隐藏層的神經網絡工程效果好很多。

o 對于一些分類資料(比如CTR預估裡),3層神經網絡效果優于2層神經網絡,但是如果把層數再不斷增加(4,5,6層),對最後結果的幫助就沒有那麼大的跳變了。

o 圖像資料比較特殊,是一種深層(多層次)的結構化資料,深層次的卷積神經網絡,能夠更充分和準确地把這些層級資訊表達出來。

o 提升隐層層數或者隐層神經元個數,神經網絡“容量”會變大,空間表達力會變強。

o 過多的隐層和神經元節點,會帶來過拟合問題。

o 不要試圖通過降低神經網絡參數量來減緩過拟合,用正則化或者dropout。

傳遞函數:Sigmoid函數與雙sigmoid函數比較

4).BP算法與SGD 

 BP算法

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡
七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

SGD:

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

前向傳播 反向運算 參數更新

3.代碼與執行個體

1).Tensorflow多層感覺器非線性切分 

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

2).神經網絡分類(非線性)示例 

ipython notebook

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

3).Google Wide&&Deep Model 

七月算法深度學習 第三期 學習筆記-第二節 DNN與混合網絡

繼續閱讀