(5)當a=0時,表示該神經元當前周期內不處于活躍狀態,不向外發出連接。
1.2 網絡的生成流程
本文中提出的網絡生成算法以統計神經元的活躍程度為依據,神經元越活躍時,連接其突觸連接范圍越遠,越不活躍連接范圍越近。直到網絡生成達到穩定狀態時,再根據生成的網絡判斷是否符合我們的生成目標,如果符合,則將該網絡保留;如果不符合,則舍去,通過修改C矩陣參數的值來改變網絡生成方法,從而達到參數學習的目的,并最終選擇出合適的網絡。具體的流程如下:
(1)根據所需要生成的網絡類型,調整C矩陣的初始值。選擇其中若干個神經元外加刺激信號,此時相當于激活了空間中的這些神經元。
(2)根據前述神經元的運算規則,其將計算神經元的活躍信息,同時根據自生成算法向外生長連接。
(3)當一段時間T內網絡中不再有新的連接生成或生成到達一定范圍時,終止網絡生成過程。
(4)驗證網絡功能,如果網絡功能符合我們預期要求,則保留該網絡;如果不符合要求,則調整C矩陣的值,轉入第一步中從新學習。
(5)將(4)中得到的較小的網絡結構上,加入更多的刺激信號,生成新的連接和網絡結構,轉入(1);開始新一輪的更為復雜的網絡生產過程,從而實現對網絡的不斷復雜進化目標。
2 仿生復眼神經網絡的構建方法
2.1 復眼神經網絡的生物學原理
通過調研發現,果蠅為生物學三大模板生物之一,生物學家對它研究最為透徹,因此本文從果蠅的復眼神經網絡作為研究切入點。果蠅每個復眼大約750個小眼,后一級有重復的柱狀體構成,每個柱狀體直接受一個小眼信息[10]。目前對果蠅復眼的研究主要集中在:運動的分析、色彩的辨別、模式的識別3個方面進行[11]。從結構上來看,果蠅的復眼主要由4層構成[12]:視網膜層、基質層、髓質層、小葉和小葉板層。目前的研究當中,對果蠅的運動檢測機制和神經網絡通路有大致的了解;對顏色的分析和模式識別的原理還有很多不清楚的地方,所以本文中提出的構建方法主要以運動檢測為主。
2.2 仿生復眼神經網絡的構建原理
2.2.1 網絡功能整體概述
通過對果蠅視神經網絡處理數據的過程進行抽象,本文提出了一種五層網絡用于模擬果蠅視覺的運動處理功能。該五層網絡的基本功能為:第一層為感知層,用于捕捉外部信息進入神經網絡進行信號處理;第二層為信號處理層,在該層可完成對物體距離的一個分級判別;第三層為將物體的位置定位于某個神經元上的過程,該層的處理方法類似于人眼將物體捕捉到視網膜的過程,即在視神經網中進行定位;第四層為對物體運動軌跡的捕捉層,該層通過物體在第三層神經元上的運動,捕捉其每個時刻的運動方向測;第五層為速度估算層,通過接受第四級傳出的脈沖,統計一段時間內接受到的脈沖數量,即可對物體的運動速度做一個判定。
2.2.2 網絡每層工作原理
第一層為信號感知層,調研發現果蠅的復眼中的小眼具有一定的固定視角范圍,該感知層中的一個感受器相當于一個小眼,本文設定其感受范圍為120°的錐形視區。當物體離感受器平面越遠時,越多的感受器感受到物體存在,越近則越少。如圖2中左圖所示,為二維視角下情形,通過觀察圖形,我們可以發現4、5、6號感受器可以感受到圓形黑點所在區域;3、4、5、6、7號感受器可感受到方形黑點的區域;同理可推廣至三維情形,如圖2中所示,處于黑色圓點區域時,1、2、3、4與5號感受器都可感知黑色圓點的存在,其它感受器不能;物體離平面越遠則越多感受器可感受到物體。

圖2 感受器對不同距離的感知情形,左圖為二維,右圖為三維
第二層網絡對第一層網絡接收到的信息進行處理;當第一層的感受器感受到物體存在時,則向后一級發出一個脈沖信號。對前一級收集到的脈沖信號進行加權求和。當第一二層間的神經元連接越多時,其可判斷的距離越遠,分級判斷也越精細。該層網絡的功能可用式(3)表示
(3)

第三層網絡功能是將物體的位置信息定位到網絡中的某個神經元。通過比較第二層網絡中加權求和值的大小,選擇出最大位置的神經元,該位置即為神經元在網絡中的映射位置。由于感受器感受的范圍為一個錐形區域,所以在感受平面上能感受到物體存在的區域為一個圓形區域,該層主要為選擇出該區域的圓形位置。具體可用式(4)表示
(4)

第四層網絡的主要功能就是監測物體運動方向;由于在第三層網絡中已經將物體的位置定位于某個神經元上,所以第四層網絡只需要監測相鄰兩個時刻物體出現在第三層網絡中的位置即可。如圖3所示為物體檢測到其運動后的8個方向判定值1到8,分別代表如圖所示的8個方位。

圖3 左圖為三四層連接方式,右圖為當檢測到物體運動到該位置時第四層神經元輸出方向判斷值
第五層主要是統計物體在區域中運動的時間,從而做到對速度的評估。
3 軟件仿真系統的設計
軟件仿真平臺設計主要可分為4部分:神經元陣列設計、配置文件模塊設計、界面顯示系統設計和生成算法和篩選算法設計。如圖4所示,其中神經元陣列為一個即可支持二維仿真,也可支持三維仿真的陣列計算器。

圖4 仿真平臺結構
在配置文件模塊中,配置文件1用于確定每個神經元的計算方式和神經網絡的運行規模,其中常用神經元的運算方式已被寫入到計算模型中,我們還留用了部分接口用于自定義運算方式。配置文件2用于配置神經元之間的連接權重,其中每個神經元的連接端口和權重數量是可變化的。配置文件3用于設定神經元之間的連接關系,該配置文件有兩種配置方式:①通過人為寫定連接關系,從而確定網絡結構,本文中果蠅復眼神經網絡的構建,就是采用人工配置連接的方式生成;②如果該部分運用于自生成網絡,則連接方式是通過生成算法自動篩選生成的,這兩種配置方式可配合使用,即在一定基礎網絡之上,再開始自生成的過程。
由于本課題中對神經元間的運算仿真需要很高的并行度,所以本課題采用“CPU+GPU”的仿真環境實現。CPU作為客戶端,控制神經網絡配置和數據加載,GPU作為服務端,負責對數據進行運算和處理;處理結果完成后將數據傳回CPU進行結果輸出。將GPU中的每個線程運行一個神經元,從而做到可實現千萬量級的模擬規模。
4 驗證及結果分析
4.1 自生成網絡仿真結果
為了得到較佳的生成效果,首先通過兩位輸入信號依次刺激初始網絡,并通過改變C值矩陣的分布,最終得到可完全識別兩位輸入信息的網絡結構,如圖5中框架中部分。將該網絡復制兩份,重新加入四輸入的刺激信號,最終生成完全的網絡結構如圖5所示。其中用橢圓圈出部分為神經網絡的輸出節點,對應為標記為A、B神經元,用黑色小方框圈出部分為4個輸入神經元的位置。

圖5 四輸入自生成網絡結果
驗證中在輸入端口加入4位數據流模擬物體從外界移入到最終移出的這一過程。具體加入輸入信號依次為0001-0011-0111-1111-1110-1100-1000;其中有1的部分代表物體進入,當4位全為1時,代表物體全部移入,之后1開始移出,即表示物體轉入移出視界的過程。由此得到A、B神經元的輸出如圖6所示。

圖6 加入模擬輸入后,A、B神經元的輸出信息
通過圖6我們可以發現,隨著物體的移入,神經元的輸出頻度變高;隨著物體的移出,神經元的輸出頻度逐漸降低。為了進一步證實實驗結果,我們對輸出的頻度在100個時鐘周期內進行統計發現,A、B神經元的輸出頻度如圖7所示。

圖7 統計100個始終周期中A、B神經元的活躍程度
通過圖7可以進一步說明,當物體從移入到移出過程中,A、B神經元的活躍程度,都經過逐漸變強到逐漸變弱的過程。由此可以說明,通過我們的自生成算法生成的網絡結構,可以生成具有對運動物體進行檢測功能的網絡。
4.2 仿生復眼的仿真結果
針對上面模型的描述,設計的該五層網絡的連接方式如圖8所示,前面4層每層8*8個神經元。第二層每個神經元連接第一層的9個感受器,它們的連接權值由近及遠不斷減小,驗證過程中9個神經元總共分三級,第一級權值為5,第二級權值為3,第三級為1;如果需要對更遠的距離做出判斷,可以通過增加第一二層神經元的連接數量。每個第三層神經元連接5個第二層神經元;第四層連接9個第三層神經元;第五層與第四層全連。

圖8 網絡全景
通過模擬物體的運動過程,感受器層檢測到物體的輸出如圖9所示;每組數據為一個8*8陣列,即感受器層的每個感受器對應的輸出信息;總共采樣了9個連續時刻的數據。

圖9 感受層檢測到的9組信號輸出
第三層通過比較第二層周圍5個神經元的大小值,選擇出中心神經元最大的神經元位置,并在第三層的相應位置上的標記出該神經元,該神經元即為物體在神經網絡中的映射位置。該位置的神經元向后發射一個脈沖信號,用于第四層網絡中對物體運動的過程進行捕捉,由此得到第三層網絡的輸出如圖10所示。

圖10 第三層神經網的輸出值
此外,根據第二、三層的輸出信息,在第三層有輸出的神經元上,還給出了對物體距離的判定信息。上述9個輸入時刻下對應的物體到感受器平面的距離為3、2、2、1、1、2、3、2、2,其中3,2,1為距離判定的級別,3為最遠;由于驗證中第一二層只有9個神經元進行連接,所以只能對三級距離進行判斷,如果需要更精細的判斷結果,可以通過增加第一、二層連接來實現。
在第四層神經網上,對第三層的運動信息做出檢測,可得到每個時刻的物體運動方向信息,每時刻為8、8、7、3、8、8、6、5。由于檢測物體的運動方向需要連續的兩個周期進行比較,所以第一組輸入沒有對應方向信息,因此總共有8組方向數據。其中1到8分別代表8個方位,具體可參照圖3中右圖所示。
通過對第四層發出的脈沖數量進行求和,第五層得到的脈沖統計數量為18,即18個時鐘周期(該時鐘周期可根據需采樣的快慢進行自定義)完成物體從進入到消失的過程。根據仿真結果可以發現,本文設計的網絡結構可以完成對物體到感知平面的距離進行判定同時還可對物體的運動軌跡進行捕捉。整個仿真結果實現了果蠅視覺的部分功能。
5 結束語
本文通過實驗驗證了,我們設計的自生成算法可以生成具有檢測物體運動功能的基本網絡。但隨著研究的進行發現,這種自生成方法難以控制生成網絡的功能,同時在網絡規模達到一定程度時,生成速度也較為緩慢。為了解決網絡功能難以控制,我們打算在具有一定功能網絡基礎上使用自生長算法,指導網絡的優化;從而解決功能難以控制,同時減少網絡需要搜索的空間范圍,提升仿真速度。因此本文通過調研果蠅的視覺處理過程,抽象出了果蠅的視覺神經網絡模型,并在仿真平臺上實現了該功能。
下一步工作中,我們打算在該果蠅視覺神經網絡基礎上利用自生成算法,優化網絡結構,同時豐富網絡功能,并最終完全實現果蠅視覺的全部功能。
[1]Szegedy C,Liu W,Jia Y,et al.Going deeper with convolutions[C]//IEEE Conference on Computer Vision and Pattern Recognition.IEEE Computer Society,2015:1-9.
[2]Khurodze R.Development of the learning process for the neuron and neural network for pattern recognition[J].American Journal of Intelligent Systems,2015,5(1):34-41.
[3]Wang Y,Wang D L.A deep neural network for time-domain signal reconstruction[C]//IEEE International Conference on Acoustics,Speech and Signal Processing.IEEE,2015:4390-4394.
[4]Hadley A J,Krival K R,Ridgel A L,et al.Neural network pattern recognition of lingual-palatal pressure for automated detection of swallow[J].Dysphagia,2015,30(2):176-187.
[5]D’Angelo E.The human brain project[J].Scientific Ame-rican,2012,306(6):50-55.
[6]Whalley K.Modelling:First ‘Blue Brain’ results[J].Nature Reviews Neuroscience,2015,16(12).
[7]Csuhaj-Varjú Erzsébet,Salomaa Arto.Networks of Watson-Crick D0L systems[C]//International Colloquium on Words,Languages & Combinatorics Iii,2000:134-150.
[8]Akopyan F,Sawada J,Cassidy A,et al.TrueNorth:Design and tool flow of a 65 mW 1 million neuron programmable neurosynaptic chip[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2015,34(10):1537-1557.
[9]Wu Jianjun,Gao Ziyou,Sun Huijun,et al.urban transit system as a scale-free network[J].Modern Physics Letters B,2012,18(19n20):1043-1049.
[10]Takemura S Y,Bharioke A,Lu Z,et al.A visual motion detection circuit suggested by Drosophila connectomics[J].Nature,2013,500(7461):175-181.
[11]Paulk A,Millard S S,Van S B.Vision in drosophila:Seeing the world through a model’s eyes[J].Entomology,2013,58(58):313-332.
[12]Maisak M S,Haag J,Ammer G,et al.A directional tuning map of Drosophila elementary motion detectors[J].Nature,2013,500(7461):212-216.