智能體程序的組件如何工作

我們已經(jīng)將智能體程序(用非常高級的術(shù)語)描述為由各種組件組成,其功能是回答諸如“現(xiàn)在的世界是什么樣的?” “我現(xiàn)在應該采取什么動作” “我的動作將導致什么?” 等問題。人工智能學生的下一個問題是,“這些組件究竟是如何工作的?”要正確的回答這個問題大約需要一千頁的篇幅,但在這里我們希望讀者能夠注意一些基本區(qū)別,即組件表示智能體所處環(huán)境的各種方式之間的區(qū)別。

粗略地說,我們可以通過一個復雜性和表達能力不斷增加的橫軸來描述表示,即原子表示、因子化表示和結(jié)構(gòu)化表示。為了輔助說明這些觀點,我們可以考慮特定的智能體組件,例如處理“我的動作會導致什么”。這個組件描述了作為采取動作的結(jié)果可能在環(huán)境種引起的變化。

原子表示中,世界的每一個狀態(tài)都是不可分割的,它沒有內(nèi)部結(jié)構(gòu)。考慮這樣一個任務:通過城市序列找到一條從某個國家的一端到另一端的行車路線。為了解決這個問題,將世界狀態(tài)簡化為所處城市的名稱就足夠了,這就是單一的知識原子,也是一個“黑盒”,它唯一可分辨的屬性是與另一個黑盒相同或不同。

因子化表示將每個狀態(tài)拆分為一組固定的變量或?qū)傩?,每個變量或?qū)傩远伎梢杂幸粋€值??紤]同一駕駛問題更真實的描述,即我們需要關(guān)注的不僅僅是一個城市或另一個城市的原子位置,可能還需要關(guān)注郵箱中的汽油量、當前的 GPS 坐標、油量警示燈是否工作,通行費、收音機上的電臺等。兩個不同的原子狀態(tài)沒有任何共同點(只是不同的黑盒),但兩個不同的因子狀態(tài)可以共享某些屬性(如位于某個特定的GPS位置),而其他屬性不同(如有大量汽油或沒油),這使得研究如何將一種狀態(tài)轉(zhuǎn)換為另一種狀態(tài)變得更加容易。

出于許多目的,我們需要將世界理解為存在著相互關(guān)聯(lián)的事物,而不僅僅是具有值的變量。例如,我們可能會注意到有一輛卡車正在倒車進入一個奶牛場的車道,但一頭散養(yǎng)的奶牛擋住了卡車的路。因子化表示不太可能為屬性 TruckAheadBackingIntoDairyFarmDrivewayBlockedByLooseCow 預先配備 true或false的值。 這就需要一個結(jié)構(gòu)化表示,在這種表示中可以明確的描述諸如奶牛和卡車之類的對象及其各種不同的關(guān)系。

如前所述,原子表示、因子化表示和結(jié)構(gòu)化表示所在的軸是表達性增強的軸。粗略地說,可以通過簡潔的描述捕捉到更具表達性的表示,表達性差的表示也可以捕捉到一切,但需要更多的描述。通常,表達性更強的語言更簡潔;例如,國際象棋規(guī)則可以用一兩頁結(jié)構(gòu)化表示語言來描述,但需要數(shù)千頁因子化表示語言來描述,而需要 10^{38}頁的原子語言來描述。但是,隨著表示能力的增強,推理和學習變得更加復雜。為了避免缺點的同時獲得表達性表示的好處,真實世界中的智能系統(tǒng)可能需要軸上的所有點同時運行。

另一各表示軸涉及從概念到物理記憶中位置的映射,包括計算機的內(nèi)存和大腦的記憶。如果概念和記憶位置之間存在一對一的映射,我們稱之為局部表示。但是,如果一個概念的表示分別在多個記憶位置,并且每個記憶位置被用作多個不同概念表示的一部分,我們稱之為分布式表示。分布式表示對噪聲和信息丟失更健壯。使用局部表示,從概念到記憶位置的映射是隨機的,如果傳輸錯誤導致幾位亂碼,我們將可能卡車與無關(guān)的概念停戰(zhàn)混淆。但在分布式表示中,可以把每個概念想象成多維空間中的一個點,即使有一些亂碼,也會移動到該空間中附近的點,其具有相似的含義。
[1]


  1. 從明天起做一個快樂的 agent 工程師 ?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容