深度學習的訓練資料準備與平台之演進發展

工研院資通所  林宏軒、李肇棠、江滄明

深度學習演算法、大數據的值與量及GPU運算技術,是未來AI發展的關鍵

隨著深度學習技術的快速進步,深度類神經網路已在電腦視覺和自然語言處理等的許多領域造成革命性變革,也隨著應用的普及,漸漸融入越來越多的消費者和工業產品的智能化功能,逐漸影響人們的日常體驗與生活。相較於傳統的電腦軟體人工智慧,現有的深度學習方法不需要太多的領域知識,僅需提供問題與答案的對應做為訓練資料,電腦即可自動學習出一套深度學習模型來回答新的問題,因此在深度學習中如何準備大量的訓練資料尤為重要。另外,深度學習運算內部主要是大量矩陣的基本運算,非常適合使用GPU平行運算,GPU硬體因應此潮流擴充GPU原有的平行運算結構,以大量的運算單元輔以軟體配合,由巨量的平行運算滿足深度學習對運算能力的渴求,所以很快使得整體平行運算能力大幅增加。隨著深度學習的軟硬體與技術快速進步,訓練較大的網路可提供高精準度的推論結果,隨著使用裝置的多樣化,邊緣裝置包含手機、隨身裝置、智慧音箱等環境,皆逐步提供人工智慧整合功能。本文從基本原理、資料的需求與準備方式、系統擴展性、安全性、訓練平台之演進與發展、與AI未來發展等議題,提供一個整體的概觀介紹。

1. 深度學習基本原理介紹

深度學習的基本原理是使用類神經網路(neural networks)為模組,組成多層具深度的類神經網路堆疊[1],而類神經網路為一套演算法,大致上模擬人類頭腦的運作模式,將感知資料當成輸入,也就是將真實世界的資訊,包含影像、影帶、聲音、文字、時間序資料等,以數值與向量模式,輸入至深度類神經網路,網路將這些輸入資料作分類、分群、轉譯、標籤化等方式,設計作為模型識別使用。

圖1 深度學習概念

深度學習基本概念如同人類學習過程一樣,人類經過不斷的訓練與學習,並在接觸新的事物時,參考過往所學到的經驗推論與評估其內容。相同的,深度學習仿造人類學習過程,其運作亦分為這兩個階段:類神經網路模型訓練(training)階段與模型推論(inference)階段,如圖1所示。

深度學習協助我們進行分群(clustering)與分類(classification)的任務。以分群來說,它可透過輸入樣本間的相似度,將無標記的資料進行群組化,而對於有標記的資料,則可提供做為訓練學習的樣本,而網路經過訓練學習後,則可作為分類器使用,可用於將未標記的樣本進行類別辨識,如自動駕駛車的影像可辨識分類行人、車輛、交通號誌、路牌等。或如電子郵件垃圾郵件辨識系統可分類辨識是否標示為垃圾郵件等。

分類工作是深度學習應用中最常被使用到的,所有的分類任務皆須仰賴已完成類別標示的資料集。換句話說,也就是由人類將他們對資料集的分類知識與資料相結合,這種學習方式又稱為監督式學習(supervised learning),常見的分類任務如:
1. 辨識影像中的物件(如小客車、公車、自行車、行人、交通號誌等)
2. 人臉辨識,包含分辨個人身分、辨識表情(如高興、生氣、難過等)
3. 影帶動作辨識
4. 聲音辨識,包含講者身分辨識、聲音轉文字、聲調辨識等
5. 文件分類,如垃圾電子郵件(spam)辨識、偽造文件分辨等

2. 不需要太多領域知識的深度學習

近幾年的深度學習起源是由2012年的AlexNet[2]開始,在當時使用傳統演算法辨識圖片皆只能達到Top5錯誤率約25.7%左右,Top5錯誤率是指電腦所猜測的最佳五個結果中其中有一個對就算回答正確,而AlexNet使用深度學習的方法可以達到Top5錯誤率僅有17.0%,這是一個相當大的突破。

隨後,Google於2014年啟動了AlphaGo[3]計畫,於2016年以4:1勝過韓國職業九段棋手李世乭[4],李世乭是當時近十年來得過最多圍棋冠軍頭銜的人,而在此之前電腦對局的研究人員皆認為電腦圍棋要勝過人類頂尖職業棋士還需要約十年的時間。

Google會投入開發研究圍棋是有原因的,以人類基因為例,由於人類基因過於複雜,因此在研究人類基因之前,需要先研究果蠅的基因;同樣地,研究人工智慧之前,需要先研究棋類的人工智慧[5]。在棋類中可以分為完全資訊的對局以及不完全資訊的對局,在雙方都可以公開看到棋局中的所有資訊的為完全資訊的對局,例如:五子棋、六子棋、跳棋、圍棋等;而在無法公開看到所有棋局中資訊的為不完全資訊的對局,例如:麻將、暗棋、撲克牌的大老二等。在完全資訊的對局棋類中,圍棋是公認複雜度最高的一款棋類遊戲[6],因此想發展棋類人工智慧的研究學者皆以圍棋為目標。

以電腦棋類的圍棋發展為例子,在過去十多年以來的發展可以分為三個階段:規則模式(Rule-based)、蒙地卡羅(Monte-carlo)、深度學習(Deep Learning)。

2.1 規則模式(Rule-based)的樹狀搜尋

如圖2所示,在此階段的棋類程式是以搜尋的方法來找出最佳著手並判斷當前盤面的優劣,最基本的方式是以目前的盤面為樹狀搜尋的根節點(Root Node),第一層展開所有己方的可能著手,針對第一層的所有節點也就是己方下完著手的盤面,展開第二層所有敵方的可能著手,再針對第二層所有己方下完後且敵方下完的盤面,展開第三層所有己方的可能著手,以此類推一直往下搜尋。在此搜尋的過程中,需要有棋類的相關領域知識才能判斷何種著手較佳或何種著手完全不用考慮,並以領域知識來刪除較差因此完全不用考慮的著手,以減少搜尋的量以達到加速的目的。

 

2.2 蒙地卡羅(Monte-carlo)的大數法則

由於圍棋的每一著手可能性太多,幾乎整個盤面19×19 = 361個著手皆需要考慮,因此若使用傳統的樹狀搜尋會導致每一層都展開太多個節點,到了第三層左右就很難再繼續搜尋下去,而搜尋過淺的結果無法做為有用的參考資訊,因此圍棋不適用樹狀搜尋。

圖3 蒙地卡羅方法裡面的模擬方法

如圖3所示,蒙地卡羅提供了圍棋一個不錯的判斷當前盤面好壞的方法,從當前盤面開始,以隨機且快速模擬下子的方式模擬完一個棋局,得出其中一方勝利。重覆這步驟許多次之後,就擁有了大量模擬該棋局盤面所得到的平均勝率,以此來做為當前盤面的好壞判斷依據。

2.3 深度學習(Deep Learning)的類神經運算

相較於傳統的規則模式與蒙地卡羅,深度學習的類神經運算只需要給電腦大量的棋譜,棋譜內有對應的棋局問題與著手答案,電腦內會以類似人類腦神經元的深度學習運算模型,引入大量的棋局問題與正確著手來自我學習,建構出看到新的棋局盤面問題就可以回答出最佳著手答案的深度學習運算模型,其中,深度學習的運算模型如圖4所示。

到了以深度學習為主的演算法的時代,由於僅需要找出一大堆的問題與對應答案,電腦即可自動學出一套模型來幫忙回答新的問題,在此過程中並不像以往需要有大量領域知識的幫助來撰寫程式,因此深度學習非常適合套用在各個不同的領域。

圖4 深度學習的類神經網路
 

3. 深度學習資料的準備

雖然深度學習不需要太多的領域知識就可以開發,但還是有它的缺點,那就是對於資料的準備需要非常充足。由於深度學習網路模型內需要讓機器自我學習做調整的參數非常多,以VGG網路為例需要調整的參數多達一億三千多萬個[7],因此當資料量很少時會無法有效地調整這些參數。

3.1 深度學習資料準備的困難

雖然知識需要準備的資料非常多,但到底要多少筆資料是無法確定的,這關乎到許多因素。假如說深度學習需要辨識的問題非常簡單,而且需要回答的答案種類非常少,那麼需要準備的資料量就不用太多,反之,若需要回答的問題非常複雜,或是需要回答的答案種類很多,又或者是回答的答案中有多個答案太接近,難以區分,那麼就需要大量的資料集來讓深度學習模型做學習與區分,才能正確回答出答案。
資料的答案的準備則是依照應用的需求而定,以辨識圖片為例,假如是看到圖片需要分辨出圖片內的主要圖案是什麼,那麼答案就是該圖案的正確解答;而若是希望看到圖片可以標出圖片內的各物體並且回答是什麼,那麼每組答案就是兩個座標或四個數值表示該物體的圖片位置再加上一個表示該物體的名稱或編號,而每個圖片有幾組答案就視該圖片內有幾個欲辨識的物體而定。

在套用深度學習在應用領域的時候,首先面對的是資料數目夠不夠的問題,如果是特殊專業領域,則有賴專業領域來產生特定資料,而比較普通的應用資料可以在網路上取得。當準備好資料之後,再來要面對的就是準備每筆資料的答案,這些答案大部分都需要人工來準備,因此非常耗費時間,若需要準備的資料數目在數十萬或數百萬以上,這些答案的準備就會變成一項巨大的挑戰。

網路上有許多公開並且有對應答案的資料可以運用。比如說ImageNet[8]大約1,500萬張圖片,含蓋了2.2萬個分類,每張圖片都有一個標記註明了圖片內是什麼,所有圖片的標記都是經過人工的標記;Google也有Open Image V4[9],共有190萬張圖片,含蓋了600個分類,每個圖片內的多個物體都有個框(Bounding Box)標記出該物體的位置與答案,共計1,540萬個框;Kaggle[10]亦提供了使用者自行上傳與下載資料集的平台。

雖然網路上擁有許多已經具有答案標記的資料集,但現實生活中所遇到的應用往往無法使用網路上現有的資料集解決,仍然需要人工做標記,因此如何節省人工標記的負擔就顯得尤為重要。

3.2 我們的資料準備方式

>深度學習模型在訓練完成後,會根據所看到的問題,回答出對應的答案,這個問題與答案的配對,與當初在建構學習的資料集的問題與答案的配對是相同的,但受限於需要先有大量資料才能讓深度學習模型進行訓練,因此需要有人工標記的工作。但真正節省時間的方式,並不是人工一次標記完所有資料,才讓模型進行學習,而是要輪流幫忙與進行。

對人類而言,標記一張圖片的答案比確認一張圖片的答案還要費時。因此比較好的作法是讓機器先完成一輪標記,然後以人工進行確認,但如果機器的模型還沒有大量學習,那標出來的資料錯誤率非常高,就幾乎等同於人工重新標記一樣。因此要逐步遞增,流程如圖5所示。

圖5 人工與機器的交錯標記與學習流程

以實際例子為例:
(1) 人工先標記100張圖片,在機器學習這100張圖片後,讓機器標記新的900張圖片。
(2) 人工確認新的900張圖片,在機器學習這總計1,000張正確標記的圖片後,讓機器標記新的9,000張圖片。
(3) 人工確認新的9,000張圖片,在機器學習這總計10,000張正確標記的圖片,讓機器標記新的90,000張圖片。
(4) 以此類推。

透過這樣漸進的方式,在機器標記錯誤率仍高的時候,僅標記少量照片,因此由於標記錯誤而需要人工進行校正的資料數目不多。而當機器模型逐漸進步之後,也自然可以逐步加大標記的數量,以加快標記速度,並將需要人工校正的資料維持在一個很低的數量。在這個過程中,人工大部分僅需花在機器標記的確認而非校正上,相比於需要人工自己做標記或校正標記而言,可節省大量的人力時間。

針對上述的資料準備方式,資通所擬規劃開發一個相關平台,提供使用者於此平台上做資料的尋找、上傳、標記、整理與確認等。並且,除了上述的資料準備方式之外,亦將整合許多幫忙標記的技術,讓使用者在標記上面所需花費的人力降至最低。首先,主動學習(Active Learning)的技術可以使用比較少的標記數目做訓練,並達到跟大量標記數目一樣的效果。其作法是先將資料做分類,找出比較難的或信息量比較大的資料,然後僅標記這些資料,由於這些資料比較具有代表性,因此其訓練效果會大於其他的標記資料,所以可以使用比較少量的標記次數來達到跟以往大量標記的同等效果。

再來,單樣本學習(One-Shot Learning)與低樣本學習(Low-Shot Learning)技術指的是希望可以僅標記極少數資料就可以完成深度學習模型的訓練,其主要方法是透過一個既有、已學習好的深度學習模型,採用遷移學習(Transfer Learning)的方式,將模型內的部分原本已學習好的知識保留下來,讓所需要新學習的知識降至最低,因此可以使用較少數資料來完成最終的深度學習模型。

最後,此平台亦將整合錯誤標記判斷技術,在訓練模型的過程中,若模型針對某筆資料的預測認為可信度很高,但此預測與實際人工所標記的答案不同,則表示此資料是模型嚴重誤判或人工標記錯誤,因此值得人工再次確認標記的正確性。針對此類可能為標記錯誤的資料,平台會排序其人工標記錯誤機率,讓人不用所有標記都逐一確認,而是可以由最可能錯誤的標記開始進行。

4. 深度學習訓練平台之演進與發展

深度學習的運算主要重點是大量矩陣的基本運算,如:矩陣的乘法與矩陣的加法等。這種大量平行化的基本運算主要需仰賴於GPU設備的多核心平行運算,相較於CPU可以處理很複雜的問題,GPU適合這種簡單但大量的運算,此章節將主要介紹適用於深度學習運算的GPU設備。

4.1 GPU 運算架構的崛起 奠定AI世代的來臨

藉由人工智慧、機器學習和深度學習的由來及興起,可一窺GPU在人工智慧發展的關鍵地位:

圖6 人工智慧、機器學習和深度學習之發展(圖片來源:NVIDIA)

三者的包含關係為:人工智慧→機器學習→深度學習
1950年,人工智慧發展,以數理邏輯為基礎
1980年,多層類神經網路失敗,淺層機器學習方法(SVM 等)興起
2006年,Hinton 成功訓練多層神經網路,命名為深度學習
2012年,因ImageNet 比賽讓深度學習重回學界視野,同時開啟NVIDIA GPU作為運算不可或缺硬體的大門。
更具體的來說,以GPU為基礎的深度學習訓練平台之演進及發展,讓深度學習的應用有機會實際應用於我們的日常生活,從而奠定了AI世代的來臨。

4.2 世上第一臺AI專用超級電腦,效能等同250臺x86伺服器組成的超級電腦

NVIDIA 2016年度GTC技術大會上,首度發表世上第一臺AI專用的DGX-1超級電腦,在這臺超級電腦當中採用了NVIDIA當時最新Pascal架構的Tesla P100顯卡系列,NVIDIA宣稱,DGX-1使用於深度學習的運算吞吐量,在半精準度的條件下,DGX-1電腦每秒浮點運算次數能達到170TFLOPS,如此高度的運算能力,幾乎等同於用250臺x86伺服器而搭建的運算叢集規模,才能滿足AI所需的大規模運算的需求。每臺售價為149,000美元

圖7 NVIDIA DGX-1 AI專用電腦(圖片來源:NVIDIA)

DGX-1是整合軟硬體並優化的專屬AI訓練平台,號稱可以在數小時內開始你的訓練工作,是NVIDIA展示當時GPU在深度學習應用戰力的最佳呈現。

4.3 超大GPU加速器,適合大規模雲端環境的高效能、高效率的運算叢集

為打造大規模資料中心所需的AI系統,MICROSOFT和NVIDIA合作,在OCP聯盟推出HGX-1參考架構,同時與頂尖伺服器製造商合作,如富士康、英業達、廣達,以及緯創等,以加速因應AI雲端運算各種需求。與前一代DGX-1不同的是,HGX-1採模組化設計,為伺服器與GPU BOX分離的架構,依使用情境的不同,可以一個伺服器接多個GPU BOX或多個伺服器接一個GPU BOX,展現最靈活的使用彈性。同時HGX-1也是純粹的硬體架構,軟體部分並沒有特別規範,使用上就必須使用者自己組出應用相對應的軟體堆疊,雖然可以適用各種AI應用,但某種程度上,使用就沒有DGX-1方便。

圖8 HGX-1 使用範例(圖片來源 OCP 官方網站)

為了確保能為持續成長的雲端運算業者提供最新的AI技術,NVIDIA啟動NVIDIA HGX合作夥伴計畫。透過此一計畫,提供所有原始設計製造商(ODM)使用NVIDIA HGX參考架構、NVIDIA GPU運算技術及設計準則等資源。同時,利用HGX作為AI領域的切入點,ODM夥伴廠商便能與NVIDIA合作加快設計,針對超大規模資料中心推出各種類型的認證GPU加速系統;ODM業者也能因此而縮短從設計到產品部署上市的時程。台灣知名的ODM大廠如富士康、英業達、廣達,以及緯創等,都已是此一計畫中的合作夥伴,運用HGX參考架構滿足AI密集的運算需求,並協助客戶研發創新產品。

4.4 NVIDIA GTC 2018 世上最大GPU與AI超級電腦面世

承襲DGX-1的設計理念,NVIDIA在今年的GTC推出搭載史上最強大GPU的超級電腦「DGX-2」,預計在第三季推出,售價為39.9萬美金。GDX-2除了GPU的數量及規格提高外,其他硬體資源也相應的大幅提升,請參考圖9的DGX-1及DGX-2規格比較表。同時為能讓DGX-2強大的硬體發揮最好效能,NVIDIA也更新其CUDA,TensorRT,NCCL 和cuDNN等DNN相關軟體以及Isaac機器人SDK,務求展現AI最大效能。

圖9 DGX-1 v.s. DGX-2(圖片來源NVIDIA)

GDX-2另外一個亮點是NVSwitch,藉由全新的NVSwitch技術,透過12個 NVSwitch晶片一口氣將16張Tesla V100 GPU串接,使得16張Tesla V100能夠共享運算資源、記憶體並且相互溝通,構成一個超大型GPU。NVLink在第一代DGX-1已經被使用來建立GPU與GPU間的直接溝通,在DGX-2進一步將NVLink擴展成NVSwitch,讓 GPU彼此之間無論是溝通、記憶體共享以及偕同運算等,如同一個巨大GPU。

4.5 除NVIDIA外,其他不同廠商運算單元發展狀況

深度學習大放異彩以來,除了GPU利用大量的平行運算單元提供強大的運算能力外,也有一些公司嘗試利用深度學習演算法的運作特性(如「矩陣運算」是大部分深度學習演算法最常用到的運算,也占整體演算法運算量的很大一部分),針對優化那些運算(如矩陣運算)特別開發硬體運算單元,希望能從運用面提供更適合、更強大的深度運算晶片,眾多國際大廠也相繼推出不同的運算架構及運算單元,第一類是原來就是GPU供應商的AMD和INTEL,正努力追上NVIDIA的腳步,但在軟體完整度方面與NVIDIA仍有相當差距,使用者的接受度不高。第二類是使用原有但不同類型的運算技術,像INTEL和MICROSOFT以FPGA為中心,發展深度學習訓練平台,雖號稱在某些運用有較好的效能,然普及度仍不高。第三類是發展AI專用特殊晶片,如在AI應用領域領先國際的Google有所謂TPU晶片,和很多新創公司也針對不同演算法、不同應用發展AI專用的ASIC解決方案。雖然新的AI運算平台如雨後春筍般崛起,但到現今為止,尚未有很明顯的徵兆能與NVIDIA平起平坐,未來這幾年,NIVIDIA應該還能主導AI運算平台一段時間。

5. 機器學習系統安全性設計

機器學習系統的安全性,以因果關係(可解釋性)為基礎的惡意攻擊免疫系統設計考量,包含:

  • 惡意攻擊性質歸類:

-訓練階段攻擊

針對必須持續收集資料反覆訓練的適配系統,嘗試改變訓練資料以達到改變訓練模型與結果的攻擊型態

-推論階段攻擊

嘗試改變應用於推論的資料以達到改變推論結果的攻擊型態

  • 惡意攻擊行為建模:

-隨機雜訊(random noise)或小能量干擾(perturbation)模型

-類神經網路(neural networks)所隱含線性與非線性特質易受攻擊的模型

  • 惡意攻擊免疫系統設計架構:

-針對隨機雜訊或小能量干擾形式的攻擊

確立攻擊模型,執行特徵工程(feature engineering)過濾篩除攻擊資訊

-針對時間序列持續收集資料反覆訓練的適配系統的攻擊

以視窗時間區段,建立特徵統計資料(平均、標準誤差、分佈等),比對特徵值找出異常特徵行為,予以過濾排除

-針對更細密的攻擊,建立因果關係模型(Causal-Relationship Model)

建立特徵敏感度模型(feature sensitivity model)

-推論結果隨特徵變異的變異參數

-易變異特徵排序

-以易變異特徵強弱為基礎建立易變異特徵圖矩陣

-訓練階段計算特徵圖矩陣(feature map)與易變異特徵圖矩陣的關連係數(correlation coefficient),如果關連係數低於設定的門檻(threshold)即于以替除(dropout)

  • 替除的惡意攻擊樣本資料的處理:

-進行資料分析以釐清攻擊來源與攻擊結構

-分析結果作為前段防護系統建置的參考

6. 機器學習的擴展性

由於大量的資料,延展性的計算及軟體系統,及技術的高可獲得性使得AI近來獲得巨大進步發展。以AI為基礎的解決方案已開始在許多工作方面接近甚至超越人類的能力,如圖10所示。如在網頁搜尋、高速交易及商業活動,及新的領域IoT、生化科技、自動駕駛。許多應用領域須要AI系統與真實環境互動而自動作出決定,如自動無人機、機械手術、醫學診斷及治療。由於真實世界在不斷變化,更有時是不可預期的變化,這些應用領域需要支援連續(continuous or continual)或終身(life-long)學習,而且是永不停止(never-ending)學習。終身學習系統關注於有效的傳輸及使用已經學習到的知識於新工作上而能依序解決多項工作。而永不停止學習致力於在每個重複循環中掌握其所包含的一組工作,而於這組工作不斷擴張下能在每個重複循環中加強其所有工作的效能。

圖10 機器學習擴展應用

當AI系統逐漸被部署於動態環境中,為使AI能達到關鍵任務系統的能力,當環境改變時AI系統需要不停的適應(adapt)及學習(learn)新的技能。例如,當路面有狀況時,一輛自駕車應能經由學習其它安全駕駛的車輛,而避開一場災難事故。同樣的,AI支援的侵入偵查系統必須當攻擊發生時能很快的辨別及學習新的攻擊型式。此外這些應用必須處理雜訊的輸入及抵禦不良的攻擊者。其挑戰即是設計一套AI系統能經由與動態環境互動而不斷學習,同時能即時的、可靠的、及安全的作出決定。

大多數現今的AI系統,包含電影推薦、影像識別、語言翻譯,於線上訓練並於線上預測。亦即學習並非依資料的產生而連續進行,學習是隨機的且是緩慢的。通常是模式每天更新,較好的是每小時更新,而預測決定發生於秒或次秒等級。對於不斷變化及不可預知的環境,特別是關鍵任務的應用方面極不適合。在這些挑戰性的環境下需要有能不斷學習及適應變化的學習者(agent) 功能。
線上學習解決了一些於動態環境下學習的議題。於此些情形下,資料暫時到達時並能對模式同時更新。但是,傳統線上學習 並不顧及控制問題,於此情況下學習者的行為改變了環境。同時,傳統線上學習亦不處理輸出或決定延誤的情形。

這些一般的情形可由強化學習(RL)的領域加以解決。強化學習的中心工作是學習一個功能或準則,此功能將所觀察到的資料對應於行動,而在一連串的動作下將長期利益最大化。即使是在延誤的情形下,強化學習的演算法仍然能夠經由考慮學習者的行為對環境所造成的衝擊更新這準則。如果伴隨著環境變化導致利益變化,強化學習也將據此更新準則。強化學習傳統上於下棋,學習走路,駕駛有成功案例。然而,這些早些的努力須要對每一個應用作大量的調適。最近的努力是結合深層神經網絡與強化學習(深層強化學習,Deep RL)來開發更可靠的能適用於各種環境下的訓練演算法,此種訓練演算法甚至能跨不同應用領域。近來值得注意的結果有Google的AlphaGo、醫學診療新的應用,及資源管理。然而,緃有這些成功,強化學習仍未能看到廣泛的實際應用案例。這有許多原因,其中之一是以此實際應用案例為考量的大型的系統未能建立。我們認為結合發展中的強化學習演算法,與系統設計創新,會觸發強化學習的快速發展及驅使新強化學習的應用。因此我們需要打造強化學習系統(Systems for RL)及模擬實境(Simulated reality,SR)。

在打造強化學習系統時,常常需要百萬甚至億萬次的模擬來探究及解決及複雜的問題。許多現今的強化學習應用,如棋賽,依靠大量的計算機模擬。例如,下不同變化的棋局,或對機器人模擬器作不同控制計劃的實驗。這些模擬能花費少至幾毫秒,而且時間長短是高度變化的。最後,真實部署強化學習系統需要及時的處理來自不同觀察環境感應器的輸入。因此,我們需要一個系統能處理任意動態的工作,而這些工作依時間、計算,及資源需求而不同。在此短時間的模擬要求下,為了能充分利用一個大的簇串(cluster)資源,需要每秒執行百萬次的模擬。

能與環境互動的能力是強化學習成功的基礎。然而不幸的是,真實世界的應用,直接互動可能非常緩慢或有害的,這兩種情形違反了在合理政策學習到之前需要百萬次互動的需求。雖然演算法的演進提議能減少互動的次數,但一般狀況來說需要模擬實境的架構,亦即學習者能在採取下個行動前能連續模擬及預測其結果。

模擬實境能使學習者不但能學習更快也更安全。想像一個清潔機械人首次遇到一支手機,為不損壞手機,機械人可掃描手機形狀置入模擬器中,進行決定其硬度、組成,及重量分布的實驗,再利用模擬實境來學習如何成功抓取手機。模擬實境(SR)並非虛擬實境(VR)。虛擬實境著重於模擬假想的環境,而模擬實境著重於連續模擬學習者所互動的真實世界。模擬實境也並非擴增實境(AR),擴增實境主要是將虛擬物件疊加於真實世界的影像上。

模擬實境最大的挑戰也許是在不斷變化的環境中不斷推論模擬器的參數,於此同時在採取一個行動前要執行許多模擬。當學習演算法與真實世界互動時,它得到許多的知識能被用來增進模擬。同時,許多可能的模擬須要在學習者行動間執行。使用不同可能的計劃及採取不同的「要是-如何」作為對真實世界的假設。因而,模擬需要比真實時間更快執行。

機器學習核心中的機器智能需要具備相當靈活性且可擴展,核心工作量有很大差異,可能需要非常大量的計算來支持非常特定的學習任務,或者可能需要少量的資料量處理來支持非常具體的部署。同時於深度學習網路核心推論時需要低延遲和高可用性,於特殊應用中保持即時回應相當重要,如自動駕駛車即是一個很好的例子。完整的自動駕駛功能需要大量的本地資料進行即時處理與回應,系統需要立即作出反應,以處理複雜的情況並在發生危險時迅速作出反應,以避開危險狀況的發生。

由於深度學習比較不需要領域知識的特性,因此許多領域已經開始廣泛使用AI深度學習,AI是目前全球科技發展的重心,台灣從既有領先全球之半導體技術及ICT產業優勢切入,打造由人才、技術、場域及產業結構築成的AI創新生態圈,科技部長陳良基提出AI科研戰略就是「AI小國大戰略」,預計5年投入160億建構AI創新生態環境。推出5大策略:「研發服務-建構AI主機」、「創新加值-設立AI創新研究中心」、「創意實踐-打造智慧機器人創新基地」、「產業領航-半導體射月計畫」及「社會參與-科技大擂台」等,一邊培育AI軟硬體人才,一邊產生產業群聚效應,協助產業轉型升級,使台灣成為AI發展重鎮,進而孕育AI新興產業應用。發展AI及半導體是台灣未來30年的重要關鍵,未來的手機等裝置晶片一定會內建AI運算核心,另外如智慧製造、醫療等產業AI應用,達到AI產業化與產業AI化的雙乘效益。而AI深度學習需要大量資料,未來對應動態環境如自走車等等應用,除了更多大數據資料的需求外,演算法與大系統計算能量的精進也不可缺。針對資料的準備部分,工研院擬開發一平台幫忙使用者進行訓練資料的準備,除了運用人工與機器交錯標記的方法來節省人力標記負擔之外,也將開發許多相關技術降低人力負擔,包括減少所需標記的資料數、加快學習進程、自動找出可能標記錯誤的資料等,以此來降低深度學習需要大量人工標記資料的問題。

Berkeley[11]對未來AI個人普及化與任務重要化的挑戰提出三大研究方向,AI在動態環境的課題、AI的安全問題、以及AI特定架構的設計。AI在動態環境的課題包括連續學習,和可解釋與精準的決策結論,AI的安全問題探討AI應用的安全範圍,敵意式學習與攻擊,與資料安全,AI特定架構的設計將整合特殊硬體,軟體與邊緣雲等技術,尤其是AI深度學習主要是靠GPU運算,因此包括以NVidia為主的廠商皆針對這股熱潮開發相關設備,包括DGX與HGX等。從訓練學習到終端應用,從連續學習到自我強化與學會學習,從資料隱私到AI應用安全,開創全方位AI新紀元。

參考文獻

[1]G. Hinton,etc.,“Deep Neural Networks for Acoustic Modeling in Speech,” Recognition,https://ieeexplore.ieee.org/document/6296526/
[2]A. Krizhevsky,I. Sutskever,and G. E. Hinton,Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105),2012
[3]D. Silver,A. Huang,C. J. Maddison,A. Guez,L. Sifre,G. Van Den Driessche,J. Schrittwieser,I. Antonoglou,V. Panneershelvam,M. Lanctot,S. Dieleman,D. Grewe,J. Nham,N. Kalchbrenner,I. Sutskever,T. Lillicrap,M. Leach,K. Kavukcuoglu,T. Graepel,D. Hassabis,Mastering the game of Go with deep neural networks and tree search. nature,529(7587),484-489,2016.
[4]T. Chouard,The Go Files: AI computer wins first match against master Go player. Nature News,2016.
[5]T. Chouard,The Go Files: AI computer wins first match against master Go player. Nature News,2016.
[6]L. V. Allis,Searching for solutions in games and artificial intelligence. Rijksuniversiteit Limburg,1994.
[7]VGG Network Parameter Explanation: http://cs231n.github.io/convolutional-networks/
[8]O. Russakovsky*,J. Deng*,H. Su,J. Krause,S. Satheesh,S. Ma,Z. Huang,A. Karpathy,A. Khosla,M. Bernstein,A. C. Berg and F.-F. Li,(* = equal contribution) ImageNet Large Scale Visual Recognition Challenge. IJCV,2015.
[9]Google’s Open Image V4,https://storage.googleapis.com/openimages/web/index.html
[10]Kaggle,https://www.kaggle.com/
[11]Ion Stoica,etc.,“A Berkeley View of Systems Challenges for AI,” https://arxiv.org/pdf/1712.05855.pdf

文章轉載自工業技術研究院電腦與通訊月刊