神經網路演算法介紹
『壹』 卷積神經網路演算法是什麼
一維構築、二維構築、全卷積構築。
卷積神經網路(Convolutional Neural Networks, CNN)是一類包含卷積計算且具有深度結構的前饋神經網路(Feedforward Neural Networks),是深度學習(deep learning)的代表演算法之一。
卷積神經網路具有表徵學習(representation learning)能力,能夠按其階層結構對輸入信息進行平移不變分類(shift-invariant classification),因此也被稱為「平移不變人工神經網路(Shift-Invariant Artificial Neural Networks, SIANN)」。
卷積神經網路的連接性:
卷積神經網路中卷積層間的連接被稱為稀疏連接(sparse connection),即相比於前饋神經網路中的全連接,卷積層中的神經元僅與其相鄰層的部分,而非全部神經元相連。具體地,卷積神經網路第l層特徵圖中的任意一個像素(神經元)都僅是l-1層中卷積核所定義的感受野內的像素的線性組合。
卷積神經網路的稀疏連接具有正則化的效果,提高了網路結構的穩定性和泛化能力,避免過度擬合,同時,稀疏連接減少了權重參數的總量,有利於神經網路的快速學習,和在計算時減少內存開銷。
卷積神經網路中特徵圖同一通道內的所有像素共享一組卷積核權重系數,該性質被稱為權重共享(weight sharing)。權重共享將卷積神經網路和其它包含局部連接結構的神經網路相區分,後者雖然使用了稀疏連接,但不同連接的權重是不同的。權重共享和稀疏連接一樣,減少了卷積神經網路的參數總量,並具有正則化的效果。
在全連接網路視角下,卷積神經網路的稀疏連接和權重共享可以被視為兩個無限強的先驗(pirior),即一個隱含層神經元在其感受野之外的所有權重系數恆為0(但感受野可以在空間移動);且在一個通道內,所有神經元的權重系數相同。
『貳』 深入淺出BP神經網路演算法的原理
深入淺出BP神經網路演算法的原理
相信每位剛接觸神經網路的時候都會先碰到BP演算法的問題,如何形象快速地理解BP神經網路就是我們學習的高級樂趣了(畫外音:樂趣?你在跟我談樂趣?)
本篇博文就是要簡單粗暴地幫助各位童鞋快速入門採取BP演算法的神經網路。
BP神經網路是怎樣的一種定義?看這句話:一種按「誤差逆傳播演算法訓練」的多層前饋網路。
BP的思想就是:利用輸出後的誤差來估計輸出層前一層的誤差,再用這層誤差來估計更前一層誤差,如此獲取所有各層誤差估計。這里的誤差估計可以理解為某種偏導數,我們就是根據這種偏導數來調整各層的連接權值,再用調整後的連接權值重新計算輸出誤差。直到輸出的誤差達到符合的要求或者迭代次數溢出設定值。
說來說去,「誤差」這個詞說的很多嘛,說明這個演算法是不是跟誤差有很大的關系?
沒錯,BP的傳播對象就是「誤差」,傳播目的就是得到所有層的估計誤差。
它的學習規則是:使用最速下降法,通過反向傳播(就是一層一層往前傳)不斷調整網路的權值和閾值,最後使全局誤差系數最小。
它的學習本質就是:對各連接權值的動態調整。
拓撲結構如上圖:輸入層(input),隱藏層(hide layer),輸出層(output)
BP網路的優勢就是能學習和儲存大量的輸入輸出的關系,而不用事先指出這種數學關系。那麼它是如何學習的?
BP利用處處可導的激活函數來描述該層輸入與該層輸出的關系,常用S型函數δ來當作激活函數。
我們現在開始有監督的BP神經網路學習演算法:
1、正向傳播得到輸出層誤差e
=>輸入層輸入樣本=>各隱藏層=>輸出層
2、判斷是否反向傳播
=>若輸出層誤差與期望不符=>反向傳播
3、誤差反向傳播
=>誤差在各層顯示=>修正各層單元的權值,直到誤差減少到可接受程度。
演算法闡述起來比較簡單,接下來通過數學公式來認識BP的真實面目。
假設我們的網路結構是一個含有N個神經元的輸入層,含有P個神經元的隱層,含有Q個神經元的輸出層。
這些變數分別如下:
認識好以上變數後,開始計算:
一、用(-1,1)內的隨機數初始化誤差函數,並設定精度ε,最多迭代次數M
二、隨機選取第k個輸入樣本及對應的期望輸出
重復以下步驟至誤差達到要求:
三、計算隱含層各神經元的輸入和輸出
四、計算誤差函數e對輸出層各神經元的偏導數,根據輸出層期望輸出和實際輸出以及輸出層輸入等參數計算。
五、計算誤差函數對隱藏層各神經元的偏導數,根據後一層(這里即輸出層)的靈敏度(稍後介紹靈敏度)δo(k),後一層連接權值w,以及該層的輸入值等參數計算
六、利用第四步中的偏導數來修正輸出層連接權值
七、利用第五步中的偏導數來修正隱藏層連接權值
八、計算全局誤差(m個樣本,q個類別)
比較具體的計算方法介紹好了,接下來用比較簡潔的數學公式來大致地概括這個過程,相信看完上述的詳細步驟都會有些了解和領悟。
假設我們的神經網路是這樣的,此時有兩個隱藏層。
我們先來理解靈敏度是什麼?
看下面一個公式:
這個公式是誤差對b的一個偏導數,這個b是怎麼?它是一個基,靈敏度δ就是誤差對基的變化率,也就是導數。
因為?u/?b=1,所以?E/?b=?E/?u=δ,也就是說bias基的靈敏度?E/?b=δ等於誤差E對一個節點全部輸入u的導數?E/?u。
也可以認為這里的靈敏度等於誤差E對該層輸入的導數,注意了,這里的輸入是上圖U級別的輸入,即已經完成層與層權值計算後的輸入。
每一個隱藏層第l層的靈敏度為:
這里的「?」表示每個元素相乘,不懂的可與上面詳細公式對比理解
而輸出層的靈敏度計算方法不同,為:
而最後的修正權值為靈敏度乘以該層的輸入值,注意了,這里的輸入可是未曾乘以權值的輸入,即上圖的Xi級別。
對於每一個權值(W)ij都有一個特定的學習率ηIj,由演算法學習完成。
『叄』 神經網路簡述
機器學習中談論的神經網路是指「神經網路學習」,或者說,是機器學習和神經網路這兩個學科領域的交叉部分[1]。
在這里,神經網路更多的是指計算機科學家模擬人類大腦結構和智能行為,發明的一類演算法的統稱。
神經網路是眾多優秀仿生演算法中的一種,讀書時曾接觸過蟻群優化演算法,曾驚訝於其強大之處,但神經網路的強大,顯然蟻群優化還不能望其項背。
A、起源與第一次高潮。有人認為,神經網路的最早討論,源於現代計算機科學的先驅——阿蘭.圖靈在1948年的論文中描述的「B型組織機器」[2]。二十世紀50年代出現了以感知機、Adaling為代表的一系列成功,這是神經網路發展的第一個高潮[1]。
B、第一次低谷。1969年,馬文.明斯基出版《感知機》一書,書中論斷直接將神經網路打入冷宮,導致神經網路十多年的「冰河期」。值得一提的是,在這期間的1974年,哈佛大學Paul Webos發明BP演算法,但當時未受到應有的重視[1]。
C、第二次高潮。1983年,加州理工學院的物理學家John Hopfield利用神經網路,在旅行商問題上獲得當時最好結果,引起轟動;Rumelhart等人重新發明了BP演算法,BP演算法迅速走紅,掀起神經網路第二次高潮[1]。
D、第二次低谷。二十世紀90年代中期,統計學習理論和支持向量機興起,較之於這些演算法,神經網路的理論基礎不清晰等缺點更加凸顯,神經網路研究進入第二次低谷[1]。
E、深度學習的崛起。2010年前後,隨著計算能力的提升和大數據的涌現,以神經網路為基礎的「深度學習」崛起,科技巨頭公司谷歌、Facebook、網路投入巨資研發,神經網路迎來第三次高潮[1]。2016年3月9日至15日,Google人工智慧程序AlphaGo對陣韓國圍棋世界冠軍李世乭,以4:1大比分獲勝,比眾多專家預言早了十年。這次比賽,迅速在全世界經濟、科研、計算機產業各領域掀起人工智慧和深度學習的熱烈討論。
F、展望。從幾個方面討論一下。
1)、近期在Google AlphaGo掀起的熱潮中,民眾的熱情與期待最大,甚至有少許恐慌情緒;計算機產業和互聯網產業熱情也非常巨大,對未來充滿期待,各大巨頭公司對其投入大量資源;學術界的反應倒是比較冷靜的。學術界的冷靜,是因為神經網路和深度神經網路的理論基礎還沒有出現長足的進步,其缺點還沒有根本改善。這也從另一個角度說明了深度神經網路理論進步的空間很大。
2)、"當代神經網路是基於我們上世紀六十年代掌握的腦知識。"關於人類大腦的科學與知識正在爆炸式增長。[3]世界上很多學術團隊正在基於大腦機制新的認知建立新的模型[3]。我個人對此報樂觀態度,從以往的仿生演算法來看,經過億萬年進化的自然界對科技發展的促進從來沒有停止過。
3)、還說AlphaGo,它並不是理論和演算法的突破,而是基於已有演算法的工程精品。AlhphaGo的工作,為深度學習的應用提供了非常廣闊的想像空間。分布式技術提供了巨大而廉價的計算能力,巨量數據的積累提供了豐富的訓練樣本,深度學習開始騰飛,這才剛剛開始。
一直沿用至今的,是McChlloch和Pitts在1943年依據腦神經信號傳輸結構抽象出的簡單模型,所以也被稱作」M-P神經元模型「。
其中,
f函數像一般形如下圖的函數,既考慮階躍性,又考慮光滑可導性。
實際常用如下公式,因形如S,故被稱作sigmoid函數。
把很多個這樣的神經元按一定層次連接起來,就得到了神經網路。
兩層神經元組成,輸入層接收外界輸入信號,輸出層是M-P神經元(只有輸出層是)。
感知機的數學模型和單個M-P神經元的數學模型是一樣的,如因為輸入層只需接收輸入信號,不是M-P神經元。
感知機只有輸出層神經元是B-P神經元,學習能力非常有限。對於現行可分問題,可以證明學習過程一定會收斂。而對於非線性問題,感知機是無能為力的。
BP神經網路全稱叫作誤差逆傳播(Error Propagation)神經網路,一般是指基於誤差逆傳播演算法的多層前饋神經網路。這里為了不佔篇幅,BP神經網路將起篇另述。
BP演算法是迄今最為成功的神經網路學習演算法,也是最有代表性的神經網路學習演算法。BP演算法不僅用於多層前饋神經網路,還用於其他類型神經網路的訓練。
RBF網路全程徑向基函數(Radial Basis Function)網路,是一種單隱層前饋神經網路,其與BP網路最大的不同是採用徑向基函數作為隱層神經元激活函數。
卷積神經網路(Convolutional neural networks,簡稱CNNs)是一種深度學習的前饋神經網路,在大型圖片處理中取得巨大成功。卷積神經網路將起篇另述。
循環神經網路(Recurrent Neural Networks,RNNs)與傳統的FNNs不同,RNNs引入定向循環,能夠處理那些輸入之間前後關聯的問題。RNNs已經在眾多自然語言處理(Natural Language Processing, NLP)中取得了巨大成功以及廣泛應用[5]。RNNs將起篇另述。[5]
[1]、《機器學習》,周志華著
[2]、《模式識別(第二版)》,Richard O.Duda等著,李宏東等譯
[3]、《揭秘IARPA項目:解碼大腦演算法或將徹底改變機器學習》,Emily Singerz著,機器之心編譯出品
[4]、圖片來源於互聯網
[5]、 循環神經網路(RNN, Recurrent Neural Networks)介紹
『肆』 神經網路演算法是什麼
Introction
--------------------------------------------------------------------------------
神經網路是新技術領域中的一個時尚詞彙。很多人聽過這個詞,但很少人真正明白它是什麼。本文的目的是介紹所有關於神經網路的基本包括它的功能、一般結構、相關術語、類型及其應用。
「神經網路」這個詞實際是來自於生物學,而我們所指的神經網路正確的名稱應該是「人工神經網路(ANNs)」。在本文,我會同時使用這兩個互換的術語。
一個真正的神經網路是由數個至數十億個被稱為神經元的細胞(組成我們大腦的微小細胞)所組成,它們以不同方式連接而型成網路。人工神經網路就是嘗試模擬這種生物學上的體系結構及其操作。在這里有一個難題:我們對生物學上的神經網路知道的不多!因此,不同類型之間的神經網路體系結構有很大的不同,我們所知道的只是神經元基本的結構。
The neuron
--------------------------------------------------------------------------------
雖然已經確認在我們的大腦中有大約50至500種不同的神經元,但它們大部份都是基於基本神經元的特別細胞。基本神經元包含有synapses、soma、axon及dendrites。Synapses負責神經元之間的連接,它們不是直接物理上連接的,而是它們之間有一個很小的空隙允許電子訊號從一個神經元跳到另一個神經元。然後這些電子訊號會交給soma處理及以其內部電子訊號將處理結果傳遞給axon。而axon會將這些訊號分發給dendrites。最後,dendrites帶著這些訊號再交給其它的synapses,再繼續下一個循環。
如同生物學上的基本神經元,人工的神經網路也有基本的神經元。每個神經元有特定數量的輸入,也會為每個神經元設定權重(weight)。權重是對所輸入的資料的重要性的一個指標。然後,神經元會計算出權重合計值(net value),而權重合計值就是將所有輸入乘以它們的權重的合計。每個神經元都有它們各自的臨界值(threshold),而當權重合計值大於臨界值時,神經元會輸出1。相反,則輸出0。最後,輸出會被傳送給與該神經元連接的其它神經元繼續剩餘的計算。
Learning
--------------------------------------------------------------------------------
正如上述所寫,問題的核心是權重及臨界值是該如何設定的呢?世界上有很多不同的訓練方式,就如網路類型一樣多。但有些比較出名的包括back-propagation, delta rule及Kohonen訓練模式。
由於結構體系的不同,訓練的規則也不相同,但大部份的規則可以被分為二大類別 - 監管的及非監管的。監管方式的訓練規則需要「教師」告訴他們特定的輸入應該作出怎樣的輸出。然後訓練規則會調整所有需要的權重值(這是網路中是非常復雜的),而整個過程會重頭開始直至數據可以被網路正確的分析出來。監管方式的訓練模式包括有back-propagation及delta rule。非監管方式的規則無需教師,因為他們所產生的輸出會被進一步評估。
Architecture
--------------------------------------------------------------------------------
在神經網路中,遵守明確的規則一詞是最「模糊不清」的。因為有太多不同種類的網路,由簡單的布爾網路(Perceptrons),至復雜的自我調整網路(Kohonen),至熱動態性網路模型(Boltzmann machines)!而這些,都遵守一個網路體系結構的標准。
一個網路包括有多個神經元「層」,輸入層、隱蔽層及輸出層。輸入層負責接收輸入及分發到隱蔽層(因為用戶看不見這些層,所以見做隱蔽層)。這些隱蔽層負責所需的計算及輸出結果給輸出層,而用戶則可以看到最終結果。現在,為免混淆,不會在這里更深入的探討體系結構這一話題。對於不同神經網路的更多詳細資料可以看Generation5 essays
盡管我們討論過神經元、訓練及體系結構,但我們還不清楚神經網路實際做些什麼。
The Function of ANNs
--------------------------------------------------------------------------------
神經網路被設計為與圖案一起工作 - 它們可以被分為分類式或聯想式。分類式網路可以接受一組數,然後將其分類。例如ONR程序接受一個數字的影象而輸出這個數字。或者PPDA32程序接受一個坐標而將它分類成A類或B類(類別是由所提供的訓練決定的)。更多實際用途可以看Applications in the Military中的軍事雷達,該雷達可以分別出車輛或樹。
聯想模式接受一組數而輸出另一組。例如HIR程序接受一個『臟』圖像而輸出一個它所學過而最接近的一個圖像。聯想模式更可應用於復雜的應用程序,如簽名、面部、指紋識別等。
The Ups and Downs of Neural Networks
--------------------------------------------------------------------------------
神經網路在這個領域中有很多優點,使得它越來越流行。它在類型分類/識別方面非常出色。神經網路可以處理例外及不正常的輸入數據,這對於很多系統都很重要(例如雷達及聲波定位系統)。很多神經網路都是模仿生物神經網路的,即是他們仿照大腦的運作方式工作。神經網路也得助於神經系統科學的發展,使它可以像人類一樣准確地辨別物件而有電腦的速度!前途是光明的,但現在...
是的,神經網路也有些不好的地方。這通常都是因為缺乏足夠強大的硬體。神經網路的力量源自於以並行方式處理資訊,即是同時處理多項數據。因此,要一個串列的機器模擬並行處理是非常耗時的。
神經網路的另一個問題是對某一個問題構建網路所定義的條件不足 - 有太多因素需要考慮:訓練的演算法、體系結構、每層的神經元個數、有多少層、數據的表現等,還有其它更多因素。因此,隨著時間越來越重要,大部份公司不可能負擔重復的開發神經網路去有效地解決問題。
NN 神經網路,Neural Network
ANNs 人工神經網路,Artificial Neural Networks
neurons 神經元
synapses 神經鍵
self-organizing networks 自我調整網路
networks modelling thermodynamic properties 熱動態性網路模型
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
網格演算法我沒聽說過
好像只有網格計算這個詞
網格計算是伴隨著互聯網技術而迅速發展起來的,專門針對復雜科學計算的新型計算模式。這種計算模式是利用互聯網把分散在不同地理位置的電腦組織成一個「虛擬的超級計算機」,其中每一台參與計算的計算機就是一個「節點」,而整個計算是由成千上萬個「節點」組成的「一張網格」, 所以這種計算方式叫網格計算。這樣組織起來的「虛擬的超級計算機」有兩個優勢,一個是數據處理能力超強;另一個是能充分利用網上的閑置處理能力。簡單地講,網格是把整個網路整合成一台巨大的超級計算機,實現計算資源、存儲資源、數據資源、信息資源、知識資源、專家資源的全面共享。
『伍』 神經網路演算法的人工神經網路
人工神經網路(Artificial Neural Networks,ANN)系統是 20 世紀 40 年代後出現的。它是由眾多的神經元可調的連接權值連接而成,具有大規模並行處理、分布式信 息存儲、良好的自組織自學習能力等特點。BP(Back Propagation)演算法又稱為誤差 反向傳播演算法,是人工神經網路中的一種監督式的學習演算法。BP 神經網路演算法在理 論上可以逼近任意函數,基本的結構由非線性變化單元組成,具有很強的非線性映射能力。而且網路的中間層數、各層的處理單元數及網路的學習系數等參數可根據具體情況設定,靈活性很大,在優化、信號處理與模式識別、智能控制、故障診斷等許 多領域都有著廣泛的應用前景。 人工神經元的研究起源於腦神經元學說。19世紀末,在生物、生理學領域,Waldeger等人創建了神經元學說。人們認識到復雜的神經系統是由數目繁多的神經元組合而成。大腦皮層包括有100億個以上的神經元,每立方毫米約有數萬個,它們互相聯結形成神經網路,通過感覺器官和神經接受來自身體內外的各種信息,傳遞至中樞神經系統內,經過對信息的分析和綜合,再通過運動神經發出控制信息,以此來實現機體與內外環境的聯系,協調全身的各種機能活動。
神經元也和其他類型的細胞一樣,包括有細胞膜、細胞質和細胞核。但是神經細胞的形態比較特殊,具有許多突起,因此又分為細胞體、軸突和樹突三部分。細胞體內有細胞核,突起的作用是傳遞信息。樹突是作為引入輸入信號的突起,而軸突是作為輸出端的突起,它只有一個。
樹突是細胞體的延伸部分,它由細胞體發出後逐漸變細,全長各部位都可與其他神經元的軸突末梢相互聯系,形成所謂「突觸」。在突觸處兩神經元並未連通,它只是發生信息傳遞功能的結合部,聯系界面之間間隙約為(15~50)×10米。突觸可分為興奮性與抑制性兩種類型,它相應於神經元之間耦合的極性。每個神經元的突觸數目正常,最高可達10個。各神經元之間的連接強度和極性有所不同,並且都可調整、基於這一特性,人腦具有存儲信息的功能。利用大量神經元相互聯接組成人工神經網路可顯示出人的大腦的某些特徵。
人工神經網路是由大量的簡單基本元件——神經元相互聯接而成的自適應非線性動態系統。每個神經元的結構和功能比較簡單,但大量神經元組合產生的系統行為卻非常復雜。
人工神經網路反映了人腦功能的若干基本特性,但並非生物系統的逼真描述,只是某種模仿、簡化和抽象。
與數字計算機比較,人工神經網路在構成原理和功能特點等方面更加接近人腦,它不是按給定的程序一步一步地執行運算,而是能夠自身適應環境、總結規律、完成某種運算、識別或過程式控制制。
人工神經網路首先要以一定的學習准則進行學習,然後才能工作。現以人工神經網路對於寫「A」、「B」兩個字母的識別為例進行說明,規定當「A」輸入網路時,應該輸出「1」,而當輸入為「B」時,輸出為「0」。
所以網路學習的准則應該是:如果網路作出錯誤的的判決,則通過網路的學習,應使得網路減少下次犯同樣錯誤的可能性。首先,給網路的各連接權值賦予(0,1)區間內的隨機值,將「A」所對應的圖象模式輸入給網路,網路將輸入模式加權求和、與門限比較、再進行非線性運算,得到網路的輸出。在此情況下,網路輸出為「1」和「0」的概率各為50%,也就是說是完全隨機的。這時如果輸出為「1」(結果正確),則使連接權值增大,以便使網路再次遇到「A」模式輸入時,仍然能作出正確的判斷。
如果輸出為「0」(即結果錯誤),則把網路連接權值朝著減小綜合輸入加權值的方向調整,其目的在於使網路下次再遇到「A」模式輸入時,減小犯同樣錯誤的可能性。如此操作調整,當給網路輪番輸入若干個手寫字母「A」、「B」後,經過網路按以上學習方法進行若干次學習後,網路判斷的正確率將大大提高。這說明網路對這兩個模式的學習已經獲得了成功,它已將這兩個模式分布地記憶在網路的各個連接權值上。當網路再次遇到其中任何一個模式時,能夠作出迅速、准確的判斷和識別。一般說來,網路中所含的神經元個數越多,則它能記憶、識別的模式也就越多。 (1)人類大腦有很強的自適應與自組織特性,後天的學習與訓練可以開發許多各具特色的活動功能。如盲人的聽覺和觸覺非常靈敏;聾啞人善於運用手勢;訓練有素的運動員可以表現出非凡的運動技巧等等。
普通計算機的功能取決於程序中給出的知識和能力。顯然,對於智能活動要通過總結編製程序將十分困難。
人工神經網路也具有初步的自適應與自組織能力。在學習或訓練過程中改變突觸權重值,以適應周圍環境的要求。同一網路因學習方式及內容不同可具有不同的功能。人工神經網路是一個具有學習能力的系統,可以發展知識,以致超過設計者原有的知識水平。通常,它的學習訓練方式可分為兩種,一種是有監督或稱有導師的學習,這時利用給定的樣本標准進行分類或模仿;另一種是無監督學習或稱無為導師學習,這時,只規定學習方式或某些規則,則具體的學習內容隨系統所處環境 (即輸入信號情況)而異,系統可以自動發現環境特徵和規律性,具有更近似人腦的功能。
(2)泛化能力
泛化能力指對沒有訓練過的樣本,有很好的預測能力和控制能力。特別是,當存在一些有雜訊的樣本,網路具備很好的預測能力。
(3)非線性映射能力
當對系統對於設計人員來說,很透徹或者很清楚時,則一般利用數值分析,偏微分方程等數學工具建立精確的數學模型,但當對系統很復雜,或者系統未知,系統信息量很少時,建立精確的數學模型很困難時,神經網路的非線性映射能力則表現出優勢,因為它不需要對系統進行透徹的了解,但是同時能達到輸入與輸出的映射關系,這就大大簡化設計的難度。
(4)高度並行性
並行性具有一定的爭議性。承認具有並行性理由:神經網路是根據人的大腦而抽象出來的數學模型,由於人可以同時做一些事,所以從功能的模擬角度上看,神經網路也應具備很強的並行性。
多少年以來,人們從醫學、生物學、生理學、哲學、信息學、計算機科學、認知學、組織協同學等各個角度企圖認識並解答上述問題。在尋找上述問題答案的研究過程中,這些年來逐漸形成了一個新興的多學科交叉技術領域,稱之為「神經網路」。神經網路的研究涉及眾多學科領域,這些領域互相結合、相互滲透並相互推動。不同領域的科學家又從各自學科的興趣與特色出發,提出不同的問題,從不同的角度進行研究。
下面將人工神經網路與通用的計算機工作特點來對比一下:
若從速度的角度出發,人腦神經元之間傳遞信息的速度要遠低於計算機,前者為毫秒量級,而後者的頻率往往可達幾百兆赫。但是,由於人腦是一個大規模並行與串列組合處理系統,因而,在許多問題上可以作出快速判斷、決策和處理,其速度則遠高於串列結構的普通計算機。人工神經網路的基本結構模仿人腦,具有並行處理特徵,可以大大提高工作速度。
人腦存貯信息的特點為利用突觸效能的變化來調整存貯內容,也即信息存貯在神經元之間連接強度的分布上,存貯區與計算機區合為一體。雖然人腦每日有大量神經細胞死亡 (平均每小時約一千個),但不影響大腦的正常思維活動。
普通計算機是具有相互獨立的存貯器和運算器,知識存貯與數據運算互不相關,只有通過人編出的程序使之溝通,這種溝通不能超越程序編制者的預想。元器件的局部損壞及程序中的微小錯誤都可能引起嚴重的失常。 心理學家和認知科學家研究神經網路的目的在於探索人腦加工、儲存和搜索信息的機制,弄清人腦功能的機理,建立人類認知過程的微結構理論。
生物學、醫學、腦科學專家試圖通過神經網路的研究推動腦科學向定量、精確和理論化體系發展,同時也寄希望於臨床醫學的新突破;信息處理和計算機科學家研究這一問題的目的在於尋求新的途徑以解決不能解決或解決起來有極大困難的大量問題,構造更加逼近人腦功能的新一代計算機。
人工神經網路早期的研究工作應追溯至上世紀40年代。下面以時間順序,以著名的人物或某一方面突出的研究成果為線索,簡要介紹人工神經網路的發展歷史。
1943年,心理學家W·Mcculloch和數理邏輯學家W·Pitts在分析、總結神經元基本特性的基礎上首先提出神經元的數學模型。此模型沿用至今,並且直接影響著這一領域研究的進展。因而,他們兩人可稱為人工神經網路研究的先驅。
1945年馮·諾依曼領導的設計小組試製成功存儲程序式電子計算機,標志著電子計算機時代的開始。1948年,他在研究工作中比較了人腦結構與存儲程序式計算機的根本區別,提出了以簡單神經元構成的再生自動機網路結構。但是,由於指令存儲式計算機技術的發展非常迅速,迫使他放棄了神經網路研究的新途徑,繼續投身於指令存儲式計算機技術的研究,並在此領域作出了巨大貢獻。雖然,馮·諾依曼的名字是與普通計算機聯系在一起的,但他也是人工神經網路研究的先驅之一。
50年代末,F·Rosenblatt設計製作了「感知機」,它是一種多層的神經網路。這項工作首次把人工神經網路的研究從理論探討付諸工程實踐。當時,世界上許多實驗室仿效製作感知機,分別應用於文字識別、聲音識別、聲納信號識別以及學習記憶問題的研究。然而,這次人工神經網路的研究高潮未能持續很久,許多人陸續放棄了這方面的研究工作,這是因為當時數字計算機的發展處於全盛時期,許多人誤以為數字計算機可以解決人工智慧、模式識別、專家系統等方面的一切問題,使感知機的工作得不到重視;其次,當時的電子技術工藝水平比較落後,主要的元件是電子管或晶體管,利用它們製作的神經網路體積龐大,價格昂貴,要製作在規模上與真實的神經網路相似是完全不可能的;另外,在1968年一本名為《感知機》的著作中指出線性感知機功能是有限的,它不能解決如異感這樣的基本問題,而且多層網路還不能找到有效的計算方法,這些論點促使大批研究人員對於人工神經網路的前景失去信心。60年代末期,人工神經網路的研究進入了低潮。
另外,在60年代初期,Widrow提出了自適應線性元件網路,這是一種連續取值的線性加權求和閾值網路。後來,在此基礎上發展了非線性多層自適應網路。當時,這些工作雖未標出神經網路的名稱,而實際上就是一種人工神經網路模型。
隨著人們對感知機興趣的衰退,神經網路的研究沉寂了相當長的時間。80年代初期,模擬與數字混合的超大規模集成電路製作技術提高到新的水平,完全付諸實用化,此外,數字計算機的發展在若干應用領域遇到困難。這一背景預示,向人工神經網路尋求出路的時機已經成熟。美國的物理學家Hopfield於1982年和1984年在美國科學院院刊上發表了兩篇關於人工神經網路研究的論文,引起了巨大的反響。人們重新認識到神經網路的威力以及付諸應用的現實性。隨即,一大批學者和研究人員圍繞著 Hopfield提出的方法展開了進一步的工作,形成了80年代中期以來人工神經網路的研究熱潮。
1985年,Ackley、Hinton和Sejnowski將模擬退火演算法應用到神經網路訓練中,提出了Boltzmann機,該演算法具有逃離極值的優點,但是訓練時間需要很長。
1986年,Rumelhart、Hinton和Williams提出了多層前饋神經網路的學習演算法,即BP演算法。它從證明的角度推導演算法的正確性,是學習演算法有理論依據。從學習演算法角度上看,是一個很大的進步。
1988年,Broomhead和Lowe第一次提出了徑向基網路:RBF網路。
總體來說,神經網路經歷了從高潮到低谷,再到高潮的階段,充滿曲折的過程。
『陸』 神經網路演算法的三大類分別是
神經網路演算法的三大類分別是:
1、前饋神經網路:
這是實際應用中最常見的神經網路類型。第一層是輸入,最後一層是輸出。如果有多個隱藏層,我們稱之為「深度」神經網路。他們計算出一系列改變樣本相似性的變換。各層神經元的活動是前一層活動的非線性函數。
2、循環網路:
循環網路在他們的連接圖中定向了循環,這意味著你可以按照箭頭回到你開始的地方。他們可以有復雜的動態,使其很難訓練。他們更具有生物真實性。
循環網路的目的是用來處理序列數據。在傳統的神經網路模型中,是從輸入層到隱含層再到輸出層,層與層之間是全連接的,每層之間的節點是無連接的。但是這種普通的神經網路對於很多問題卻無能無力。
循環神經網路,即一個序列當前的輸出與前面的輸出也有關。具體的表現形式為網路會對前面的信息進行記憶並應用於當前輸出的計算中,即隱藏層之間的節點不再無連接而是有連接的,並且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。
3、對稱連接網路:
對稱連接網路有點像循環網路,但是單元之間的連接是對稱的(它們在兩個方向上權重相同)。比起循環網路,對稱連接網路更容易分析。
這個網路中有更多的限制,因為它們遵守能量函數定律。沒有隱藏單元的對稱連接網路被稱為「Hopfield 網路」。有隱藏單元的對稱連接的網路被稱為玻爾茲曼機。
(6)神經網路演算法介紹擴展閱讀:
應用及發展:
心理學家和認知科學家研究神經網路的目的在於探索人腦加工、儲存和搜索信息的機制,弄清人腦功能的機理,建立人類認知過程的微結構理論。
生物學、醫學、腦科學專家試圖通過神經網路的研究推動腦科學向定量、精確和理論化體系發展,同時也寄希望於臨床醫學的新突破;信息處理和計算機科學家研究這一問題的目的在於尋求新的途徑以解決不能解決或解決起來有極大困難的大量問題,構造更加逼近人腦功能的新一代計算機。
『柒』 神經網路演算法是用來干什麼的
神經網路演算法是由多個神經元組成的演算法網路。
邏輯性的思維是指根據邏輯規則進行推理的過程;它先將信息化成概念,並用符號表示,然後,根據符號運算按串列模式進行邏輯推理;這一過程可以寫成串列的指令,讓計算機執行。然而,直觀性的思維是將分布式存儲的信息綜合起來,結果是忽然間產生的想法或解決問題的辦法。這種思維方式的根本之點在於以下兩點:
1、信息是通過神經元上的興奮模式分布儲在網路上。
2、信息處理是通過神經元之間同時相互作用的動態過程來完成的。
思維學普遍認為,人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。
『捌』 神經網路演算法原理
4.2.1 概述
人工神經網路的研究與計算機的研究幾乎是同步發展的。1943年心理學家McCulloch和數學家Pitts合作提出了形式神經元的數學模型,20世紀50年代末,Rosenblatt提出了感知器模型,1982年,Hopfiled引入了能量函數的概念提出了神經網路的一種數學模型,1986年,Rumelhart及LeCun等學者提出了多層感知器的反向傳播演算法等。
神經網路技術在眾多研究者的努力下,理論上日趨完善,演算法種類不斷增加。目前,有關神經網路的理論研究成果很多,出版了不少有關基礎理論的著作,並且現在仍是全球非線性科學研究的熱點之一。
神經網路是一種通過模擬人的大腦神經結構去實現人腦智能活動功能的信息處理系統,它具有人腦的基本功能,但又不是人腦的真實寫照。它是人腦的一種抽象、簡化和模擬模型,故稱之為人工神經網路(邊肇祺,2000)。
人工神經元是神經網路的節點,是神經網路的最重要組成部分之一。目前,有關神經元的模型種類繁多,最常用最簡單的模型是由閾值函數、Sigmoid 函數構成的模型(圖 4-3)。
儲層特徵研究與預測
以上演算法是對每個樣本作權值修正,也可以對各個樣本計算δj後求和,按總誤差修正權值。
『玖』 什麼是神經網路共識演算法
BP(Back Propagation)網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。BP神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。
『拾』 神經網路演算法原理
一共有四種演算法及原理,如下所示:
1、自適應諧振理論(ART)網路
自適應諧振理論(ART)網路具有不同的方案。一個ART-1網路含有兩層一個輸入層和一個輸出層。這兩層完全互連,該連接沿著正向(自底向上)和反饋(自頂向下)兩個方向進行。
2、學習矢量量化(LVQ)網路
學習矢量量化(LVQ)網路,它由三層神經元組成,即輸入轉換層、隱含層和輸出層。該網路在輸入層與隱含層之間為完全連接,而在隱含層與輸出層之間為部分連接,每個輸出神經元與隱含神經元的不同組相連接。
3、Kohonen網路
Kohonen網路或自組織特徵映射網路含有兩層,一個輸入緩沖層用於接收輸入模式,另一個為輸出層,輸出層的神經元一般按正則二維陣列排列,每個輸出神經元連接至所有輸入神經元。連接權值形成與已知輸出神經元相連的參考矢量的分量。
4、Hopfield網路
Hopfield網路是一種典型的遞歸網路,這種網路通常只接受二進制輸入(0或1)以及雙極輸入(+1或-1)。它含有一個單層神經元,每個神經元與所有其他神經元連接,形成遞歸結構。
(10)神經網路演算法介紹擴展閱讀:
人工神經網路演算法的歷史背景:
該演算法系統是 20 世紀 40 年代後出現的。它是由眾多的神經元可調的連接權值連接而成,具有大規模並行處理、分布式信息存儲、良好的自組織自學習能力等特點。
BP演算法又稱為誤差反向傳播演算法,是人工神經網路中的一種監督式的學習演算法。BP 神經網路演算法在理論上可以逼近任意函數,基本的結構由非線性變化單元組成,具有很強的非線性映射能力。
而且網路的中間層數、各層的處理單元數及網路的學習系數等參數可根據具體情況設定,靈活性很大,在優化、信號處理與模式識別、智能控制、故障診斷等許 多領域都有著廣泛的應用前景。