Soar (認知架構)

Soar 是一種認知架構 ，最初是由 。Soar專案的目標是開發通用型智慧代理人。理論.Soar涵蓋了通用智慧在計算結構上的多個假設，而當中有許多假設與其他認知架構是相通的，包括由約翰·羅伯特·安德森建立的ACT-R以及。在艾倫·紐厄爾的書“ 認知統一理論 ”中，描述了最早構成Soar基礎的認知理論「問題空間假設」， 這也追溯到最早期的人工智慧系統之一，由紐厄爾、西蒙和Shaw在1955年提出的邏輯理論家。問題空間假設認為，在嘗試實現目標時，所有目標導向的行為都可以被看作是對可能狀態空間的搜尋的基本迴圈，但已不再被視為縮寫字。問題空間假設的本質是，即使是像規劃這樣複雜的活動，所有行為都可以分解為一系列選擇及應用的原始運算元，而這些選擇及應用對映到人類行為上需要大約50ms的時間。Soar理論的第二個假設是，雖然每一步只能選擇一個運算元，從而造成一個連續的瓶頸，但是選擇和應用的過程是透過平行規則觸發來實現的，因此能夠脈絡依賴地提取程式性知識。第三個假設是，如果選擇或應用運算元的知識不夠完整或不夠確定時，就會產生僵局，結構會自動建立一個子狀態。在子狀態中，會遞迴地使用相同的問題解決過程，但是目標必須是提取或發現知識，以便決策能夠繼續。這可能會導致子狀態的堆疊，在這些子狀態中，如規劃或等傳統的問題方法自然會產生 。當在子狀態中建立的結果解決僵局時，子狀態及其相關結構被移除。總體方法被稱為通用子目標。這些假設導致了一個支援三層處理的的架構。最低層級是自下而上、平行和自動化的處理歷程。下一層是審議層級，在這個層級，會將從第一層獲得的知識用於提議、選擇和應用單個動作。這兩個層級實現了快速、熟練的行為，並且大致對應于丹尼爾·卡內曼的「系統一處理級別」。當知識不完整或不確定時，則與丹尼爾·卡內曼的「系統二處理級別」大致對應，會透過使用子狀態的第三層處理，自動產生更複雜的行為。Soar的第四個假設是，其底層結構是模組化的，但是並非像計劃或語言這樣基於任務或能力的模組，而是作為獨立於任務的模組，包括：決策模組、記憶模組、與所有長期記憶相關的學習機制、知覺模組、運動模組。關於下述記憶的具體屬性還有進一步的假設，包括所有的學習都是與系統連結且漸進的。第五個假設是，記憶元素，這些統計後設資料會影響符號結構的提取、維護和學習。架構.處理週期-決策程式.Soar的主要處理週期來自程式性記憶，這些規則不斷地與工作記憶的內容匹配。當規則的條件與工作記憶中的結構匹配時，將觸發並執行這個動作。這種規則和工作記憶的組合也稱為產出系統。與大多數產出系統不同的是，在Soar中，所有匹配規則都是平行觸發。與將單個規則的選擇作為決策的關鍵不同，Soar會藉由規則提出、評估和應用來選擇及採用運算元，以實現決策。運算元會由測試當前狀態的規則提出，並在工作記憶中建立運算元的表徵形式和可接受的偏好，這表明這個運算元應該被考慮選擇和採用。附加規則會去匹配提議的運算元，並比較及評估提議的其他運算元來建立附加偏好。透過決策過程分析偏好，決策過程會選擇優選的運算元，並安裝為工作記憶中的當前運算元。匹配到當前運算元的規則將觸發應用，並修改工作記憶。修改工作記憶可以是簡單的推論、查詢以提取Soar的長期語義記憶或情節記憶、對運動系統下達指令來執行環境動作，或與空間視覺系統。對工作記憶的這些修改會導致提出和評估新的運算元，然後選擇並採用。強化學習.Soar有著建立數值偏好來評估運算元的規則，而Soar支援強化學習，可以根據獎勵來調整規則值。為了提供最大的靈活性，在工作記憶中有一個結構會創造獎勵。僵局、子狀態和組集.如果對運算元的偏好不足以指定選擇哪一個運算元，或者沒有足夠的規則來採用某個運算元，就會出現僵局。為了應對並化解僵局，將在工作記憶中建立子狀態。然後，附加的程式性知識可以在子狀態中建議和選擇運算元，以獲得更多的知識，並在原始狀態中建立偏好或修改該狀態來化解僵局。子狀態為隨需求應變的複雜推理提供了一種手段，包括層次任務分解、計劃和對陳述性長期記憶的觸接。一旦僵局被化解，除了結果外，子狀態中的所有結構都將被移除。導致結果的子狀態處理，Soar的組集機制會將其編譯成規則。自此之後，學習的規則會在類似的情況下自動觸發，這樣就不會出現僵局，逐步地將複雜的推理轉換為自動化/反應性處理。最近，透過目標導向和自動知識庫擴充機制，已擴充套件了整個通用子目標化程式，該機制允許以創新和問題導向的方式重新組合Soar代理所擁有的知識，從而解決僵局 。符號輸入和輸出.符號輸入及輸出是透過附加在頂部狀態的工作記憶結構。空間視覺系統與心像.為了支援與視覺系統和非符號推理的互動作用，Soar擁有其空間視覺系統。使用SVS的Soar代理可以建立過濾器，自動從其場景圖中提取特徵及關聯，然後將其新增到工作記憶中。此外，一種Soar工具可以新增結構到SVS並用於心像。例如，代理可以在給定位置建立SVS中的假想物件，並查詢它是否與任何感知物件發生衝突。語義記憶.Soar中的語義記憶被設計為事實類結構的超大型長期記憶。SMEM中的資料表示為有向迴圈圖。可以透過在工作記憶的保留區域中建立命令的規則來儲存或提取結構。提取到的結構將新增到工作記憶中。SMEM結構具有表示每個記憶使用頻率或新近度的啟用值，從而實現了最初為ACT-R開發的基本級別的啟用方案。在提取過程中，將提取SMEM中與查詢匹配並具有最高啟用值的結構。Soar還支援擴散激發，其中啟用從已提取到工作記憶中的SMEM結構擴散到與其連結的其他長期記憶。這些記憶又將有所衰減地擴散激發到其相鄰記憶。擴散激發是一種允許當前情境影響提取語義記憶的機制。情節記憶.情節記憶 、提取特定記憶或查詢具有某些記憶結構的情節。學習.Soar的每一個長期記憶都與線上學習機制有關，這些機制可以建立新的結構，或者根據代理的經驗修改後設資料。例如，Soar透過一個稱為組集的過程來學習新的程式性記憶規則，並使用強化學習來調整運算元的選擇規則。開發代理.在Soar中開發代理的標準方法首先從編寫載入程式性記憶的規則開始，然後使用適當的陳述性知識來初始化語義性記憶。代理開發的過程在官方的Soar手冊和研究小組網站提供的教程中有著詳細說明。軟體.Soar架構由密歇根大學的約翰·萊爾德研究小組維護和推廣。當前架構以C和C ++組合編寫而成，這可以免費在研究小組的網站上。Soar可以透過Soar標記語言實作與外部語言環境的介面，包括C++、Java、Tcl及Python。 SML是用於「建立Soar代理例項」及「實現其I / O連結介面」的主要機制。JSoar是用Java編寫的Soar的實作。它由AI研發公司SoarTech維護。儘管JSoar通常不會反映Soar的C / C ++版本的最新發展和變化，但它緊密遵循密歇根大學的架構實現。應用領域.以下是在Soar中實作的不同應用領域的歷史列表。儘管其中絕大多數是玩具任務或拼圖，但在Soar中已經實作了一百多種系統。拼圖和遊戲.縱觀Soar的歷史，Soar已被用於實作各種經典的AI謎題和遊戲，例如河內塔、水壺、井字遊戲、8-拼圖問題、傳教士和吃人惡魔問題，以及積木世界的變體。早期Soar的成就之一，顯示出許多不同的弱方法會很自然地從它所編碼的任務知識中產生，這個屬性被稱為“通用弱方法”。電腦配置.Soar的第一個大規模應用是R1-Soar，這是由Paul Rosenbloom部分地重新實作John McDermott為配置DEC計算機而開發的R1 專家系統。R1-Soar展示了Soar能夠擴充套件到中等規模的問題，使用分層任務分解和規劃，以及透過組集將將深思熟慮的計劃和問題解決轉化為具反應性的執行能力。自然語言理解.NL-Soar是由Jill Fain Lehman，Rick Lewis，Nancy Green，Deryle Lonsdale和Greg Nelson以Soar開發的自然語言理解系統。包括自然語言理解、生成和對話的能力，強調即時增量解析和生成。NL-Soar被用於TacAir-Soar的實驗版本和NTD-Soar的實驗版本。模擬飛行員.Soar的第二個大規模應用涉及代理的開發，用於大規模分散式模擬的訓練。密西根大學和南加州大學資訊科學學院，這是當時聯合戰場在48小時內合成代理的最大部署，包括現役人員的培訓。這些系統證明了使用AI代理進行大規模培訓的可行性。STEAM.RWA-Soar專案的重要成果之一是所開發的STEAM，這是一種靈活的團隊合作框架，在這種框架中，代理使用科恩&amp;萊維斯克的聯合意圖框架，來維護他們的隊友模型。NTD.NTD-Soar是NASA測試主任 的模擬人，該負責人負責協調NASA太空梭發射前的準備工作。NTD-Soar是一個綜合的認知模型，整合了許多不同的複雜認知功能，包括自然語言處理、注意力、以及在一個廣泛的代理模型中解決問題。虛擬人類.Soar已經被用來模擬虛擬人類，在南加州大學創意技術研究所開發的虛擬世界中，支援面對面的對話及協作。虛擬人類具有知覺、自然語言理解、情緒、身體控制和動作等綜合能力。遊戲AI和移動應用.在《星際爭霸》、《雷神之鎚2》、《》、《魔域幻境之浴血戰場》和《我的世界》等遊戲中，遊戲AI代理都是使用Soar來構建的，它們的支援功能包括 、即時策略和對手等等。AI代理也被用於電子遊戲，包括使用強化學習的《無限馬裡奧》、《》、《太空侵略者》和使用強化學習和心像的《Fast Eddie》。Soar可以在移動裝置上執行。已針對iOS，為遊戲《》開發了手機應用程式，該程式會直接從手機上執行Soar架構作為AI對手的引擎。機器人技術.自1991年實現最初的Robo-Soar來控制Puma機器人手臂以來，已經使用Soar構建了許多機器人的應用程式。範圍從移動式機器人的控制到的人形服務機器人、任務型機器騾以及無人水下載具 。互動式任務學習.目前，Soar社群的研究和開發重點是互動式任務學習，即透過自然教練的互動，自動學習新任務、環境特徵、行為約束和其他規範。 對ITL的研究已應用於桌面遊戲和多房間導航。排程.在初期，Merle-Soar演示了Soar如何學習，模仿匹茲堡附近的擋風玻璃生產工廠中的排程人員的複雜排程任務。