0
雷鋒網(wǎng) AI 科技評論按:正如我們?nèi)栽谧匀徽Z言處理的漫漫征途上摸索,AI 安全的課題也仍然沒有得到系統(tǒng)的解決。作為前沿探索的積極分子,OpenAI 也不斷提出新的思路,有許多既符合人類的思路,也便于未來長期的 AI 發(fā)展。
這次,OpenAI 提出了一種名為「迭代擴增」(iterated amplification)的 AI 安全新技術(shù),它可以幫助我們鑒別超出人類可控尺度之外的復雜行為和目標,只需要演示如何把某個任務分解成一些簡單的子任務,而無需提供傳統(tǒng)的標注數(shù)據(jù)或者反饋函數(shù)。雖然這種想法還處在很早期的階段,OpenAI 的研究人員們僅僅基于一些非常簡單的算法任務進行了實驗,但他們?nèi)匀粵Q定應該毫無保留地把它的初始模樣公布出來。他們覺得,這有可能為 AI 安全帶來一條可大規(guī)模拓展的光明路徑。雷鋒網(wǎng) AI 科技評論介紹如下。
傳統(tǒng)上,如果我們想要訓練一個機器學習系統(tǒng)執(zhí)行某項任務,我們都會需要一個訓練信號,這個訓練信號的作用是提供一個評價方式,根據(jù)評價出的「好」或者「差」的結(jié)果引導系統(tǒng)的學習。比如,監(jiān)督學習中的數(shù)據(jù)標注,或者強化學習中的反饋,就是這樣的訓練信號。這種機器學習范式通常假定了訓練信號是已經(jīng)明確地存在的,然后就可以關(guān)注這個信號進行學習。但是在更多的現(xiàn)實任務中,我們總需要找一個什么東西,然后把它作為訓練信號。如果我們找不到合適的訓練信號,我們就沒辦法讓系統(tǒng)學習;或者如果我們找到的訓練信號不合理,系統(tǒng)就會學到奇怪的行為,有時候這些行為甚至可能是危險的。所以,不論是對于一般性地學習一個新任務,還是對于 AI 安全的研究,如果有更好的辦法找到/生成訓練信號,都會是一件極具價值的事情。
那么,我們現(xiàn)在是如何生成訓練信號的呢?一些情況下,我們想要的目標是可以直接用數(shù)學形式描述的,比如圍棋中的計分、比如賽車游戲中車輛走了多遠(下圖,左下),或者檢查給出的一組亂序數(shù)字是否被正確排序(左上)。然而多數(shù)真實世界的任務并不能展示出明確的、可以用數(shù)學形式表示的訓練信號,比如后空翻、比如做飯,在這種時候我們常??梢钥紤]讓一個人做一次這個任務(標注一個訓練數(shù)據(jù)集,中上,或者實際操作一遍,中下),供系統(tǒng)模仿,以此作為訓練信號,又或者作為評價者,從旁評價系統(tǒng)執(zhí)行任務的效果如何。然而,有許多任務還是無法用這些方法解決,它們過于復雜,以至于人類既無法給出評價、也無法執(zhí)行它們;這樣的任務例如,設(shè)計一個復雜的城市交通系統(tǒng),或者管理一個數(shù)百臺計算機組成的網(wǎng)絡(luò),負責其中的安全細節(jié)(右)。
迭代擴增就是為最后這類任務生成訓練信號的方法,當然了它也需要一定的假設(shè)。名義上講,雖然一個人沒有辦法直接執(zhí)行或者直接評價整個任務,但 OpenAI 假設(shè),當你把任務的部分交給一個人的時候,他是有能力把它分解成幾個更小的、清晰的部分的。比如,對于剛才提到的計算機網(wǎng)絡(luò)安全的例子,人可以把「防衛(wèi)一組服務器和路由器的安全」這個任務分解成「考慮防范對服務器的攻擊」、「可考慮防范對路由器的攻擊」、「考慮這兩種攻擊方式互動的可能性」三部分。另外,OpenAI 也假設(shè)人類有能力執(zhí)行任務中的一小部分,比如對于計算機網(wǎng)絡(luò)安全的例子,人類能夠「確認 log 文件中的某一行記錄是可疑的」。如果這兩個假設(shè)為真,那么 OpenAI 認為我們就能夠根據(jù)人類做小的細分任務的能力,為大規(guī)模的任務構(gòu)建訓練信號,同時讓人來參與協(xié)調(diào)整個任務的拼裝。
在 OpenAI 的迭代擴增的實現(xiàn)中,他們首先對小的分任務進行采樣,訓練 AI 系統(tǒng)仿照人類執(zhí)行這些分任務的演示進行學習。然后他們開始采樣更大一些的任務,借助人類的幫助把大任務分解成較小的任務,而這些較小的任務正是前一步中經(jīng)過訓練的 AI 可以解決的。接著,OpenAI 把這些在人類的幫助下得到的二階任務的解決方案直接作為訓練信號,訓練直接解決二階任務的 AI 系統(tǒng)——這次也就不再需要人類幫助了。下一步,OpenAI 繼續(xù)組合不同的任務,在過程中不斷建立更完整的訓練信號。如果這個過程奏效的話,我們最終就可以期望得到一個完全自動的系統(tǒng),它可以解決非常復雜的組合性任務,即便在剛開始學習時沒有任何針對這些任務的直接訓練信號。
這個過程和 AlphaGo Zero 中用到的「專家迭代」(expert iteration)有相似之處,區(qū)別在于專家迭代會不斷強化一個現(xiàn)有的訓練信號,而迭代擴增則是從零開始逐步構(gòu)建完善的需訓練信號。迭代擴增也和近期的幾個學習算法有一些共同的特征,在測試階段解決問題時,它們都可以現(xiàn)場分解任務以便處理,只不過它們的運行環(huán)境設(shè)置中并沒有前期的訓練信號。
正如之前通過吵架達到 AI 安全的研究,把一個原型階段的項目直接在超過人類能力的大規(guī)模任務上運行是不現(xiàn)實的。而且,真的用人來做前期需要的訓練喜好也會帶來額外的復雜度,所以目前 OpenAI 并未這樣做(計劃未來會做做)。
對于早期實驗,OpenAI 首先嘗試把迭代擴增用在具有數(shù)學形式的訓練信號上,以便說明它在簡單的設(shè)定下是可以奏效的;OpenAI 也暫時把注意力限制在監(jiān)督學習領(lǐng)域內(nèi)(上一次借助人類生成隱式的訓練信號見 你做我評,根據(jù)人類反饋高效學習)。他們在 5 個簡單的可以數(shù)學化的簡單任務上嘗試了迭代擴增方法。這些任務本身具有直接的、有清晰數(shù)學形式的解(比如找到一個圖的兩個節(jié)點之間的最短路徑),但 OpenAI 的研究人員們暫時假裝不知道這個解。解決這些任務可以通過把小的、單步的推演過程一個個拼接起來(比如把相連的兩個短路徑拼接起來形成一個長的路徑),不過想要靠人工把所有的東西都這樣拼接起來則會耗費非常多的精力。
在這種設(shè)置下,OpenAI 只把任務的小部分作為訓練信號,測試使用迭代擴增來學習最終的直接解決算法;這個過程作為「人類知道如何組合一個組合的各個部分,但無法給出一個直接的訓練信號」情境的簡單模擬。
對于五個任務中的每一個任務(置換排序、序列對齊、通配符搜索、最短路徑搜索以及聯(lián)盟搜索),迭代擴增學習到的結(jié)果都可以和監(jiān)督學習直接學到的結(jié)果有近似的表現(xiàn) —— 別忘了,這可是以“沒有直接的訓練信號”作為阻礙,還取得了這樣的可貴,難能可貴。(另外值得說明的是,OpenAI 的目標是希望迭代擴增能利用更少的信息也取得與監(jiān)督學習相當?shù)某煽?,而無需超過)
迭代擴增和 OpenAI 之前通過吵架達到 AI 安全的研究有許多相似的特征。和通過吵架達到 AI 安全一樣,它都是在想辦法解決那些根據(jù)人類的現(xiàn)有問題無法直接操作、或者無法直接評價的任務,過程則是一個迭代進步的過程,而人類就可以在這個過程中提供間接的監(jiān)督,不管具體的任務、具體的操作細節(jié)有多么不同。迭代擴增也利用了 OpenAI 在你做我評中的研究成果,它實現(xiàn)了一個反饋預測系統(tǒng),之后的更新的版本也很有可能可以包括來自真正的人類的反饋。
目前為止 OpenAI 對這幾種不同的路徑的探索都還只是在很初級的程度上,下一步的挑戰(zhàn)就是如何拓展它們的規(guī)模,讓它們解決更有趣、也更現(xiàn)實的問題。
論文地址:https://arxiv.org/abs/1810.08575
viablog.openai.com,雷鋒網(wǎng) AI 科技評論編譯
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。