深度學習(Deep Learning)

簡介

深度學習並非全新的概念,約莫50年前,即有資料科學家受到生物神經系統的啟發,發表了多層級的人工神經網路(Artificial neural network)之概念,希望藉此能讓電腦也發展出人類般的智能來解決各種問題。而近年深度學習最著名的就是近年Google DeepMind使用50個GPU、訓練3個星期所創造出來的AlphaGo,具有打倒世界棋手的實力!如果還處於以往那硬體設備尚未進步、只能用1個GPU運算的年代的話,要打造出相同程度的AI甚至還需耗費30年的時間呢!
若以簡單的概念來描述深度學習,它就是一種運用多層人工神經網路將大量數值丟入各種可能的函數集合、接著輸出許多數值,再從中找出最佳結果以解決問題的學習方式。

應用原理

透過建構出很多隱層學習模型(規則),再給予電腦海量的訓練數據,來學習更有用的特徵,從而最終增加分類或預測的準確性。其中無監督學習是發展深度學習成功的關鍵之一,它與監督學習最大的差別在於無監督學習中的數據並不被特殊標識、也不會有預先知道的結果,而是透過反覆地自主學習來獲得最佳解答,和藉由不斷調整預測模型去符合預測結果的方式截然不同。
深度學習的訓練可以分為三個步驟:定義網路架構、定義學習目標、數值方法。
定義網路架構是先選出一群可能的函數,以便進行接下來的深度學習訓練。
定義學習目標也常被稱為適應性函數(Fitness Function)或目標函數(Objective Function),藉由定義了正確的學習目標才能經由訓練的過程來產生符合我們需求的深度學習模型,常見的目標函數包括均方差(Mean Square Error)。
數值方法這項縮短與學習目標間之差距的最佳化過程,則被運用在實際的訓練過程,藉以找出所定義之網路架構中的最佳權重組合。隨機梯度下降法(Stochastic Gradient Descent)為最常用的方式之一。

有趣案例

2016年3月,AlphaGo電腦圍棋程式在南韓首爾擊敗九段的職業棋士李世乭
2012年,Google Brain成功地將YouTube上的影片截圖分成了三類:人臉、身體,還有貓。
2009年,Geoffrey Hinton以及他在多倫多大學的研究團隊,就以深度學習技術開發出高準確度的語音辨認技術,能夠正確地將口語轉換成文字。而iPhone最廣為人知的Siri,便是仰賴深度學習技術來辨認用戶的語音指令;Google嘗試讓機器手臂自己學習如何抓握形狀不規則的物品,與其透過人類不斷去修正每個動作的精確度,還不如讓機器自己學習。

未來

2016年3月,微軟在Twitter上啟用了一款名叫Tay Tweets的人工智慧機器人,其角色設定為年齡約19歲的少女,擁有自己的Twitter帳號,並會發布各種文章。微軟號稱Tay會從這些談話內容中自主學習與人對話交流。然而上線不到24小時,Tay即被網友帶壞了,不但頻頻發出帶有色情挑逗的話語,甚至成為了納粹擁護者。導致微軟不得不立即下架Tay,並對其進行改進。Tay的下架也揭示了目前人工智慧在自主學習上存在的困境:如何讓機器在這個過程中有效過濾出不好的訊息
另外,深度學習的模型並非萬能,解決得了一個問題不代表就能解決其他問題,仍需經由人類重新設定,才能讓電腦學習新的技能。就像是AlphaGo雖然厲害,但它的架構讓它只能下圍棋,無法靠自己變成將棋或西洋棋的高手。因此,若未來當機器可以自己定義架構時,將會帶給世界更大的震撼。

(文:MEILAN)

Related post

Return Top