簡介
細胞式類神經網路(Cellular neural network,CNN),一種大量規則化多維度矩陣電路,可執行平行計算,於1988年由蔡少棠與Lin Yang提出,類似於神經細胞架構,每個細胞與鄰近細胞間彼此連線與傳遞訊號。
與一般類神經網路不同,較具特色的兩點為:1.細胞中連續性的動態行為與2.有限半徑的局部性連線。典型的套用包括影像處理、3D表面分析、問題可視化、生物視覺和其他感官建模。
CNN架構
因為CNN具有多種不同的架構,所以很難替CNN處理器定下一個非常明確的定義。從架構的觀點來看,CNN是屬於細胞式架構,資料處理是以平行方式計算,因此運算速度可大幅提升。它是由固定數目、固定位置、固定拓普、局部互連、非線性的處理單元所組成,這個非線性的處理單元通常被叫做細胞或是神經元。在數學模型上,每個細胞為獨立且非線性的單元,它具有初始狀態、輸入和行為。訊號的處理通常是連續的,例如Continuous-Time CNN(CT-CNN)處理器,但也可以是離散的Discrete-Time CNN(DT-CNN)處理器。
並行計算
並行計算(英語: parallel computing)一般是指許多指令得以同時進行的計算模式。在同時進行的前提下,可以將計算的過程分解成小部分,之後以並發方式來加以解決。
計算機軟體可以被分成數個運算步驟來運行。為了解決某個特定問題,軟體採用某個算法,以一連串指令運行來完成。傳統上,這些指令都被送至單一的中央處理器,以循序方式運行完成。在這種處理方式下,單一時間中,只有單一指令被運行(processor level: 比較微處理器,CISC, 和RISC,即流水線Pipeline的概念,以及後來在Pipeline基礎上以提高指令處理效率為目的的硬體及軟體發展,比如branch-prediction, 比如forwarding,比如在每個運算單元前的指令堆疊,彙編程式設計師對programm code的順序改寫)。並行運算採用了多個運算單元,同時運行,以解決問題。
基本體系結構
相對於串列計算,並行計算可以劃分成時間並行和空間並行。時間並行即流水線技術,空間並行使用多個處理器執行並發計算,當前研究的主要是空間的並行問題。以程式和算法設計人員的角度看,並行計算又可分為數據並行和任務並行。數據並行把大的任務化解成若干個相同的子任務,處理起來比任務並行簡單。
空間上的並行導致兩類並行機的產生,按照麥克·弗萊因(Michael Flynn)的說法分為單指令流多數據流(SIMD)和多指令流多數據流(MIMD),而常用的串列機也稱為單指令流單數據流(SISD)。MIMD類的機器又可分為常見的五類:並行向量處理機(PVP)、對稱多處理機(SMP)、大規模並行處理機(MPP)、工作站機群(COW)、分散式共享存儲處理機(DSM)。
訪存模型
並行計算機有以下五種訪存模型:均勻訪存模型(UMA)、非均勻訪存模型(NUMA)、全高速快取訪存模型(COMA)、一致性高速快取非均勻存儲訪問模型(CC-NUMA)和非遠程存儲訪問模型(NORMA)。
並行計算模型
不像串列計算機那樣,全世界基本上都在使用馮·諾伊曼的計算模型;並行計算機沒有一個統一的計算模型。不過,人們已經提出了幾種有價值的參考模型:PRAM模型,BSP模型,LogP模型,C^3模型等。
類神經網路
人工神經網路(英語:Artificial Neural Network,ANN),簡稱 神經網路(Neural Network,NN)或 類神經網路,在機器學習和認知科學領域,是一種模仿生物神經網路(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型,用於對函式進行估計或近似。神經網路由大量的人工神經元聯結進行計算。大多數情況下人工神經網路能在外界信息的基礎上改變內部結構,是一種自適應系統。現代神經網路是一種非線性統計性數據建模工具。典型的神經網路具有以下三個部分:
•結構(Architecture)結構指定了網路中的變數和它們的拓撲關係。例如,神經網路中的變數可以是神經元連線的權重(weights)和神經元的激勵值(activities of the neurons)。
•激勵函式(Activity Rule)大部分神經網路模型具有一個短時間尺度的動力學規則,來定義神經元如何根據其他神經元的活動來改變自己的激勵值。一般激勵函式依賴於網路中的權重(即該網路的參數)。
•學習規則(Learning Rule)學習規則指定了網路中的權重如何隨著時間推進而調整。這一般被看做是一種長時間尺度的動力學規則。一般情況下,學習規則依賴於神經元的激勵值。它也可能依賴於監督者提供的目標值和當前權重的值。例如,用於手寫識別的一個神經網路,有一組輸入神經元。輸入神經元會被輸入圖像的數據所激發。在激勵值被加權並通過一個函式(由網路的設計者確定)後,這些神經元的激勵值被傳遞到其他神經元。這個過程不斷重複,直到輸出神經元被激發。最後,輸出神經元的激勵值決定了識別出來的是哪個字母。
神經網路的構築理念是受到生物(人或其他動物)神經網路功能的運作啟發而產生的。人工神經網路通常是通過一個基於數學統計學類型的學習方法(Learning Method)得以最佳化,所以人工神經網路也是數學統計學方法的一種實際套用,通過統計學的標準數學方法我們能夠得到大量的可以用函式來表達的局部結構空間,另一方面在人工智慧學的人工感知領域,我們通過數學統計學的套用可以來做人工感知方面的決定問題(也就是說通過統計學的方法,人工神經網路能夠類似人一樣具有簡單的決定能力和簡單的判斷能力),這種方法比起正式的邏輯學推理演算更具有優勢。
和其他機器學習方法一樣,神經網路已經被用於解決各種各樣的問題,例如機器視覺和語音識別。這些問題都是很難被傳統基於規則的編程所解決的。
參見
•生物神經網路
•人工智慧
•機器學習
•感知機