對角化:一個(稍微)更嚴謹的偏執模型
我認為當面對一個能預測你行動的更強大對手時,偏執會變成一種適應性反應,我將這種過程稱為「對角化」。為了應對這種情況,我提出了一個半正式模型,主張在這種對抗性環境中,僅有的可行策略是讓自己盲目、消除欺騙來源或採取不可預測的行動。
在週三的文章(《偏執:初學者指南》)中,我從高層次探討了偏執的體驗,並提供了兩個模型(檸檬市場模型和 OODA 循環模型),試圖讓我們更接近理解其本質與目的。
接著我提出了一個大膽的觀點,但在文中並未充分論證,即在對抗性的資訊環境中,有三種值得採取的策略:
- 蒙蔽自己(自我屏蔽)
- 消除欺騙源
- 行動不可預測
現在,Unnamed 在評論中提出了一個非常合理的批評!為什麼恰好是這三種策略才合理?我們如何確信不存在第四種有效的策略?
事實上,策略的空間是巨大的!許多最有效的策略(例如建立信任網絡、聘請獨立審計員、進行隨機實驗,以及「提高自己查明真相的能力」)都無法整齊地歸入該文的類別中。也許它們可以被強行塞進這個本體論,但在我看來並不契合。
但我認為存在一個半正式模型,在這個模型中,這三種策略完全涵蓋了可能的行動空間。因此,將策略空間分解為這三個類別,比單純說「我隨手從袋子裡掏出這三個策略並隨機宣稱它們是僅有的策略」更自然。這個半正式模型還引入了「對角化」(diagonalization)這個術語,我發現它是一個很有用的概念抓手。
我認為當你與一個「更強大」^([1]) 的對手發生衝突時,「偏執」核心上會變得具有適應性。現在,遺憾的是,我們還沒有一個公認且形式化良好的「能力」(competence)定義,特別是在多智能體環境中。然而,我認為我們至少可以討論一些極端例子,即一個智能體「絕對比另一個智能體更強大」。
「絕對更強大」的一種可能定義是:較強大的智能體可以廉價地^([2]) 預測另一個智能體將採取的所有行動(甚至包括後者對較強大智能體預測行為的反應)。在這種情況下,較強大的智能體在某種意義上「包含」了較小的智能體:
當一個較大的智能體以這種方式包含一個較小的智能體時,較小的智能體可以被簡單地視為環境的任何其他部分。如果你想實現一個目標,你只需選擇能產生最佳結果的行動,包括來自較小智能體的反應。
如果輸入空間很小且智能體與環境是確定性的,你可以通過暴力搜索解決這個優化問題;如果輸入空間很大且智能體是非確定性的,則可以使用類似梯度下降的方法。如果較小的智能體試圖預測你的行動並做出調整,你就預測該智能體將如何模擬你,然後選擇最能利用該模型弱點的行動。
我通常將這種行為稱為對較小智能體進行「對角化」。
關於「對角化」一詞起源的側欄:
我在 MIRI 相關的圈子中遇到過將「對角化」用於此類操作的說法。我不確定我使用該術語的方式是否與他們一致,但我發現我的用法是一個非常有用的抓手(儘管名稱極其晦澀,我認為我們真的應該改掉它)。
這個詞的起源對我來說尚不明確,但我能找到的最早提到它的是 @Vladimir_Nesov 在 2012 年發布的這篇帖子。將該帖子的想法應用於一個簡單的對抗性博弈如下(請原諒我可能有些拙劣的解釋,我也邀請任何更深入了解該術語詞源的人提供更好的解釋):
試圖預測對手會對你的行動做出什麼反應,問題在於他們也會試圖對你做同樣的事。
現在,假設智能體 A 試圖預測你(智能體 B)將要做什麼並試圖適應。現在假設智能體 A 對你的模型存在缺陷,而你了解這些缺陷。那麼你可以模擬智能體 A,包括他們對你的缺陷模型,然後在他們使用該缺陷模型的條件下,選擇針對他們行為的最佳反擊(這將與他們預測的不同)。
這有點類似於在康托爾的對角論證中,你通過列出所有有理數,然後通過從列表中的每個項目選擇對角線條目來跳出該集合,從而證明實數的勢大於有理數:
我們可以用反證法證明,如果一個智能體在一個對抗性零和博弈(無納許均衡)中以這種方式對另一個智能體進行對角化,那麼另一個智能體就不能反過來做同樣的事(如果博弈有納許均衡,那麼我們可以證明,如果兩個智能體互相對角化,他們最終必然會進入其中一個均衡,這相當於雙方都採取了最小最大化策略)。
在不失一般性的情況下,假設智能體 A 和智能體 B 正在玩剪刀石頭布。假設智能體 A 完美地預測了智能體 B,因此預測智能體 B 會出石頭,所以選擇出布。那麼根據假設,智能體 B 知道智能體 A 選擇出布,為了獲勝,智能體 B 會出剪刀。
這顯然是一個矛盾,因此我們知道其中一個假設是錯誤的,兩名玩家不可能在這種博弈中同時完美預測對方並針對這些決策進行對角化。
現在,在面對上述定義的「絕對更強大」的對手時,你的選擇非常有限。你已經被「對角化」了,你的每一步行動都被精確預測,而你的對手已經為每一步準備了最佳對策。你所能做的最好的就是採取最小最大化策略,假設你的對手正針對你採取絕對最優的行動,並試圖在過程中獲取一點點效用。
然而,上述模型確實暗示了對「絕對更強大」的一些自然弱化,這創造了一些迴旋空間。
在任何現實場景中,為了進行類似於對角化對手的操作,你需要執行以下步驟:^([3])
- 你需要獲取有關其內部運作的資訊,以建立其模型。
- 你需要對該模型進行採樣^([4]),以提取有關其行為的預測。
- 你需要識別模型輸入空間中,在觀察到你的行動後,能穩定產生你所期望行動的部分。
而我在《偏執:初學者指南》中主張的偏執三組件策略,分別應對了其中一個步驟:
**1. **通過對更易受控的資訊渠道進行自我屏蔽,你迫使對手更費力地搜索能產生他們所期望行為的輸入^([5]),使他們更難提出穩定的對抗性輸入(即步驟 3)。
**2. **通過從你的環境中移除對抗性智能體,你使這些對手更難獲取有關你的資訊,並從一開始就更難建立你的模型(即步驟 1)^([6])。
**3. **通過讓自己變得反覆無常且不可預測,你增加了預測自己的成本,通常需要更多的採樣才能獲得行為的適當邊界,從而提高了預測你的代價(即步驟 2)。
總體而言,《偏執:初學者指南》中的偏執策略集,大致是觀察模擬和對角化另一個智能體的每個步驟,並思考如何挫敗它的結果。
但這個玩具模型轉化到現實中效果如何?
我認為情況相當混亂。特別是,許多最適合對抗性資訊環境的策略依賴於與非對抗性的其他智能體達成協議和契約(例如擔任審計員)。上述模型沒有空間容納除了你和更強大智能體之外的其他智能體。
我列出的策略也都集中在「如何讓敵人不那麼擅長傷害我」,而不是很關注「在我切斷敵人之後(通過偏執策略),我如何表現得更好」。在思考適應對抗性環境的策略時,「學習如何從第一原理思考」在我看來基本上是首選,但由於上述模型是在零和背景下構建的,我們無法在衝突背景之外談論太多收益。
但總的來說,我還是很高興能把這些模型分享出來。多年來我一直在警告他人「對角化的風險」,並說一些聽起來很瘋狂的話,比如「我不想對他們進行太狠的對角化」,也許現在大家終於能理解我在說什麼,而不需要我先上一堂 20 分鐘的集合論課。
後記
好吧,但是拜託,有沒有人能對「對角化」(diagonalization)提供一個更好的術語建議?
我能想到的所有替代方案都缺乏這個詞的靈活性。它有各種時態和詞形變化,且讀起來很順口。「那是對角化」(That's diagonalization)、「他在對角化你」(He is diagonalizing you)、「我正在被對角化」(I am being diagonalized)都是有效的結構。像「對抗性預測」(adversarial prediction)之類的替代方案既模糊得多,又不能很好地適應語境。「那是對抗性預測」、「他在對你進行對抗性預測」、「我正在被對抗性地預測」聽起來很彆扭,尤其是最後一個。
但在我看來,這是一個非常有用的概念,我希望能在此基礎上進一步發展。我希望能使用它而不需要每次都上一堂補習性質的集合論課,所以如果有人有更好的名字,我將不勝感激。
-
^(^)或者一個比你有更多時間投入衝突的對手。
-
^(^)極限意義上的「廉價」,意味著「較強大的智能體可以為較弱大的智能體執行任意多次」。這當然非常極端,且觸及了可計算性的極限,但至少目前我不知道如何弱化它以使其更具現實感。
-
^(^)「Habryka,停下!」你尖叫道,因為我用另一個「直覺上似乎是僅有選項的三項清單」來證明一個「直覺上似乎是僅有選項的三項清單」,好吧,這很公平。但聽著,我們在這個場景下的玩具模型移動部件確實少得多,我認為關於為什麼只有這三件事可做的論證比前一個更穩健。
-
^(^)你實際上不需要「採樣」,儘管這當然是最自然的做法。我可以在不採樣的情況下預測程序的輸出,同樣地,在形成了另一個智能體的模型後,你可以做比簡單採樣軌跡更複雜的事情。但為了簡單起見,我們討論「採樣」,我認為這不應改變其餘的論點,雖然老實說我還沒有非常仔細地檢查過。
-
^(^)或者在實踐中,迫使他們採取成本更高的行動來控制你更大一部分的輸入空間。然而,這超出了我在此提出的狹隘半正式模型的範疇,因為我們沒有將行動建模為具有成本。將其正確加入模型可能不會太難,但我還沒嘗試過。
-
^(^)當然也可能完全消滅較強大的智能體,這在模型中沒有涉及,因為死亡不屬於我們這個小小的玩具世界。
相關文章