科技

入行人工智慧,程式設計師要知道什麼是深度學習?

深度學習,顧名思義,需要從“深度”和“學習”兩方面來談。

1.深度

深度學習的前身是人工神經網路(artificial neural network,ANN),它的基本特點就是試圖模仿人腦的神經元之間傳遞和處理資訊的模式。神經網路這個詞本身可以指生物神經網路和人工神經網路。在機器學習中,我們說的神經網路一般就是指人工神經網路。

圖1-3給出的是一個最基本的人工神經網路的3層模型。

圖1-3

人工神經網路由各個層組成,輸入層(input layer)輸入訓練資料,在輸出層(output layer)輸出計算結果,中間有1個或多個隱藏層(hidden layer),使輸入資料向前傳播到輸出層。“深度”一詞沒有具體的特指,一般就是要求隱藏層很多(一般指5層、10層、幾百層甚至幾千層)。

人工神經網路的構想源自對人類大腦的理解——神經元的彼此聯絡。二者也有不同之處,人類大腦的神經元是按照特定的物理距離連線的,而人工神經網路有獨立的層和連線,還有資料傳播方向。

例如,我們拿一張圖片,對它做一些預處理,如影象居中、灰度調整、梯度銳化、去除噪聲、傾斜度調整等,就可以輸入到神經網路的第一層。然後,第一層會自己提取這個影象的特徵,把有用的特徵向下傳遞,直到最後一層,然後輸出結果。這就是一次前向傳播(forword propagation)。

最後一層的輸出要給出一個結論,例如,在分類問題中,要告訴我們到底輸入的影象是哪個類別,一般它會給出一個“概率向量”。如圖1-4所示,列出了這隻貓所屬品種的前5個概率值。

圖1-4

人工神經網路的每一層由大量的節點(神經元)組成,層與層之間有大量連線,但是層內部的神經元一般相互獨立。深度學習的目的就是要利用已知的資料學習一套模型,使系統在遇見未知的資料時也能夠做出預測。這個過程需要神經元具備以下兩個特性。

(1)啟用函式(activation function):這個函式一般是非線性函式,也就是每個神經元通過這個函式將原有的來自其他神經元的輸入做一個非線性變化,輸出給下一層神經元。啟用函式實現的非線效能力是前向傳播(forward propagation)很重要的一部分。

(2)成本函式(cost function):用來定量評估在特定輸入值下,計算出來的輸出結果距離這個輸入值的真實值有多遠,然後不斷調整每一層的權重引數,使最後的損失值最小。這就是完成了一次反向傳播(backward propagation)。損失值越小,結果就越可靠。

神經網路演算法的核心就是計算、連線、評估、糾錯和訓練,而深度學習的深度就在於通過不斷增加中間隱藏層數和神經元數量,讓神經網路變得又深又寬,讓系統執行大量資料,訓練它。

2.學習

什麼是“學習”?有一些成語可以概括:舉一反三、聞一知十、觸類旁通、問牛知馬、融會貫通等。計算機的學習和人類的學習類似,我們平時大量做題(訓練資料),不斷地經過階段性考試(驗證資料)的檢驗,用這些知識和解題方法(模型)最終走向最終(測試資料)的考場。

最簡單也最普遍的一類機器學習演算法就是分類(classification)。對於分類,輸入的訓練資料有特徵(feature),有標記(label),在學習中就是找出特徵和標記間的對映關係(mapping),通過標記來不斷糾正學習中的偏差,使學習的預測率不斷提高。這種訓練資料都有標記的學習,稱為有監督學習(supervised learning)。

無監督學習(unsupervised learning)則看起來非常困難。無監督學習的目的是讓計算機自己去學習怎樣做一些事情。因此,所有資料只有特徵而沒有標記。

無監督學習一般有兩種思路:一是在訓練時不為其指定明確的分類,但是這些資料會呈現出聚群的結構,彼此相似的型別會聚集在一起。計算機通過把這些沒有標記的資料分成一個個組合,就是聚類(clustering);二是在成功時採用某種形式的激勵制度,即強化學習(reinforcement learning,RL)。對強化學習來說,它雖然沒有標記,但有一個延遲獎賞與訓練相關,通過學習過程中的激勵函式獲得某種從狀態到行動的對映。強化學習一般用在遊戲、下棋(如前面提到的AlphaGo)等需要連續決策的領域。(6.7.1節會講解強化學習的應用。)

有人可能會想,難道就只有有監督學習和無監督學習這兩種非黑即白的關係嗎?二者的中間地帶就是半監督學習(semi-supervised learning)。對於半監督學習,其訓練資料一部分有標記,另一部分沒有標記,而沒標記資料的數量常常極大於有標記資料的數量(這也符合現實,大部分資料沒有標記,標記資料的成本很大)。它的基本規律是:資料的分佈必然不是完全隨機的,通過結合有標記資料的區域性特徵,以及大量沒標記資料的整體分佈,可以得到比較好的分類結果。

因此,“學習”家族的整體構造如圖1-5所示。

圖1-5

本文摘自《TensorFlow技術解析與實戰》,關於有監督學習和無監督學習在實戰中的應用,會在本書“實戰篇”中介紹。

Reference:科技日報

看更多!請加入我們的粉絲團

轉載請附文章網址

不可錯過的話題