南大俞揚深度解讀:什麼是「世界模型」?
隨著媒體狂炒Sora,OpenAI的介紹資料中稱Sora是「world simulator」,世界模型這個字又進入視野,但很少有文章來介紹世界模型。
這裡回顧一下什麼是世界模型,以及討論Sora是不是world simulator。
什麼是world models/世界模型
#當AI領域中講到世界/world、環境/environment這個字的時候,通常是為了與智能體/agent加以區分。
研究智能體最多的領域,一個是強化學習,一個是機器人領域。
因此可以看到,world models、world modeling最早也最常出現在機器人領域的論文中。
而今天world models這個詞影響最大的,可能是Jurgen 2018年放到arxiv的這篇以“world models”命名的文章,該文章最終以“Recurrent World Models Facilitate Policy Evolution」的title發表在NeurIPS'18。
論文中並沒有定義什麼是World models,而是類比了認知科學中人腦的mental model,引用了1971年的文獻。
mental model是人腦對週邊世界的鏡像
Wikipedia中介紹的mental model,很明確的指出其可能參與認知、推理、決策過程。並且說到mental model主要包含mental representations和mental simulation兩部分。
an internal representation of external reality, hypothesized to play a major role in cognition, reasoning and decision-making. The term was coined by Kenneth Craik in 1943 who sugginded thats small-scale models" of reality that it uses to anticipate events.
到這裡還是說得雲霧繚繞,那麼論文中的結構圖一目了然的說明了什麼是一個world model。
圖中縱向V->z是觀測的低維度表徵,用VAE實現,水平的M->h-> M->h是序列的預測下一個時刻的表徵,用RNN實現,這兩部分加起來就是World Model。
也就是說,World model的主要包含狀態表徵和轉移模型,這也剛好對應mental representations和mental simulation。
看到上面這張圖可能會想,這不是所有的序列預測都是world model了?
其實熟悉強化學習的同學能一眼看出來,這張圖的結構是錯誤(不完整)的,而真正的結構是下面這張圖,RNN的輸入不僅是z,還有動作action,這就不是通常的序列預測了(加一個動作會很不一樣嗎?是的,加入動作可以讓資料分佈自由變化,帶來巨大的挑戰)。
Jurgen的這篇論文屬於強化學習領域。
那麼,強化學習裡不是有很多model-based RL嗎,其中的model跟world model有什麼差別?答案是沒有差別,就是同一個東西。 Jurgen先說了一段
基本意思就是,不管有多少model-based RL工作,我是RNN先驅,RNN來做model是我發明的,我就是要搞。
在Jurgen文章的早期版本中,也說到很多model-based RL,雖然學了model,但並沒有完全在model中訓練RL。
沒有完全在model中訓練RL,實際上並不是model-based RL的model有什麼區別,而是model-based RL這個方向長久以來的無奈:model不夠準確,完全在model裡訓練的RL效果很差。這一問題直到近幾年才解決。
聰明的Sutton在很久以前就意識到model不夠準確的問題。在1990年提出Dyna框架的論文Integrated Architectures for Learning, Planning and Reacting based on Dynamic Programming(發表在第一次從workshop變成conference的ICML上),管這個model叫action model,強調預測action執行的結果。
RL一邊從真實資料中學習(第3行),一邊從model中學習(第5行),以防model不準確造成策略學不好。
可以看到,world model對於決策十分重要。如果能獲得準確的world model,那就可以透過在world model中就反覆試錯,找到現實最優決策。
這就是world model的核心作用:反事實推理/Counterfactual reasoning , 也就是說,即使對於資料中沒有見過的決策,在world model中都能推理出決策的結果。
了解因果推理的同學會很熟悉反事實推理這個詞,在圖靈獎得主Judea Pearl的科普讀物The book of why中繪製了一副因果階梯,最下層是「關聯」,也就是今天大部分預測模型主要在做的事;中間層是「幹預」,強化學習中的探索就是典型的干預;最上層是反事實,透過想像回答what if問題。 Judea為反事實推理繪製的示意圖,是科學家在大腦中想像,這與Jurgen在論文中使用的示意圖異曲同工。
左:Jurgen論文中的世界模型示意圖。右:Judea書中的因果階梯。
到這裡我們可以總結,AI研究者對world model的追求,是試圖超越數據,進行反事實推理,回答what if問題能力的追求。這是一種人類天然具備,而目前的AI還做得很差的能力。一旦產生突破,AI決策能力會大幅提升,實現全自動駕駛等場景應用。
Sora是不是world simulator
#simulator這個詞更多出現在工程領域,起作用與world model一樣,嘗試那些難以在現實世界實施的高成本高風險試誤。 OpenAI似乎希望重新組成一個詞組,但意思不變。
Sora產生的視頻,僅能透過模糊的提示詞引導,而難以進行準確的操控。因此它更多的是視頻工具,而難以作為反事實推理的工具去準確的回答what if問題。
甚至難以評價Sora的生成能力有多強,因為完全不清楚demo的影片與訓練資料的差異有多大。
更讓人失望的是,這些demo呈現出Sora並沒有準確的學到物理法則。已經看到有人指出了Sora生成視頻中不符合物理規律之處 [ OpenAI 發布文生視頻模型 Sora,AI 能理解運動中的物理世界,這是世界模型嗎?意味著什麼? ]
我猜OpenAI放出這些demo,應該基於非常足夠的訓練數據,甚至包括CG產生的數據。然而即便如此那些用幾個變數的方程式就能描述的物理規律還是沒有掌握。
OpenAI認為Sora證明了一條通往simulators of the physical world的路線,但看起來簡單的堆砌數據並不是通往更高級智慧技術的道路。
以上是南大俞揚深度解讀:什麼是「世界模型」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

創建Oracle數據庫並非易事,需理解底層機制。 1. 需了解數據庫和Oracle DBMS的概念;2. 掌握SID、CDB(容器數據庫)、PDB(可插拔數據庫)等核心概念;3. 使用SQL*Plus創建CDB,再創建PDB,需指定大小、數據文件數、路徑等參數;4. 高級應用需調整字符集、內存等參數,並進行性能調優;5. 需注意磁盤空間、權限和參數設置,並持續監控和優化數據庫性能。 熟練掌握需不斷實踐,才能真正理解Oracle數據庫的創建和管理。

創建Oracle數據庫,常用方法是使用dbca圖形化工具,步驟如下:1. 使用dbca工具,設置dbName指定數據庫名;2. 設置sysPassword和systemPassword為強密碼;3. 設置characterSet和nationalCharacterSet為AL32UTF8;4. 設置memorySize和tablespaceSize根據實際需求調整;5. 指定logFile路徑。 高級方法為使用SQL命令手動創建,但更複雜易錯。 需要注意密碼強度、字符集選擇、表空間大小及內存

Oracle SQL語句的核心是SELECT、INSERT、UPDATE和DELETE,以及各種子句的靈活運用。理解語句背後的執行機制至關重要,如索引優化。高級用法包括子查詢、連接查詢、分析函數和PL/SQL。常見錯誤包括語法錯誤、性能問題和數據一致性問題。性能優化最佳實踐涉及使用適當的索引、避免使用SELECT *、優化WHERE子句和使用綁定變量。掌握Oracle SQL需要實踐,包括代碼編寫、調試、思考和理解底層機制。

MySQL 中字段操作指南:添加、修改和刪除字段。添加字段:ALTER TABLE table_name ADD column_name data_type [NOT NULL] [DEFAULT default_value] [PRIMARY KEY] [AUTO_INCREMENT]修改字段:ALTER TABLE table_name MODIFY column_name data_type [NOT NULL] [DEFAULT default_value] [PRIMARY KEY]

Oracle 數據庫的完整性約束可確保數據準確性,包括:NOT NULL:禁止空值;UNIQUE:保證唯一性,允許單個 NULL 值;PRIMARY KEY:主鍵約束,加強 UNIQUE,禁止 NULL 值;FOREIGN KEY:維護表間關係,外鍵引用主表主鍵;CHECK:根據條件限制列值。

嵌套查詢是一種在一個查詢中包含另一個查詢的方式,主要用於檢索滿足複雜條件、關聯多張表以及計算匯總值或統計信息的數據。實例示例包括:查找高於平均工資的僱員、查找特定類別的訂單以及計算每種產品的總訂購量。編寫嵌套查詢時,需要遵循:編寫子查詢、將其結果寫入外層查詢(使用別名或 AS 子句引用)、優化查詢性能(使用索引)。

Oracle 是全球最大的數據庫管理系統(DBMS)軟件公司,其主要產品包括以下功能:關係數據庫管理系統(Oracle 數據庫)開發工具(Oracle APEX、Oracle Visual Builder)中間件(Oracle WebLogic Server、Oracle SOA Suite)雲服務(Oracle Cloud Infrastructure)分析和商業智能(Oracle Analytics Cloud、Oracle Essbase)區塊鏈(Oracle Blockchain Pla

Oracle 數據庫開發工具不僅包括 SQL*Plus,還包含以下工具:PL/SQL Developer:付費工具,提供代碼編輯、調試和數據庫管理功能,並支持 PL/SQL 代碼的語法高亮和自動完成。 Toad for Oracle:付費工具,提供類似 PL/SQL Developer 的功能,並具備額外的數據庫性能監控和 SQL 優化功能。 SQL Developer:Oracle 官方免費工具,提供代碼編輯、調試和數據庫管理的基本功能,適合預算有限的開發者。 DataGrip:JetBrains
