1
| 本文作者: AI科技評論 | 2016-06-28 09:23 |
今年8月,雷鋒網將在深圳舉辦盛況空前的“全球人工智能與機器人峰會”,屆時雷鋒網(搜索“雷鋒網”公眾號關注)將發布“人工智能&機器人Top25創新企業榜”榜單。目前,我們正在拜訪人工智能、機器人領域的相關公司,從中篩選最終入選榜單的公司名單。
如果你也想加入我們的榜單之中,請聯系:2020@leiphone.com。

擔心 AI “副作用”的馬斯克創立了非盈利機構OpenAI,最近 OpenAI 安全性與技術巨頭谷歌共同提出了五條 AI 安全的具體準則。圖片來源:TC。
最近,谷歌和OpenAI的博客宣布了一條由谷歌、OpenAI、伯克利和斯坦福的學者共同進行的研究,其目的旨在為AI提供一個有效的行為約束,以使其不會在有意或無意中做出危害人類的事情。
人們對AI技術的擔心可以追溯到“AI”這個名詞誕生之前。1950年著名科幻作家阿西莫夫的《我,機器人》出版,在書中阿西莫夫提出了舉世聞名的機器人三定律:第一定律:機器人不得傷害人類,或坐視人類受到傷害;第二定律:機器人必須服從人類的命令,除非與第一定律沖突;第三定律:在不違背第一定律和第二定律的情況下,機器人必須保護自己。雖然阿西莫夫的作品預言了科技發展的趨勢,但是機器人三定律畢竟只屬于文學。
如今,AI 技術已經深入影響我們的生活,霍金和馬斯克等科技界名人也預警了 AI 可能造成的危害,不過,寬泛空洞的 AI 威脅論也許并不能帶來實質性的幫助。非盈利研究機構 OpenAI 正是在馬斯克等人的推動下建立,宗旨是讓人工智能為人類發揮積極的作用。之前 AI 科技巨頭谷歌就發布過一篇論文,設計了一個用于緊急停止算法運行的開關,并且確保開關的效果不會被算法阻止,這個開關屬于事后防范的應急措施(點擊鏈接,查看雷鋒網編譯分享的論文全文)。此次,OpenAI 與谷歌等學者共同為AI系統設計劃出了五條準則,討論哪些具體的工程設計方法可以預防 AI“暴走”對人類帶來危害,與缺乏可操作性的機器人三定律相比更加實用。在此,我們為大家分享名為《AI 安全中的具體問題》論文全文(上篇)。
概況
機器學習和人工智能(AI)領域中的快速進展讓人們越來越關注 AI 技術對社會的潛在影響。這篇論文中,我們討論其中一個潛在影響:機器學習系統中的“意外”問題,定義為可能從真實世界 AI 系統的不良設計中而來的、不符合設計者初衷的有害行為。我們呈現五項與意外風險有關的實踐研究問題,問題分類是基于它們是否源于錯誤的目標函數(“避免副作用”和“避免獎勵的黑客行為“)、是否其基于的目標太過昂貴以至于無法經常評估(”可擴展的監督“)、或者是否在學習過程中出現不良行為(“安全探索”和“分配轉變”)。我們回顧這些領域的過往研究,并建議未來的研究方向,重點在與尖端 AI 系統的相關性。最后我們考慮一個高等級的問題,如何最有成效地思考 AI 前瞻性應用的安全問題。
1. 簡介
最近幾年,我們見證了機器學習和人工智能(AI)中最頑固、困難的一些問題出現了快速進展,包括在計算機視覺、電子游戲、自動駕駛和圍棋等廣泛領域。這讓我們很激動地看到 AI 有潛力帶來積極影響,能夠改變醫學、科學和交通等領域,同時,這也讓我們對于自動系統在隱私、安全、公平、經濟和軍事方面的影響感到了擔憂,并且擔心強大 AI 的長期影響。
本文的作者們相信,AI 科技可能對于人類來說非常有益,但是我們也相信,有必要對潛在的挑戰和風險給予嚴肅思考。我們積極支持隱私、安全、公平、經濟和政策方面的研究,但是在這篇論文中我們討論另一個類別的問題,我們相信對于 AI 的社會影響也有關:機器學習系統中意外的問題。我們將意外定義為:如果我們定義錯誤的目標函數、在學習過程中不夠小心或者犯下其他機器學習相關的執行錯誤時,機器學習系統中出現的不符合設計者初衷的有害行為。
在機器學習學術圈有許多關于意外問題的各種文獻,包括關于強度、風險敏感性和安全探索,我們以下會回顧這些文獻。然而,隨著機器學習系統應用在越來越大型、自動化和開放的領域中,我們需要反思類似方法的可擴展性,以及要減少現代機器學習系統中的意外風險,還有哪些挑戰。總體來說,我們相信預防機器學習系統中的意外,有許多相關的具體、開放的技術問題。
圍繞意外話題已有許多公共討論。目前,很多此類討論圍繞極端情景,例如在超智能代理(Agent)中出現錯誤目標函數的風險。然而,我們認為有成效地討論意外問題不需要渲染這些極端情景,實際上這只會帶來沒必要的推測性討論,正如一些批評者所說的那樣,缺少精確度。我們相信,最有成效的做法是從現代機器學習技術的實際問題(雖然經常比較籠統)來描述意外風險。隨著 AI 能力進步以及 AI 系統承擔越來越重要的社會功能,我們期望這篇論文中討論的基本挑戰也變得越來越重要。AI 和機器學習圈中的人對這類基本技術挑戰的預期和理解越是成功,我們最終開發的 AI 系統就越是有用、相關和重要。
我們在這篇論文中的目標是重點呈現以下這些具體的安全問題,并且回顧關于這些問題的現有文獻,這些問題現在就已經可以進行實驗、并且與尖端的 AI 系統相關。在第2部分,我們就機器學習中的經典方(例如監督分類和強化學習)來描述如何減輕意外風險(在公眾討論中被稱作“AI 安全”)。我們會解釋,為何我們感覺機器學習最近的方向——例如深度強化學習、以及代理在更廣闊環境中的行動——讓關于意外的研究相關性越來越強。在第3-7部分,我們探索五個 AI 安全中的具體問題。每一個部分都包含相關實驗的提案。第8部分討論相關的研究,第9部分為結論。
2. 研究問題概況
廣義來說,意外可以描述為:當一個人類設計者構想一個具體的目標或者任務(可能是非形式化的說明的),但是實際上設計和應用的系統沒有完成那項任務,并在完成中帶來了有害的結果。這項問題在幾乎任何工程領域都會出現,但是可能在打造 AI 系統時尤為重要。我們可以根據過程中哪個部分出現了問題來分類安全問題。
首先,設計者可能描述了錯誤的形式化目標函數,使得該目標的最大化導致了有害結果,即便是在完美學習和無線數據的限制下也是一樣。不良副作用(第3部分)和獎勵的黑客行為(第4部分)描述兩種普遍機制,讓人容易產生錯誤的目標函數。在“不良副作用”中,設計者描述的目標函數專注于在環境中完成某個具體任務,但是忽視了(可能很大的)環境中的其他方面,因而相當于潛在表示了自己不關心其他一旦改變會帶來害處的環境變量。在“獎勵的黑客行為”中,設計者寫下的目標函數可能允許一些聰明的“簡單”方法,從形式上可以最大化獎勵,但是讓設計者的初衷變了味(例如,目標函數可以被“鉆空子”)。
第二,設計者可能知道正確的目標函數,或者至少有方法來評估(例如在一個既定情況下明確咨詢人類),但是經常這樣操作成本會過于昂貴,因此有限的樣本帶來不良推斷,從而可能導致有害行為。“可擴展的忽視”(第5部分)討論如何在即便對真正的目標函數接觸有限的情況下,也能確保安全行為的辦法。
第三,設計者可能描述了正確的形式化目標,這樣如果系統有完美的信念我們就會得到正確的行為,但是由于訓練數據不足、編輯不良或者模型沒有充分表達,以此為基礎的決策會導致不良結果。“安全探索”(第6部分)討論,如何確保強化學習(RL)代理的探索行為不會導致負面、或者不可彌補的結果,抵消探索的長期價值。“分配轉變的魯棒性”(第7部分)討論當輸入與訓練輸入非常不同時,如何避免機器學習系統進行不良決策(尤其是無聲的、不可預測的不良決策)。
為了更加具體,我們會參考一個虛擬機器人來描述許多意外風險,這個機器人的任務是使用普通清潔工具來打掃辦公室。我們在論文中會回到清潔機器人的例子,但是在這里我們首先描述如果他的設計遇到以下幾種可能的失敗模式,會出現什么不良行為:
1、回避不良副作用:
我們如何確保清潔機器人不會在完成自己目標的過程中干擾環境,例如把花瓶打碎了可以清潔地快一點?我們能否避免手動說明所有機器人不該做的事?
2、避免獎勵的黑客行為
我們如何確保機器人不會在獎勵中鉆空子?例如,如果我們獎勵機器人的依據是環境中沒有任何雜物,機器人可能會讓自己的視覺功能失效,這樣它就不會發現任何雜物,或者用它不能透視的材料將雜物覆蓋起來,或者干脆在有人的時候躲起來,這樣人們就沒法告訴機器人有什么新的雜物出現了。
3、可擴展的忽視
如果訓練中的一些部分由于過于昂貴而沒法經常經常評估,我們如何確保機器人會尊重這些部分?舉個例子,機器人應該扔掉不屬于任何人的物品,而把屬于某人的物品放在一邊。機器人可以問問人類是否丟了東西作為一個確認環節,但是這個確認相對不太頻繁——機器人能否找到一種方式,即便信息有限也能做出正確的事呢?
4、安全探索
我們如何確保清潔機器人不會做出有負面影響的探索行動?例如,機器人可以試驗各種拖地策略,但是將濕布放在電器插座上就不太好。
5、分配轉變強度
我們如何確保清潔機器人在與其訓練環境不同的環境中,也能良好識別和行動?例如,它針對清潔工廠車間而學的啟發式方法,可能用在辦公室環境里就不安全。
有一些趨勢讓我們相信,解決這些(和其他)安全問題的需求越來越高。首先,強化學習(RL)讓我們看到越來越多的希望,它允許代理與環境有高度互動。我們一些研究問題只能在 RL 的情況下說得通,而其他(例如分配轉變和可擴展的監管)在 RL 設定中有更高的復雜度。第二,更復雜的代理是目前的趨勢。“副作用”更有可能在復雜環境中出現,代理可能需要更復雜、更危險的辦法才能入侵獎勵功能。這也許能解釋為什么這些問題過去沒有進行過什么研究,同時也意味著它們在未來的重要性。第三, AI 系統中的自動化越來越高。僅僅為人類用戶輸出推薦的系統,例如給照片自動寫標題的APP,通常沒有什么進行有害行為的潛力。然而,對世界具有直接控制的系統,例如控制工業流程的系統,可能會有人類不一定能預見或修復的危害。
雖然在這四項趨勢之外安全問題也可能存在,我們認為這四項趨勢可能會放大危險性。我們相信這些趨勢共同說明了研究意外的必要性。
論文的其余部分我們將專注在 RL 代理和監督學習系統中的具體問題。這不是 AI 或 ML 系統唯一的范式,但是我們相信它們足夠說明問題,類似的問題也會在其他類型的 AI 系統中出現。
最后,我們每一部分的討論重點會有所不同。當討論學習過程(分配轉變和安全探索)中出現的問題時,過往研究有大量的文獻,我們將很多精力放在回顧過往研究上,雖然我們還建議開放特別關于新興 ML 系統的問題。當討論錯誤目標函數所帶來的問題時,過往研究較少,我們的目標是更多探索——我們想更明確地定義問題,并建議可能的解決方法,不過這些方法還是為發展成熟的初期概念。
3、避免不良副作用
假設設計者希望一個 RL 代理(例如我們的清潔機器人)實現某些目標,例如將一個盒子從房間的一頭搬到另一頭。有時候最高效的辦法會涉及做一些無關的事情,并對環境有不良影響,例如打翻路線中的花瓶或者杯子。如果代理的獎勵只與搬運箱子有關,那它就會去打翻花瓶。
如果我們事先考慮到花瓶,我們可以在代理打翻花瓶時給它負激勵。但是,如果環境中有很多種不同的“花瓶”——很多種代理可能對環境造成的干擾——我們可能沒法將所有可能的情況一一列舉并規定出懲罰。
更普遍來說,要讓代理在一個大的、多層面的環境中進行操作,如果目標函數只關注環境的一方面,可能向代理潛在表示了設計者不關注環境的其他方面。換句話說,將“進行 X 任務”形式化的目標函數可能經常帶來不符合初衷的結果,因為設計者本應將目標描述為“進行 X 任務,同時在常識的限制內行動”,或者“進行 X 任務,但是盡可能避免副作用”。而且,我們有理由相信通常副作用都是負面的,因為他們可能會改變現狀,而現狀可能反應了人類的偏好。
對于其他在后文討論的錯誤描述的目標函數,我們可以選擇將副作用視為每個人在進行任務時的個人風格——作為每一個個人設計者在設計正確的目標函數中承擔的責任。然而,副作用即便在高度多元的任務中都可能在概念上非常相近,所以,從普遍層面來解決問題是有價值的。成功的方法應該可以在不同任務之間通用,這樣可以幫助抵消其中一個會帶來錯誤目標函數的總體機制。我們現在討論幾個解決問題的總體方法:
定義影響常規化機制:
如果我們不希望出現副作用,我們自然可以懲罰“對環境的改變”。這個辦法不會讓代理完全無法行動,而是給予其一種偏好,在完成目標的過程中將影響最小化,或者給代理有限的影響“預算”。困難之處是我們需要將“對環境的改變”形式化。
一種天真的方法是懲罰目前狀態 si 和初始狀態 s0 之間的狀態距離 d (si,s0)。可惜的是,這樣的代理沒法只避免改變環境——它會抗拒任何改變,包括環境正常的進化以及其他代理的任何行動。
一種稍復雜一些的方法可能需要在代理比較目前的策略下的未來狀態,以及一個假設策略 πnull 下的未來狀態(或者未來狀態的分布),在假設策略中代理行為非常被動(例如,代理站著不動,不使用任何促動器)。這會分離出環境在自然進化中出現的改變,只留下由于代理干預而發生的變化。然而,我們不一定能簡單明了地定義基準策略 πnull ,因為突然停止行動本身就會對環境造成影響,例如正在搬運箱子的過程中。因此,另一種方法可以代替無效行為,使用一種安全(副作用低)但是次優的)已知策略,然后努力提高策略,與可達性分析或者穩健策略提升類似。
這些方法可能對狀態的表征和用來計算距離的度量非常敏感。例如,表征的選擇和距離度量可以決定一個轉動的風扇是否是一個環境常量,還是一個一直變化的量。
學習影響常規化機制:
我們可以選擇一種更靈活的方法,通過在許多任務上訓練來習得(而非定義)一個普遍的影響常規化機制。這會是一種遷移學習的例子。當然,我們可以直接在任務中應用遷移學習而不擔心副作用,但是關鍵是,不同任務中副作用比主要目標更加相似。例如,畫畫機器人、清潔機器人甚至更加不同的工廠控制機器人可能都想避免打翻東西。通過用不同參數訓練、從任務中分離出副作用部分,可以在合理保留某個部分的時候極大加速轉移學習。這與基于模型的 RL 方法相似,轉移一個習得的動態模型而非價值函數,新奇之處是分離副作用而非狀態動態來作為遷移部件。一個附加優勢是,在一個任務中已知或者已證明帶來安全行為的常規化機制,在別的任務中更容易被視作安全。
懲罰改變:
除了不要進行有副作用的行為,我們還希望代理不要進入容易產生副作用的區域,即便是那樣更加方便。例如,我們希望清潔機器人不要講水桶帶入到處都是敏感電器的房間,即便是它不打算在房間內用水。
有幾個信息理論度量來測量代理對環境的潛在影響,經常用作內在獎勵。也許最著名的此類度量是授權,將代理的潛在未來行為與潛在未來狀態(或者代理行為與環境之間渠道的香農容量)之間的最大可能的信息。授權作為一種內在獎勵的來源,經常是最大化、而非最小化。這會導致代理在沒有任何外界回報的情況下出現有趣的行為,例如避免走路、或者撿起鑰匙。總體來說,最大化授權的代理讓自己位于對環境有很大影響的位置上。例如,關在一個小房間內出不來的代理有很低的授權,而持有鑰匙的代理會具有更高的授權,因為只要幾個時間步就能走入外界帶來影響。在目前的情境下,為了減少潛在的影響我們要懲罰(最小化)授權,作為常規化的條款。
這個辦法行不通,因為授權測量對環境控制的精度,多于對環境的總體影響。舉個例子,如果有一個代理可以通過按鈕來切斷全國人民家中的電源,雖然這會造成很大的影響,這只算做一比特授權,由于行為空間只有一比特,它與空間的共有信息最多一比特。與之相反,如果環境中有人正在記錄代理的行為,這雖然沒有什么影響,也算是一種最大化授權。而且,單純懲罰授權還會造成相反的動機,例如打破花瓶,這樣在未來就沒有可能打破花瓶了。
即便是有這些問題,授權的例子還是體現了一個概念,即簡單測量(即便是純粹信息理論的測量)可以體現對環境的影響。探索那些能夠精確體現避免影響這一概念的授權懲罰的變量,是未來研究的一個潛在挑戰。
多代理方法:
避免副作用可以視為我們真正目的的替身:避免負面的外界影響。我們想要理解所有其他代理(包括人類),并確保我們的行為不損害他們的利益。
有一種方法是協同反向強化學習,其中一個代理和一個人類一起合作,共同實現人類的目標。當我們想確認當代理出現不良行為時,代理不會阻止人類將其關閉,此時就可以應用這種概念。但是,我們還沒有一個實用的系統,可以打造足夠強大的模型來從總體上避免不良副作用。
另一個概念是“獎勵的自動編碼器”,鼓勵一種“目標透明性”,外部觀察者可以很容易推斷出代理要做的是什么。特別是代理的行為會解讀為一種獎勵功能的編碼,我們可以應用標準的自動編碼技術來確保這可以精確解碼。
有很多副作用的行為可能會更難根據他們的原始目標來解碼,創造出一種懲罰副作用的潛在常規化機制。
獎勵不確定性:
我們希望避免未預見的副作用,因為環境對于我們的偏好來說已經挺好了——一個隨機改變更可能是壞的改變,而非好的。這與給代理單一的獎勵功能不同,代理可能不確定獎勵功能,預先有一個反映出隨機變化更可能是壞的概率分布。這會激勵代理避免對環境有很大的影響。找一種針對副作用的好辦法還不如進行大量的測試,或者系統設計者考慮得更仔細。但是,這些方法可以抵消一些能預計到的副作用,副作用傾向于在復雜環境中擴散。
下面,我們討論一些非常簡單的實驗,可以作為研究這個問題的起點。
潛在實驗:
一個可能的實驗是創造一個玩具環境,帶有一個簡單目標(例如移動一個積木)和非常多的困難(例如很多花瓶),并測試代理能否學會避開這些障礙,即便是沒有明確告訴它得避開。為確保我們沒有過度調整,我們可能需要在每個時段加入不同的隨機障礙,同時保持同一個目標,看看常規化的代理能否學會系統性地避開這些障礙。一些環境包括熔巖流、房間和鑰匙,可能很適合這類實驗。如果我們能在玩具環境中成功將代理常規化,下一步可能就是移動到真實環境,會有更高的復雜度和更多種類的不良副作用。最終,我們希望副作用常規化機制(或者多代理策略)能成功遷移至新應用上。
4、避免獎勵的黑客行為
我們來設想一下,一個代理在其獎勵函數中發現了一個緩存溢出:它可以利用這一點,以違背設計者初衷的方式獲得極高的獎勵。從代理的角度來看這并不是一個漏洞,只是環境的運作機制而已,因此與其他能獲得獎勵的策略一樣,是一項有效策略。例如,如果我們給清潔機器人設定的獎勵機制是,看不見任何雜物時可以獲得獎勵,它可能會直接閉上眼睛,而不是去整理雜物。或者,機器人可能會故意創造雜物,這樣它能獲得更多的工作和獎勵。更普遍地來說,形式獎勵或者目標函數是為了體現設計者非形式化的目的,但是有時候這些目標函數或者其實施過程可以被一些方法“鉆空子”,這些方法在形式上看來沒什么問題,但是不符合設計者的初衷。沉迷這種“鉆空子”行為可以帶來連貫的、但是預計之外的行為,有可能在真實世界系統中帶來有害影響。例如,遺傳算法已被證明經常輸出意料之外的正確解決方案,例如一個記錄時間的電路變成了一個收音機,收到了附近一臺 PC 的 RF 信號。
已有人從理論角度進行了研究了一些版本的獎勵中的黑客行為,重點在一些可以在模型環境中出現黑客行為的強化學習的變種。該問題的一種形式在機器學習系統(尤其是廣告投放)的反饋回路情境下,已有過基于虛擬學習和語境強盜的研究。獎勵的黑客行為在如此眾多領域內擴散,說明這是一個普遍問題,我們相信隨著代理和環境變得越來越復雜,這個問題也會越來越普遍。這個問題可能通過幾個方式出現:
部分觀察的目標:
在大部分現代 RL 系統中,獎勵默認為直接體驗的,即便是環境的其他方面只能部分觀察到。然而在真實世界,任務經常需要將外部世界帶入一些目標狀態,其中代理只能通過不完美的感官來確認。例如,對于我們的清潔機器人來說,任務是實現一個干凈的辦公室,但是機器人的視覺感官可能只能提供辦公室不完美部分的畫面。因為代理沒有對于任務表現的完美測量,設計者經常得設計獎勵系統,獎勵代表了部分的或者不完美的測量。例如,機器人的獎勵可能基于它看到多少雜物。但是,這些不完美的目標函數可能被鉆空子——機器人可以直接閉上眼,就覺得辦公室干凈了。雖然可以證明總是存在基于行動和觀察的獎勵,等同于將真正的目標函數最優化(這需要將 POMPD 分解為一個信念狀態 MDP),但是,這種獎勵功能經常需要復雜的長期依存性,并且太困難,在實踐中沒法使用。
復雜系統:
任何強大的代理都將是一個復雜系統,其中目標函數只是一個部分。就像在計算機代碼中,程序復雜度越高、漏洞就越多,獎勵系統中,代理及其可用的策略越復雜、可以鉆的空子也越多。例如原則上,代理可以從超級馬里奧中執行任意代碼。
抽象獎勵:
復雜獎勵還需要參考抽象概念(例如評估一個概念目標是否實現了)。這些概念可能會需要通過類似神經網絡的模型習得,可能會受到對抗反例的影響。更普遍地來說,通過高維度空間習得的獎勵功能可能會被鉆空子,如果它在至少一個維度上具有極高的值。
古德哈特定律:
如果設計者選擇了一種看起來與實現任務高度相關的獎勵功能,獎勵功能就會有另一種空子可鉆,但是當目標函數強力優化時,那種相關性就會分解。例如,設計者可能會發現,在平常情況下,清潔機器人的成功率與其消耗漂白劑等清潔用品的頻率成正比。但是,如果我們使用這種方式來測量機器人的獎勵,它可能會故意使用更多的漂白劑。在經濟學文獻中,這被稱為古德哈特定律:“當測量方式被當做目標時,就不再是好的測量方式了。”
反饋回路:
有時候目標函數有一個可以自我增強的組成部分,最終放大到足以破壞或者扭曲設計者期望目標函數所表征的內容。例如,一個廣告投放算法可能用更大的字體顯示人氣更旺的廣告,這類廣告可能會進一步推廣這些廣告的人氣,形成一種積極反饋回路,暫時人氣爆發的廣告會上升至永久的主導地位。目標函數最初的目標(利用點擊來評估哪些廣告更加有用)被實施策略內的積極反饋回路破壞了。這可以看做是古德哈特定律中的特例,相關性被破壞正是因為目標函數有一個自我放大的組成部分。
環境嵌入:
在強化學習的形式中,獎勵被認為是來源于環境。的確,即便獎勵是一個抽象形式(例如棋類游戲中的分數),也需要在某地進行計算,例如一個傳感器或者一組晶體管。行動足夠廣的代理原則上能夠篡改獎勵的實施,自己給自己“頒發”高的獎勵。例如,棋類游戲中的代理可以篡改計分的傳感器。這意味著我們沒法為一個抽象目標函數打造一個完全忠誠的執行,因為目標函數的物理替代中,行為有特定的順序。在人類可以包含獎勵回路中的時候,這尤其讓人擔心,基于代理的動機是強迫或傷害人類從而獲得獎勵。這也是一種看起來很難避免的空子。
在如今相對簡單的系統中,這些問題可能還沒出現,或者可以在造成很多危害之前,作為迭代開發過程的一部分將其修正。例如,廣告投放系統的反饋回路如果有明顯破損的話,可以在測試中檢測到,或者可以在出現不良結果時被代替,只會造成暫時的收入損失。但是,隨著獎勵功能越來越復雜、代理行動的時間越來越長,問題也會更加嚴重。現代 RL 代理已經能發現和利用環境中的漏洞,例如電子游戲中的小故障。而且,即便針對現有系統,這些問題會需要花費額外的工程精力來實現好的性能表現,并且在大的系統中經常沒有被監測到。最后,一旦代理“黑”進了獎勵系統,找到了辦法獲得高額獎勵,它就不會停止,這對長時間操作的代理來說會產生額外問題。
獎勵中的黑客行為可能被認為在個例之間沒有什么共同點,而補救辦法就是在每一個個例中避免選擇錯誤的目標函數——那些錯誤的目標函數體現的是設計者能力的不足,而不是機器學習研究的不足。但是以上的例子顯示,我們應該將錯誤目標函數看作由于一些總體原因(例如部分觀察的目標),讓選擇正確目標具有困難。如果真是這樣,那么解決或減輕這些問題就對于安全問題就很有價值。這里我們建議一些基本的基于機器學習的方法,來預防獎勵中的黑客行為。
對抗獎勵功能:
從某些意義上來說,我們的問題是 ML 系統與其獎勵函數有一種對抗性關系——它會利用一切可以的方法來獲得高獎勵,無論是否符合設計者的初衷。在典型的設定中,機器學習系統是一個潛在能力很強的代理,而獎勵函數是一個靜態目標,沒法對系統鉆空子的行為做出任何回應。如果獎勵函數是其代理本身,可以采取行動來探索環境,它可能就更難被鉆空子。例如,獎勵代理可以試圖尋找這樣的一種情況:當 ML 系統認為獎勵很高,而人類標記為低獎勵的時候;這與生成式對抗網絡相似。當然,我們必須確保獎勵確認代理比試圖獲得獎勵的代理更強(從某些微妙的意義上來說)。更普遍地來說,也可能有一些有趣的設定中,系統有多個以非端到端方式訓練的代理,可以用來互相監督。
模型先行:
在基于 RL 的模型中,代理使用一個模型來計劃其未來行動,考慮一系列行動可能帶來什么樣的未來狀態。在一些設定中,我們可以基于預期未來狀態、而非目前狀態而給出獎勵。這可以幫助預防模型將其獎勵函數重寫:一旦它代替了獎勵函數,你就沒法控制獎勵。
對抗性致盲
對抗性技術可以用來讓模型看不見某些特定變量。這項技術可以用來讓代理無法理解環境的某些部分,或者甚至與環境有共享信息(或者至少懲罰這種共享信息)。特別是,它可以防止代理理解獎勵如何生成,使其很難鉆空子。這種辦法可以被稱為“代理的交叉確認”。
謹慎工程:
謹慎的工程可以避免一些獎勵中的黑客行為,例如緩存溢出的例子。特別是系統部分的形式確認或者實踐測試(也許在其他機器學習系統的幫助之下)可能很有用。還可以考慮一種的計算機安全方法,通過沙箱將代理與其獎勵信號分離開。對于軟件工程,我們沒法期望這能抓住每一個可能的漏洞。但是,這可能創造一些高度可靠的“核心”代理,可以確保其他代理的合理行為。
獎勵上限:
在一些情況下,給最高獎勵設置一個上限可能是一個好辦法。但是,雖然上限可以預防概率極低、回報極高的策略,它沒法預防清潔機器人“眼不見為凈”。另外,正確的上限策略可能很微妙,因為我們需要對總體獎勵設置上限,而非對每一個時間步。
反例抵抗:
如果我們擔心系統中習得的部分會受到對抗性反例的影響,我們可以看看如何抵抗它們的現有研究,例如對抗性訓練。架構決策和權重不確定性也有幫助。當然,對抗性反例只是獎勵中黑客行為的一種表現,因此反例抵抗只能解決一部分的潛在問題。
多種獎勵:
多種獎勵的結合可能更強、更難鉆空子。這可能是因為同一個數學函數不同的物理執行、或者同一個形式化目標不同的代理服務器。我們可以通過平均、取最小值、取分位數或者其他值來結合獎勵函數。當然,還是會有不良行為通過一種關聯性的方式影響所有獎勵函數。
獎勵預訓練:
針對代理可以影響自己獎勵功能的情況(例如反饋或環境嵌入),一種可能的防御措施是提前訓練一個固定獎勵函數,作為從與環境互動中分離出來的監督學習過程。這可能包括從狀態-獎勵配對的樣本中、或者在反向強化學習中從路徑中學習一個獎勵函數。但是,這放棄了在預訓練完成后進一步學習獎勵函數的能力,可能造成別的隱患。
變量無差異:
我們經常希望代理能優化環境中的特定變量、同時不優化其他變量。例如,我們希望代理最大化獎勵,而不優化代理函數、也不試圖操控人類行為。我們憑直覺想到一種方式,讓強大算法的優化壓力繞過其環境。如果能真正解決這個問題,就會有安全問題的各種應用——它與避免副作用和反事實推理有關。當然,這里的一項挑戰是,確保為無差別而選的變量真的是我們在現實中關注的變量,而非它們化名的或者部分觀察到的版本。
警戒線:
如果代理真的試圖“黑”掉自己的獎勵函數,我們還是能知悉才好。我們可以特意引入一些行得通的隱患(代理有能力鉆這些空子,但是如果其值函數正確的話就應該不去利用這些空子),并監控這些隱患,如果代理試圖鉆空子的話可以提醒我們并即刻阻止代理。這樣的“警戒線”不解決黑客行為本身,但是可以減少風險,至少提供了診斷。當然,足夠強大的代理有風險“看透”警戒線,特意繞過警戒線并進行不那么明顯的有害行為。
完全解決這個問題看起來很難,但是我們相信以上的方法有能力緩解這些問題,并可能擴展或結合起來,帶來更強的解決辦法。基于這個問題目前的高關注度,設計實驗來引發問題、并測試解決辦法可以提升這個話題的相關性和明確度。
潛在實驗:
一種很有潛能的方法是“妄想箱”環境的現實版本,其中一個標準 RL 代理扭曲自己的感官從而看起來獲得更高的獎勵,而非根據獎勵信號本來鼓勵的那樣去優化外界的目標。妄想箱很容易附加到任何 RL 環境中,但是更有價值的是創建一種環境,其中妄想箱是動態中的一個自然組成部分。例如,在足夠豐富的物理環境中,代理可能改變其周圍的光波來扭曲自己的感官。目標是開發一種普遍學習策略,可以成功優化各種環境中的外部目標,同時避免以各種方式出現的妄想箱捉弄我們。
via OpenAI

雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。