Preface
AI系統從創建,調整到真正上線,真的是一件很困難的事。除了模型的調整是一種近乎經驗及直覺的調校過程以外,最難的莫過於Andrew說的,你的系統的穩健性能有多好?也就是說,打從一開始模型的設計,若是就沒有特別想過這個系統對整個環境及運行時間的相容性問題,一個你花費大把心血的AI系統就會變得脆弱不堪,隨便換個現場光線,或是這個系統換了一批人來用,就會變得完全不可用了。
所以AI系統的開發也變得越來越複雜。從早期只要能辨識貓狗或手寫字這樣的任務,到現在要能夠玩StarCraft II,要能像算命師一樣猜猜用戶想畫什麼,甚至要能做蘋果派…我們面對的都不是1,2個神經網路,而是3,4個不同種類,複雜的神經網路協同處理,才能完成我們想要的功能。
即便如此,AI迷人的地方就在這裡,只有你想不到的,沒有你做不到的。
接下來我打算把學習的重心移回Unreal,所以「The Batch」的固定翻譯就會到這裡告一段落。除非有有趣的內容,不然我就會只寫我消化後的重點給大家分享,應該不會再有逐字翻譯的版本了。
Andrew Says
建構AI系統真的很難。即便AI看起來無所不能,但AI工程師沒有一個不是每天都在處理困難的問題。接下來的幾週,我會來探索幾個主要的挑戰。而今天的主題是「在真實世界的限制條件下,建構強健AI系統的挑戰」。
得益於深度學習,監督學習的準確度有了長足的進展。但若要從Jupyter notebook建構模型的環境,到可以交付可靠的產品,這中間仍有很長的一段路要走。
有許多研究團體,當然也包話我的及其他的,都有發表許多文章來說明,深度學習在解讀X光片或其他醫學儀器取得影像的精準度,是可以比美專職的放射師的。但為什麼這些系統並未被廣泛地部署使用呢?
我相信主要的障礙是來自於對穩健性的疑慮。試想,若我們從頂尖的醫療院所,從高品質的X光機,取得訓練有素的放射師判讀過的資料,然後在最先進的模型下來訓練,那麼我們的成果必然是可以比美專職的放射師的。
但若我們將同樣的演算法移到較舊的醫院,經驗不足的模型訓練技術員,或是較老舊的醫學儀器所產出的影像(和新的機器產出的不同),那這樣的神經網路將會漏掉一些以前就被特別盯上過的情況,或是回報一些和事實不符的狀況出來。相對地,人類的放射師在舊的醫院,仍能很正確的診斷這些影像。
我在許多應用上都看過這類的挑戰:
- 語音辨識系統主要是以成人的聲音來訓練的,但當它被交付出去後,用戶年齡開始趨向年輕化,這些年輕的聲音在舊系統的表現就不如預期了。
- 製造廠的視覺檢測系統主要是以一個月中的現場影像來訓練的,但隨時間過去,工廠的燈光條件變了(可能是燈管老化導致亮度不夠,或是換了一個不同顏色的燈管),該系統的準確率就大不如前了。
- 在工程師交付網頁排名系統後,語言模式進化,新的網紅竄紅,搜尋熱門字也改了,就導致排名系統運作失常了。
在社區中,我們在穩健性的處理是較好的。方法包括了數據增強及部署後監視的解決方案,也搭配了一些警報系統,確保我們能在問題一出現的時候就能馬上開始處理。還有在早期就嘗試去指定演算法能安全使用的操作環境,進行更多的正式驗證。
「
穩健性的對抗式攻擊」是另一個重要的考量因素。不過我看過多數穩健性的問題都和攻擊無關,而是在資料的分布上的問題。
其中一個穩健性的挑戰是在於它很難被有系統的研究。在其中一種分布的環境訓練的演算法,丟到另一種分布的環境的表現,我們要如何評比它的分數?而在全新數據集訓練的成果如何,很大一部分是取決於運氣。這就是為什麼在穩健性的學術研究工作量,遠低於它應有的重要性。唯有有效的評分方式誕生,才能有助於推動更多的學術研究。
許多團隊仍以直覺及經驗來解決穩健性的問題。作為一個社區,我們必須開發出更多的有系統的解決方案。
Take That, Humans!
在上週的BlizzCon遊戲大會上,StarCraft II的玩家被DeepMind的AI殺個精光。經過一年多的培訓,AI的機器人玩家已是全球頂尖玩家之一了。
What’s new
隸屬於Alphabet的AI研究部門,DeepMind宣布了它們的「AlphaStar」模型,已經達到了StarCraft II的特級大師等級,在模仿人類玩家限制的情況(不能偷看地圖,資源不會比較多)下,仍能擊敗線上99.8%的活躍玩家。
How it works
StarCraft II的規則十分簡單 – 採集資源,提升武力,然後殲滅對手。然而,遊戲性卻非常的複雜。在每一個時間單位,可採取1026個可能的動作。
AlphaStar模型在設計時,就希望它不只是能擊敗人類對手,而且要像人類玩家的玩法。確實,根據該專案的最新
論文表示,該模型真的沒有發明自己的策略,它只是根據人類的策略,根據經驗來加以訓練。
- 代理者由監督式學習的模式被初始化。
- 開發團隊使用了模仿學習當作一個初期的策略,這樣就可以擊敗近84%真人對手了。
- 然後,他們就建立了一個虛擬的聯盟對抗賽,裡面都是AlphaStar模型的代理者。它們會使用強化學習的模式,像人類玩家那樣玩,但這次不是不惜代價去獲勝,而是透過曝露自己的行蹤來學習如何抵御策略上的缺陷。為此,開發團隊還加了更多的代理者,特別針對過去比賽中發現的弱點來強化學習。
- 在虛擬聯盟徹底磨練好這些技能後,AlphaStar就在Battle.net去面對真正的真人對手,而實際的對戰結果是,它們已達到終極大師的地位。
Humanizing the bot
DeepMind在一月時公布了AlphaStar在一連串的競賽中,擊敗專業玩家的成果。當時的版本很明顯有一些人類沒有的優勢,例如它可以看到全域的地圖,也可以快速在每分鐘進行無數個操作。而在這次的「大師」版,它已經改頭換面,和人類玩家完全立於相同的起跑點。
Why it matters
DeepMind早期就在Atari的遊戲中,投入巨大的資源在研究玩遊戲的AI,而它們也得到許多科技上令人興奮的成就。AlphaGo系統更是讓許多國家都受到激勵,投入更多資源在AI研究上,而AlphaStar將會繼續演化。
We’re thinking
Unfinished Artwork? No More
生成式網路已可將片段的句子編織成故事,也可將簡單的旋律重組為成熟的曲調。現在有一個新的模型,可以為圖畫做類似的處理。
What’s new
來自於Oxford, Adobe Research,及UC Berkeley的研究員,發表了一個新的模型,可將鉛筆的虛擬素描回填成真實物件。
SkinnyResNet 可將用戶在瀏覽器中畫出的粗線條,轉為有完整顏色及材質的照片。
Key insight
多數能
將素描轉為圖像的網路,都需要用戶先畫出完整的素描圖,才能將其轉成最終的圖像。為了橋接素描的第一筆到最終的整個輪廓,該模型得從第一筆開始就要提取整個圖像的詳細資訊。
How it works
這個系統是基於2個對抗式網路實作的。「sketch-completion GAN」會預測用戶想畫的東西,而「image-generation GAN」則是會預測將要產生的圖像為何。
- 開發者透過Google搜尋素描及實際圖像的資料,建構了一個包含了10個分類,每類約200組的「素描輪廓–圖像」的資料集。
- 「sketch-completion GAN」能從用戶的素描中產生了完成的輪廓圖。這個模型是由完整的輪廓圖中,亂數刪減一部分的線條訓練而成的。
- 用戶要先選擇一個描繪物件的種類,「image-generation GAN」就會把用戶的素描及選定的物件分類來預測,並產出最終的照片。
- 另外有一個神經網路控制著「image-generation GAN」產生物件的種類。「image-generation GAN」是由許多CNN層組織而成的,而控制網路可根據用戶選定的物件種類,來切換這些CNN層的開關。如此一來,就能根據不同的物件種類,來產生不同的照片。
Results
Arnab Ghosh和同事以該模型和
MUNIT為主的編解碼模型的輸出結果。他們針對預先訓練好的第3版感知網路,做了資料集上的優化,並將其用在兩個模型去做影像分類。結果SkinnyResNet的分類正確率是97%,比編解碼模型的92.7%還要好。而SkinnyResNet的輸出圖像中,有23%被真人標籤員(給圖像貼標籤的工作人員)當作是真實照片,而編解碼模型是14.1%。
Why it matters
從Photoshop 1.0到現在已經過許多年,而這份研究將會給我們在創作工具的設計上有一些新的理解。和以往使用鉛筆或油畫刷來被動建模的過程,這些工具將會進化成主動型助手,協助設計師視覺化他們的想像,完成他們的創作。
We’re thinking
為何要停止用手作畫呢?寫作及譜曲就是用這種型式在創作的,而將來一些創意性的創作需求,像是3D建模,機構設計,建築及編舞可能都會利用這種生成式的技術來完成。
Robotic Control, Easy as Apple Pie
被設計來輔助失能人士的機器人,能做的事情越來越多了,但它們也變得越來越難控制。一份新的研究提出了一個更直覺的方法來操作這些複雜的機構系統。
What’s new
來自於Stanford的研究員,用搖桿來控制七段聯結的機械手臂,能在不同的任務需求下,自動切換不同的操作需求。他們的
研究成果,可讓飽受行動不便的人們帶來許多便利。
Key insight
這個直覺的搖桿對應法,是針對任務的內容來決定機械手臂的動作。對拿著水杯的機械手臂下拉搖桿,可能是命令機械手臂把水倒空,同樣的搖桿動作對沒拿東西的機械手臂來說,可能是命令它往下掃。Dylan P.Losey和他的同事使用了「條件式變換自動編碼機(conditional variational autoencoder,CVA)」來學習根據手臂目前位置決定的搖桿可控制向量。
How it works
一個自編碼機包含了編碼及解碼兩個部分的神經網路,來學習簡化型式的輸入。編碼網路會將輸入的向量映射為一個較小的輸出向量,而解碼網路則是會從編碼網路的輸出向量,嘗試重建一份新的輸入向量。「變換自動編碼機(variational autoencoder)會依據新產出的輸入向量,新建潛在向量的分布圖,而CVA會依據目前的狀態來更改分布圖。
- 這個模型會先從一些範例,像是去拿個東西,來學習簡化後的控制表達方法。
- 這個用搖桿表示的簡化表達法,會讓解碼器解譯出馬達的實際控制,來操作手臂。例如,上下的操作可能是控制手臂的延展,而左右的控制則是控制手掌的開合抓取。
- 為了避免邏輯上的不一致,像是搖桿上的小動作,可以造成馬達的大幅動作,我們為編輯器加入了懲罰機制,來避免簡化表達造成的大幅差異。然而,簡化的表達法無法定義每個關節的精確動作,所以這樣的簡化表達操作法,會犧牲一些精準度。
Results
在實際實驗中,研究員讓用戶操作機械手臂去做蘋果派,這包含了要混合各種材料,並丟到容器中去。參與者使用的就是簡化後的控制方法來定義每個關節的動作。使用了這種新操作法的用戶,都在平均約一半的時間內,就做出了他們的蘋果派,並回報說這樣的方法真的很輕鬆。
Why it matters
將近100萬失能的美國人,要求在日常生活中要有機器人的輔助。一個簡單直覺的操作,將可讓用戶的自理能力變得更好,而不需要什麼事都要交給看護。
We’re thinking
在這個情況下,CAV讓機械手臂的控制變得輕鬆,但這樣的神經網路同時更能讓人機互動變得輕鬆。