ACT-R

ACT-R （發音為/ˌæktˈɑr /，Adaptive Control of Thought—Rational，意為“思想的適應性控制-理性”）是一種認知架構，主要由卡內基·梅隆大學的約翰·羅伯特·安德森和克里斯蒂安·勒比爾（Christian Lebiere）開發。如同其它認知架構，ACT-R旨在定義基礎且不可簡化的認知及知覺操作，進而實現人的心智。從理論上講，人類所能完成的每項任務都應該要由這一系列的離散操作組成。 
大多數ACT-R的基本假設也受到認知神經科學進展的啟發，而ACT-R還可以被看作是一種明確規定大腦如何組織的方法，使得每個單獨的處理模塊能夠產生認知。 

**啟發**
ACT-R的靈感源自於艾倫·紐厄爾的工作，尤其是源自於他畢生倡導的統一理論，紐厄爾認為這是真正揭示認知規律的唯一途徑。實際上，約翰·安德森也認為ACT-R理論主要受到艾倫·紐厄爾影響。 

**ACT-R特點**
與其他有影響力的認知架構相同（包括Soar、CLARION和EPIC），ACT-R理論也有計算實作，即作為特殊程式語言的直譯器。直譯器本身是用Common Lisp編寫，並且可以加載到任何Common Lisp語言發行版中。 
這意味著任何研究人員都可以從ACT-R網站下載ACT-R代碼，將其加載到Common Lisp發行版中，並以ACT-R直譯器的形式完全存取該理論。
而且，這使研究人員能夠以ACT-R語言的腳本形式來具體說明人類認知模型。語言基元及數據類型的設計反映了人類認知理論的假設。而這些假設是根據從認知心理學和腦成像實驗中所得出的大量事實。 
如同程式語言，ACT-R是一個框架：可用於處理不同的任務（例如河內塔、用於文本或單詞列表的記憶、語言理解、信息交流和飛機控制），研究人員會在ACT-R中創建“模型”（也就是程式）。這些模型反映了建模人員以ACT-R的認知觀點對任務所做的假設。 
在模型運作之後，模型會自動循序模擬人類的行為，具體規定各個認知操作（記憶編碼和提取、視覺和聽覺編碼、運動編程和執行、心理意象操縱）。每個步驟都與延遲和準確性的定量預測相關。藉由將模型結果與行為實驗收集的數據比較，可以對該模型進行檢驗。
近年來，由於功能磁共振成像實驗，ACT-R也已擴展到對大腦激發模式的定量預測。尤其是將ACT-R加強後，用以預測幾個大腦區域的Blood-oxygen-level-dependent_imaging響應的形態和時程，包括運動皮質、左前側額葉皮質、前扣帶回皮質和基底神經節。 

**簡要概述**
ACT-R最重要的假設是，人類知識可分為兩種不可簡化的表徵：陳述性和程序性。 
在ACT-R代碼中，陳述性知識以「意元」（chunks）的形式表示，也就是各個屬性的矢量表徵，而每個屬性都可以從標記的插槽存取。
「模塊」是專門的大腦結構，很大程度上獨立，模塊的前端是緩衝區，意元即透過「緩衝區」來保持和存取。
模塊有兩種類型：- 知覺運動模塊，負責與現實世界的介面（即模擬真實世界）。 ACT-R中開發最完善的知覺運動模塊是視覺模塊和人工模塊。- 記憶模塊。ACT-R中有兩種記憶模塊：
** 陳述性記憶，由諸如「華盛頓特區是美國首都」、「法國是歐洲國家」或「2 + 3 = 5」等事實組成。
** 程序性記憶，由產出組成。 產出代表著我們如何做事的知識。例如：如何在鍵盤上鍵入字母“Q”、如何駕駛、如何執行加法。 
所有模塊只能透過其緩衝區來存取。在給定的時刻，緩衝區的內容表示ACT-R在該時刻的狀態。這個規則的唯一例外是程序模塊。程序模塊負責儲存及應用程序性知識，但沒有可存取的緩衝區，實際上，這個模塊是用來存取其他模塊的內容。
程序性知識以「產出」（productions）的形式表示。 術語“產出”反映了ACT-R作為產出系統的實現情形，但是實際上，產出主要是形式化的表示法，用於指定從皮質區域（即緩衝區）到基底神經節再回到皮質的信息流。 
每一時刻，內部模式匹配器都會搜索與緩衝區當前狀態匹配的產出。在給定的時刻，只能執行一次產出。該產出在執行時可以修改緩衝區，從而更改系統狀態。因此，在ACT-R中，認知會隨著一系列的產出而觸發。

**符號與聯結主義的辯論**
在認知科學中，通常會將不同的理論歸類為認知的“符號方法”或“聯結主義方法”。 ACT-R顯然屬於“符號”領域，在標準教科書和文獻中也是如此歸類。 ACT-R的實體（意元和產出）是離散的，且操作在語法上，也就是說，ACT-R並不是指表徵的語義內容，而是代表它們所適合參與計算的屬性。在意元插槽中以及與產出匹配的緩衝區屬性中都可以清楚地看到這一點，這兩者皆為標準符號變量。 
ACT-R社群的成員，包括其開發人員，更喜歡將ACT-R視為一個通用框架，該框架明確說明瞭大腦是如何組織，以及大腦的組織是如何產生被感知的心智（同時也是認知心理學研究重點。）這框架超越了傳統的符號/聯結主義之爭。當然，這些說法都不反對將ACT-R劃分為符號系統，因為所有認知的符號方法都是為了描述心智，作為大腦功能的產物，使用特定的實體和系統來達成這個目標。
一個常見的誤解認為「ACT-R可能不是符號系統，因為它試圖描述腦功能。」 從兩個方面來看，這是不正確的：首先，因為心智就是大腦的功能，所以無論是符號的還是其他類型，所有認知的計算模型都必須在某種程度上描述大腦的功能。其次，所有這些方法，包括聯結主義方法，都是試圖在認知層面來描述大腦，而不是在神經層面，因為只有在認知層面上，重要的一般性質才能被保留。  
由於ACT-R在某些方面有著「聯結特性」，還會產生進一步的誤解。例如，「意元」會互相傳播激發，或「意元和產出」的定量屬性與其選擇相關，然而，無論這些屬性在單元選擇的作用，以及最終在計算中的作用如何，皆未與符號實體的基本性質相悖。

**理論與實現以及Vanilla ACT-R**
ACT-R開發人員通常會強調區分理論本身及其實作的重要性。
實際上，許多實作並沒有反映理論。 例如，實際的實作方式會使用到額外的“模塊”，而這些“模塊”純粹是為了計算而存在，不在大腦中反映任何內容（例如，有的模塊包含了用於產生雜訊參數的偽亂數生成器，有的擁有命名常式，用於生成可透過變量名存取的資料結構。）
同時，實際實作的目的是使研究人員能夠修改理論，例如透過修改標準參數，創建新的模塊，或部分修改現有模塊的行為。
最終，卡內基·梅隆大學的安德森實驗室維護併發布了官方版本的ACT-R程式碼，而該理論也有其他替代實作方式，包括jACT-R  （美國海軍研究實驗室的Anthony M. Harrison用Java編寫）和Python ACT-R （由加拿大卡爾頓大學Terrence C. Stewart和Robert L. West用Python編寫）。  
同樣地，ACT-RN（現已停止）是1993年版理論的一個成熟的神經實作。  所有這些版本均具有完整的功能，而這些版本的模型均已完成並運行。 
由於具有這些實作上的自由度，因此，當採用其原始形式且未經修改的情況下，ACT-R團體通常將該理論以Lisp為基礎所實作的“官方”版本稱為“Vanilla ACT-R”。

**應用領域**
多年來，ACT-R模型已在700多種不同的科學刊物中使用，在文獻中則引用更多。

**記憶力、注意力和執行控制**
自從ACT-R陳述性記憶系統建立以來，就被用來模擬人類記憶。 多年來，已經成功對大量已知的效應建模。 包括相關信息干擾的粉絲效應列表記憶的首因效應和近因效應， 和序列回憶。 
在許多認知範式中，ACT-R被用來模擬注意力和控制歷程。 這些包括斯特魯普效應、 Task switching (psychology)、 Psychological refractory period、和多重任務處理。 

**自然語言**
研究人員已經使用ACT-R來模擬在自然語言理解和產出中的多個環節。 包括語法分析模型、 語言理解模型、 語言習得和隱喻理解模型。 

**複雜的任務**
ACT-R已被用於理解人類是如何解決河內塔之類的複雜問題， 或是如何解決代數方程式。  它也已被用來模擬人類駕駛汽車和飛機的行為。 
隨著知覺運動能力的整合，ACT-R作為人機交互的建模工具越來越受歡迎。 在此領域中，已採用它來模擬不同條件下的駕駛行為、 計算機應用中的選單選擇和可視化搜索以及網站導航。 

**認知神經科學**
最近，ACT-R已被用於預測成像實驗中大腦的激發模式。 在該領域，ACT-R模型已成功用於預測在記憶提取過程中前額葉和頂葉的活動，控制操作的前扣帶回活動，以及與實踐相關的大腦活動變化。 

**教育**
ACT-R通常被用作認知引導的基礎。  這些系統使用內部的ACT-R模型來模仿學生行為，並使說明和課程變得個性化，以及試圖“猜測”學生可能遇到的困難並提供重點協助。 
這種“認知導師”被用作匹茲堡學習科學中心的學習研究和認知建模的平臺。如「數學認知導師」這樣的成功應用，正在美國的數千所學校中使用。

**歷史簡介**

**早期：1973–1990年**
由約翰·羅伯特·安德森開發，這一系列愈益精確的人類認知模型中，ACT-R是當中的最終繼承者。 
它的根源可以追溯到最初的HAM（Human Associative Memory，人類聯想記憶）記憶模型，由約翰·安德森和戈登·鮑爾在1973年描述。 HAM模型後來被擴充為ACT理論的初代版本。  這是首次將程序性記憶添加到原本的陳述性記憶系統中，引入了一種後來被證明可以在人腦中使用的計算機的二分法。  然後，該理論進一步擴展到人類認知的ACT *模型中。  

**與理性分析整合：1990–1998年**
八十年代後期，安德森致力於探索和概述一種認知的數學方法，他將其命名為理性分析。 理性分析的基本假設是認知具有最佳適應性，且認知有精確估計的功能，可反映環境的統計特性。 後來，他回到了ACT理論的發展階段，將理性分析作為基礎計算的統一框架。 為了強調新方法在架構設計中的重要性，將其名稱更改為ACT-R，“ R”代表“ Rational”  
1993年， 安德森遇到了聯結主義模型研究人員克里斯蒂安·勒比耶爾（Christian Lebiere），該模型因與斯科特·法爾曼（ Scott Fahlman）合作開發出串級關連式學習演算法而聞名。 在他們共同努力之下，最終發佈了ACT-R 4.0。  因為Mike Byrne的貢獻，4.0版還包括可供選擇的知覺和運動功能，這主要是受到EPIC架構的啟發，極大地擴展了該理論的可能應用。 

**腦成像和模塊化結構：1998-2015年**
ACT-R 4.0發佈後，約翰·安德森對他這個終生奉獻的理論的潛在神經合理性越來越感興趣，並開始使用大腦成像技術來追求自身的目標，也就是理解人類思維的計算基礎。 
解釋大腦定位的必要性推動了對該理論的重大修改。 ACT-R 5.0引入了模塊的概念，專門化了多組可以映射到已知大腦系統的程序性表徵及陳述性表徵。 此外，程序性知識和陳述性知識之間的交互作用是由新引入的緩衝區（用於保存臨時活動信息的特殊結構）來調節（請參見上文）。人們認為緩衝區能反映皮質的激發，隨後的一系列研究證實，皮質區域的激發可能與緩衝區的計算操作有關。 
完全重寫的新版本代碼於2005年發佈，名為ACT-R 6.0。 它還包括對ACT-R程式語言的重大改進。 這包括ACT-R產出規範中的一種稱為動態模式匹配的新機制。 從前的版本要求對於緩衝區中的資訊，與產出匹配的模式要包含特定插槽。與之不同，新版本的動態模式匹配則允許緩衝區內容來指定匹配的插槽。安德森在2007年的論文中，給出了ACT-R 6.0的描述和動機。 

**ACT-R 7.0：2015年至今**
在2015年的研討會上，有人認為，這次軟體改版需要將模型編號增加到ACT-R 7.0。其中一個主要的軟體變更是取消了「必須根據預定義意元類型來指定意元」的要求。 意元類型機制並未移除，而是從架構的必要構造，變更為軟體中的彈性語法機制。 這為需要學習新資訊的建模任務提供了更大的知識表徵靈活性，並擴展了透過動態模式匹配（現在允許模型創建新的意元“類型”）提供的功能性。 由於所有動作現在都具有相同的句法形式，因此這也簡化了在產出中指定動作所需的語法。ACT-R軟體也隨後進行了更新，以包括基於JSON RPC 1.0的遠程介面。 添加了該介面，可以更輕鬆地從Lisp以外的語言創建模型任務和使用ACT-R，且軟體隨附的教學已更新，可以為所有教學模型所執行的範例任務提供Python的實作。

**分拆**
ACT-R理論的長期發展催生了相當數目的平行相關計畫。
最重要的是PUPS產出系統，它是安德森理論的最初實作，後來被放棄了。另外還有ACT-RN，是由Christian Lebiere所開發的神經網路實作。 
卡內基·梅隆大學的林恩·雷德也在90年代初開發了激發混淆源模型（Source of activation confusion model，SAC），這是一種記憶在概念和知覺方面的模型，儘管在某些假設上有所不同，它與ACT-R的核心陳述性系統有著許多共同之處。 

**註釋**

**參考文獻**
 Anderson， J. R. （2007）. How can the human mind occur in the physical universe? New York， NY: Oxford University Press. 0-19-532425-0ISBN 0-19-532425-0.- Anderson， J. R.， Bothell， D.， Byrne， M. D.， Douglass， S.， Lebiere， C.， & Qin， Y . （2004）. An integrated theory of the mind.  Psychological Review， 1036–1060.

**外部鏈接**
  ACT-R官方網站date=20110304102119    包含大量在線資料，包括源代碼，出版物列表和教程-  JACT-Rdate=20140517080934     Java重寫ACT-R-  ACT-R：Java仿真和開發環境    ACT-R的另一個開源Java重新實現-  PythonACT-Rdate=20170207020054     ACT-R的Python實現-  pyactrdate=20200917100957     ACT-R的另一個Python實現