奇點前夕?訓練神經網路的神經網路即將普及

分享至

奇點前夕?訓練神經網路的神經網路即將普及

臺灣大學電機工程系 陳明佑

奇點與智能爆炸

比人類更強?這不免讓人想到,無論在科技圈或科幻圈,對於人工智慧始終存在一個經典的預想,這個預想被稱為科技奇點(Technology Singularity)。科技奇點指的是「科技進展將創造出超越人類智慧之機器的時間點」,在此臨界時間點之後,科技將以現時人類無法理解的速度飛躍成長,人類歷史將堂皇跨入下一個新紀元。更有未來學家Ray Kurzweil表示,2045年就是他認為的科技奇點[註1]。

另外,跟科技奇點緊密相連的概念之一是智能爆炸(Intelligence Explosion),也就是當能夠超越人類智能之機器誕生,從此機器將能夠設計出更多更好的機器,屆時人類智慧將開始遠遠落後(畢竟機器又能設計出超越人類智能的機器,如此一來科技發展不就不需要人類了?)。這似乎正是Google AutoML在做的事,所以,科技奇點將要到來了嗎?

AutoML技術領域的挑戰

幸好,當Google將AutoML技術導入了自家雲端平台的機器學習引擎上,成為他們雲端平台上備受矚目的新產品時,其實率先推出的只有針對視覺部分的AutoML Vision。而至今其它服務都尚未推出,所以我們還不必擔心明天的世界會發生劇變。唯獨不可忽略的是,這項技術的重要性在於機器學習工具的普及,以及訓練成本的降低。

要談AutoML領域,不能不先談機器學習領域面臨的問題。一般來說,機器學習需要四大元素:資料集、資料上的標記、數學模型、目標函數,其中,最難製作的可能是資料標記,因為需要整理的資料非常大量,卻只能依靠人力進行,使得人事成本非常高。有人估計,光是標記每個模型的九萬筆資料,成本可能就要花費超過兩萬五千美元,也就是約七十五萬台幣。不過,需要耗費更大心力,還不一定能找到的,反而是數學模型。因為數學模型有非常多的選擇,光是以模仿人類神經網路為基礎的模型,就有自編碼器(Autoencoder)、感知器(Perceptron)、循環神經網路(RNN)、卷積神經網路(CNN)等等類別,各類別之下又有各種變形,類別之間還能有各式組合。

基於神經網路的機器學習,在選用一類神經網路之後,接下來還要決定神經網路模型的超參數(Hyperparameter) [註2]與架構(Architecture)[註3]。因為深度學習所用的神經網路層數較多,架構複雜,又因為各個超參數都需要人為決定,所以導致了可能解決問題的模型選項多到難以窮盡,神經網路往往只能在選定最終模型前耗費大量時間做試誤。以往也只有累積多年經驗的專家可能稍稍加速此過程,而且仍只能儘量找出較佳(而非最佳)的模型。

以上就是許多AutoML研究者們正試圖克服的挑戰 [註4],或許也是人類到達科技奇點之前,最需要越過的關卡。

Google AutoML的回應

究竟Google要如何提出解決方案呢?針對如何讓機器自行設計神經網路模型的複雜問題,Google AutoML使用了如下解法:首先由一個控制器(本身是循環神經網路)產生一個子代的神經網路模型。這一步驟是由控制器生成一個不固定長度的字串,字串對應於擁有某種架構的子代神經網路 [註5]。然後這個子代的神經網路模型會被訓練、評估表現。接著子代模型的準確率會作為回饋訊號返回控制器中,讓控制器作出調整,產生另一個更好的神經網路模型。重複這個過程無數次以後,最終就能產生出擁有最佳準確率的模型。

而根據原論文,這個方法產生的圖像識別模型,不只在某些資料集上能和人類設計的模型匹敵,甚至在另一些資料集上,就訓練速度和準確率,雙雙勝過了人類現有技術下具有相似架構的模型。

這正是為什麼AutoML有望大幅降低機器學習的成本,並普及化機器學習工具。因為一旦這個方法能應用到更廣大的整個機器學習領域,屆時任何的機器學習問題都能運用類似的方法,由機器設計出模型,也因此,Cloud AutoML更顯得有其價值——從此,任何團隊將不再需要專家就能輕鬆運用機器學習技術。

AutoML領域及我們的未來

看過了Cloud AutoML的介紹、什麼是Cloud AutoML、Google AutoML面對的問題與採行的解法,再來要望向它的未來。但令人稍感意外的是,就近幾個月來說,Google AutoML似乎暫時銷聲匿跡了,以國外論壇Reddit的討論聲音來看,甚至認為Google AutoML的成果可能被誇大了、AutoML只是老酒新裝,這整個領域其實沒有那麼大的進展,反而還有很長的路得走。目前我們大概只能憑藉想像,猜想著:在許久之後,我們將把所有的神經網路模型都交由機器生成?或是機器將能夠自主演化,如同智能爆炸所預期的那樣?

另一方面,Cloud AutoML作為商業服務,接續著Google首席科學家李飛飛提出的「AI民主化」概念,亦即設法降低使用門檻,讓最大批的開發者、使用者、企業都能使用人工智慧技術,則似乎將成為未來人工智慧領域趨勢。越來越多人可以直接使用機器學習這項技術,無非是令人樂見之事,也能夠避免技術進步的成果被壟斷在少數人手中的不公平。不過,這樣的潮流能不能持續下去、能不能深化/擴散、未來會如何演變,還有待繼續關注。

最後,值得留心的是,即使AutoML看似充滿各種不可思議的可能,我們還是要記得機器學習不是魔法,「垃圾進,垃圾出(Garbage in, garbage out)」是機器學習領域的至理名言,縱然訓練過程能被機器接手,又縱然機器有能力自動找出表現更好的模型,但沒有好的訓練資料,訓練出的模型仍然只會是垃圾;同樣地,如果我們丟進有偏見的資料,必然只會做出再製人類偏見的模型。

隨著機器學習模型的開發越來越有效率,我們也應該越來越謹慎地設計機器,因為一旦我們越過了科技奇點,或許人類就再也沒有路回頭。未來世界將如何,一切都取決於我們如何穿梭跋涉,抵達奇點時的姿態。

註解:

[註1] 若你對科技奇點的主題感興趣,我推薦紀錄片《科技奇點》,該片曾就「科技奇點是否會到來」訪問過諸多專家學者,帶出了深刻的討論與玄想。[註2] 神經網路模型的設計流程大致如下,先決定神經網路模型的型態,然後訓練模型、驗證模型,最後調整模型。接著回到訓練模型這一步驟,構成循環。超參數即是在選定神經網路模型時已一併決定的參數,例如學習速率、訓練的時間長度、神經元類型等,調整模型時,要調整的即是神經網路的超參數。相對地,機器學習的參數(Parameter)則是指在訓練模型的過程中會被持續調整的神經連結權重等數值。

[註3] 架構指的是神經網路在空間上的型態,比如說神經元與神經元之間有多少連結、神經網路要有多少層。[註4] 嚴格說來,AutoML處理的問題遠比此廣泛,因為要讓機器學習能夠自動化,還會遭遇資料預處理、特徵提取等等面向的問題。[註5] 之所以使用不固定長度的字串代表子代神經網路,是為了盡可能表示出不同的神經網路型態,因為,若使用固定長度的字串,所能代表的架構將極為有限。不固定長度的字串更容易表示不同層數、不同連結方式的神經網路架構。


參考文獻:

  1. Google I/O 2017大會(談AutoML的段落約從16分20秒開始):https://www.youtube.com/watch?v=Y2VF8tmLFHw
  2. 科技奇點與Ray Kurzweil的說法,參考:https://futurism.com/kurzweil-claims-that-the-singularity-will-happen-by-2045/
  3. 智能爆炸定義及相關論述,參考:https://en.wikipedia.org/wiki/Intelligence_explosion
  4. 對資料標記成本的估算,參考:https://www.altexsoft.com/blog/datascience/how-to-organize-data-labeling-for-machine-learning-approaches-and-tools/
  5. AutoML的技術說明,參考:https://ai.googleblog.com/2017/05/using-machine-learning-to-explore.html,Barret Zoph, Quoc V. Le,2017
  6. Reddit討論串:https://www.reddit.com/r/MachineLearning/comments/84p4l7/r_using_evolutionary_automl_to_discover_neural/
  7. 李飛飛「AI民主化」:https://aibusiness.com/googles-dr-fei-fei-li-wants-to-democratise-ai/,AI Business,2017年
(Visited 69 times, 1 visits today)

分享至
views