代码:用路由器模拟 神经元,以实现人工智能(一)
代碼實現:用路由器模擬 神經元,用電線模擬突觸(一)
開篇第一章,介紹一種宏觀的 模擬三維結構的方法:用路由器模擬 神經元胞體,用電線模擬突觸。因為模擬器或機房路由器集群數量 比神經元集群數量少得多,所以初期圖靈測試時,用簡單的測試:在單色背景圖中找出 手寫阿拉伯數字。
下圖示例,路由器集群是如何用三維重建方式學習數字。
視覺皮層布滿了神經元,無數的神經元組成重疊的多層結構,作者把第一層稱為視覺皮層的“黑板層”。眼睛傳入的光信號,被視錐細胞、視桿細胞分解后,再投射到視覺皮層的第一層“黑板”上,點亮“黑板”上對應神經元。點亮這個過程,就像用粉筆在黑板上寫字。
上圖,用路由器集群模仿視覺皮層。圖里,背景本應該布滿了路由器,以滿屏的路由器群模仿視覺皮層緊挨著的神經元,但圖里只展示出的部分路由器,以表示在模仿被點亮的神經元。
上圖連線表示,路由器模仿神經元之間加強聯系、傳遞遞質。
這就是,作者一直強調的三維重建過程,就是神經元集群模仿真實世界,在大腦里用連線聯結或斷開聯結的方式,勾畫圖案。神經元集群以勾畫的立體三維圖案,來表示真實世界。這種三維重建方式,不是以計算為基礎,不是用函數來表示,不具有嚴密邏輯推理性,只是模仿,是相似的勾畫,是照抄,是復制。這種三維重建方式,因為突觸聯結可被打斷,神經元突觸方向隨時改變,所以充滿了錯誤,復制粘貼得出的圖案與真實世界可能相差甚遠。所以才有各種諺語,如四川眉州諺語“帶肉帶縮,帶話帶漲”,歐洲諺語“一千個觀眾就有一千個哈姆雷特”,等等。這些諺語說明,神經元以三維重建方式勾畫真實世界,這種不嚴密的復制粘貼方式,導致每個大腦神經元集群重建的圖案都不盡相同。
所以,下面的代碼實現過程,也不是以計算為基礎,不是用函數表示真實世界,而是用路由器連線表示神經元集群的聯結。
路由器出現在圖案里,表示該路由器代表的神經元被“點亮”。而空白區域,不是沒有路由器,而是依然有很多沒有連線的沉默路由器,以表示未被“點亮”的神經元。使用這種以空白表示沉默路由器的方法,是因為,如果作者把一張圖都畫滿了路由器,那讀者怎么分辨各種路由器呢?所以,作者用空白區域來表示大量的、沒有連線的、沉默的路由器。
如果連線是綠色,表示神經元之間在傳遞遞質,是活躍的、有效的聯結。這種聯結正在勾畫圖案,以表示真實三維世界。
如果連線是紅色,表示神經元之間沒有傳遞遞質,是不活躍的、漸趨無效的聯結。這種聯結消退也是對三維世界的勾畫,是負反饋,消退的原因可能是在改正錯誤聯結,或者是遺忘。
讀者在用路由器模仿神經元時,可以購買路由器來做,也可以先用通訊企業提供的模仿器軟件如做練習。模仿器不能代替真實的路由器,模仿器使用CPU是中央集中計算型處理器,只能模仿少量的路由器同時工作,而真實的、大量的路由器是在做大量并行處理任務。
作者在代碼實現過程中,模擬器里只有7臺路由器、6臺交換機,使用OSPF協議,用簡化的過程演示識別數字。
上圖,表示數字8。視覺皮層的第一層“黑板”得到這個圖案后,會把這個圖案后傳遞給第二層第三層等后面的“抽象板”,后面的第二層第三層等后面的“抽象板”會簡化這個圖案,這就是抽象。或者,后面的第二層第三層等后面的“邏輯板”會用8個神經元來表示“8的數學意義”,這就是邏輯思維。而加減乘除等計算,是在大腦里列個豎式計算,就像小學生列豎式學加減乘除一樣。
再次重復,神經元集群,是以三維重構方式勾畫真實三維世界。計算機是以邏輯運算方式,計算三維世界。具體原理,前面已經討論了很多。在此強調,是希望讀者在與作者討論時,把神經元集群的結構-運動-功能與計算機的結構-運動-功能分開。
上圖是用軟件向模擬器注入腳本。路由器1的腳本如下:
#KaTeX parse error: Expected 'EOF', got '#' at position 23: …e = "VBScript" #?interface = “1.0”
crt.Screen.Synchronous = True
Sub Main
crt.Screen.Send “return” & chr(13)
crt.Screen.Send "system-view " & chr(13)
crt.Screen.Send “sysname AR1” & chr(13)
crt.Screen.Send “int g0/0/0” & chr(13)
crt.Screen.Send “ip add 192.168.56.99 24” & chr(13)
crt.Screen.Send “int g0/0/1” & chr(13)
crt.Screen.Send “ip add 1.1.0.1 16” & chr(13)
crt.Screen.Send “return” & chr(13)
crt.Screen.Send “system-view” & chr(13)
crt.Screen.Send “ospf 1” & chr(13)
crt.Screen.Send “area 0” & chr(13)
crt.Screen.Send “network 192.168.56.0 0.0.0.255” & chr(13)
crt.Screen.Send “network 1.1.0.0 0.0.255.255” & chr(13)
crt.Screen.Send “int g0/0/0” & chr(13)
crt.Screen.Send “ospf timer hello 1” & chr(13)
crt.Screen.Send “ospf timer dead 2” & chr(13)
crt.Screen.Send “int g0/0/1” & chr(13)
crt.Screen.Send “ospf timer hello 1” & chr(13)
crt.Screen.Send “ospf timer dead 2” & chr(13)
End Sub
其它6個路由器的腳本,適當修改。
下圖是路由器依據OSPF協議存儲的LSDB內容,全部鏈路都通。
對應的是,前面圖里連線都是綠色,以此表示為數字8。
作為對比,下圖LSDB數據庫內容,路由器7的鏈路不通,則整體鏈路看上去就像數字6。
對,就是像6,沒有邏輯性,只要相似就行。
以上是簡要貼圖,實際在模仿器里做,有很多步驟,作者盡量在錄屏時多展示。另外,很多步驟,無法一次展示,如之前要做聚焦掃描,之后要做路由器間轉換,還有抽象、聯想、想象、邏輯思維的實現,等等。這些步驟都很繁復,作者希望更多讀者參與進來,一起做,另辟一條實現人工智能的新路。
對于精通通信軟件的讀者,可以比作者做得好很多。
另外,路由器主要功能是找到最優路徑以轉發數據,OSPF協議也不是專為勾畫圖案而設計,所以,用起來很別扭。但OSPF協議里有互相學習路由鏈路的功能,所以作者使用了OSPF協議,以達到讓路由器集群“自組織、自學習”的目的。整個“自組織、自學習”的過程,體現了正負反饋、自動修正。
讀者會有很大疑問,以上過程,增加了路由器集群硬件,比單獨的一臺通用計算機麻煩,速度又慢。據了解,谷歌的圖片解碼器,通過大量樣本學習,已經可以識別大部分街景里門牌號了,也識別能其它圖片。而且,用模擬器模擬路由器時,也是調用的通用計算機,這與拋開路由器,直接使用函數算法配上通用計算機,有何區別?
以上的比較相似性,是不需要大量樣本的,甚至可以只需一個樣本即可完成學習。
以上的文字,只需看幾遍,人腦即可學會辨識其手寫體。作者相信,路由器集群也只需看幾遍,即可學會辨識其手寫體。
這就是模仿神經元集群的學習,少量樣本,或者只有一個樣本,即可完成學習。甚至,樣本不齊整,路由器集群也可以模仿神經元集群,也實現聯想、想象、推理功能。不僅如此,路由器集群也能理解這些圖片的含義。
雖然,現在有很多函數算法配上通用計算機,通過大量樣本學習,能夠識別手寫數字了,但是依據這些算法理解圖片真正含義,有很大難度。更進一步的,若用這些函數算法理配上通用計算機,即使讀取大量樣本數據,依然在區別貓狗、理解道路標志意義、指導自動駕駛、理解語義、揣摩心理等等方面,沒有突破性進展。
特別是學習駕駛技術方面,王垠說得非常好,成年人幾個小時就能學會駕駛,避障、識別道路標志等簡直是輕而易舉。但計算機吞入了大量數據,依然不明白何為駕駛、避障、識圖。
用路由器集群模擬神經元集群,是區別于函數算法配一維CPU二維GPU虛擬化連接神經元、另創建一條真實物理連接神經元的方式。
每個路由器都可以生成路由表,相當于一個神經元。而生成這么多路由表,怎么傳遞,怎么終止,是各個路由器互相學習過程、互相取舍的過程,這就相當于神經元集群互相觸發的過程、互相抑制的過程。
在作者有限的認知里,這就體現用路由器集群的好處:簡單的分解式學習、屈指可數的樣本數據、很弱的計算力、低能耗,通過路由器之間正負反饋、自動修正,就能實現避障、識圖,配上足夠多路由器就能實現語義理解。
這是CPU中心集中計算模式,與分布式計算模式的區別。也是GPU各個子單元只計算很少互連,與路由器集群主要功能就是互連的區別。
現在CPU、GPU在勉強模仿神經元集群,意圖實現真正智能,但其實還主要應用于看圖說話等等 不影響安全的領域,如智能音箱。即使預測蛋白質序列,也是用計算機的數值計算功能,而不是理解蛋白質序列的意義。
而路由器集群,模仿神經元集群,應該比CPU或GPU干得好得多。
因為,已有實踐已經確認,在并行計算方面,CPU不如GPU。
現在,作者提出把路由器集群代替GPU,讓每個子單元間互連。
雖然單個路由器里小小的芯片計算力很弱,但路由器集群在互相學習、互相取舍,這個學習、取舍過程,才是作者以前文章里說的“正負雙向反饋、自動調整過程”。
用復雜系統學來解釋,就是路由器集群有了“自學習、自組織”能力。而“自學習、自組織”能力,是集群實現智能的關鍵步驟,鳥群、蟻群、人群都是“自學習、自組織”的非中心計算形態。這與基于中心大CPU計算的形態,完全不同。
復雜系統論理論,是個大理論。
復雜系統論認為,集群可以涌現出更高層次事物。鳥群、蟻群、黏菌,涌現出的智能,是無法用單個個體解釋的。用路由器集群模仿神經元集群,也是一條實現人工智能的可行之路。用函數算法配上通用計算機,之所以在語義理解、自動駕駛方面所遇到的瓶頸,就是因為其不采用集群而是盲目的擴大算力、讀取大量數據、只用函數解題造成的。
作者認為,只要認準一點,在實踐中已經證明,并行計算的GPU,比中心計算的CPU,更適合模仿神經元集群來實現人工智能即可。
問答。
所以,作者認為,在發展并行計算方面,在模仿神經元實現人工智能方面,大CPU<<GPU<<路由器集群.
總結
以上是生活随笔為你收集整理的代码:用路由器模拟 神经元,以实现人工智能(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 1804 Desktop
- 下一篇: 安装好vmware后界面默认英语如何修改