「超級 AI」的種子?複雜到人類難以評價的問題,可以教會一個 AI

AI 科技評論按:正如我們仍在自然語言處理的漫漫征途上摸索,AI 安全的課題也仍然沒有得到系統的解決。作爲前沿探索的積極分子,OpenAI 也不斷提出新的思路,有許多既符合人類的思路,也便於未來長期的 AI 發展。

這次,OpenAI 提出了一種名爲「迭代擴增」(iterated amplification)的 AI 安全新技術,它可以幫助我們鑑別超出人類可控尺度之外的複雜行爲和目標,只需要演示如何把某個任務分解成一些簡單的子任務,而無需提供傳統的標註數據或者反饋函數。雖然這種想法還處在很早期的階段,OpenAI 的研究人員們僅僅基於一些非常簡單的算法任務進行了實驗,但他們仍然決定應該毫無保留地把它的初始模樣公佈出來。他們覺得,這有可能爲 AI 安全帶來一條可大規模拓展的光明路徑。

從去掉直接的評價開始

傳統上,如果我們想要訓練一個機器學習系統執行某項任務,我們都會需要一個訓練信號,這個訓練信號的作用是提供一個評價方式,根據評價出的「好」或者「差」的結果引導系統的學習。比如,監督學習中的數據標註,或者強化學習中的反饋,就是這樣的訓練信號。這種機器學習範式通常假定了訓練信號是已經明確地存在的,然後就可以關注這個信號進行學習。但是在更多的現實任務中,我們總需要找一個什麼東西,然後把它作爲訓練信號。如果我們找不到合適的訓練信號,我們就沒辦法讓系統學習;或者如果我們找到的訓練信號不合理,系統就會學到奇怪的行爲,有時候這些行爲甚至可能是危險的。所以,不論是對於一般性地學習一個新任務,還是對於 AI 安全的研究,如果有更好的辦法找到/生成訓練信號,都會是一件極具價值的事情。

那麼,我們現在是如何生成訓練信號的呢?一些情況下,我們想要的目標是可以直接用數學形式描述的,比如圍棋中的計分、比如賽車遊戲中車輛走了多遠(下圖,左下),或者檢查給出的一組亂序數字是否被正確排序(左上)。然而多數真實世界的任務並不能展示出明確的、可以用數學形式表示的訓練信號,比如後空翻、比如做飯,在這種時候我們常常可以考慮讓一個人做一次這個任務(標註一個訓練數據集,中上,或者實際操作一遍,中下),供系統模仿,以此作爲訓練信號,又或者作爲評價者,從旁評價系統執行任務的效果如何。然而,有許多任務還是無法用這些方法解決,它們過於複雜,以至於人類既無法給出評價、也無法執行它們;這樣的任務例如,設計一個複雜的城市交通系統,或者管理一個數百臺計算機組成的網絡,負責其中的安全細節(右)。

迭代擴增就是爲最後這類任務生成訓練信號的方法,當然了它也需要一定的假設。名義上講,雖然一個人沒有辦法直接執行或者直接評價整個任務,但 OpenAI 假設,當你把任務的部分交給一個人的時候,他是有能力把它分解成幾個更小的、清晰的部分的。比如,對於剛纔提到的計算機網絡安全的例子,人可以把「防衛一組服務器和路由器的安全」這個任務分解成「考慮防範對服務器的攻擊」、「可考慮防範對路由器的攻擊」、「考慮這兩種攻擊方式互動的可能性」三部分。另外,OpenAI 也假設人類有能力執行任務中的一小部分,比如對於計算機網絡安全的例子,人類能夠「確認 log 文件中的某一行記錄是可疑的」。如果這兩個假設爲真,那麼 OpenAI 認爲我們就能夠根據人類做小的細分任務的能力,爲大規模的任務構建訓練信號,同時讓人來參與協調整個任務的拼裝。

在 OpenAI 的迭代擴增的實現中,他們首先對小的分任務進行採樣,訓練 AI 系統仿照人類執行這些分任務的演示進行學習。然後他們開始採樣更大一些的任務,藉助人類的幫助把大任務分解成較小的任務,而這些較小的任務正是前一步中經過訓練的 AI 可以解決的。接着,OpenAI 把這些在人類的幫助下得到的二階任務的解決方案直接作爲訓練信號,訓練直接解決二階任務的 AI 系統——這次也就不再需要人類幫助了。下一步,OpenAI 繼續組合不同的任務,在過程中不斷建立更完整的訓練信號。如果這個過程奏效的話,我們最終就可以期望得到一個完全自動的系統,它可以解決非常複雜的組合性任務,即便在剛開始學習時沒有任何針對這些任務的直接訓練信號。

這個過程和 AlphaGo Zero 中用到的「專家迭代」(expert iteration)有相似之處,區別在於專家迭代會不斷強化一個現有的訓練信號,而迭代擴增則是從零開始逐步構建完善的需訓練信號。迭代擴增也和近期的幾個學習算法有一些共同的特徵,在測試階段解決問題時,它們都可以現場分解任務以便處理,只不過它們的運行環境設置中並沒有前期的訓練信號。

實驗結果

正如之前通過吵架達到 AI 安全的研究,把一個原型階段的項目直接在超過人類能力的大規模任務上運行是不現實的。而且,真的用人來做前期需要的訓練喜好也會帶來額外的複雜度,所以目前 OpenAI 並未這樣做(計劃未來會做做)。

對於早期實驗,OpenAI 首先嚐試把迭代擴增用在具有數學形式的訓練信號上,以便說明它在簡單的設定下是可以奏效的;OpenAI 也暫時把注意力限制在監督學習領域內(上一次藉助人類生成隱式的訓練信號見你做我評,根據人類反饋高效學習)。他們在 5 個簡單的可以數學化的簡單任務上嘗試了迭代擴增方法。這些任務本身具有直接的、有清晰數學形式的解(比如找到一個圖的兩個節點之間的最短路徑),但 OpenAI 的研究人員們暫時假裝不知道這個解。解決這些任務可以通過把小的、單步的推演過程一個個拼接起來(比如把相連的兩個短路徑拼接起來形成一個長的路徑),不過想要靠人工把所有的東西都這樣拼接起來則會耗費非常多的精力。

在這種設置下,OpenAI 只把任務的小部分作爲訓練信號,測試使用迭代擴增來學習最終的直接解決算法;這個過程作爲「人類知道如何組合一個組合的各個部分,但無法給出一個直接的訓練信號」情境的簡單模擬。

對於五個任務中的每一個任務(置換排序、序列對齊、通配符搜索、最短路徑搜索以及聯盟搜索),迭代擴增學習到的結果都可以和監督學習直接學到的結果有近似的表現 —— 別忘了,這可是以“沒有直接的訓練信號”作爲阻礙,還取得了這樣的可貴,難能可貴。(另外值得說明的是,OpenAI 的目標是希望迭代擴增能利用更少的信息也取得與監督學習相當的成績,而無需超過)

在任務中,迭代擴增無需查看真實值標註,就可以取得和監督學習近似的表現

迭代擴增和 OpenAI 之前通過吵架達到 AI 安全的研究有許多相似的特徵。和通過吵架達到 AI 安全一樣,它都是在想辦法解決那些根據人類的現有問題無法直接操作、或者無法直接評價的任務,過程則是一個迭代進步的過程,而人類就可以在這個過程中提供間接的監督,不管具體的任務、具體的操作細節有多麼不同。迭代擴增也利用了 OpenAI 在你做我評中的研究成果,它實現了一個反饋預測系統,之後的更新的版本也很有可能可以包括來自真正的人類的反饋。

目前爲止 OpenAI 對這幾種不同的路徑的探索都還只是在很初級的程度上,下一步的挑戰就是如何拓展它們的規模,讓它們解決更有趣、也更現實的問題。

論文地址:https://arxiv.org/abs/1810.08575

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章