一種新型網(wǎng)絡拓撲結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡的構(gòu)造方法
【技術(shù)領域】
[0001]本發(fā)明涉及卷積神經(jīng)網(wǎng)絡的構(gòu)造,特別涉及一種新型網(wǎng)絡拓撲結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡的構(gòu)造方法。
【背景技術(shù)】
[0002]卷積神經(jīng)網(wǎng)絡是計算機視覺和模式識別一個重要的研究領域,它是指計算機仿照生物大腦思維啟發(fā)進行類似人類對特定對象的信息處理系統(tǒng)。其應用廣泛,快速而準確的對象檢測與識別技術(shù)是現(xiàn)代信息處理技術(shù)中的重要組成部分。由于信息量近年來急劇地增長,我們也迫切的需要有合適的對象檢測以及識別技術(shù)能夠讓人們從大量的信息中尋找出自己所需要的信息。圖像檢索及文字識別都屬于這一類別,而文字的檢測與識別系統(tǒng)則是進行信息檢索的基本條件。檢測與識別技術(shù)是計算機視覺和人機交互領域重要組成部分。
[0003]卷積神經(jīng)網(wǎng)絡是最近廣泛應用于模式識別和計算機視覺等領域的一種算法模型,具有訓練參數(shù)少,人工干預小和適應性強大的特點,但是由于訓練速度慢,且算法計算復雜度,軟件結(jié)構(gòu)維護復雜等,在不同方面存在一定難度或缺陷。而且在卷積神經(jīng)網(wǎng)絡構(gòu)造的基礎設計方面存在很多不同的結(jié)構(gòu)設計,訓練樣本集合也存在極大的變化,加上復雜的神經(jīng)網(wǎng)絡非線性信息處理能力等方面存在技術(shù)難點。在家電系統(tǒng)等嵌入式平臺受存儲空間資源限制的條件下,也不可能使用類似PC機或者服務器等強大CPU計算資源。所以有必要研究針對卷積神經(jīng)網(wǎng)絡快速處理數(shù)據(jù)的算法做必要的改進,以增加算法的適應性,進而對應用程序提出了更高的要求。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是為了解決現(xiàn)有的神經(jīng)網(wǎng)絡算法在訓練和計算過程中對硬件的處理速度要求高,無法在家電系統(tǒng)中進行樣本訓練和復雜應用的問題。
[0005]本發(fā)明解決其技術(shù)問題的技術(shù)方案是:一種新型網(wǎng)絡拓撲結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡的構(gòu)造方法,其特征在于,包括如下步驟:
[0006]確定神經(jīng)元節(jié)點間的互聯(lián)結(jié)構(gòu),根據(jù)互聯(lián)結(jié)構(gòu)確定在神經(jīng)元節(jié)點間的數(shù)值計算反饋和前向計算傳遞的相互關系;
[0007]使用反向傳播神經(jīng)網(wǎng)絡創(chuàng)建多層感知機模型,所述反向傳播神經(jīng)網(wǎng)絡結(jié)構(gòu)中包含前向傳播算法;
[0008]同時運行反向傳播算法和前向傳播算法,進行卷積神經(jīng)網(wǎng)絡的訓練和計算。
[0009]具體地,反向傳播算法進行迭代運算的具體方法包括如下重復過程:從下一層開始和計算權(quán)重的變化到后一層,然后再計算在前一層的輸出誤差。
[0010]具體地,反向傳播算法運行過程中產(chǎn)生的反向傳播誤差的偏導數(shù)等于后一層網(wǎng)絡實際輸出值減去后一層網(wǎng)絡目標輸出值。
[0011]較佳地,在同時運行反向傳播算法和前向傳播算法時,使用多核處理并行結(jié)構(gòu)進行多線程并行處理。
[0012]具體地,在進行多線程并行處理時,通過神經(jīng)網(wǎng)絡的反向傳播階段,有一個上下文切換回第一個線程,切換過程中變換的權(quán)重值計算在各個線程中同步進行。
[0013]本發(fā)明的有益效果是:通過本發(fā)明的方法,可以在不占用大量計算資源的情況下,最大程度上減少卷積神經(jīng)網(wǎng)絡的訓練用時,在減少計算時間耗損的情況下可以在后續(xù)的實驗和模擬中針對更為龐大的訓練樣本集做訓練。而且在適應性能大幅提升的情況下,也可以促進更加廣泛的模式識別和計算機視覺針對檢測和識別對象的范圍,基于改進網(wǎng)絡拓撲結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡構(gòu)造的這種基礎設計技術(shù)來提升智能家電產(chǎn)品的應用模型,提高了家電在視覺交互方面的分類和檢測效果,在智能性和泛化性方面,以實際產(chǎn)品使用過程中獲得更好的用戶體驗。
【具體實施方式】
[0014]以下對本發(fā)明的技術(shù)方案進行詳細描述。
[0015]本發(fā)明為解決現(xiàn)有的神經(jīng)網(wǎng)絡算法計算中對硬件的處理速遞要求高,無法在家電中進行應用的問題,提供一種新型網(wǎng)絡拓撲結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡的構(gòu)造方法,該方法包括如下步驟:
[00? 6]確定神經(jīng)元節(jié)點間的互聯(lián)結(jié)構(gòu),根據(jù)互聯(lián)結(jié)構(gòu)確定在神經(jīng)元節(jié)點間的數(shù)值計算反饋和前向計算傳遞的相互關系;
[0017]使用反向傳播神經(jīng)網(wǎng)絡創(chuàng)建多層感知機模型,所述反向傳播神經(jīng)網(wǎng)絡結(jié)構(gòu)中包含前向傳播算法;
[0018]同時運行反向傳播算法和前向傳播算法,進行卷積神經(jīng)網(wǎng)絡的訓練和計算。
[0019]反向傳播算法進行迭代運算的具體方法包括如下重復過程:從下一層開始和計算權(quán)重的變化到后一層,然后再計算在前一層的輸出誤差。反向傳播算法運行過程中產(chǎn)生的反向傳播誤差的偏導數(shù)等于后一層網(wǎng)絡實際輸出值減去后一層網(wǎng)絡目標輸出值。在同時運行反向傳播算法和前向傳播算法時,使用多核處理并行結(jié)構(gòu)進行多線程并行處理。在進行多線程并行處理時,通過神經(jīng)網(wǎng)絡的反向傳播階段,有一個上下文切換回第一個線程,切換過程中變換的權(quán)重值計算在各個線程中同步進行。
[0020]本發(fā)明提供一種新型網(wǎng)絡拓撲結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡構(gòu)造,設計構(gòu)造和算法模型包括如下步驟:
[0021]首先神經(jīng)網(wǎng)絡沿用一貫的設計方法,即創(chuàng)建多層感知機模型,該模型為解決非線性可分問題,但是由于感知機學習算法的限制,模式分類能力很有限,必須使用反向傳播(BackPropagat1n)學習算法,該算法是影響最大的一種神經(jīng)網(wǎng)絡學習方法,以此為基礎使用反向傳播算法。本發(fā)明保護的就是改進這種算法的計算模式,為提高神經(jīng)網(wǎng)絡層內(nèi)和節(jié)點互聯(lián)的結(jié)構(gòu),增強隱含層神經(jīng)元具有的學習能力而提出的一種新型的神經(jīng)網(wǎng)絡構(gòu)造方法。從實驗過程中我們看到即使提高神經(jīng)網(wǎng)絡層內(nèi)和節(jié)點互聯(lián)的結(jié)構(gòu)仍然存在局限性的問題,這時我們改進既有的反向傳播算法結(jié)構(gòu),在網(wǎng)絡結(jié)構(gòu)上引入前向傳播(ForwardPropagat i on)的設計。專利中引用前向傳播算法,該算法利用神經(jīng)網(wǎng)絡各層內(nèi)神經(jīng)元計算的并行性,每層使用一個核函數(shù)來并行計算該層神經(jīng)元的值,每個核函數(shù)都根據(jù)神經(jīng)網(wǎng)絡的特性和整體架構(gòu)的特點進行優(yōu)化。
[0022]緊接著基于以上模型的概念,為得到更加優(yōu)異的分類性能和設計特點,為改善神經(jīng)網(wǎng)絡的設計而改變網(wǎng)絡拓撲結(jié)構(gòu)。同時(S imu I taneous)運行反向傳播和前向傳播進行卷積神經(jīng)網(wǎng)絡的訓練和計算,在這種技術(shù)中,實驗過程中我們使用多個線程是用來加速計算一個epoch所需要的時間從而減少訓練的總時長。
[0023]神經(jīng)網(wǎng)絡反向傳播算法是一個迭代的過程,從最后一層開始向后移動通過中間層達到第一層。假定每一層我們知道在該層的輸出誤差,如果知道輸出誤差就不難計算權(quán)重的變化以減少誤差。問題是我們只能觀察誤差在最后一層的輸出,從而提出需要解決問題的關鍵。反向傳播給出一個方法用來確定在