ⓂAI 小百科:什麼是深度學習?

文:摘自《人工智慧來了》 圖:unsplash

從根本上來說,深度學習和所有機器學習的方法一樣,是一種用數學模型對真實世界的特定問題進行建模,以解決該領域內相似問題的過程。

用專業術語來說,電腦用來學習、反覆觀看的圖片叫做「訓練數據集」。在「訓練數據集」中,一類數據與另一類數據不同的屬性或特質,稱為「特徵」;電腦運用「大腦」總結規律的過程,叫做「建模」;電腦運用「大腦」總結出來的規律,就是我們常說的「模型」;而電腦透過反覆看圖,總結出規律、學會認字的過程,就是「機器學習」(MachineLearning)。

機器學習演算法

到底電腦是如何學習的?總結出的規律,又是什麼樣的呢?這取決於我們使用什麼樣的機器學習演算法。

有一種演算法非常簡單,模仿的是小朋友學識字的思路,比方說在教小朋友分辨「一」、「二」、「三」時,我們會告訴小朋友,一筆寫成的字是「一」,兩筆寫成的字是「二」,三筆寫成的字是「三」。這個規律好記又好用,但在開始學寫新字時,就未必奏效了。例如,「口」也是三畫,卻不是「三」。此時,我們通常會告訴小朋友,圍成方框的是「口」,寫成橫排的是「三」。所以,這個識字規律又豐富了一層,但仍舊比不上識字數量的增長。

小朋友可能也很快就會發現,「田」也是方框,卻不是「口」。此時,我們會告訴小朋友,方框裡有個「十」字的是「田」。再往後,我們多半就要告訴小朋友,「田」上面出頭的是「由」字,下面出頭的是「甲」字,上下都出頭的是「申」字。很多小朋友就是這樣,一步步豐富了特徵規律,慢慢自己學會總結規律,記住新的漢字,進而學會幾千個漢字的。

決策樹

有一種名為「決策樹」(decision tree)的機器學習方法就和前述根據特徵規律來識字的過程非常相似。當電腦只需要認識「一」、「二」、「三」這三個字時,電腦只要數一下要識別的漢字筆畫數量,就可以分辨出來了。當我們為待識別漢字集(訓練數據集)增加「口」和「田」時,電腦之前的判定方法失敗,就必須引入其他的判定條件。由此,一步步推進,電腦就能夠認識愈來愈多的字。

前後,內部決策樹的不同。這說明,當我們給電腦「看」過三個新漢字及特徵之後,電腦就像小朋友那樣,總結並記住了新的規律,「認識」了更多漢字。這種過程,就是一種最基本的機器學習。

當然,這種基於決策樹的學習方法太簡單了,很難擴展,也很難適應現實世界的不同情況。於是,科學家和工程師便陸續發明出許許多多不同的機器學習方法。比方說,我們可以把漢字「由」、「甲」、「申」的特徵,包括有沒有出頭,筆畫間的位置關係等,映射到某個特定空間裡的一個點。簡單地說,在訓練數據集中,這三個字的大量不同寫法,在電腦看來就變成空間中的一大堆點。只要我們對每個字的特徵提取得夠好,空間中的一大堆點,就會大致分布在三個不同的範圍裡。

此時,讓電腦觀察這些點的規律,看能不能用一種簡明的分割方法(例如在空間中畫條直線),把空間分割成幾個相互獨立的區域,盡量讓訓練數據集中每個字對應的點都位於同一區域內。如果這種分割是可行的,就說明電腦「學」會這些字在空間中的分布規律,為這些字建立了模型。接下來,在看見一個新的漢字圖像時,電腦就簡單地把圖像換算成空間裡的一個點,然後判斷這個點落在哪個字的區域裡,就能夠知道這個圖像是什麼字了。但使用畫直線的方法來分割一個平面空間,很難適應幾千個漢字及總計至少數萬種不同的寫法。如果想把每個漢字的不同變形,都對應為空間中的點,就極難找到一種在數學上較為直截了當的方法,將每個漢字對應的點都分割包圍在不同的區域內。

有很多年的時間,數學家和電腦科學家就是被類似問題所困擾,努力改善機器學習方法。比方說,用複雜的高階函數來畫出變化多端的曲線,以便將空間裡相互交錯的點分開來,或是乾脆設法把二維空間變成三維空間、四維空間,甚至幾百維、幾千維、幾萬維的高維空間。在深度學習實用化之前,人們發明了許多種非深度的傳統機器學習方法,雖然在特定領域取得一定成就,但這個世界實在是複雜多樣、變化萬千,無論人們為電腦選擇多麼優雅的建模方法,都很難真正類比世界萬物的特徵規律。很簡單,這就像一個試圖用有限幾種顏色畫出世界真實面貌的畫家,即便畫藝再高明,也很難做到「寫實」兩字。

那要如何大幅擴展電腦在描述世界規律時的基本步驟呢?有沒有可能為電腦設計出一種靈活度極佳的表達方法,讓電腦在大規模的學習過程中,不斷嘗試、尋找,自己總結出規律,直到最後找到符合真實世界特徵的表達方法呢?

深度學習就是這樣一種在表達能力上靈活多變,同時允許電腦不斷嘗試,直到最後逼近目標的一種機器學習方法。

從數學本質上來說,深度學習與前述談到的傳統機器學習方法,並沒有實質上的差別,都是希望在高維空間中,根據物件特徵,將不同類別的物件區分開來。但是,深度學習的表達能力與傳統機器學習相比卻有天壤之別。簡單地說,深度學習就是把電腦要學習的東西看成一大堆數據,把這些數據丟進一個包含多個層級的複雜數據處理網路(深度神經網路),然後檢查經過這個網路處理得到的結果數據,是不是符合要求—如果符合,就保留這個網路作為目標模型;如果不符合,就鍥而不捨地一次次調整網路的參數設置,直到輸出滿足要求為止。

書籍資訊:


300
人工智慧來了
人工智慧時代,50%的工作將被逐漸取代!?
哪些工作最容易消失?什麼技能最容易被淘汰?你要如何提升自己?
2017年博客來商管類 百大暢銷好書