人工机器:TM、VNM和NTM的内存机制
圖靈機:
? ? ?? 圖靈機就是指一個抽象的機器,它有一條無限長的紙帶,紙帶分成了一個一個的小方格,每個方格有不同的顏色。有一個機器頭在紙帶上移來移去。機器頭有一組內部狀態,還有一些固定的程序。
? ? ?? 在每個時刻,機器頭都要從當前紙帶上讀入一個方格信息,然后結合自己的內部狀態查找程序表,根據程序輸出信息到紙帶方格上,并轉換自己的內部狀態,然后進行移動。
圖靈機的結構:
圖靈的基本思想(同樣來自于歷史決定論)是用機器來模擬人們用紙筆進行數學運算的過程,他把這樣的過程看作下列兩種簡單的動作:
?????? 1.在紙上寫上或擦除某個符號;
?????? 2.把注意力從紙的一個位置移動到另一個位置;
而在每個階段,人要決定下一步的動作,依賴于 (a)此人當前所關注的紙上某個位置的符號和(b)此人當前思維的狀態。
?
為了模擬人的這種運算過程,圖靈構造出一臺假想的機器,該機器由以下幾個部分組成:
?????? 1.一條無限長的紙帶 TAPE。紙帶被劃分為一個接一個的小格子,每個格子上包含一個來自有限字母表的符號,字母表中有一個特殊的符號表示空白。紙帶上的格子從左到右依此被編號為 0,1,2,... ,紙帶的右端可以無限伸展。
????? 2.一個讀寫頭 HEAD。該讀寫頭可以在紙帶上左右移動,它能讀出當前所指的格子上的符號,并能改變當前格子上的符號。
????? 3.一套控制規則 TABLE。它根據當前機器所處的狀態以及當前讀寫頭所指的格子上的符號來確定讀寫頭下一步的動作,并改變狀態寄存器的值,令機器進入一個新的狀態。
?????? 4.一個狀態寄存器。它用來保存圖靈機當前所處的狀態。圖靈機的所有可能狀態的數目是有限的,并且有一個特殊的狀態,稱為停機狀態。參見停機問題。
注意這個機器的每一部分都是有限的,但它有一個潛在的無限長的紙帶,因此這種機器只是一個理想的設備。圖靈認為這樣的一臺機器就能模擬人類所能進行的任何計算過程。
?????? 在某些模型中,讀寫頭沿著固定的紙帶移動。要進行的指令(q1)展示在讀寫頭內。在這種模型中“空白”的紙帶是全部為0 的。有陰影的方格,包括讀寫頭掃描到的空白,標記了1,1,B 的那些方格,和讀寫頭符號,構成了系統狀態。(由Minsky (1967) p.121 繪制)。
?
AI的圖靈機描述
??????? 系統論里面把狀態轉化命名為演化或者發展,智能的表現為朝著既定方向的狀態進行有目的的轉換(可分離步驟、即有序)。具有自我智能描述為狀態主體可以設定目標狀態描述,并通過控制自身機制來主導自身狀態向目標轉換。
??????? 智能劃分為更多的層次,逐漸加入更多的智能元素延伸出不同的定義,公認的表觀類人類智能的描述為可通過圖靈測試的人工智能。
??????? AI的圖靈機描述即是自我智能暫時沒有恰當的形式化確定自動機描述。圖靈機內部狀態寄存器和外部狀態紙帶分別模擬自我智能的內部狀態和環境狀態,通過控制規則操作讀寫頭交互完成特定向特定狀態的轉換。
? ? ? ? 已發現的智能產生的模式理論上都可以用圖靈機描述并進行模擬,因此圖靈機可以描述現有的所有的智能系統。
馮諾依曼機
??????? 馮諾依曼等一些科學家及工程師逐步發展出一種數據(狀態)和運算(演化)分離的計算體系,其中硬件系統被稱為馮諾依曼機。馮諾依曼機的組成:存儲器?+運算器?+控制器+輸入設備+輸出設備。其主要特征為:數字計算機的數制采用二進制;計算機應該按照程序順序執行。
T機與M機的關系
馮諾依曼機實現了以下功能:
???? ? 1.把需要的程序和數據送至計算機中。必須具有長期記憶程序、數據、中間結果及最終運算結果的能力。能夠完成各種算術、邏輯運算和數據傳送等數據加工處理的能力。???
???? ? 2.能夠根據需要控制程序走向,并能根據指令控制機器的各部件協調操作。能夠按照要求將處理結果輸出給用戶。
計算機科學家與工程師延續馮諾依曼構架設計的計算機有通用的描述,把計算機劃分為硬件系統和軟件系統,其中馮諾依曼機特指硬件系統。
?????? 1.圖靈機的內部狀態轉換機制中獨立出來軟件系統,軟件系統代表了一些列狀態轉換的中層策略,上層接口用于描述問題空間,下層接口用于操作指令。一些列問題狀態空間的轉換策略,通過問題描述接口翻譯為系統策略,再逐層翻譯為操作機制,即特定有序的指令操作集合,進而操縱馮諾依曼機硬件系統完成系統狀態轉換。
?????? 2.讀寫頭映射為I/O系統,計算機通過I/0系統進行內部狀態與外部狀態的交互。
?????? 3.圖靈機的狀態存儲器獨立出存儲器,外存系統作為內存系統的延伸,表示為長期存儲固定狀態,可以理解為狀態機的時間凍結,沒有一般意義(對于圖靈機沒有時間意義)。存儲器即內存系統,即代表了圖靈機的狀態存儲器。
?????? 4.圖靈機的控制規則TABEL,在馮諾依曼系統中可描述為運算器和控制器,控制本質上也是運算,只是對外表示為控制的功能。
?????? 現代通用計算機的結構可一般描述為CPU結構(控制器群-運算器和控制器)、存儲結構(寄存器、內存和外存等-存儲器)、輸入輸出設備(接口群-輸入輸出)。
尋址機制
1.圖靈機尋址機制
? ? ?? 一套控制規則TABLE。它根據當前機器所處的狀態以及當前讀寫頭所指的格子上的符號來確定讀寫頭下一步的動作,并改變狀態寄存器的值,令機器進入一個新的狀態。
?????? TABLE并未詳細闡明規則的復雜度,和讀寫頭的規則可控制性。
?????? 通用圖靈機(UTM, Universal Turing Machine),簡稱UTM,是一款能夠模擬其它所有圖靈機的圖靈機。對于任意一個圖靈機,因為它的描述是有限的,因此我們總可以用某種方式將其編碼為字符串。我們用 <M>表示圖靈機 M 的編碼。
?????? 我們可以構造出一個特殊的圖靈機,它接受任意一個圖靈機 M 的編碼<M> ,然后模擬M 的運作,這樣的圖靈機稱為通用圖靈機(Universal Turing Machine)。現代電子計算機其實就是這樣一種通用圖靈機的模擬,它能接受一段描述其他圖靈機的程序,并運行程序實現該程序所描述的算法。但要注意,它只是模擬,因為現實中的計算機的存儲都是有限的,所以現實UTM無法跨越有限狀態機的界限。
2.馮諾依曼機尋址機制
? ? ?? 馮諾依曼機把規則分離為指令規則和內存尋址規則,其中內存尋址規則通過簡單的內存控制器實現,由指令的尾部直接定位到內存地址。
?????? 從指令的角度看,指令執行是順序的,內存尋址方式是固定的。指令附帶的二進制內存編碼可以直接定位到內存位置,取內存處指令長度的數據,執行下一條指令。
?????? 馮諾依曼結構圖靈機使用計算與存儲分離的運算結構,每條指令由運算指令和尋址指令構成,尋址過程通過邏輯電路尋址——查找矩陣邏輯門電路直接定位內存位置,在系統級別可以視為是無耗時的。其中32位指令,若完全用于尋址,可以遍歷2^32位內存空間,即4*(2^8)^10^10bit的內存,即4GB內存;附加短運算指令的指令一般可遍歷內存為3.6GB。64位指令集理論上可遍歷(4GB)^32大小的內存空間。
3.NTM尋址機制
?????? 單從尋址機制方面查看,NTM不使用固定的尋址機制,使用注意力聚焦的方式進行內存定位,在尋址邏輯上進行改變,底層機制文章中試驗為前饋網絡和遞歸網絡。
?????? 從神經網絡的邏輯層面分析,神經圖靈機包含兩個基本組成部分:神經網絡控制器和記憶庫,控制器通過輸入輸出向量和外界交互。不同于標準神經網絡的是,控制器還會使用選擇性的讀寫操作和記憶矩陣進行交互。類比于圖靈機,我們將網絡的參數化這些操作的輸出稱為“讀頭”。輸入向量和網絡結構影響注意力的聚焦,決定尋址位置。
3.1注意力聚焦尋址機制
?????? 神經網絡圖靈機架構包含兩個基本組件:神經網絡控制器和內存池。圖1展示了NTM的一個高層邏輯流程圖。像多數神經網絡,控制器通過輸入輸出向量與外界交互,但不同于標準網絡的是,它還與一個帶有選擇性讀寫操作的內存矩陣進行交互。類似于圖靈機,我們將執行讀寫操作的網絡輸出稱為“頭/讀寫頭”。
????
??????? 至關重要地是,架構中的每個組件都是可微分的,這可直接使用梯度下降訓練。
??????? 為此,我們定義了“模糊”讀寫的概念,即可以通過更多或者更少的權重(可到達度)與內存中的全部元素進行交互(而不是單一元素尋址操作,通用圖靈機和數字計算機中使用此操作)。“模糊度”的由注意力“聚焦”機制確定,此機制約束/限定 每一個讀/寫操作交互到 一小片內存,同時忽略其他部分。由于與內存的交互高度離散,NTM網絡更偏向于/擅長存儲數據同時很少受到干擾。帶入注意力焦點的內存地址由讀寫頭上的特定輸出決定。
??????? 這些輸出定義了一個歸一化的權值,通過內存矩陣的每一行(稱為內存“地址集合”)。每個讀寫頭上附有的每一個權值,定義了它的讀寫頭在各個地址的讀寫比重。由此,一個讀寫頭,既可以精確訪問單一地址,也可以弱定位在各個內存位置。
??????? 綜上所述, NTM使用讀寫頭上的多個權值實現,形成一個多維向量,每一維向量表示關聯到特定區域內存的讀寫權重,并由此決定要讀寫的內存地址。此處是NTM有別于通用圖靈機的地方。實現此機制的控制器為神經網絡控制器,用于處理輸入、輸出多維讀寫權重向量。
3.2 神經網絡控制器
Controller Network控制網絡
?????? 以上描述的NTM架構有三個自由參數,包括內存的大小,讀寫頭的數量,允許的地址位移范圍。但也許最重要的架構選擇是選用怎樣的用作控制器的網絡模型。尤其是,我們可以決定使用前饋網絡(FN)還是遞歸網絡(RN)。諸如LSTM這樣的一個遞歸控制器擁有自己的內部存儲器,這個存儲器可以對矩陣中更大的存儲器起到補充作用。如果將控制器比作數字計算機的中央處理器單元(盡管比先前定義可能更適合),將內存矩陣比作RAM,那么遞歸網絡的隱藏激活神經元們(hidden activations)就像/are akin to類似于 是處理器的寄存器。他們允許控制器在跨時間操作時能夠共享mix信息。
? ? ? ? 另一方面,一個前饋控制器可以模擬遞歸網絡(通過每一時刻都讀寫同一地址來)。進一步說,前饋控制器通常給予網絡操作更大的透明度,因為對內存矩陣的讀寫模式通常比RNN的內部狀態 更容易解釋。然而,前饋網絡的一個局限性是并行讀寫頭的數量(有限個線性讀寫頭只能讀特定數量的內存),在執行計算任務時會成為瓶頸。一個單一讀出頭在每個時刻只能對每個內存向量執行一元變換,而兩個讀出頭就可以二元向量變換,以此類推。遞歸控制器則能夠存儲上一時刻的讀出的向量,因此不會受到這個限制。
?
總結:
??????? 把機制與策略分離,關于圖靈機的尋址策略和尋址機制,圖靈機暫時描述的不是特別清楚?還是理解的不夠?
總結
以上是生活随笔為你收集整理的人工机器:TM、VNM和NTM的内存机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信 Windows 版 3.9.6 最
- 下一篇: 保价费怎么算