1. 程式人生 > >《一天學懂深度學習》PPT翻譯一

《一天學懂深度學習》PPT翻譯一

前言

深度學習最近是真火,一開始聽說這個名字的時候感覺莫名其妙,難道是教程式設計師怎麼學習的?後來查閱了一些資料,原來是跟人工智慧有關的。

其中李巨集毅的《一天學懂深度學習》挺適合初學者的。於是我花了一點時間翻譯了一下該套PPT的前50張,並加以自己的看法幫助小白去理解深度學習這個概念。

因為學業壓力和以及其他原因(後面有點難度),我只翻譯了前50張,但這足夠讓你瞭解什麼是深度學習了。大神勿噴!接下來有時間再深入學習繼續翻譯。

當然,要配合PPT看,如果你沒有資源的話,請點選下載:http://pan.baidu.com/s/1jH6iSU6

一天學懂深度學習 ————李巨集毅
PPT1
深度學習影響許多方面,我相信在此之前你經歷過許多跟他有關的事情。
這次的演講著重於(深度學習中)基礎的技術。
PPT2
提綱
演講一:關於深度學習的介紹
演講二:關於深度神經網路訓練的建議
演講三:神經網路的多樣性
演講四:(深度學習的)下一個浪潮(發展)
PPT4
關於深度學習的介紹
PPT5:
演講一的提綱:
1 關於深度學習的介紹(讓我們從普通的機器學習開始)
2 為什麼叫深度
3 對於深度學習來說的“Hello World”(程式)
PPT6
機器學習約等於尋找一個功能
1 語音識別
2 影象識別
3 預測圍棋比賽中的下一步
4 對話系統(根據使用者說的話分析後給予回覆)
PPT7
以影象識別為例的一個框架
通過該模型中的一組函式,以及對資料的訓練使函式功能逐漸優化,
監督式學習,使輸入的圖片輸出對應正確的描述
PPT8
在訓練部分:
第一步:由一組函式建立模型
第二步:對資料進行監督式的訓練
第三步:從逐漸完善的函式中挑選出精確的函式
在測試部分:
測試該函式,輸入貓的圖片,看輸出是不是“貓”
PPT9
深度學習三步驟:
步驟一:定義一組函式
步驟二:(不斷訓練)達到完善的功能
步驟三:挑選出最出色的函式
(個人感覺下面的圖與上文沒太大關係,僅表示很簡單)
PPT10
將第一步替換成了神經網路
PPT11
人的腦髓:
摘自CSDN幫助大家理解圖上的意思:
人類智慧最重要的部分是大腦,大腦雖然複雜,它的組成單元卻是相對簡單的,大腦皮層以及整個神經系統,是由神經元細胞組成的。而一個神經元細胞,由樹突和軸突組成,它們分別代表輸入和輸出。連在細胞膜上的分叉結構叫樹突,是輸入,那根長長的“尾巴”叫軸突,是輸出。神經元輸出的有電訊號和化學訊號,最主要的是沿著軸突細胞膜表面傳播的一個電脈衝。
忽略掉各種細節,神經元,就是一個積累了足夠的輸入,就產生一次輸出(興奮)的相對簡單的裝置。
樹突和軸突都有大量的分支,軸突的末端通常連線到其他細胞的樹突上,連線點上是一個叫“突觸”的結構。一個神經元的輸出通過突觸傳遞給成千上萬個下游的神經元,神經元可以調整突觸的結合強度,並且,有的突觸是促進下游細胞的興奮,有的是則是抑制。一個神經元有成千上萬個上游神經元,積累它們的輸入,產生輸出。
PPT12
科學家以一個激勵函式模擬人的大腦中的一個神經元
n個引數乘以其各自的權重,然後求和,再加上偏移量作為輸入,輸進激勵函式,產生輸出a
解釋:
參考CSDN:
假設你有一幢房子,在x小區x單元x號。住了很多年了,但現在需要賣掉,但又不知道這房子具體能值多少錢。正好,現在有一款軟體,你只要輸入x小區x單元x號,他就能自動預測房價。該軟體其內部運算的過程就相當於該函式。房子的地段,房齡,面積,裝潢等n個會影響房價的因素a都相當於那
n個引數,但這些因素對房價的影響程度肯定是不一樣的,因此就有了對應權重w。另外,預測並不可能百分百正確,因此還有一可誤差因素b。軟體將這
些因素打包一個全面具體的輸入引數z進行判斷,通過激勵函式 σ(z)函式即通過訓練產生的最優函式運算之後輸出預測的房價a。
(理解上述內容之後,下面應該好理解一些。)
PPT13
下面給出一個例項測試了一下該函式的功能
將各引數代入計算後,結果為0.98
PPT14
神經網路中神經元不同的連線方式導致了不同的網路結構。
每個神經元都可能有不同的權重和偏移值,權重和偏移值是網路的參量。
(聯絡上文中講的:神經元可以調整突觸的結合強度,並且,有的突觸是促進下游細胞的興奮,有的是則是抑制。)
PPT15
前饋神經網路中的完整聯絡,即多個神經元之間的連線、作用
分析一下該圖:
在這個網路結構中,起始只有兩個輸入,每一個輸入都要分別輸進兩個激勵函式。兩個激勵函式輸出的結果再次作為輸入,分別輸進兩個
激勵函式,依次類推,最後輸出兩個結果。可以看出,這個結構較之前的一個神經元有點複雜,但人的大腦正是由一個個神經元,由不同的(複雜)方式組成在一起,
產生奇妙的功能。
將每一列兩個激勵函式定為一層,則該結構有三層激勵,而第一層中的第一個激勵函式正是我們前面所舉的例子,即一個神經元的函式。
PPT16
每一層的權重都不同,將每一層的輸出(或者說是次層的輸入)數值都計算了出來,可以發現,由於輸入引數、權重、偏移量的不同,輸出的結果也不同
PPT17
從單個激勵函式來看,輸入一個向量,隨之輸出一個向量。即只要給定了參量(權重,偏移量),就定義了一個函式。
從這個稍微複雜點的網路來說,只要給定了結構(包含各層的參量),就定義了一組函式。
可以看出兩組值不同的輸入,在經過相同的網路結構時,對應的兩組輸出值也不同
PPT18
圖中的網路就更為複雜了,有L層激勵函式,每一層由N個輸入組成。
深度學習中的“深度”意指輸入輸出層之間隱藏了很多層(即存在隱藏層)。
PPT19
這裡著重講輸出層(也可以叫做選擇層),將Softmax層作為輸出層。這裡引入了Softmax的概念,下面先簡單介紹一下Softmaxde的概念,方便大家下面的學習。
參考CSDN:
我們知道max,假如說我有兩個數,a和b,並且a>b,如果取max,那麼就直接取a,沒有第二種可能。但有的時候我不想這樣,因為這樣會造成分值小的那個飢餓(即一直取不到)。所以我希望分值大的那一項經常取到,分值小的那一項也偶爾可以取到,那麼我用softmax就可以了。現在還是a和b,a>b,如果我們取按照softmax來計算取a和b的概率,那a的softmax值大於b的,所以a會經常取到,而b也會偶爾取到,概率跟它們本來的大小有關。所以說不是max,而是Softmax。
接下來再看PPT上的文字:
一般來說網路的輸出可以是任何值。
(Softmax)可能不太容易解釋。
PPT20
這裡給出了Softmax的一個例項:
從圖中可以看出,輸入了三個引數,經過計算,輸出了對應的輸出的可能性佔總可能性的比重,總和為1,可能性最小的那個輸出約為0,但其實不為0。即每一種可能都存在。
PPT21
(Softmax)的應用範例 --識別手寫的數字"2"
16*16畫素的一個手寫數字"2",每一個畫素作為一個輸入,故共256個輸入。當這256個畫素中有筆跡的時候,輸出總可能性為1,否則為0。(不寫字的就不存在數字的可能性)
輸出層有十個神經元,每一個事先都配對了一個數字。根據輸出的可能性大小,決定輸出哪個數字。圖中數字“2”的可能性最大為0.7,因此判定寫的數字為2。
PPT22
對於手寫數字識別的這個範例,輸入256向量,輸出10個向量,中間需要的就是一個函式(神經網路)。
PPT23
一組函式中包含著候選的數字,你需要決定網路的結構,使你的函式組能有一個好的功能。
PPT24
提問環節:
1 問題:有少層?每一層有多少神經元?
 回答:反覆訓練+直覺(來決定層數和每一層的神經元數)
2 問題:結構可以被自動地決定嗎?
 回答:
PPT25
下面講解深度學習的第二步:函式的完善
PPT26:
訓練資料(達到想要的效果)
準備訓練資料:影象(手寫的數字)和(他們的)標籤
學習的目標定義在訓練資料之上
PPT27
例如,對於識別手寫數字的函式來說,學習的目標就是:
當寫“1”的時候,輸出y1有最大的可能性
當寫“2”的時候,輸出y2有最大的可能性
PPT28
損失:一個好的函式應該儘可能的保證所有例子的損失達到最小。
損失可以指網路輸出與目標(期望的結果)之間的距離,即圖中的Loss(l)。
PPT29
總的損失:對於所有訓練的資料,總的損失等於各損失之和。
當一個模型輸出結果之後,如果跟預想的結果有偏差(即存在較大的損失)->降低損失->尋找一個可以降低損失的函式->更改引數值(權重,偏差等)
由此可見,對資料的訓練是一個逆向的思維,由結果不斷地去調整網路,直到結果滿意。
PPT30
下面進入深度學習的第三步:找出最好的函式
PPT31
如何找出最好的函式?即找到一組能使損失達到最小的引數。
列舉所有可能的值?舉個例子,在語音識別的識別中,有八層函式,每一層有1000個神經元,顯然,列舉是不可取的。
PPT32
利用梯度下降法。在高等數學中有梯度的定義,再次簡單的介紹一下梯度下降法的意思。
梯度下降法其實就是一個函式,該函式通過不停地調整自身引數使自己的值達到最小。跟前面的例子相結合,就是網路結構通過調整自身的引數(權重,偏差),使loss值達到最小。故梯度下降法是實現它的方法:
將函式比作一個山谷,山谷裡有一個小球,它所在的座標值代表一組引數。谷底那一點的座標就是最佳的引數,現在要做的就是,讓小球滾到谷地處。此處省略那些物理條件,滾落過程中小球需要不斷地調整方向,如何找準小球的滾落方向呢?

高等數學中對梯度有這樣一個結論:可微函式在一點處沿著梯度的方向具有最大的增長率,最大增長率等於梯度的模。
因此解決了方向的問題。

回到PPT:圖中建立了一個以權重W為橫軸,總損失L為縱座標的座標系。可以看出,貌似l隨w的變化是一條沒有規則的曲線。在這條曲線取一點,作為初始值(即給小球一個起始位置,只不過由三維變成了二維。
PPT33
曲線中的那一點該往左還是往右走呢?通過判斷該點的導數是正是負決定他向左還是向右。
正->向左(在曲線上顯示為梯度反方向)
負->向右
PPT34
w向右平移了一段距離,即w的值變成了w-η∂L/∂W。η為學習速率,下面幫助大家理解一下學習的速率。
w在不斷右移的過程中,不斷地被w-η∂L/∂W取代。而η正表示了迭代的速度,在公式中可以看出,η值越大,w向右移的距離就越遠,如果起始點到終點之間的距離是一定的,那麼學習速率η越大,迭代的次數就越少。但是,學習速率太大會越過最優值(終點),太小的話會導致計算時間過長,因此在移動的過程中,學習速率也是在不斷調整的。
PPT35
重複,直到∂L/∂W的值接近於最小,即當他的值更新緩慢的時候。因為,導數的絕對值越小,其曲線越趨於平穩。
圖中可以看出,第二次移動的距離較第一次小,因為當接近於最小值的時候,學習速率的值被調整了。
PPT36
實際上需要調整的引數不只這一個w值,圖中對所有的引數(權重w,偏差值b)進行了一次調整
∇L是一個梯度列矩陣,即w=w-η∇L,經過一次調整,引數的值都有所變化。
PPT37
所有引數經過兩次及兩次以上的調整
PPT38
該圖類似於前述的山谷滾球的例子,引數為權重w1,w2,顏色的深淺表示總的損失量。
PPT39
圖中畫出了一個從起始點到終點的路線,只要經過不斷地調整,有望到達最小點。
PPT40
梯度向下法不能保證最後到達點是全域性最低點
根據不同的起始點會到達不同的最小點,因此可能很多
有許多方法可以幫助你避免到達區域性最小點,但並不能保證(絕對有效)
PPT41
(下面就進入總結階段了)
當你在玩帝國時代的時候,你看不見整個地圖,因此你會通過計算各種引數摸索著前進。
PPT42
這就是深度學習領域中機器的“學習”,就算是阿法狗也在使用這個方法。
人們想象中的人工智慧(是高大上,複雜的),實際上你在玩帝國時代的時候就運用到了。
我相信你不會太失望的。
PPT43
反向傳播法:一個計算導數(調整引數)的有效方法。
不要太擔心導數的計算,以上的工具會幫助我們處理它。
圖中給出了一個連結,並列舉了很多可以幫助我們計算的工具。
PPT44
總結:
深度學習其實如此簡單……


PPT45
前45章講解了演講一中的第一部分“深度學習的介紹”
下面開始進入第二個部分,為什麼叫深度?
PPT46
越深就越好嗎?
毫無驚訝,引數越多,最後的表現也越好。
PPT47
一個普遍性的真理
任何一個連續的函式(N個輸入,M個輸出),可以被當作一個擁有一個隱藏層的網路(只要這一層中有足夠多的神經元)。
為什麼叫“深”度神經網路,而不叫“胖”的神經網路
PPT48
一個胖、矮的神經網路VS一個瘦、高的神經網路
他們擁有的相同個數的引數。哪一種更好?
PPT49
資料中表明:
當每一層中神經元個數相同時,層數越多,效果越好。
另外當引數數量相同的時候,矮胖不如瘦高。
PPT50
類比法:將邏輯電路與神經網路作類比(這一頁是為有電子工程知識基礎的人準備的)
邏輯電路中:
邏輯電路中存在很多門(與門,非門,或門,與非門,……)
一個兩層的閘電路可以表示任何布林型函式
用多層的邏輯閘電路去構造一些功能會更簡單。
(僅需很少的邏輯閘)

神經網路中:
神經網路中存在很多神經元
一個隱藏層就能代表任何連續的函式
用多層神經元去代表一些功能會更簡單。
(僅需很少的神經元)
資料也是更少的嗎?