AI 時代大揭密|何謂「深度學習」?

人工智慧、機器學習、深度學習,傻傻分不清楚?

Frankie
CodingBar
4 min readApr 28, 2019

--

文/Frankie

上篇文章談到了「人工智慧」以及「機器學習」,這次要繼續來談談「深度學習」,還沒有看過的朋友請參考:

還記得上面這張圖嗎?有沒有發現底下附有簡單的時間軸呢?早在1950年代,就已經出現具有人工智慧概念的應用範例,當時一款叫做「封我為王」的西洋跳棋遊戲曾風靡一時,因為這個電腦程式能夠自己下棋!

到了最近的2010年代,人工智慧領域的成長突飛猛進,尤其從2015年開始,其很大一部分的原因是 GPU ( Graphics Processing Unit, 圖形處理器)的日漸普極,讓電腦平行運算的速度更快、成本更低、成效也更突出,當然還要歸功於大數據時代及雲端時代的環境影響,為什麼這麼說呢?

有一句話說:「數據為 AI 之本。」
待會要談的「深度學習」便需要大量的資料支撐。

深度學習 (Deep Learning)

首先,要進行深度學習有兩個不可或缺的條件,那就是: 「大量的可用數據」以及「 強大的計算資源」(也就是上面提到的GPU),接下來就是進行三個大步驟: 建構網路、設定目標、開始學習。

在了解深度學習的基本概念與架構前,我們要先簡單介紹一下「人工神經網路」(又稱類神經網路),它已經有了幾十年的發展歷史。那麼它是怎麼出現的呢?我們都知道人類的大腦中有很多神經細胞相互連結,也就是所謂的「神經元」,正是我們大腦裡的這些神經元給了「類神經網路」靈感。

為了模擬生物腦神經元的行為,科學家設定每一個神經元都是一個「激發函數」,可以想像成一個公式;對神經元丟入一個輸入值(input)後,經過激發函數的運算、丟出一個輸出值(output),然後這個輸出值會再傳入下一個神經元,成為該神經元的輸入值。從第一層的「特徵向量」作為輸入值,一層層傳下去、直到最後一層輸出預測結果。各神經元對於輸入值都會分配一個權重,然後由權重的加總值來判斷最終結果。

而所謂「學習」的過程指的就是,我們看到最終結果後,告訴機器這個結果 是不是好的,不是的話請調整函數內容,並重新產生一個結果。經過大量的訓練過程,最後就能找到一個最佳解。在調整或訓練網路時,如果出現大量錯誤答案,其實是個很好的機會,類神經網路需要的正是訓練,它需要接收成千上萬,甚至上百萬筆資料,直到精準調整神經元的權重,讓它幾乎每次都能得到正確答案。

深度學習就像是一種「比較深」的類神經網路,並搭配了各式各樣特別的類神經網路階層。

機器學習很容易遇到瓶頸,如果已經在某個領域已經到達頂尖,機器可能沒辦法繼續走下去,因此誕生了更深層的「深度學習」概念,用工程師語言來說,就是「模組化」。舉個例子,從一群長頭髮的人中挑出所有男性,這對機器來說非常不容簡單,因為這個世界的樣本數不夠多;但如果可以模組化成辨識「長髮」、辨識「男性」兩種模組,樣本數就夠多了。每一層都先選定最基本的元素,第二層再開始交錯,以此類推…,如此就能深度學習各種技能,創造比機器學習概念更多的發展空間。

結語

深度學習讓電腦有了從複雜資料中歸納出規則的能力,但電腦畢竟不像人腦那般直覺,過程中還是需要人類教電腦處理各層函數的權重與偏差。 目前人工智慧領域受惠於深度學習,雖然相當強大,但仍有許多限制等著被突破,為了將人工智慧推向完美,科學家們仍在蒐集訓練資料、優化類神經網路、改善運算效能這條路上孜孜不倦努力著。

--

--