普華永道(PwC)聯合會計事務「註一」所旗下專為科技趨勢預測而建立的 Next In Tech 部落格中,該公司的 AI Accelerator 團隊於 2017 年 12 月 5 號發表了他們對 2018 年人工智慧的趨勢預測。雖然標題是人工智慧的趨勢預測,倘若仔細閱讀該文章,不難發現,他們所預測的十個項目,都是與現今最熱門的研究領域,深度學習(Deep Learning)有關。 什麼是深度學習 深度學習,根據所涵蓋的概念範圍,可以有兩層不同的解釋:廣義的深度學習,指的是學習具有階層性(Hierarchical)及分散式(Distributed)的特徵值(features)。若背景為機械學習的讀者,可以將這層深度學習的慨念,從資料搜集所觀測到的特徵值中學習新的特徵值來做延伸。這個藉由深度學習到的新的特徵值,具有較佳的分類能力,卻不如可觀測的特徵值容易解釋。若背景為統計學習的讀者,深度學習所學到的特徵值,可視為建構高維度空間的基底函數,訓練資料可映射到此新的高維度空間中,而得到較精準的分類準確度。 類神經網路是否等同於深度學習 然而,今天媒體和學術界沸沸揚揚所指涉的多為狹義的深度學習。狹義的深度學習是特指利用類神經網路(Neural Network)的機械學習方式。關於類神經網路的簡單介紹,可以參看李飛飛的 TED Talk 專文,這裡不再詳述。在此便只著重於解釋類神經網路的特徵學習方式,如何達到廣義深度學習的兩種特性。 首先,類神經網路,是以調整權重的方式將觀測到的特徵值,重新以非線性多重轉換的方式來學習新的特徵值。因為新的特徵值多少帶有原特徵值的部分貢獻,所以在其演算法的設計上,已經完成了分散式的特徵學習。其次,類神經網路的架構可以在輸入與輸出之間堆疊一到多個的隱藏層(hidden layer),而達到階層式的特徵學習。藉由一層一層往上加高網路架構的深度,所學到的特徵值,在分類表現上雖然更為強大,但其表現意義則更為撲朔迷離。所以,若要更完整的描述狹義的深度學習,那就是,『狹義的深度學習,不僅是類神經網路學習方式,更是在架構上逐漸加深的類神經網路。』 但是,類神經網路理論早在 1943 年被提出,在沈寂一陣子後,直到 2007 年 Geoffrey Hinton 在 Trends of Cognitive Science 發表一篇以 "Learning multiple layers of representation” 為名的文章。在此文章中,利用 pre-train 的方式來克服深度類神經網路學習的障礙後,類神經網路又開始熱門起來。甚至就像快速發展的城市裡,建築商們總在競賽摩天樓的高度一樣,學者們提出類神經網路的深度是愈來愈深。然而,究竟是什麼樣的障礙,阻礙著過往的學者們建構高深度的類神經網路呢? 類神經網路復甦的推手 根據 Andrew Ng 「註二」在 Coursera 『類神經網路和深度學習』課程上的解釋,有兩個推力促成深度學習的熱門:電腦計算能力的快速成長和訓練資料的大量累積。原因就是在於過往不那麼深的類神經網路架構,其隱藏層(hidden layer)至多只能一層。超過一層後,神經網路的訓練,若仍以梯度下降法(gradient descent)的方法學習將會遭遇梯度消失或爆炸的問題,而導致訓練停滯不前,分類準確度甚至比淺而寬的神經網路架構更差。 在當時除了用 GPU 來對卷積類神經網路(convolution neural network)做平行化計算外,便只能用非梯度下降的方法,如近似二次微分矩陣的最佳化演算法(Hessian free optmization)。除此之外,如之前所述,以非監督學習 pre-train 的方式,訓練深度神經網路中每一層的權重,最後再以監督學習的方式來微調(fine tune)類神經網路的分類表現,也在訓練學習序列依賴性的遞迴類神經網路(recurrent neural network)獲得了成功的結果。而遞迴類神經網路,自身本來就是個深度類神經網路,其深度決定於序列的長度,如語音辨識的錄音長度等等。 這樣以逐層訓練的方式,讓深層神經網路不再陷在區域最佳值,反而因為多了四處探索的機會,而得到更佳的分類表現。雖然演算法上的改變,令深度神經網路的訓練不再是件苦差事。大量獲得的訓練資料和電腦運算能力的快速成長,更是將深度神經網路推上了高峰。 其一,大量訓練資料的獲得,對於類神經網路的訓練特別有助益,原因是相較於其他機械學習的模型,類神經網路的參數特別的多,若只有少數訓練資料,類神經網路學習高抽象特徵的能力,被不足的訓練資料所限制住。 其二,大量訓練資料再加上深度類神經網路的架構,非得需要大量的平行計算方式來完成,而 GPU 的多核心平行計算便實現此功能。也因為這兩項推力,開始了以狹義深度學習為主的深度競賽。 當然,深度學習也面臨了一些瓶頸。PwC 的這篇趨勢預測的文章,便是綜合目前先端的研究方向,而列舉的十項主要預測。這十大預測,無非都是期望解決目前深度學習的一些困難處。首先,先依照 PwC 預測的趨勢,歸納成四大類: 解釋深度學習和人工智慧 (Deep learning theory & Explainable AI) 模型不確定性和遷移學習(Model uncertainly & Transfer learning) 深度強化學習(Deep reinforcement learning) 膠囊網路和機率程式架構(Capsule networks & Probabilistic programming) 現就以此四大類,做詳細敘述如下: 解釋深度學習和人工智慧(Deep learning theory & Explainable AI) 在這一大類下,可以包括: 深度學習理論解謎:解開類神經網路的成功之謎(Deep learning theory: demysifying how neural nets work) 可解釋的人工智慧:了解黑箱學習(Explainable AI: understanding the black box) 類神經網路最讓人詬病的一點,便是由類神經網路所學得的特徵值,通常無法輕易解讀。因為在使用者看來,類神經網路訓練就像從魔術師的黑箱裡抓出的兔子般,即使細細檢查黑箱外部和兔子,卻也不能參透魔術師的把戲。因為,類神經網路訓練的特徵值權重只不過是一堆數值。當類神經網路的深度愈深,較容易解釋的原觀測特徵值,早已因為透過細密交織的網路架構疊加轉換,而如畢卡索的繪畫般抽象難懂。 這在實際生活中,很明顯地無法獲得實際的應用。可以想像在實際生活中,若醫生憑著類神經網路的學習,成功的確認病兆,卻無法告訴病人,究竟是哪一個生活習慣導致病因。又若,藉由類神經網路的學習分類而得到信心值不高的影像辨認結果,卻不知該從何調整分類器一般。而諸如此類的生活實例,都在在說明類神經網路的使用者『知其然,不知所以然』的困境。 由 Defense Advanced Research Project Agency(DARPA),所發起的可解釋的人工智慧 “Explainable AI” 便是希望推動更為透明化的人工智慧,以期在應用上能得到更多更廣的運用。如下圖所示,今日人工智慧的應用,只侷限於告訴使用者分類或預測的可能性。即使如此,可以預見對於只有輸出預測結果並加上不知如何計算出的信心值,只能如同圖中的使用者般,一頭霧水的猛搔頭。然而,可解釋的人工智慧計畫,希望能產出更為人性化的工作流程。在此流程中,不只輸出預測結果,解釋模型(Explainable Models)以及介面(Explainable Interface)可以伴隨著訓練模型,以最容易理解的方式呈現給使用者。 PwC 的專家們認為,了解深度學習的背後的理論,可以幫助未來學者對類神經網路的架構和訓練的最佳化有所助益。而可解釋的人工智慧,則有助於一般使用者了解如何解讀深度學習預測的結果,甚而讓法令制定者,能夠有效限制人工智慧的應用。因此,這兩個趨勢值得被關注。 模型不確定性和轉移學習(Model uncertainly & Transfer learning) 在這一大類下,可以包括: 生成對抗網路:與類神經網路搭配以激發新的學習方法並減低學習過程負擔(Generative adversarial networks: pairing neural nets to spur learning and lighten the processing load) 少量和合成標記資料的學習:解決目標標注資料的現階難題(Lean and augmented data learning: addressing the labeled data challenge) 混合學習模型:結合模型不確定性(Hybrid learning models: combining approaches to model uncertainty) 生成對抗網路 生成對抗網路是機率模型,和一般類神經網路其作用是用來學習特徵值變做分類器不一樣的是,生成對抗網路是一個學習資料分布的類神經網路。事實上,生成對抗網路是由兩個類神經網路所構成:生成網路(generative network),和辨別者網路(deterministic network)。 以生成對抗網路原提出者 Ian Goodfellow 的生活化解釋,生成網路就像是就好似假鈔仿冒者,期望能仿製幾可亂真的鈔票,好逃過警察的法眼,因此而獲利。而辨別者網路,則有著和仿冒者相異的目的,它希望能成功辨識鈔票的真偽,讓仿冒者的假鈔無法在市面流竄。這兩個網路都對同一個目標函示進行最佳化,只不過一個是試圖『增加』目標函式以達到獲利,而另一個則試圖『減少』目標函式而降低損失。這樣目標相抵觸的競爭架構,形成兩個類神經網路對抗的模型。 目前生成對抗網路的應用,主要還是專注於影像的領域,並應用生成隨機的訓練影像,此類帶有雜訊卻又不至於和真實影像相差太遠的隨機影像,有助於解決訓練資料不足的問題,訓練更為強健的類神經網路。然而只靠生成對抗網路生成隨機訓練資料,並不能幫助在一些領域裡,目標標注資料的取得不易的問題。通常,對於目標標注資料不足的問題,多仰賴多任務學習(multi-task learning)或遷移學習(transfer learning)的方式。 多任務學習 多任務學習,望文生義,也就是用一個類神經網路同時進行一或多個學習任務。多任務同時學習的方式,可以讓目標資料不足的任務與充足的任務一起學習,因而解決目標資料貧脊的問題。遷移學習和多任務學習方式一樣,目的也在進行一到多個學習任務。然而,多任務學習的訓練模型,是同時學習多個任務,遷移學習則是非同步的對多個任務進行訓練。 更詳細的說,遷移學習會先對某一類相似任務的通用的特徵部分做訓練,爾後再加上針對目標標注資料不同,而對輸出層做特別訓練。 遷移學習 遷移學習最初的目的則是因為類神經網路的訓練不易,動輒需要多個小時到數天,對於多數的任務,類神經網路學到的低層特徵多半是類似的。如,一般影像辨識的類神經網路,在輸入上面的幾層多半是關於影像本身的特徵,如,暗度,邊緣等等。這個時候,就可以先對大量的影像做訓練,待這些對大部分任務都有用處的通用特徵訓練完後,再對不同的任務做特化的訓練:通常就是在通用特徵上加上一到兩層的隱藏層,最後再加上對不同分類器的目標標注資料作訓鍊的輸出層。 混合學習模型(貝氏深度學習架構) 混合學習模型的需求,則來自於對於預測模型做危險評估。而危險評估則可源自於 2016 年一起自駕車的車禍。在此車禍中,自駕車製造商承認,因為大卡車白色的車身在大面積明亮的天空背景前,而使自駕程式與駕駛同時疏忽,而釀成災禍。為了避免此類型的災難再次發生,擅長於模型不確定性估算的統計學家們,也在這場深度競賽中,導入了在統計學習方法中大量使用的貝氏機率模型於深度學習中。 模型不確定性可以歸類於兩個主要的因素,其一就是取樣誤差。任何機械學習的網路,都有著程度不一受限於所訓練的資料。而類神經網路,則是機械學習中,屬於對訓練資料有較強的依賴性。倘若訓練資料不足,或呈現某種取樣誤差(例如,來自於某一類型的資料以相當高比例的數目呈現在訓練資料中)。 另外一個因素,則是樣本內無法被模型解釋的隨機誤差。這樣的誤差可以來自於影像本身品質的低落,如訓練資料中含有過曝或曝光不足的影像。又或目標資料的不當標注,如情緒分析(sentiment analysis),將人對情緒的感知能力區分成兩或五個項目,而忽略人在情感描述上可能較近於連續的函數(如何宣稱兩顆星和三顆星的分別,和三顆星和四顆星分別一樣呢?)。未經小心檢驗目標資料的標注方法,造成一向在監督式學習被視為如真理般不可搖動的目標資料,產生因人而異的模糊灰色地帶。 PwC 的專家們認為,目前所提出的貝氏深度學習架構,藉著提出新的目標函式,導入如同取樣或隨機誤差的方法,而非一昧地讓深度神經網路對分類正確對做最佳化。或是,合併生成對抗網路,形成如統計學習中經常使用的 ensemble 學習方法。在 ensemble 的隨機模型中,生成對抗網路便可扮演生成隨機訓練資料,而得以訓練更強健的類神經網路。最後,加入模型不確定性的多任務學習或遷移學習,提高任務訓練的準確度與可訓練性,更有助於不同領域的工業採用深度學習於既有的生產架構中。因此這三項領域的進程,很值得關注。 深度強化學習(Deep reinforcement learning) 在這一大類下,可以包括: 深度強化學習:模擬環境互動以解決商業難題(Deep reinforcement learning: interacting with the environment to solve business problems) 自動機械學習:無需人為編程的訓練模型創造(Automated machine learning, AutoML: model creation without programming) 數位雙胞胎:超越工業應用的虛擬複製(Digital twin: virtual replicas beyond industrial applications) 深度強化學習 過去幾年, DeepMind 公司所發展的人工智慧圍棋棋手 AlphaGo,在打拜所有人類棋手後,在媒體界和學術界大放異彩。雖然在兩處引起熱烈的討論,但所關注的重點卻大相徑庭。媒體界以對魔鬼終結者般又愛又怕的矛盾情結來看待 AlphaGo 的成功,然而學界,卻在 AlphaGo 的旋風見到投資強化學習來解決問題的潛力。不過,這門學問重新回到學術界的熱門市場上,可是搭著深度學習的順風車,而與深度學習結合形成深度強化學習。 和一般所通知的機械學習分類不相同的,強化學習並不屬於非監督式或監督式學習中的一種。更準確地說明,強化學習是從監督式學習開始,利用行為後獎勵,而成為自發性學習的一種。比起監督式學習,強化學習比較近似於大多高等生物學習的模式。就像實驗室裡的白老鼠,因為不小心碰觸到拉桿,而得到獎勵後,藉由反覆的操作並持續地得到獎勵的過程,進而強化拉桿和獎勵的連結,而完成學習一項技能的循環。 強化學習擁有不需要大量目標標注資料的優點,主因是靠著強化學習能靠著代理人(agent)模擬來探索可能的狀態和行為,並對模擬結果做獎勵預估,並對許多基於模擬而產生的獎勵估算結果做最佳化選擇。 雖然聽起來很像嘗試錯誤法的獎勵版本,但實際的演算法,因為需要考慮如天文數目上的可能狀態和行為組合,宛如在千萬顆的繁星之中搜尋最亮的一顆星星般困難。所幸,在這個問題上,深度類神經網路有它一展長才的優勢。如同前所述,深度類神經網路,非常適宜學習達到高分類準確度的特徵值。藉由合併的深度類神經網路學習特徵的能力,強化學習可以將估算獎勵的工作交付予類神經網路。換句話說,深度強化學習,只是在原有的深度類神經網路架構上,以強化學習的獎勵估算公式做為目標函式來做最佳化。 雖然,強化學習目前主要的應用還是在學習如何下棋或玩遊戲,但由於從西洋棋到圍棋這類的遊戲,都具有電腦所擅長解決的天文數字般巨大的排列組合型問題,所以這些遊戲又可以稱為人工智慧的搖籃。如同深度學習,雖然不一定立即能獲得工業上的應用,但是,因為深度學習,所帶來的種種問題,如,解決消失或爆炸的梯度,都讓最佳化演算法的發展進入了新的里程。 數位雙胞胎 同樣的,強化學習,雖然一開始並不是瞄準工業上的應用,但是由於它的數學模型以及代理人模擬的方法,在解決工業上包含多個互動因素的複雜問題上,而獲得廣泛的應用。其中,由奇異公司(GE)提出的數位雙胞胎(digital twins) 的概念,藉由電腦模擬並進行虛擬實驗,並從模擬的資料中,建立人工智慧的學習系統,以達到即時診斷並預測真實設備的實驗結果,或對實體材料損害的情況作出適當反應。 工業上若要進行小規模模擬實體實驗,通常耗時和耗材,利用虛擬實驗便能縮減實際實驗的範疇,而更為精簡工業製造的成本。同時,透過即時的感應器監控搜集實體設備的運作資料,以機械學習和人工智慧的方法分析及建模,透過與使用者互動的方式,提供友善的使用者介面和完整的分析而使使用者能做出最佳決策的結果。這樣的概念,不僅可以應用在工業的領域上,並可以在財經事業上,擔任個人理財顧問助理,藉由模擬個人行為與市場經濟環境的互動,而創造個人化的獲利模式。 自動機械學習 最後,另外一個讓人熱血沸騰的研究領域,應該就是選擇建構機械學習模型。如同,AlphaGo 的升級版,AlphaZero,藉由和自己對戰,而不斷提升自己的能力。自動調整參數的機械學習模型,也可以基於深度強化學習,透過適當的獎勵,和快速的訓練模擬,而能創造出最佳的類神經網路架構。關於這個領域,學者們嘗試許多不同的學理競逐學習模型的自動化調整,未來,將以專文介紹此領域的現今發展。 PwC 的專家們認為,深度強化學習具有較為通用的功能,也比其他的訓練方法,不這麼需要大量的目標資料。在逐漸新起的物聯網(Internet of Thing, IoT),可以提供預測及診斷的模型。而在機械學習的應用上,利用深度強化學習或其他搜尋的方法,將模型微調自動化,有助於令資料學家更能專注於資料分析上,而達到更具有生產力的產品研發循環。因此,深度強化學習和其延伸理論的應用趨勢也值得被關注。 膠囊神經網路和機率模型程式架構(Capsule networks & Probabilistic programming) 在這一大類下,可以包括: 膠囊神經網路:模仿大腦視覺能力的新神經網路架構(Capsule networks:emulating the brain’s visual processing strengths) 機率模型程式:無需程式模型發展的新高階程式語言(Probabilistic programming: languages to ease model development) 膠囊神經網路 膠囊類神經網路號稱比卷積類神經網路(convolution neural network)更接近人類視覺處理的狀態,在影像辨識的常用的小規模問題,手寫字體辨識(MNIST)資料集,也獲得較佳的分類結果。在新提出的架構中,膠囊類神經網路仍保留卷積類神經網路的卷積層(convolution layer),但替換原本使用來降取樣(downsampling)的池化層(pooling layer)。 其原因在於,過於粗略實現的池化層,可能會造成重要資訊大量流失,而未能達到原先預定希望池化層達成的功能:萃取出代表影像中物體,在移動,轉動和縮小放大時,都能保持不變的特徵值。在膠囊類神經網路中,借助於人腦內的膠囊模組的概念,延伸此概念替換在卷積類神經網路的池化層。原本在池化層用降取樣的方法來維持學習移動,轉動不變的特徵值,現在則使用近似於網路動態路由(dynamic routing)的方式,將位於膠囊內部(卷積類神經網路的底層)的影像特徵直接輸出到位於外部決策區內(卷積類神經網路的高層)。為了實作網路動態路由,膠囊類神經網路架構由階層式,更動為巢狀式,同時,也使用新的窄化函式來實現降取樣方法。完整的膠囊類神經架構,可以參看下圖: 機率模型程式 深度學習的另外一項成功的副產品,則是來自於程式架構的翻新。比起以往,程式設計師必須手算微分的公式,然後再使用程式語言來加以實現。使用程式來做自動微分的方式,似乎也是讓深度學習熱門的其中一個原因之一。由於編程變得容易,那麼完成一個類神經網路不再是一件望而生畏的事,甚至一個不需要懂得微積分的工程師,都可以很快的創造出一個類神經網路分類器。 同時將實現和邏輯分開的程式模型,顯然是讓不善於編程的眾多科學家們,得以繼續專注在抽象的問題上,而不需要和幾千行的程式碼搏鬥。鎮日處理不確定性的統計學家們,希冀能將這樣的程式架構,延伸應用在編程同樣困難的機率模型上。目前已有許多努力,針對現有的深度學習程式架構,加以擴展,而是否能獲得廣泛的應用,將會是新的一年到臨時,所需要面臨的挑戰。 PwC 的專家們認為,膠囊神經網路在類神經網路的架構上有革新的創舉。而機率模型程式架構,則提供了一個程式語言架構,能夠輕鬆撰寫機率模型,往後在現有的深度學習程式架構中併入模型不確定性的混合模型,也能輕鬆完成。因此,這兩項在架構上的創新及其後續發展值得關注。 雖然不知道深度學習還會熱門多久,但是根據專家們預測的結果,深度學習是否能獲得實際生活上的應用,似乎是下一階段的挑戰。但,無疑的,如同個人電腦開始成為家家戶戶都有的設備,人工智慧在人類的未來,必有它不可或缺的一席之地。 註一:普華永道在台灣以『資誠聯合會計事務所』熟知 註二:Andrew Ng 教授另外以中文本名吳恩達廣為人知 參考資料: Top 10 AI technology trends for 2018:普華永道(PwC)預測 2018 AI 趨勢原文