英偉達爆火智能體研究:AI 逼真還原人類情感會餓會孤獨,會跑步會發火


來源:新智元

圖片來源:由無界AI生成

英偉達、華盛頓大學等機構提出的Humanoid Agents,行為竟如此接近人類累了要休息,孤獨要找人陪,發洩怒火時會跑步或冥想。

AI智能體,竟然能反映人類的真實情感,還有人際關係中微妙的距離感?

最近,來自英偉達、華盛頓大學、港大的研究人員發布了類人智能體Humanoid Agents。

從名字就可以看出,這種智能體能夠反映人類的基本需求。

以往的智能體模擬,智能不完全模仿人類行為,原因就在於,它們並沒有真正反映出人類的基本需求、真實情感及人際間微妙的距離感。

而Humanoid Agents的初衷,就是研發一個融合上述元素的、更貼近人類的智能體。

智能體受系統1思維和系統2思維的指導,系統1思維會回應具體條件(如基本需求),而係統2思維則涉及明確的規劃

目前,論文已被EMNLP System Demonstrations 2023接收。

論文網址:https://arxiv.org/abs/2310.05418

從這部影片可以看出,Humanoid Agents逼真地再現了《生活大爆炸》中謝耳朵和Penny互動的有趣場景。

Humanoid Agents

正如Atom、分子和細胞的計算模擬塑造了我們研究科學的方式,類人智能體的真實模擬,也成為了研究人類行為的寶貴工具。

要知道,以往的智能體有一個缺點,雖然它們可以完成看似可信的行動,但跟真實的人類思維方式並不像。

絕大多數人類,不會事先制定計劃,然後在日常生活中精確到一絲不苟地執行這些計劃。

為了減輕這個缺點的影響,研究者從心理學中汲取了靈感,提出了Humanoid Agents。

心理學家Kahneman認為,人類有兩個互補的思考過程:系統1(直覺的、輕鬆的、即時的)和系統2(邏輯的、有意的、緩慢的)。

而這次研究者提出的Humanoid Agents,就引入了系統1所需的三個要素──基本需求(飽足感、健康和能量)、情感和關係親密程度,來讓智能體表現得更像人類。

利用這些元素,智能體就能調整自己的日常活動,以及和其他智能體的對話。

而且,智能體也會像人一樣,遵守馬斯洛需求理論。

如果它們沒有與他人充分互動,它就會感到孤獨;如果沒有保持健康,就會得病;如果沒休息夠,就會感到疲勞。

如果只靠系統2的規劃,就可以讓智能體規劃休息時間,滿足基本的需求。

然而如果沒有系統1的回饋,智能體即使感到疲倦,也無法在下午3點小憩,因為就寢時間安排在午夜。

而如果智能體感到憤怒,它就需要做一些能發洩情緒的事情,例如跑步或冥想。

並且,智能體之間的關係密切程度,也會影響它們之間互動的方式。

社會大腦假說提出,我們的認知能力很大程度上是為了追蹤社會關係的品質而進化的。

這就意味著,人們經常根據與他人相處的感覺和親密程度,來調整與他人的互動。

為了更好地模仿人類,研究者讓智能體能夠根據彼此之間的距離,來調整對話。

他們提出了一個平台,可以在生活大爆炸、老友記、Lin Family中模擬人形智能體的行為,然後用Unity WebGL遊戲介面將它們視覺化,並使用互動式分析儀表板,顯示智能體隨時間變化的狀態。

實驗證明,對於系統1各方面的變化,Humanoid Agents都可以有效反應並推論。

而且,這種系統還可以擴展到更多方面,例如個性、道德價值、同理心、樂於助人、文化背景等等。

工作原理

Humanoid Agents中,研究者採用了OpenAI的ChatGPT-3.5。

步驟1:根據使用者提供的種子資訊初始化Agent。

簡單說,就是每個Agent的人物設定,它們的名字、年齡、行程、喜好等,對其做出人物規劃。

例如,「John Lin是Willow Market的藥局店主,喜歡幫助他人」,特色是友善和善良。

此外,Humanoid Agents的預設情緒被設定為7種可能的情緒:憤怒、悲傷、恐懼、驚訝、高興、中立和厭惡。

步驟2:Agent開始規劃自己的一天。

步驟3:Agent根據自己的計畫採取行動。如果同在一個地點,Agent可以互相交談,進而影響他們之間的關係。

Agent日計劃以1小時為間隔,能夠遞歸地分解計劃,然後,以15分鐘為間隔,來改善活動隨時間的邏輯一致性。

每15分鐘,Agent在它們的計劃中執行一項活動。

不過,Agent可以根據內部狀態,即情緒和基本需求,的變化更新計劃,或做補充。

例如,如果Agent目前非常飢餓,但計劃是在3個小時後吃一頓飯。

這裡,Agent可以在繼續當前活動的同時,吃點零食,這就特別像打工人,開飯前可能發生的行為。

那麼,這些Agent過度利用情感和基本需求狀態,以及與其他Agent親密關係,將其轉換成自然語言描述,進而決定如何與Agent相處。

在對話結束時,每個Agent將透過對話歷史,來確定自己是否享受對話。

如果是這樣,它們與其他Agent的親密度將增加一倍,否則,親密度將減少一倍。

從親密關係逐漸改變,可以映射到人與人之間的關係如何隨著時間的推移而發展。

此外,談話歷史也用來確定Agent的情緒是否受到談話的影響。

步驟4:Agent評估所採取的行動是否改變了他們的基本需求和情緒。

步驟5:根據基本需求和情感的滿足情況,Agent可以更新未來的計畫。

除了預設的五種需求(飽足感、社交、健康、娛樂和能量)之外,還可以為Agent添加/刪除更多的基本需求。

為此,使用者需要按照以下格式,建立自己的default_agent_config.json檔案:

{ “name”: “fullness”, “start_value”: 5, “unsatisfied_adjective”: “hungry”, “action”: “eating food”, “decline_likelihood_per_time_step”: 0.05, “help”: “from 0 to 10, 0000 most hungry; increases or decreases by 1 at each time step based on activity”}

基本需求對活動的影響

Humanoid Agents是一個動態系統,由許多組成部分組成,因此將每個基本需求對Agent活動的影響分離出來是一個挑戰。

為了調查每個基本需求的貢獻,研究人員模擬了一個Agent的世界。

這些Agent最初有一個基本需求設定為​​0,讓Agent在一天開始時,極度飢餓、孤獨、疲勞、不適或無聊。

作者研究了在一個模擬的一天中,Agent為了滿足基本需求而進行活動所花費的時間。例如,為了克服飢餓而吃食物,為了緩解孤獨而進行社交活動。

然後,研究人員將其與Agent在正常情況下(每個基本需求設定為​​5,能量設定為10)執行此類活動所花費的時間,進行比較,從而,計算出在測試條件下,用於滿足每種基本需求所花費時間的增加百分比。

如下表所示,當健康(156%)、能量(56%)和飽腹感(35%)等基本需求被初始化為0時,Humanoid Agents對其活動的適應程度最高。

馬斯洛將它們歸類為低層次的「生理和安全需求」,人們在滿足其他需求之前需要先滿足這些需求,這證明了其重要性。

在這種情況下,行為主體通常會看病、休息、覓食等等。

另一方面,當Agent因缺乏社會互動而感到孤獨時,它們只會稍微調整自己的行為(+12%),與其他Agent進行更多的交易所。

此外,Agent社交和娛樂活動變化較小的另一個原因是:在正常情況下,行為主體已經花費大量的時間,來做滿足這些基本需求的活動。

平均而言,它們花費11個小時做自己喜歡的事,8.75個小時用於社交互動,只有5.75個小時用於休息,2.75個小時用於吃飯和做一些改善健康的事情。

這意味著,一開始將娛樂或社交設定為0的效果,在一天中很早時候消失,取而代之的是其他優先事項,包括工作義務,例如Penny在芝士蛋糕坊工作。

情緒對活動的影響

這裡,作者研究了在一天的模擬中,Agent進行表達每種情緒的活動的次數(間隔15分鐘)。

例如,當Agent生氣的時候,會跑步來發洩憤怒;當傷心的時候,會尋求一個值得信賴的朋友的傾訴;當厭惡的時候,會練習深呼吸和冥想;當感到驚訝的時候,會花時間來處理和思考這些令人驚訝的發現。

然後,研究人員計算Agent在正常設定中,執行此類活動的次數的差異。

在正常情況下,Agent通常不會表現出悲傷、憤怒、恐懼、厭惡或驚訝的行為,不過實驗結果顯示,與正常情況下的Agent相比,表達這些情緒的行為數量有所增加。

如上表所示,憤怒對行為主體影響最大(+15個活動) ,其次是悲傷和恐懼(各+10) ,然後是厭惡(+4)和驚訝(+1) ,最後是快樂(-2) 。

負面情緒似乎比正面情緒更能影響Agent,因為Agent通常不會計劃做帶有負面情緒的活動,因此必須顯著調整自己的計劃來管理負面情緒。

有趣的是,觀察到Agent在快樂的時候,為了讓自己保持快樂,而減少做一些活動。

親密關係對活動的影響

另外,作者也研究了初始關係親密度對2個Agent之間對話的影響。

如下表所示,隨著親密度的增加,談話平均轉折點次數呈現倒U形。

Agent距離較遠的時候說話少,距離近的時候說話多,但是在距離非常近的時候,又會逐漸減少。

這一點與人類非常相似,當我們感覺與他人非常親近時,就不那麼需要進行禮貌的對話。

有趣的是,在Lin’s Family中,這個轉捩點發生在「rather close」處。而在老友記和生活大爆炸中,轉折點在發生在「close」處。

或許是因為,Lin中的兩個Agent是父子關係,在較低的親密程度下進行較少的交易所就很舒服,不會讓關係緊張。

而在老友記和生活大爆炸中,Agent彼此之間是朋友和鄰居,需要更積極的溝通來維持關係。

與人類標註的比較

為了評估Humanoid Agents的預測能力(例如活動是否滿足自己的基本需求、活動中自己會表現出什麼情緒、對話是否會使兩個Agent更親近),研究者將系統的預測與人類標註進行了比較。

三位人類標記者會使用和ChatGPT相同的指令,來標記林氏家族世界中一天的模擬。

每位標註者針對情感和基本需求都獨立標註了144項活動,針對使用者對話對則有30項標註。

然後,研究者對所有標註者進行多數投票,並計算了多數投票與系統預測之間的micro-F1。

表1顯示,在所有基本需求、情感和關係親密程度方面,評分者之間的信度良好(Fleiss’κ>=0.556)。

研究者也發現,如果一項活動增加了飽足感和能量,Agent就能在分類上表現良好(F1 >= 0.84) 。

而Agent能在活動中表達情緒,對話也能拉近不同Agent之間的距離。

然而,Agent在給予活動是否滿足樂趣、健康和社交的基本需求時,卻表現不佳。

原因或許在於,Agent系統大大高估了滿足這些需求的活動數量。例如健康佔Agent預測活動的34% vs 人類標註活動的4.9%,娛樂佔44.4 vs 10.4%,社交佔47.2% vs 24.3%。

Agent會認為因為John Lin在藥局工作,這些活動就有助於Agent的身體健康;收到教授的回饋,或幫助老客戶買到藥物,就會令自己愉快。

研究者判斷,如果使用更理解常識的語言模型,可能會緩解這個問題。

都是用LLM建構AI智能體,創新在哪

史丹佛西部世界小鎮的里程碑論文一出,業界被激發了許多想像力,用LLM建構可想像的人類行為智能體研究也層出不窮。

Humanoid Agents跟之前大熱的BabyAGI、AutoGPT等智能體,差別在哪裡呢?

研究者指出,Humanoid Agents應該是目前唯一模擬類人智能體日常活動的工作,其他的工作一般都是實現外部定義的目標。

例如Langchain Agents 、BabyAGI、AutoGPT、AgentVerse、Voyager和CAMEL,都是建構以任務為導向的智能體,透過遞歸將使用者定義的任務分解為更簡單的子任務來解決。

而且根據情感、遊戲角色描述和個人事實產生的多輪對話回應,並不是智慧體動態模擬出的,而是基於一組靜態的、與角色無關的文字訊息。

這些先前的工作,並不能模擬出動態屬性的影響,例如無法反映出一對智能體之間親密度的變化。

而且,Humanoid Agents在產生對話回應時,可以同時考慮到基本需求、情感、親密度等多個方面,就像真正的人類一樣。

而先前的這些工​​作,一次只考慮了一個面向。

客製化Agent

目前,系統支援三種內建設定:

1. 生活大爆炸(Big Bang Theory)

–map_filename ../locations/big_bang_map.yaml \ –agent_filenames ../specific_agents/sheldon_cooper.json ../specific_agents/leonard_hofstadter.json ../specific_agents/penny.json

2. 老友記(Friends)

–map_filename ../locations/friends_map.yaml \ –agent_filenames ../specific_agents/joey_tribbiani.json ../specific_agents/monica_gellor.json ../specific_agents/rachel_greene.json

3. Lin Family

–map_filename ../locations/lin_family_map.yaml \ –agent_filenames ../specific_agents/eddy_lin.json ../specific_agents/john_lin.json

同時,使用者還可以透過自訂設置,創建自己的地圖和Agent。

需要注意的是,Agent和地圖並不是完全分開的。對於指定的每一個agent_filename,它的name欄位都必須作為關鍵字包含在Agents下的map.yaml中。

分析面板

Agent在活動過程中所產生的數據,可透過互動式儀錶板直觀顯示。它包括基本需求圖和社會關係圖,以及相應的訊息,包括情感和對話細節。

cd humanoidagentspython run_dashboard.py –folder

所需參數

–folder是run_simulation.py產生的輸出結果存放的資料夾–mode是從資料夾中選擇資料的方法。它有兩種模式:(1)all:顯示資料夾中的所有檔案(2)date_range:顯示所選日期範圍內的檔案(需要在參數中說明)

可選參數

當–mode = date_range時,–start_date是起始日期(包含)。格式為YYYY-MM-DD,如2023-01-03 當–mode = date_range時,–end_date是結束日期(包含)。格式為YYYY-MM-DD,如2023-01-04

作者介紹

Zhilin Wang

Zhilin Wang是英偉達NeMo NLP團隊的高級應用科學家。此前,他曾獲得華盛頓大學碩士學位,學習的是自然語言處理,研究對話系統和計算社會科學。

參考資料:

https://github.com/HumanoidAgents/HumanoidAgents

資訊來源:由0x資訊編譯自8BTC。版權所有,未經許可,不得轉載

Total
0
Shares
Related Posts