A. 人工神經網路,人工神經網路是什麼意思
一、 人工神經網路的概念
人工神經網路(Artificial Neural Network,ANN)簡稱神經網路(NN),是基於生物學中神經網路的基本原理,在理解和抽象了人腦結構和外界刺激響應機制後,以網路拓撲知識為理論基礎,模擬人腦的神經系統對復雜信息的處理機制的一種數學模型。該模型以並行分布的處理能力、高容錯性、智能化和自學習等能力為特徵,將信息的加工和存儲結合在一起,以其獨特的知識表示方式和智能化的自適應學習能力,引起各學科領域的關注。它實際上是一個有大量簡單元件相互連接而成的復雜網路,具有高度的非線性,能夠進行復雜的邏輯操作和非線性關系實現的系統。
神經網路是一種運算模型,由大量的節點(或稱神經元)之間相互聯接構成。每個節點代表一種特定的輸出函數,稱為激活函數(activation function)。每兩個節點間的連接都代表一個對於通過該連接信號的加權值,稱之為權重(weight),神經網路就是通過這種方式來模擬人類的記憶。網路的輸出則取決於網路的結構、網路的連接方式、權重和激活函數。而網路自身通常都是對自然界某種演算法或者函數的逼近,也可能是對一種邏輯策略的表達。神經網路的構築理念是受到生物的神經網路運作啟發而產生的。人工神經網路則是把對生物神經網路的認識與數學統計模型相結合,藉助數學統計工具來實現。另一方面在人工智慧學的人工感知領域,我們通過數學統計學的方法,使神經網路能夠具備類似於人的決定能力和簡單的判斷能力,這種方法是對傳統邏輯學演算的進一步延伸。
人工神經網路中,神經元處理單元可表示不同的對象,例如特徵、字母、概念,或者一些有意義的抽象模式。網路中處理單元的類型分為三類:輸入單元、輸出單元和隱單元。輸入單元接受外部世界的信號與數據;輸出單元實現系統處理結果的輸出;隱單元是處在輸入和輸出單元之間,不能由系統外部觀察的單元。神經元間的連接權值反映了單元間的連接強度,信息的表示和處理體現在網路處理單元的連接關系中。人工神經網路是一種非程序化、適應性、大腦風格的信息處理,其本質是通過網路的變換和動力學行為得到一種並行分布式的信息處理功能,並在不同程度和層次上模仿人腦神經系統的信息處理功能。
神經網路,是一種應用類似於大腦神經突觸連接結構進行信息處理的數學模型,它是在人類對自身大腦組織結合和思維機制的認識理解基礎之上模擬出來的,它是根植於神經科學、數學、思維科學、人工智慧、統計學、物理學、計算機科學以及工程科學的一門技術。
二、 人工神經網路的發展
神經網路的發展有悠久的歷史。其發展過程大致可以概括為如下4個階段。
1. 第一階段----啟蒙時期
(1)、M-P神經網路模型:20世紀40年代,人們就開始了對神經網路的研究。1943 年,美國心理學家麥克洛奇(Mcculloch)和數學家皮茲(Pitts)提出了M-P模型,此模型比較簡單,但是意義重大。在模型中,通過把神經元看作個功能邏輯器件來實現演算法,從此開創了神經網路模型的理論研究。
(2)、Hebb規則:1949 年,心理學家赫布(Hebb)出版了《The Organization of Behavior》(行為組織學),他在書中提出了突觸連接強度可變的假設。這個假設認為學習過程最終發生在神經元之間的突觸部位,突觸的連接強度隨之突觸前後神經元的活動而變化。這一假設發展成為後來神經網路中非常著名的Hebb規則。這一法則告訴人們,神經元之間突觸的聯系強度是可變的,這種可變性是學習和記憶的基礎。Hebb法則為構造有學習功能的神經網路模型奠定了基礎。
(3)、感知器模型:1957 年,羅森勃拉特(Rosenblatt)以M-P 模型為基礎,提出了感知器(Perceptron)模型。感知器模型具有現代神經網路的基本原則,並且它的結構非常符合神經生理學。這是一個具有連續可調權值矢量的MP神經網路模型,經過訓練可以達到對一定的輸入矢量模式進行分類和識別的目的,它雖然比較簡單,卻是第一個真正意義上的神經網路。Rosenblatt 證明了兩層感知器能夠對輸入進行分類,他還提出了帶隱層處理元件的三層感知器這一重要的研究方向。Rosenblatt 的神經網路模型包含了一些現代神經計算機的基本原理,從而形成神經網路方法和技術的重大突破。
(4)、ADALINE網路模型: 1959年,美國著名工程師威德羅(B.Widrow)和霍夫(M.Hoff)等人提出了自適應線性元件(Adaptive linear element,簡稱Adaline)和Widrow-Hoff學習規則(又稱最小均方差演算法或稱δ規則)的神經網路訓練方法,並將其應用於實際工程,成為第一個用於解決實際問題的人工神經網路,促進了神經網路的研究應用和發展。ADALINE網路模型是一種連續取值的自適應線性神經元網路模型,可以用於自適應系統。
2. 第二階段----低潮時期
人工智慧的創始人之一Minsky和Papert對以感知器為代表的網路系統的功能及局限性從數學上做了深入研究,於1969年發表了轟動一時《Perceptrons》一書,指出簡單的線性感知器的功能是有限的,它無法解決線性不可分的兩類樣本的分類問題,如簡單的線性感知器不可能實現「異或」的邏輯關系等。這一論斷給當時人工神經元網路的研究帶來沉重的打擊。開始了神經網路發展史上長達10年的低潮期。
(1)、自組織神經網路SOM模型:1972年,芬蘭的KohonenT.教授,提出了自組織神經網路SOM(Self-Organizing feature map)。後來的神經網路主要是根據KohonenT.的工作來實現的。SOM網路是一類無導師學習網路,主要用於模式識別﹑語音識別及分類問題。它採用一種「勝者為王」的競爭學習演算法,與先前提出的感知器有很大的不同,同時它的學習訓練方式是無指導訓練,是一種自組織網路。這種學習訓練方式往往是在不知道有哪些分類類型存在時,用作提取分類信息的一種訓練。
(2)、自適應共振理論ART:1976年,美國Grossberg教授提出了著名的自適應共振理論ART(Adaptive Resonance Theory),其學習過程具有自組織和自穩定的特徵。
3. 第三階段----復興時期
(1)、Hopfield模型:1982年,美國物理學家霍普菲爾德(Hopfield)提出了一種離散神經網路,即離散Hopfield網路,從而有力地推動了神經網路的研究。在網路中,它首次將李雅普諾夫(Lyapunov)函數引入其中,後來的研究學者也將Lyapunov函數稱為能量函數。證明了網路的穩定性。1984年,Hopfield 又提出了一種連續神經網路,將網路中神經元的激活函數由離散型改為連續型。1985 年,Hopfield和Tank利用Hopfield神經網路解決了著名的旅行推銷商問題(Travelling Salesman Problem)。Hopfield神經網路是一組非線性微分方程。Hopfield的模型不僅對人工神經網路信息存儲和提取功能進行了非線性數學概括,提出了動力方程和學習方程,還對網路演算法提供了重要公式和參數,使人工神經網路的構造和學習有了理論指導,在Hopfield模型的影響下,大量學者又激發起研究神經網路的熱情,積極投身於這一學術領域中。因為Hopfield 神經網路在眾多方面具有巨大潛力,所以人們對神經網路的研究十分地重視,更多的人開始了研究神經網路,極大地推動了神經網路的發展。
(2)、Boltzmann機模型:1983年,Kirkpatrick等人認識到模擬退火演算法可用於NP完全組合優化問題的求解,這種模擬高溫物體退火過程來找尋全局最優解的方法最早由Metropli等人1953年提出的。1984年,Hinton與年輕學者Sejnowski等合作提出了大規模並行網路學習機,並明確提出隱單元的概念,這種學習機後來被稱為Boltzmann機。
Hinton和Sejnowsky利用統計物理學的感念和方法,首次提出的多層網路的學習演算法,稱為Boltzmann 機模型。
(3)、BP神經網路模型:1986年,儒默哈特(D.E.Ru melhart)等人在多層神經網路模型的基礎上,提出了多層神經網路權值修正的反向傳播學習演算法----BP演算法(Error Back-Propagation),解決了多層前向神經網路的學習問題,證明了多層神經網路具有很強的學習能力,它可以完成許多學習任務,解決許多實際問題。
(4)、並行分布處理理論:1986年,由Rumelhart和McCkekkand主編的《Parallel Distributed Processing:Exploration in the Microstructures of Cognition》,該書中,他們建立了並行分布處理理論,主要致力於認知的微觀研究,同時對具有非線性連續轉移函數的多層前饋網路的誤差反向傳播演算法即BP演算法進行了詳盡的分析,解決了長期以來沒有權值調整有效演算法的難題。可以求解感知機所不能解決的問題,回答了《Perceptrons》一書中關於神經網路局限性的問題,從實踐上證實了人工神經網路有很強的運算能力。
(5)、細胞神經網路模型:1988年,Chua和Yang提出了細胞神經網路(CNN)模型,它是一個細胞自動機特性的大規模非線性計算機模擬系統。Kosko建立了雙向聯想存儲模型(BAM),它具有非監督學習能力。
(6)、Darwinism模型:Edelman提出的Darwinism模型在90年代初產生了很大的影響,他建立了一種神經網路系統理論。
(7)、1988年,Linsker對感知機網路提出了新的自組織理論,並在Shanon資訊理論的基礎上形成了最大互信息理論,從而點燃了基於NN的信息應用理論的光芒。
(8)、1988年,Broomhead和Lowe用徑向基函數(Radialbasis function, RBF)提出分層網路的設計方法,從而將NN的設計與數值分析和線性適應濾波相掛鉤。
(9)、1991年,Haken把協同引入神經網路,在他的理論框架中,他認為,認知過程是自發的,並斷言模式識別過程即是模式形成過程。
(10)、1994年,廖曉昕關於細胞神經網路的數學理論與基礎的提出,帶來了這個領域新的進展。通過拓廣神經網路的激活函數類,給出了更一般的時滯細胞神經網路(DCNN)、Hopfield神經網路(HNN)、雙向聯想記憶網路(BAM)模型。
(11)、90年代初,Vapnik等提出了支持向量機(Supportvector machines, SVM)和VC(Vapnik-Chervonenkis)維數的概念。
經過多年的發展,已有上百種的神經網路模型被提出。
B. 改進計算方法
在早期油氣資源評價中,通常應用評價模型,對各參數僅取一個固定值進行簡單的運算,所得結果也是一個值。實際上,對於地下評價對象,其大多數參數具有時空變化性,用一個固定值,不管是統計所得均值還是其他值,都很難代表該參數,更無法准確刻畫該參數的時空非均質性。在這種情況下,很顯然應用單值運算得到的結果很難反映地下評價對象的客觀實際。因此,為提高評價質量和結果可信性,必須改進計算方法。
14.4.1 應用網格化方法逼近資源分布
這種方法的基本思路是:
(1)根據大量觀測點數據,編制各單一參數的平面分布圖,通常為平面等值線圖,如生油岩等厚圖等,個別為分區等級圖,如演化程度圖。以這些平面分布圖簡化表示各參數空間變化,主要是把各參數的垂向變化,用平均值簡化為非變化的固定值,如所謂生油岩有機質豐度等值線圖,即是把各點垂向上有機質豐度變化簡化為非變化的固定值。(2)在平面上建立固定的網格,其網格一般是按均勻法設置,但也可用非均勻網格,網格的多少視各變數平面變化快慢、計算機速度和容量而定。原則上是網格越多、越細就越准確地刻畫參數平面變化情況。
(3)以同一網格在各參數分布圖上讀取網格結點(或網格中點)上參數具體數值。
(4)針對每一個網格結點(或網格中點),按照資源評價模型,分別計算生烴量、排烴量等,然後編制生烴量、排烴量等值線圖。
(5)依據各等值線間距所佔面積,計算該間距所佔的生烴量、排烴量等,再累加得全區生烴量、排烴量。乘以相應運聚系數即得全區資源量。
14.4.2 蒙特卡洛法
所謂蒙特卡洛法是一種數值計算方法,其含義是利用隨機抽樣方法在各參數分布曲線取定數值,然後根據評價模型進行運算,結果得到一定值,反復如上過程成千上萬次,結果就有成千上萬個定值,再將這些定值進行統計,得到結果分布曲線。該方法已廣泛應用於油氣資源評價,其優點是:以一個分布曲線來逼近地下評價對象及較可能值、最可能值。這更加符合人們對地下評價對象的認識過程和局限性、不確定性。
該方法的計算步驟如下:
(1)通過資料處理解釋、分析化驗、圖件讀取等方法,產生和採集、整理各參數的數據,原則上是越多越好。同時剔除奇異點。
(2)根據整理的數據,統計建立各參數概率分布曲線。當數據較多,如多於幾十個時,統計分布曲線代表性強、可靠性高。但當數據少到只幾個或十餘個時,可依據該參數的分布概型(一般是經驗已知的分布模型,如正態分布、對數正態分布等),構造實際的分布曲線。但當數據少到只幾個且其分布概型也不確定時,最好用均勻分布或三角分布代替其分布。
(3)利用計算機產生隨機數,其中最簡單最基本的是均勻分布隨機數。要求隨機數產生後必須經過嚴格的檢驗(如均勻性檢驗、獨立性檢驗、組合規律性檢驗、連續性檢驗等),性質符合要求時方可投入使用。隨機數個數越多越好,最好成千上萬。隨機數值區間為0~1。
(4)以隨機數值為概率入口值,用插值法在某一參數分布取該概率所對應的參數值(圖14-1)。再用另一個隨機數值在另一參數分布曲線上求取該參數值(圖14-2)。以此類推。再將所求取的各參數的值(一個參數只一個值)按評價模型相乘除或加減,得到一個結果(圖14-3)。反復此過程,得到成千上萬個結果。
圖14-1 抽樣計算過程示意圖
(5)再將所得結果進行數理統計,得到結果概率分布圖(圖14-3)。一般而言,蒙特卡洛計算所用參數概率分布可以是各種各樣,但其結果分布一般都是正態分布或對數正態分布。
圖14-2 多參數抽樣計算過程示意圖
圖14-3 蒙特卡洛計算過程示意圖
14.4.3 模糊數學計算方法
在一些研究對象中,不同事物的界線是截然不同的,如水可以有冰、水、汽三種形態,其界限一般是明確的;而在某些對象,不同事物之間的界限是不明確的,例如在石油地質中,儲層的「滲透性好」和「滲透性差」是兩個截然不同的概念,但有時對於某個具體的對象,要把它歸到「滲透性好」或「滲透性差」卻不容易。模糊數學用隸屬度來描述這種情況,即用數值來表示某對象屬於某事物的程度,一個對象可以「屬於」兩類甚至兩類以上事物,分別以兩個隸屬度描述它屬於這兩類事物的程度,這樣,較合理地解決了這類問題。
當用模糊數學評價圈閉的含油氣性時,即用一個向量來表示一個圈閉:
油氣資源評價方法與實踐
研究對象含k個圈閉,則用集合Ui來表示這個圈閉群:
油氣資源評價方法與實踐
n個地質因素在評價圈閉的含油氣性中起的作用不同,各因素用一個權ai值表示其在評價中的作用大小:
油氣資源評價方法與實踐
每個地質因素用m個級別來表示其有利程度:
油氣資源評價方法與實踐
Ci是用整數表示的一種屬性,其具體值依m不同而異。
當m=3時,C=[-1 0 1]
當m=5時,C=[-2-1 0 1 2]
當m=7時,C=[-3-2-1 0 1 2 3]
一個圈閉的某個地質因素用它對各屬性的隸屬度來表示(如表14-1)。
表14-1 地質因素各屬性的隸屬度表
對一個圈閉用n個變數來描述,每個變數的表述將轉變為一個向量,而一個圈閉原來用一個向量表示,將變為用綜合評價變換矩陣R表示:
油氣資源評價方法與實踐
用各地質因素的權和各圈閉的綜合評價變換矩陣算出各圈閉的綜合評價,這個計算過程稱為合成:
油氣資源評價方法與實踐
式中h是樣品號,Rh是第h號樣品的綜合評價變換矩陣,Bh是n(變數數)個數構成的向量,其各元素為
油氣資源評價方法與實踐
這里,○表示某種演算法,這些演算法都是由下列4種基本演算法演化出來的(假設a、r為模糊集合中的兩元素)。
1)a∨r=max(1,r)
2)a∧r=min(a,r)
3)a·r=ar
4)a⊕r=min(a,1+r)
按照這樣合成得出一個樣品向量,然後計算綜合評價值(綜合得分)D:
油氣資源評價方法與實踐
結果為一個數。各圈閉按其D值排隊,就是這些圈閉的優劣排隊。每採用一個合成法,就有一個B,相應有一個D值,就有一個排隊,因為B的產生方法不同,各變數值所起作用不盡相同,同樣的原始數據會有不同的排隊結果。
14.4.4 神經網路計算方法
人工神經網路是指由大量與自然神經系統的神經細胞相類似的(人工)神經元互聯而成的網路。
神經網路的結構和特性是由神經元的特性和它們之間的連接方式決定的。人工神經元之間通過互聯形成網路。互聯的方式稱為連接模式。神經元之間的連接強度為連接權。當網路的連接權矩陣確定後,網路的連接模式也就確定了。
在人工神經網路中,信息處理過程或存貯知識的改變是通過修改神經元間的連接模式來完成的。這一修改過程稱做神經網路的訓練或學習。不同的權矩陣調整方式,就是不同的學習方式。
神經網路的學習和神經網路的結構沒有一一對應的關系。不同的神經網路可以採用相同的學習演算法進行訓練;同一神經網路也可以採用不同的學習演算法進行訓練。
一般採用多層前向神經網路,用誤差反傳(BP)演算法。
對於一個由3層組成的神經網路模型,第一層為輸入層,第二層為中間層,第三層為輸出層。第一層的神經元數為n,中間層的神經元數為1,第三層的神經元數為1。
第1層為輸入層,由M個樣品的n個神經元組成,約定第k個樣品(圈閉)的輸入,即第1層神經元為:xk1,xk2,…,xkn,相應的輸出為Tk,其中,k為樣品號,k=1,2,3,…,M,n為神經元數,在此可理解為自變數數。
第2層為隱層,其神經元數1是用戶設定的,由x與權系數矩陣W2相乘算出,第k個樣品的中間層為
油氣資源評價方法與實踐
F(t)採用S型(Signmoid)壓縮函數:
油氣資源評價方法與實踐
為了能控制u的取值,把第一式改為:x0=-1,w0j=ξ,記
油氣資源評價方法與實踐
則第二式成為
t的值除與Wij,xi有關外,還與變數數n有關,為了讓的值在0~1的范圍內,就需要
油氣資源評價方法與實踐
給一個適當的ξ值。
中間層到輸出層的計算與此相仿。只是它用另外一個W(矩陣)。
如果找到合適的W(兩個W陣),則由輸入的各樣品的X算出各樣品的y值應與原樣品的輸出值T相同或很接近。我們的任務就是要求這兩個W陣。
油氣資源評價方法與實踐
開始的W陣是隨機產生的。當然它算出各樣品的y不會等於T。我們用E(W)來衡量它的偏差:
油氣資源評價方法與實踐
當E(W)<ε時,學習完成。當E(W)>ε時,就要修改兩個W陣,讓E(W)逐漸變小,就現在的這個模型(一共有3層,輸出層只有一元)來說,修改W分兩步,第一步修改由u計算y的W,第二步修改由x計算u的W。
油氣資源評價方法與實踐
油氣資源評價方法與實踐
這樣,每次根據算出的y來指導修改兩層的W陣,直至E(W)<ε,學習完成。
學習完成後,得到兩個W陣,把待判樣品的x向量按既定的模式計算可得各樣品的y值,為具體對象的評價。
C. 神經網路Hopfield模型
一、Hopfield模型概述
1982年,美國加州工學院J.Hopfield發表一篇對人工神經網路研究頗有影響的論文。他提出了一種具有相互連接的反饋型人工神經網路模型——Hopfield人工神經網路。
Hopfield人工神經網路是一種反饋網路(Recurrent Network),又稱自聯想記憶網路。其目的是為了設計一個網路,存儲一組平衡點,使得當給網路一組初始值時,網路通過自行運行而最終收斂到所存儲的某個平衡點上。
Hopfield網路是單層對稱全反饋網路,根據其激活函數的選取不同,可分為離散型Hopfield網路(Discrete Hopfield Neural Network,簡稱 DHNN)和連續型 Hopfield 網路(Continue Hopfield Neural Network,簡稱CHNN)。離散型Hopfield網路的激活函數為二值型階躍函數,主要用於聯想記憶、模式分類、模式識別。這個軟體為離散型Hopfield網路的設計、應用。
二、Hopfield模型原理
離散型Hopfield網路的設計目的是使任意輸入矢量經過網路循環最終收斂到網路所記憶的某個樣本上。
正交化的權值設計
這一方法的基本思想和出發點是為了滿足下面4個要求:
1)保證系統在非同步工作時的穩定性,即它的權值是對稱的,滿足
wij=wji,i,j=1,2…,N;
2)保證所有要求記憶的穩定平衡點都能收斂到自己;
3)使偽穩定點的數目盡可能地少;
4)使穩定點的吸引力盡可能地大。
正交化權值的計算公式推導如下:
1)已知有P個需要存儲的穩定平衡點x1,x2…,xP-1,xP,xp∈RN,計算N×(P-1)階矩陣A∈RN×(P-1):
A=(x1-xPx2-xP…xP-1-xP)T。
2)對A做奇異值分解
A=USVT,
U=(u1u2…uN),
V=(υ1υ2…υP-1),
中國礦產資源評價新技術與評價新模型
Σ=diαg(λ1,λ2,…,λK),O為零矩陣。
K維空間為N維空間的子空間,它由K個獨立的基組成:
K=rαnk(A),
設{u1u2…uK}為A的正交基,而{uK+1uK+2…uN}為N維空間的補充正交基。下面利用U矩陣來設計權值。
3)構造
中國礦產資源評價新技術與評價新模型
總的連接權矩陣為:
Wt=Wp-T·Wm,
其中,T為大於-1的參數,預設值為10。
Wp和Wm均滿足對稱條件,即
(wp)ij=(wp)ji,
(wm)ij=(wm)ji,
因而Wt中分量也滿足對稱條件。這就保證了系統在非同步時能夠收斂並且不會出現極限環。
4)網路的偏差構造為
bt=xP-Wt·xP。
下面推導記憶樣本能夠收斂到自己的有效性。
(1)對於輸入樣本中的任意目標矢量xp,p=1,2,…,P,因為(xp-xP)是A中的一個矢量,它屬於A的秩所定義的K個基空間的矢量,所以必存在系數α1,α2,…,αK,使
xp-xP=α1u1+α2u2+…+αKuK,
即
xp=α1u1+α2u2+…+αKuK+xP,
對於U中任意一個ui,有
中國礦產資源評價新技術與評價新模型
由正交性質可知,上式中
當i=j,
當i≠j,
對於輸入模式xi,其網路輸出為
yi=sgn(Wtxi+bt)
=sgn(Wpxi-T·Wmxi+xP-WpxP+T·WmxP)
=sgn[Wp(xi-xP)-T·Wm(xi-xP)+xP]
=sgn[(Wp-T·Wm)(xi-xP)+xP]
=sgn[Wt(xi-xP)+xP]
=sgn[(xi-xP)+xP]
=xi。
(2)對於輸入模式xP,其網路輸出為
yP=sgn(WtxP+bt)
=sgn(WtxP+xP-WtxP)
=sgn(xP)
=xP。
(3)如果輸入一個不是記憶樣本的x,網路輸出為
y=sgn(Wtx+bt)
=sgn[(Wp-T·Wm)(x-xP)+xP]
=sgn[Wt(x-xP)+xP]。
因為x不是已學習過的記憶樣本,x-xP不是A中的矢量,則必然有
Wt(x-xP)≠x-xP,
並且再設計過程中可以通過調節Wt=Wp-T·Wm中的參數T的大小來控制(x-xP)與xP的符號,以保證輸入矢量x與記憶樣本之間存在足夠的大小余額,從而使sgn(Wtx+bt)≠x,使x不能收斂到自身。
用輸入模式給出一組目標平衡點,函數HopfieldDesign( )可以設計出 Hopfield 網路的權值和偏差,保證網路對給定的目標矢量能收斂到穩定的平衡點。
設計好網路後,可以應用函數HopfieldSimu( ),對輸入矢量進行分類,這些輸入矢量將趨近目標平衡點,最終找到他們的目標矢量,作為對輸入矢量進行分類。
三、總體演算法
1.Hopfield網路權值W[N][N]、偏差b[N]設計總體演算法
應用正交化權值設計方法,設計Hopfield網路;
根據給定的目標矢量設計產生權值W[N][N],偏差b[N];
使Hopfield網路的穩定輸出矢量與給定的目標矢量一致。
1)輸入P個輸入模式X=(x[1],x[2],…,x[P-1],x[P])
輸入參數,包括T、h;
2)由X[N][P]構造A[N][P-1]=(x[1]-x[P],x[2]-x[P],…,x[P-1]-x[P]);
3)對A[N][P-1]作奇異值分解A=USVT;
4)求A[N][P-1]的秩rank;
5)由U=(u[1],u[2],…,u[K])構造Wp[N][N];
6)由U=(u[K+1],…,u[N])構造Wm[N][N];
7)構造Wt[N][N]=Wp[N][N]-T*Wm[N][N];
8)構造bt[N]=X[N][P]-Wt[N][N]*X[N][P];
9)構造W[N][N](9~13),
構造W1[N][N]=h*Wt[N][N];
10)求W1[N][N]的特徵值矩陣Val[N][N](對角線元素為特徵值,其餘為0),特徵向量矩陣Vec[N][N];
11)求Eval[N][N]=diag{exp[diag(Val)]}[N][N];
12)求Vec[N][N]的逆Invec[N][N];
13)構造W[N][N]=Vec[N][N]*Eval[N][N]*Invec[N][N];
14)構造b[N],(14~15),
C1=exp(h)-1,
C2=-(exp(-T*h)-1)/T;
15)構造
中國礦產資源評價新技術與評價新模型
Uˊ——U的轉置;
16)輸出W[N][N],b[N];
17)結束。
2.Hopfield網路預測應用總體演算法
Hopfield網路由一層N個斜坡函數神經元組成。
應用正交化權值設計方法,設計Hopfield網路。
根據給定的目標矢量設計產生權值W[N][N],偏差b[N]。
初始輸出為X[N][P],
計算X[N][P]=f(W[N][N]*X[N][P]+b[N]),
進行T次迭代,
返回最終輸出X[N][P],可以看作初始輸出的分類。
3.斜坡函數
中國礦產資源評價新技術與評價新模型
輸出范圍[-1,1]。
四、數據流圖
Hopfield網數據流圖見附圖3。
五、調用函數說明
1.一般實矩陣奇異值分解
(1)功能
用豪斯荷爾德(Householder)變換及變形QR演算法對一般實矩陣進行奇異值分解。
(2)方法說明
設A為m×n的實矩陣,則存在一個m×m的列正交矩陣U和n×n的列正交矩陣V,使
中國礦產資源評價新技術與評價新模型
成立。其中
Σ=diag(σ0,σ1,…σp)p⩽min(m,n)-1,
且σ0≥σ1≥…≥σp>0,
上式稱為實矩陣A的奇異值分解式,σi(i=0,1,…,p)稱為A的奇異值。
奇異值分解分兩大步:
第一步:用豪斯荷爾德變換將A約化為雙對角線矩陣。即
中國礦產資源評價新技術與評價新模型
其中
中國礦產資源評價新技術與評價新模型
j具有如下形式:
中國礦產資源評價新技術與評價新模型
其中ρ為一個比例因子,以避免計算過程中的溢出現象與誤差的累積,Vj是一個列向量。即
Vj=(υ0,υ1,…,υn-1),
則
中國礦產資源評價新技術與評價新模型
其中
中國礦產資源評價新技術與評價新模型
第二步:用變形的QR演算法進行迭代,計算所有的奇異值。即:用一系列的平面旋轉變換對雙對角線矩陣B逐步變換成對角矩陣。
在每一次的迭代中,用變換
中國礦產資源評價新技術與評價新模型
其中變換
在每次迭代時,經過初始化變換V01後,將在第0列的主對角線下方出現一個非0元素。在變換V01中,選擇位移植u的計算公式如下:
中國礦產資源評價新技術與評價新模型
最後還需要對奇異值按非遞增次序進行排列。
在上述變換過程中,若對於某個次對角線元素ej滿足
|ej|⩽ε(|sj+1|+|sj|)
則可以認為ej為0。
若對角線元素sj滿足
|sj|⩽ε(|ej-1|+|ej|)
則可以認為sj為0(即為0奇異值)。其中ε為給定的精度要求。
(3)調用說明
int bmuav(double*a,int m,int n,double*u,double*v,double eps,int ka),
本函數返回一個整型標志值,若返回的標志值小於0,則表示出現了迭代60次還未求得某個奇異值的情況。此時,矩陣的分解式為UAVT;若返回的標志值大於0,則表示正常返回。
形參說明:
a——指向雙精度實型數組的指針,體積為m×n。存放m×n的實矩陣A;返回時,其對角線給出奇異值(以非遞增次序排列),其餘元素為0;
m——整型變數,實矩陣A的行數;
n——整型變數,實矩陣A的列數;
u——指向雙精度實型數組的指針,體積為m×m。返回時存放左奇異向量U;
υ——指向雙精度實型數組的指針,體積為n×n。返回時存放右奇異向量VT;
esp——雙精度實型變數,給定的精度要求;
ka——整型變數,其值為max(m,n)+1。
2.求實對稱矩陣特徵值和特徵向量的雅可比過關法
(1)功能
用雅可比(Jacobi)方法求實對稱矩陣的全部特徵值與相應的特徵向量。
(2)方法說明
雅可比方法的基本思想如下。
設n階矩陣A為對稱矩陣。在n階對稱矩陣A的非對角線元素中選取一個絕對值最大的元素,設為apq。利用平面旋轉變換矩陣R0(p,q,θ)對A進行正交相似變換:
A1=R0(p,q,θ)TA,
其中R0(p,q,θ)的元素為
rpp=cosθ,rqq=cosθ,rpq=sinθ,
rqp=sinθ,rij=0,i,j≠p,q。
如果按下式確定角度θ,
中國礦產資源評價新技術與評價新模型
則對稱矩陣A經上述變換後,其非對角線元素的平方和將減少
綜上所述,用雅可比方法求n階對稱矩陣A的特徵值及相應特徵向量的步驟如下:
1)令S=In(In為單位矩陣);
2)在A中選取非對角線元素中絕對值最大者,設為apq;
3)若|apq|<ε,則迭代過程結束。此時對角線元素aii(i=0,1,…,n-1)即為特徵值λi,矩陣S的第i列為與λi相應的特徵向量。否則,繼續下一步;
4)計算平面旋轉矩陣的元素及其變換後的矩陣A1的元素。其計算公式如下
中國礦產資源評價新技術與評價新模型
5)S=S·R(p,q,θ),轉(2)。
在選取非對角線上的絕對值最大的元素時用如下方法:
首先計算實對稱矩陣A的非對角線元素的平方和的平方根
中國礦產資源評價新技術與評價新模型
然後設置關口υ1=υ0/n,在非對角線元素中按行掃描選取第一個絕對值大於或等於υ1的元素αpq進行平面旋轉變換,直到所有非對角線元素的絕對值均小於υ1為止。再設關口υ2=υ1/n,重復這個過程。以此類推,這個過程一直作用到對於某個υk<ε為止。
(3)調用說明
void cjcbj(double*a,int n,double*v,double eps)。
形參說明:
a——指向雙精度實型數組的指針,體積為n×n,存放n階實對稱矩陣A;返回時,其對角線存放n個特徵值;
n——整型變數,實矩陣A的階數;
υ——指向雙精度實型數組的指針,體積為n×n,返回特徵向量,其中第i列為與λi(即返回的αii,i=0,1,……,n-1)對應的特徵向量;
esp——雙精度實型變數。給定的精度要求。
3.矩陣求逆
(1)功能
用全選主元高斯-約當(Gauss-Jordan)消去法求n階實矩陣A的逆矩陣。
(2)方法說明
高斯-約當法(全選主元)求逆的步驟如下:
首先,對於k從0到n-1做如下幾步:
1)從第k行、第k列開始的右下角子陣中選取絕對值最大的元素,並記住此元素所在的行號和列號,再通過行交換和列交換將它交換到主元素位置上,這一步稱為全選主元;
2)
3)
4)αij-
5)-
最後,根據在全選主元過程中所記錄的行、列交換的信息進行恢復,恢復原則如下:在全選主元過程中,先交換的行、列後進行恢復;原來的行(列)交換用列(行)交換來恢復。
圖8-4 東昆侖—柴北緣地區基於HOPFIELD模型的銅礦分類結果圖
(3)調用說明
int brinv(double*a,int n)。
本函數返回一個整型標志位。若返回的標志位為0,則表示矩陣A奇異,還輸出信息「err**not inv」;若返回的標志位不為0,則表示正常返回。
形參說明:
a——指向雙精度實型數組的指針,體積為n×n。存放原矩陣A;返回時,存放其逆矩陣A-1;
n——整型變數,矩陣的階數。
六、實例
實例:柴北緣—東昆侖地區銅礦分類預測。
選取8種因素,分別是重砂異常存在標志、水化異常存在標志、化探異常峰值、地質圖熵值、Ms存在標志、Gs存在標志、Shdadlie到區的距離、構造線線密度。
構置原始變數,並根據原始數據構造預測模型。
HOPFIELD模型參數設置:訓練模式維數8,預測樣本個數774,參數個數8,迭代次數330。
結果分44類(圖8-4,表8-5)。
表8-5 原始數據表及分類結果(部分)
續表
D. 人工神經網路綜述
文章主要分為:
一、人工神經網路的概念;
二、人工神經網路的發展歷史;
三、人工神經網路的特點;
四、人工神經網路的結構。
。。
人工神經網路(Artificial Neural Network,ANN)簡稱神經網路(NN),是基於生物學中神經網路的基本原理,在理解和抽象了人腦結構和外界刺激響應機制後,以網路拓撲知識為理論基礎,模擬人腦的神經系統對復雜信息的處理機制的一種數學模型。該模型以並行分布的處理能力、高容錯性、智能化和自學習等能力為特徵,將信息的加工和存儲結合在一起,以其獨特的知識表示方式和智能化的自適應學習能力,引起各學科領域的關注。它實際上是一個有大量簡單元件相互連接而成的復雜網路,具有高度的非線性,能夠進行復雜的邏輯操作和非線性關系實現的系統。
神經網路是一種運算模型,由大量的節點(或稱神經元)之間相互聯接構成。每個節點代表一種特定的輸出函數,稱為激活函數(activation function)。每兩個節點間的連接都代表一個對於通過該連接信號的加權值,稱之為權重(weight),神經網路就是通過這種方式來模擬人類的記憶。網路的輸出則取決於網路的結構、網路的連接方式、權重和激活函數。而網路自身通常都是對自然界某種演算法或者函數的逼近,也可能是對一種邏輯策略的表達。神經網路的構築理念是受到生物的神經網路運作啟發而產生的。人工神經網路則是把對生物神經網路的認識與數學統計模型相結合,藉助數學統計工具來實現。另一方面在人工智慧學的人工感知領域,我們通過數學統計學的方法,使神經網路能夠具備類似於人的決定能力和簡單的判斷能力,這種方法是對傳統邏輯學演算的進一步延伸。
人工神經網路中,神經元處理單元可表示不同的對象,例如特徵、字母、概念,或者一些有意義的抽象模式。網路中處理單元的類型分為三類:輸入單元、輸出單元和隱單元。輸入單元接受外部世界的信號與數據;輸出單元實現系統處理結果的輸出;隱單元是處在輸入和輸出單元之間,不能由系統外部觀察的單元。神經元間的連接權值反映了單元間的連接強度,信息的表示和處理體現在網路處理單元的連接關系中。人工神經網路是一種非程序化、適應性、大腦風格的信息處理,其本質是通過網路的變換和動力學行為得到一種並行分布式的信息處理功能,並在不同程度和層次上模仿人腦神經系統的信息處理功能。
神經網路,是一種應用類似於大腦神經突觸連接結構進行信息處理的數學模型,它是在人類對自身大腦組織結合和思維機制的認識理解基礎之上模擬出來的,它是根植於神經科學、數學、思維科學、人工智慧、統計學、物理學、計算機科學以及工程科學的一門技術。
在介紹神經網路的發展歷史之前,首先介紹一下神經網路的概念。神經網路主要是指一種仿造人腦設計的簡化的計算模型,這種模型中包含了大量的用於計算的神經元,這些神經元之間會通過一些帶有權重的連邊以一種層次化的方式組織在一起。每一層的神經元之間可以進行大規模的並行計算,層與層之間進行消息的傳遞。
下圖展示了整個神經網路的發展歷程:
神經網路的發展有悠久的歷史。其發展過程大致可以概括為如下4個階段。
(1)、M-P神經網路模型:20世紀40年代,人們就開始了對神經網路的研究。1943 年,美國心理學家麥克洛奇(Mcculloch)和數學家皮茲(Pitts)提出了M-P模型,此模型比較簡單,但是意義重大。在模型中,通過把神經元看作個功能邏輯器件來實現演算法,從此開創了神經網路模型的理論研究。
(2)、Hebb規則:1949 年,心理學家赫布(Hebb)出版了《The Organization of Behavior》(行為組織學),他在書中提出了突觸連接強度可變的假設。這個假設認為學習過程最終發生在神經元之間的突觸部位,突觸的連接強度隨之突觸前後神經元的活動而變化。這一假設發展成為後來神經網路中非常著名的Hebb規則。這一法則告訴人們,神經元之間突觸的聯系強度是可變的,這種可變性是學習和記憶的基礎。Hebb法則為構造有學習功能的神經網路模型奠定了基礎。
(3)、感知器模型:1957 年,羅森勃拉特(Rosenblatt)以M-P 模型為基礎,提出了感知器(Perceptron)模型。感知器模型具有現代神經網路的基本原則,並且它的結構非常符合神經生理學。這是一個具有連續可調權值矢量的MP神經網路模型,經過訓練可以達到對一定的輸入矢量模式進行分類和識別的目的,它雖然比較簡單,卻是第一個真正意義上的神經網路。Rosenblatt 證明了兩層感知器能夠對輸入進行分類,他還提出了帶隱層處理元件的三層感知器這一重要的研究方向。Rosenblatt 的神經網路模型包含了一些現代神經計算機的基本原理,從而形成神經網路方法和技術的重大突破。
(4)、ADALINE網路模型: 1959年,美國著名工程師威德羅(B.Widrow)和霍夫(M.Hoff)等人提出了自適應線性元件(Adaptive linear element,簡稱Adaline)和Widrow-Hoff學習規則(又稱最小均方差演算法或稱δ規則)的神經網路訓練方法,並將其應用於實際工程,成為第一個用於解決實際問題的人工神經網路,促進了神經網路的研究應用和發展。ADALINE網路模型是一種連續取值的自適應線性神經元網路模型,可以用於自適應系統。
人工智慧的創始人之一Minsky和Papert對以感知器為代表的網路系統的功能及局限性從數學上做了深入研究,於1969年發表了轟動一時《Perceptrons》一書,指出簡單的線性感知器的功能是有限的,它無法解決線性不可分的兩類樣本的分類問題,如簡單的線性感知器不可能實現「異或」的邏輯關系等。這一論斷給當時人工神經元網路的研究帶來沉重的打擊。開始了神經網路發展史上長達10年的低潮期。
(1)、自組織神經網路SOM模型:1972年,芬蘭的KohonenT.教授,提出了自組織神經網路SOM(Self-Organizing feature map)。後來的神經網路主要是根據KohonenT.的工作來實現的。SOM網路是一類無導師學習網路,主要用於模式識別﹑語音識別及分類問題。它採用一種「勝者為王」的競爭學習演算法,與先前提出的感知器有很大的不同,同時它的學習訓練方式是無指導訓練,是一種自組織網路。這種學習訓練方式往往是在不知道有哪些分類類型存在時,用作提取分類信息的一種訓練。
(2)、自適應共振理論ART:1976年,美國Grossberg教授提出了著名的自適應共振理論ART(Adaptive Resonance Theory),其學習過程具有自組織和自穩定的特徵。
(1)、Hopfield模型:1982年,美國物理學家霍普菲爾德(Hopfield)提出了一種離散神經網路,即離散Hopfield網路,從而有力地推動了神經網路的研究。在網路中,它首次將李雅普諾夫(Lyapunov)函數引入其中,後來的研究學者也將Lyapunov函數稱為能量函數。證明了網路的穩定性。1984年,Hopfield 又提出了一種連續神經網路,將網路中神經元的激活函數由離散型改為連續型。1985 年,Hopfield和Tank利用Hopfield神經網路解決了著名的旅行推銷商問題(Travelling Salesman Problem)。Hopfield神經網路是一組非線性微分方程。Hopfield的模型不僅對人工神經網路信息存儲和提取功能進行了非線性數學概括,提出了動力方程和學習方程,還對網路演算法提供了重要公式和參數,使人工神經網路的構造和學習有了理論指導,在Hopfield模型的影響下,大量學者又激發起研究神經網路的熱情,積極投身於這一學術領域中。因為Hopfield 神經網路在眾多方面具有巨大潛力,所以人們對神經網路的研究十分地重視,更多的人開始了研究神經網路,極大地推動了神經網路的發展。
(2)、Boltzmann機模型:1983年,Kirkpatrick等人認識到模擬退火演算法可用於NP完全組合優化問題的求解,這種模擬高溫物體退火過程來找尋全局最優解的方法最早由Metropli等人1953年提出的。1984年,Hinton與年輕學者Sejnowski等合作提出了大規模並行網路學習機,並明確提出隱單元的概念,這種學習機後來被稱為Boltzmann機。
Hinton和Sejnowsky利用統計物理學的感念和方法,首次提出的多層網路的學習演算法,稱為Boltzmann 機模型。
(3)、BP神經網路模型:1986年,儒默哈特(D.E.Ru melhart)等人在多層神經網路模型的基礎上,提出了多層神經網路權值修正的反向傳播學習演算法----BP演算法(Error Back-Propagation),解決了多層前向神經網路的學習問題,證明了多層神經網路具有很強的學習能力,它可以完成許多學習任務,解決許多實際問題。
(4)、並行分布處理理論:1986年,由Rumelhart和McCkekkand主編的《Parallel Distributed Processing:Exploration in the Microstructures of Cognition》,該書中,他們建立了並行分布處理理論,主要致力於認知的微觀研究,同時對具有非線性連續轉移函數的多層前饋網路的誤差反向傳播演算法即BP演算法進行了詳盡的分析,解決了長期以來沒有權值調整有效演算法的難題。可以求解感知機所不能解決的問題,回答了《Perceptrons》一書中關於神經網路局限性的問題,從實踐上證實了人工神經網路有很強的運算能力。
(5)、細胞神經網路模型:1988年,Chua和Yang提出了細胞神經網路(CNN)模型,它是一個細胞自動機特性的大規模非線性計算機模擬系統。Kosko建立了雙向聯想存儲模型(BAM),它具有非監督學習能力。
(6)、Darwinism模型:Edelman提出的Darwinism模型在90年代初產生了很大的影響,他建立了一種神經網路系統理論。
(7)、1988年,Linsker對感知機網路提出了新的自組織理論,並在Shanon資訊理論的基礎上形成了最大互信息理論,從而點燃了基於NN的信息應用理論的光芒。
(8)、1988年,Broomhead和Lowe用徑向基函數(Radialbasis function, RBF)提出分層網路的設計方法,從而將NN的設計與數值分析和線性適應濾波相掛鉤。
(9)、1991年,Haken把協同引入神經網路,在他的理論框架中,他認為,認知過程是自發的,並斷言模式識別過程即是模式形成過程。
(10)、1994年,廖曉昕關於細胞神經網路的數學理論與基礎的提出,帶來了這個領域新的進展。通過拓廣神經網路的激活函數類,給出了更一般的時滯細胞神經網路(DCNN)、Hopfield神經網路(HNN)、雙向聯想記憶網路(BAM)模型。
(11)、90年代初,Vapnik等提出了支持向量機(Supportvector machines, SVM)和VC(Vapnik-Chervonenkis)維數的概念。
經過多年的發展,已有上百種的神經網路模型被提出。
深度學習(Deep Learning,DL)由Hinton等人於2006年提出,是機器學習的一個新領域。深度學習本質上是構建含有多隱層的機器學習架構模型,通過大規模數據進行訓練,得到大量更具代表性的特徵信息。深度學習演算法打破了傳統神經網路對層數的限制,可根據設計者需要選擇網路層數。
突觸是神經元之間相互連接的介面部分,即一個神經元的神經末梢與另一個神經元的樹突相接觸的交界面,位於神經元的神經末梢尾端。突觸是軸突的終端。
大腦可視作為1000多億神經元組成的神經網路。神經元的信息傳遞和處理是一種電化學活動.樹突由於電化學作用接受外界的刺激,通過胞體內的活動體現為軸突電位,當軸突電位達到一定的值則形成神經脈沖或動作電位;再通過軸突末梢傳遞給其它的神經元.從控制論的觀點來看;這一過程可以看作一個多輸入單輸出非線性系統的動態過程。
神經元的功能特性:(1)時空整合功能;(2)神經元的動態極化性;(3)興奮與抑制狀態;(4)結構的可塑性;(5)脈沖與電位信號的轉換;(6)突觸延期和不應期;(7)學習、遺忘和疲勞。
神經網路從兩個方面模擬大腦:
(1)、神經網路獲取的知識是從外界環境中學習得來的。
(2)、內部神經元的連接強度,即突觸權值,用於儲存獲取的知識。
神經網路系統由能夠處理人類大腦不同部分之間信息傳遞的由大量神經元連接形成的拓撲結構組成,依賴於這些龐大的神經元數目和它們之間的聯系,人類的大腦能夠收到輸入的信息的刺激由分布式並行處理的神經元相互連接進行非線性映射處理,從而實現復雜的信息處理和推理任務。
對於某個處理單元(神經元)來說,假設來自其他處理單元(神經元)i的信息為Xi,它們與本處理單元的互相作用強度即連接權值為Wi, i=0,1,…,n-1,處理單元的內部閾值為θ。那麼本處理單元(神經元)的輸入為:
,而處理單元的輸出為:
式中,xi為第i個元素的輸入,wi為第i個處理單元與本處理單元的互聯權重即神經元連接權值。f稱為激活函數或作用函數,它決定節點(神經元)的輸出。θ表示隱含層神經節點的閾值。
神經網路的主要工作是建立模型和確定權值,一般有前向型和反饋型兩種網路結構。通常神經網路的學習和訓練需要一組輸入數據和輸出數據對,選擇網路模型和傳遞、訓練函數後,神經網路計算得到輸出結果,根據實際輸出和期望輸出之間的誤差進行權值的修正,在網路進行判斷的時候就只有輸入數據而沒有預期的輸出結果。神經網路一個相當重要的能力是其網路能通過它的神經元權值和閾值的不斷調整從環境中進行學習,直到網路的輸出誤差達到預期的結果,就認為網路訓練結束。
對於這樣一種多輸入、單輸出的基本單元可以進一步從生物化學、電生物學、數學等方面給出描述其功能的模型。利用大量神經元相互連接組成的人工神經網路,將顯示出人腦的若干特徵,人工神經網路也具有初步的自適應與自組織能力。在學習或訓練過程中改變突觸權重wij值,以適應周圍環境的要求。同一網路因學習方式及內容不同可具有不同的功能。人工神經網路是一個具有學習能力的系統,可以發展知識,以至超過設計者原有的知識水平。通常,它的學習(或訓練)方式可分為兩種,一種是有監督(supervised)或稱有導師的學習,這時利用給定的樣本標准進行分類或模仿;另一種是無監督(unsupervised)學習或稱無導師學習,這時,只規定學習方式或某些規則,而具體的學習內容隨系統所處環境(即輸入信號情況)而異,系統可以自動發現環境特徵和規律性,具有更近似於人腦的功能。
在人工神經網路設計及應用研究中,通常需要考慮三個方面的內容,即神經元激活函數、神經元之間的連接形式和網路的學習(訓練)。
E. 人工神經網路分層結構包括
品牌型號:華為MateBook D15
人工神經網路分層結構包括神經元、層和網路三個部分。
1、神經元是人工神經網路最基本的單元。單元以層的方式組,每一層的每個神經元和前一層、後一層的神經元連接,共分為輸入層、輸出層和隱藏層,三層連接形成一個神經網路。
2、輸入層只從外部環境接收信息,是由輸入單元組成,而這些輸入單元可接收樣本中各種不同的特徵信息。該層的每個神經元相當於自變數,不完成任何計算,只為下一層傳遞信息;隱藏層介於輸入層和輸出層之間,這些層完全用於分析,其函數聯系輸入層變數和輸出層變數,使其更配適數據。而最後,輸出層生成最終結果,每個輸出單元會對應到某一種特定的分類,為網路送給外部系統的結果值,,整個網路由調整鏈接強度的程序來達成學習的目的。
3、神經網路是一種運算模型,由大量的節點(或稱神經元)之間相互聯接構成。每個節點代表一種特定的輸出函數,稱為激勵函數(activation function)。每兩個節點間的連接都代表一個對於通過該連接信號的加權值,稱之為權重,這相當於人工神經網路的記憶。網路的輸出則依網路的連接方式,權重值和激勵函數的不同而不同。
F. AlphaGo的神奇全靠它,詳解人工神經網路!
Alphago在不被看好的情況下,以4比1擊敗了圍棋世界冠軍李世石,令其名震天下。隨著AlphaGo知名度的不斷提高,人們不禁好奇,究竟是什麼使得AlphaGo得以戰勝人類大腦?AlphaGo的核心依託——人工神經網路。
什麼是神經網路?
人工神經網路是一種模仿生物神經網路(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型。神經網路由大量的人工神經元聯結進行計算。大多數情況下人工神經網路能在外界信息的基礎上改變內部結構,是一種自適應系統。現代神經網路是一種非線性統計性數據建模工具,常用來對輸入和輸出間復雜的關系進行建模,或用來探索數據的模式。
神經網路是一種運算模型,由大量的節點(或稱“神經元”,或“單元”)和之間相互聯接構成。每個節點代表一種特定的輸出函數,稱為激勵函數。每兩個節點間的連接都代表一個對於通過該連接信號的加權值,稱之為權重,這相當於人工神經網路的記憶。網路的輸出則依網路的連接方式,權重值和激勵函數的不同而不同。而網路自身通常都是對自然界某種演算法或者函數的逼近,也可能是對一種邏輯策略的表達。
例如,用於手寫識別的一個神經網路是被可由一個輸入圖像的像素被激活的一組輸入神經元所定義的。在通過函數(由網路的設計者確定)進行加權和變換之後,這些神經元被激活然後被傳遞到其他神經元。重復這一過程,直到最後一個輸出神經元被激活。這樣決定了被讀取的字。
它的構築理念是受到人或其他動物神經網路功能的運作啟發而產生的。人工神經網路通常是通過一個基於數學統計學類型的學習方法得以優化,所以人工神經網路也是數學統計學方法的一種實際應用,通過統計學的標准數學方法我們能夠得到大量的可以用函數來表達的局部結構空間,另一方面在人工智慧學的人工感知領域,我們通過數學統計學的應用可以來做人工感知方面的決定問題(也就是說通過統計學的方法,人工神經網路能夠類似人一樣具有簡單的決定能力和簡單的判斷能力),這種方法比起正式的邏輯學推理演算更具有優勢。
人工神經網路是一個能夠學習,能夠總結歸納的系統,也就是說它能夠通過已知數據的實驗運用來學習和歸納總結。人工神經網路通過對局部情況的對照比較(而這些比較是基於不同情況下的自動學習和要實際解決問題的復雜性所決定的),它能夠推理產生一個可以自動識別的系統。與之不同的基於符號系統下的學習方法,它們也具有推理功能,只是它們是建立在邏輯演算法的基礎上,也就是說它們之所以能夠推理,基礎是需要有一個推理演算法則的集合。
2AlphaGo的原理回頂部
AlphaGo的原理
首先,AlphaGo同優秀的選手進行了150000場比賽,通過人工神經網路找到這些比賽的模式。然後通過總結,它會預測選手在任何位置高概率進行的一切可能。AlphaGo的設計師通過讓其反復的和早期版本的自己對戰來提高神經網路,使其逐步提高獲勝的機會。
從廣義上講,神經網路是一個非常復雜的數學模型,通過對其高達數百萬參數的調整來改變的它的行為。神經網路學習的意思是,電腦一直持續對其參數進行微小的調整,來嘗試使其不斷進行微小的改進。在學習的第一階段,神經網路提高模仿選手下棋的概率。在第二階段,它增加自我發揮,贏得比賽的概率。反復對極其復雜的功能進行微小的調整,聽起來十分瘋狂,但是如果有足夠長的時間,足夠快的計算能力,非常好的網路實施起來並不苦難。並且這些調整都是自動進行的。
經過這兩個階段的訓練,神經網路就可以同圍棋業余愛好者下一盤不錯的棋了。但對於職業來講,它還有很長的路要走。在某種意義上,它並不思考每一手之後的幾步棋,而是通過對未來結果的推算來決定下在哪裡。為了達到職業級別,AlphaGp需要一種新的估算方法。
為了克服這一障礙,研究人員採取的辦法是讓它反復的和自己進行對戰,以此來使其不斷其對於勝利的估算能力。盡可能的提高每一步的獲勝概率。(在實踐中,AlphaGo對這個想法進行了稍微復雜的調整。)然後,AlphaGo再結合多線程來使用這一方法進行下棋。
我們可以看到,AlphaGo的評估系統並沒有基於太多的圍棋知識,通過分析現有的無數場比賽的棋譜,以及無數次的自我對戰練習,AlphaGo的神經網路進行了數以十億計的微小調整,即便每次只是一個很小的增量改進。這些調整幫助AlphaGp建立了一個估值系統,這和那些出色圍棋選手的直覺相似,對於棋盤上的每一步棋都了如指掌。
此外AlphaGo也使用搜索和優化的思想,再加上神經網路的學習功能,這兩者有助於找到棋盤上更好的位置。這也是目前AlphaGo能夠高水平發揮的原因。
3神經網路的延伸和限制回頂部
神經網路的延伸和限制
神經網路的這種能力也可以被用在其他方面,比如讓神經網路學習一種藝術風格,然後再將這種風格應用到其他圖像上。這種想法很簡單:首先讓神經網路接觸到大量的圖像,然後來確認這些圖像的風格,接著將新的圖像帶入這種風格。
這雖然不是偉大的藝術,但它仍然是一個顯著的利用神經網路來捕捉直覺並且應用在其他地方的例子。
在過去的幾年中,神經網路在許多領域被用來捕捉直覺和模式識別。許多項目使用神經這些網路,涉及的任務如識別藝術風格或好的視頻游戲的發展戰略。但也有非常不同的網路模擬的直覺驚人的例子,比如語音和自然語言。
由於這種多樣性,我看到AlphaGo本身不是一個革命性的突破,而是作為一個極其重要的發展前沿:建立系統,可以捕捉的直覺和學會識別模式的能力。此前計算機科學家們已經做了幾十年,沒有取得長足的進展。但現在,神經網路的成功已經大大擴大,我們可以利用電腦攻擊范圍內的潛在問題。
事實上,目前現有的神經網路的理解能力是非常差的。神經網路很容易被愚弄。用神經網路識別圖像是一個不錯的手段。但是實驗證明,通過對圖像進行細微的改動,就可以愚弄圖像。例如,下面的圖像左邊的圖是原始圖,研究人員對中間的圖像進行了微小的調整後,神經網路就無法區分了,就將原圖顯示了出來。
另一個限制是,現有的系統往往需要許多模型來學習。例如,AlphaGo從150000場對戰來學習。這是一個很龐大額度數字!很多情況下,顯然無法提供如此龐大的模型案例。
G. 神經網路:卷積神經網路(CNN)
神經網路 最早是由心理學家和神經學家提出的,旨在尋求開發和測試神經的計算模擬。
粗略地說, 神經網路 是一組連接的 輸入/輸出單元 ,其中每個連接都與一個 權 相關聯。在學習階段,通過調整權值,使得神經網路的預測准確性逐步提高。由於單元之間的連接,神經網路學習又稱 連接者學習。
神經網路是以模擬人腦神經元的數學模型為基礎而建立的,它由一系列神經元組成,單元之間彼此連接。從信息處理角度看,神經元可以看作是一個多輸入單輸出的信息處理單元,根據神經元的特性和功能,可以把神經元抽象成一個簡單的數學模型。
神經網路有三個要素: 拓撲結構、連接方式、學習規則
神經網路的拓撲結構 :神經網路的單元通常按照層次排列,根據網路的層次數,可以將神經網路分為單層神經網路、兩層神經網路、三層神經網路等。結構簡單的神經網路,在學習時收斂的速度快,但准確度低。
神經網路的層數和每層的單元數由問題的復雜程度而定。問題越復雜,神經網路的層數就越多。例如,兩層神經網路常用來解決線性問題,而多層網路就可以解決多元非線性問題
神經網路的連接 :包括層次之間的連接和每一層內部的連接,連接的強度用權來表示。
根據層次之間的連接方式,分為:
1)前饋式網路:連接是單向的,上層單元的輸出是下層單元的輸入,如反向傳播網路,Kohonen網路
2)反饋式網路:除了單項的連接外,還把最後一層單元的輸出作為第一層單元的輸入,如Hopfield網路
根據連接的范圍,分為:
1)全連接神經網路:每個單元和相鄰層上的所有單元相連
2)局部連接網路:每個單元只和相鄰層上的部分單元相連
神經網路的學習
根據學習方法分:
感知器:有監督的學習方法,訓練樣本的類別是已知的,並在學習的過程中指導模型的訓練
認知器:無監督的學習方法,訓練樣本類別未知,各單元通過競爭學習。
根據學習時間分:
離線網路:學習過程和使用過程是獨立的
在線網路:學習過程和使用過程是同時進行的
根據學習規則分:
相關學習網路:根據連接間的激活水平改變權系數
糾錯學習網路:根據輸出單元的外部反饋改變權系數
自組織學習網路:對輸入進行自適應地學習
摘自《數學之美》對人工神經網路的通俗理解:
神經網路種類很多,常用的有如下四種:
1)Hopfield網路,典型的反饋網路,結構單層,有相同的單元組成
2)反向傳播網路,前饋網路,結構多層,採用最小均方差的糾錯學習規則,常用於語言識別和分類等問題
3)Kohonen網路:典型的自組織網路,由輸入層和輸出層構成,全連接
4)ART網路:自組織網路
深度神經網路:
Convolutional Neural Networks(CNN)卷積神經網路
Recurrent neural Network(RNN)循環神經網路
Deep Belief Networks(DBN)深度信念網路
深度學習是指多層神經網路上運用各種機器學習演算法解決圖像,文本等各種問題的演算法集合。深度學習從大類上可以歸入神經網路,不過在具體實現上有許多變化。
深度學習的核心是特徵學習,旨在通過分層網路獲取分層次的特徵信息,從而解決以往需要人工設計特徵的重要難題。
Machine Learning vs. Deep Learning
神經網路(主要是感知器)經常用於 分類
神經網路的分類知識體現在網路連接上,被隱式地存儲在連接的權值中。
神經網路的學習就是通過迭代演算法,對權值逐步修改的優化過程,學習的目標就是通過改變權值使訓練集的樣本都能被正確分類。
神經網路特別適用於下列情況的分類問題:
1) 數據量比較小,缺少足夠的樣本建立模型
2) 數據的結構難以用傳統的統計方法來描述
3) 分類模型難以表示為傳統的統計模型
缺點:
1) 需要很長的訓練時間,因而對於有足夠長訓練時間的應用更合適。
2) 需要大量的參數,這些通常主要靠經驗確定,如網路拓撲或「結構」。
3) 可解釋性差 。該特點使得神經網路在數據挖掘的初期並不看好。
優點:
1) 分類的准確度高
2)並行分布處理能力強
3)分布存儲及學習能力高
4)對噪音數據有很強的魯棒性和容錯能力
最流行的基於神經網路的分類演算法是80年代提出的 後向傳播演算法 。後向傳播演算法在多路前饋神經網路上學習。
定義網路拓撲
在開始訓練之前,用戶必須說明輸入層的單元數、隱藏層數(如果多於一層)、每一隱藏層的單元數和輸出層的單元數,以確定網路拓撲。
對訓練樣本中每個屬性的值進行規格化將有助於加快學習過程。通常,對輸入值規格化,使得它們落入0.0和1.0之間。
離散值屬性可以重新編碼,使得每個域值一個輸入單元。例如,如果屬性A的定義域為(a0,a1,a2),則可以分配三個輸入單元表示A。即,我們可以用I0 ,I1 ,I2作為輸入單元。每個單元初始化為0。如果A = a0,則I0置為1;如果A = a1,I1置1;如此下去。
一個輸出單元可以用來表示兩個類(值1代表一個類,而值0代表另一個)。如果多於兩個類,則每個類使用一個輸出單元。
隱藏層單元數設多少個「最好」 ,沒有明確的規則。
網路設計是一個實驗過程,並可能影響准確性。權的初值也可能影響准確性。如果某個經過訓練的網路的准確率太低,則通常需要採用不同的網路拓撲或使用不同的初始權值,重復進行訓練。
後向傳播演算法學習過程:
迭代地處理一組訓練樣本,將每個樣本的網路預測與實際的類標號比較。
每次迭代後,修改權值,使得網路預測和實際類之間的均方差最小。
這種修改「後向」進行。即,由輸出層,經由每個隱藏層,到第一個隱藏層(因此稱作後向傳播)。盡管不能保證,一般地,權將最終收斂,學習過程停止。
演算法終止條件:訓練集中被正確分類的樣本達到一定的比例,或者權系數趨近穩定。
後向傳播演算法分為如下幾步:
1) 初始化權
網路的權通常被初始化為很小的隨機數(例如,范圍從-1.0到1.0,或從-0.5到0.5)。
每個單元都設有一個偏置(bias),偏置也被初始化為小隨機數。
2) 向前傳播輸入
對於每一個樣本X,重復下面兩步:
向前傳播輸入,向後傳播誤差
計算各層每個單元的輸入和輸出。輸入層:輸出=輸入=樣本X的屬性;即,對於單元j,Oj = Ij = Xj。隱藏層和輸出層:輸入=前一層的輸出的線性組合,即,對於單元j, Ij =wij Oi + θj,輸出=
3) 向後傳播誤差
計算各層每個單元的誤差。
輸出層單元j,誤差:
Oj是單元j的實際輸出,而Tj是j的真正輸出。
隱藏層單元j,誤差:
wjk是由j到下一層中單元k的連接的權,Errk是單元k的誤差
更新 權 和 偏差 ,以反映傳播的誤差。
權由下式更新:
其中,△wij是權wij的改變。l是學習率,通常取0和1之間的值。
偏置由下式更新:
其中,△θj是偏置θj的改變。
Example
人類視覺原理:
深度學習的許多研究成果,離不開對大腦認知原理的研究,尤其是視覺原理的研究。1981 年的諾貝爾醫學獎,頒發給了 David Hubel(出生於加拿大的美國神經生物學家) 和Torsten Wiesel,以及Roger Sperry。前兩位的主要貢獻,是「發現了視覺系統的信息處理」, 可視皮層是分級的 。
人類的視覺原理如下:從原始信號攝入開始(瞳孔攝入像素Pixels),接著做初步處理(大腦皮層某些細胞發現邊緣和方向),然後抽象(大腦判定,眼前的物體的形狀,是圓形的),然後進一步抽象(大腦進一步判定該物體是只氣球)。
對於不同的物體,人類視覺也是通過這樣逐層分級,來進行認知的:
在最底層特徵基本上是類似的,就是各種邊緣,越往上,越能提取出此類物體的一些特徵(輪子、眼睛、軀乾等),到最上層,不同的高級特徵最終組合成相應的圖像,從而能夠讓人類准確的區分不同的物體。
可以很自然的想到:可以不可以模仿人類大腦的這個特點,構造多層的神經網路,較低層的識別初級的圖像特徵,若干底層特徵組成更上一層特徵,最終通過多個層級的組合,最終在頂層做出分類呢?答案是肯定的,這也是許多深度學習演算法(包括CNN)的靈感來源。
卷積神經網路是一種多層神經網路,擅長處理圖像特別是大圖像的相關機器學習問題。卷積網路通過一系列方法,成功將數據量龐大的圖像識別問題不斷降維,最終使其能夠被訓練。
CNN最早由Yann LeCun提出並應用在手寫字體識別上。LeCun提出的網路稱為LeNet,其網路結構如下:
這是一個最典型的卷積網路,由 卷積層、池化層、全連接層 組成。其中卷積層與池化層配合,組成多個卷積組,逐層提取特徵,最終通過若干個全連接層完成分類。
CNN通過卷積來模擬特徵區分,並且通過卷積的權值共享及池化,來降低網路參數的數量級,最後通過傳統神經網路完成分類等任務。
降低參數量級:如果使用傳統神經網路方式,對一張圖片進行分類,那麼,把圖片的每個像素都連接到隱藏層節點上,對於一張1000x1000像素的圖片,如果有1M隱藏層單元,一共有10^12個參數,這顯然是不能接受的。
但是在CNN里,可以大大減少參數個數,基於以下兩個假設:
1)最底層特徵都是局部性的,也就是說,用10x10這樣大小的過濾器就能表示邊緣等底層特徵
2)圖像上不同小片段,以及不同圖像上的小片段的特徵是類似的,也就是說,能用同樣的一組分類器來描述各種各樣不同的圖像
基於以上兩個假設,就能把第一層網路結構簡化
用100個10x10的小過濾器,就能夠描述整幅圖片上的底層特徵。
卷積運算的定義如下圖所示:
如上圖所示,一個5x5的圖像,用一個3x3的 卷積核 :
101
010
101
來對圖像進行卷積操作(可以理解為有一個滑動窗口,把卷積核與對應的圖像像素做乘積然後求和),得到了3x3的卷積結果。
這個過程可以理解為使用一個過濾器(卷積核)來過濾圖像的各個小區域,從而得到這些小區域的特徵值。在實際訓練過程中, 卷積核的值是在學習過程中學到的。
在具體應用中,往往有多個卷積核,可以認為, 每個卷積核代表了一種圖像模式 ,如果某個圖像塊與此卷積核卷積出的值大,則認為此圖像塊十分接近於此卷積核。如果設計了6個卷積核,可以理解為這個圖像上有6種底層紋理模式,也就是用6種基礎模式就能描繪出一副圖像。以下就是24種不同的卷積核的示例:
池化 的過程如下圖所示:
可以看到,原始圖片是20x20的,對其進行采樣,采樣窗口為10x10,最終將其采樣成為一個2x2大小的特徵圖。
之所以這么做,是因為即使做完了卷積,圖像仍然很大(因為卷積核比較小),所以為了降低數據維度,就進行采樣。
即使減少了許多數據,特徵的統計屬性仍能夠描述圖像,而且由於降低了數據維度,有效地避免了過擬合。
在實際應用中,分為最大值采樣(Max-Pooling)與平均值采樣(Mean-Pooling)。
LeNet網路結構:
注意,上圖中S2與C3的連接方式並不是全連接,而是部分連接。最後,通過全連接層C5、F6得到10個輸出,對應10個數字的概率。
卷積神經網路的訓練過程與傳統神經網路類似,也是參照了反向傳播演算法
第一階段,向前傳播階段:
a)從樣本集中取一個樣本(X,Yp),將X輸入網路;
b)計算相應的實際輸出Op
第二階段,向後傳播階段
a)計算實際輸出Op與相應的理想輸出Yp的差;
b)按極小化誤差的方法反向傳播調整權矩陣。
H. BP神經網路連接權值如何確定
確認方法:
統計學認為,在統計中計算平均數等指標時,對各個變數值具有權衡輕重作用的數值就稱為權數。
例子:求下列數串的平均數
3、4、3、3、3、2、4、4、3、3、
一般求法為(3+4+3+3+3+2+4+4+3+3)/10=3.2
加權求法為(6*3+3*4+2)/10=3.2
其中3出現6次,4出現3次,2出現1次.6、3、1就叫權數。這種方法叫加權法。
一般說的平均數,就是把所有的數加起來,再除以這些數的總個數。表示為:
(p1+p2+p3+…..+pn)/n;
但有的數據記錄中有一些相同的數據,在計算的時候,那一個數有幾個相同數,就把這個數乘上幾,這個幾,就叫權,加權,就是乘上幾後再加。平均數還是要除以總個數。
還是以上面的各個數為例:
它們每個數都有一些相同數,表示為:k1,k2,k3…….kn;
加權平均的公式是:(k1p1+k2p2+k3p3+……knpn)/(k1+k2+k3+…..kn)
I. 能不能介紹一下,BP神經網路中權系數初始值、學習率(步長)、學習步數、學習目標最小誤差等參數
權值第一次是被隨機給定的較小的值,步長一般設為較小的正值(防止越過最小值),學習步數是由權值和步長決定的,誤差一般採用最小均方誤差。
詳細的介紹可以網路一下很多課件或者課本的。若不想找我可以發給你,給我郵箱。