早在1943 年,神經科學家和控制論專家Warren McCulloch 與邏輯學家Walter Pitts就基於數學和閾值邏輯演算法創造了一種神經網路計算模型。其中最基本的組成成分是神經元(Neuron)模型,即上述定義中的「簡單單元」(Neuron 也可以被稱為Unit)。在生物學所定義的神經網路中(如圖1所示),每個神經元與其他神經元相連,並且當某個神經元處於興奮狀態時,它就會向其他相連的神經元傳輸化學物質,這些化學物質會改變與之相連的神經元的電位,當某個神經元的電位超過一個閾值後,此神經元即被激活並開始向其他神經元發送化學物質。Warren McCulloch 和Walter Pitts 將上述生物學中所描述的神經網路抽象為一個簡單的線性模型(如圖2所示),這就是一直沿用至今的「McCulloch-Pitts 神經元模型」,或簡稱為「MP 模型」。
在MP 模型中,某個神經元接收到來自n 個其他神經元傳遞過來的輸入信號(好比生物學中定義的神經元傳輸的化學物質),這些輸入信號通過帶權重的連接進行傳遞,某個神經元接收到的總輸入值將與它的閾值進行比較,然後通過「激活函數」(亦稱響應函數)處理以產生此神經元的輸出。如果把許多個這樣的神經元按照一定的層次結構連接起來,就可以得到相對復雜的多層人工神經網路。
2. 人工神經網路的基本特徵
人工神經網路是由大量處理單元互聯組成的非線性、自適應信息處理系統。它是在現代神經科學研究成果的基礎上提出的,試圖通過模擬大腦神經網路處理、記憶信息的方式進行信息處理。人工神經網路具有四個基本特徵:
(1)非線性 非線性關系是自然界的普遍特性。大腦的智慧就是一種非線性現象。人工神經元處於激活或抑制二種不同的狀態,這種行為在數學上表現為一種非線性關系。具有閾值的神經元構成的網路具有更好的性能,可以提高容錯性和存儲容量。
(2)非局限性 一個神經網路通常由多個神經元廣泛連接而成。一個系統的整體行為不僅取決於單個神經元的特徵,而且可能主要由單元之間的相互作用、相互連接所決定。通過單元之間的大量連接模擬大腦的非局限性。聯想記憶是非局限性的典型例子。
(3)非常定性 人工神經網路具有自適應、自組織、自學習能力。神經網路不但處理的信息可以有各種變化,而且在處理信息的同時,非線性動力系統本身也在不斷變化。經常採用迭代過程描寫動力系統的演化過程。
(4)非凸性 一個系統的演化方向,在一定條件下將取決於某個特定的狀態函數。例如能量函數,它的極值相應於系統比較穩定的狀態。非凸性是指這種函數有多個極值,故系統具有多個較穩定的平衡態,這將導致系統演化的多樣性。
人工神經網路中,神經元處理單元可表示不同的對象,例如特徵、字母、概念,或者一些有意義的抽象模式。網路中處理單元的類型分為三類:輸入單元、輸出單元和隱單元。輸入單元接受外部世界的信號與數據;輸出單元實現系統處理結果的輸出;隱單元是處在輸入和輸出單元之間,不能由系統外部觀察的單元。神經元間的連接權值反映了單元間的連接強度,信息的表示和處理體現在網路處理單元的連接關系中。人工神經網路是一種非程序化、適應性、大腦風格的信息處理 ,其本質是通過網路的變換和動力學行為得到一種並行分布式的信息處理功能,並在不同程度和層次上模仿人腦神經系統的信息處理功能。它是涉及神經科學、思維科學、人工智慧、計算機科學等多個領域的交叉學科。
人工神經網路是並行分布式系統,採用了與傳統人工智慧和信息處理技術完全不同的機理,克服了傳統的基於邏輯符號的人工智慧在處理直覺、非結構化信息方面的缺陷,具有自適應、自組織和實時學習的特點。
3. 如何簡單形象又有趣地講解神經網路是什麼
神經網路神奇的地方在於它的每一個組件非常簡單——把空間切一刀+某種激活函數(0-1階躍、sigmoid、max-pooling),但是可以一層一層級聯。輸入向量連到許多神經元上,這些神經元的輸出又連到一堆神經元上,這一過程可以重復很多次。這和人腦中的神經元很相似:每一個神經元都有一些神經元作為其輸入,又是另一些神經元的輸入,數值向量就像是電信號,在不同神經元之間傳導,每一個神經元只有滿足了某種條件才會發射信號到下一層神經元。當然,人腦比神經網路模型復雜很多:人工神經網路一般不存在環狀結構;人腦神經元的電信號不僅有強弱,還有時間緩急之分,就像莫爾斯電碼,在人工神經網路里沒有這種復雜的信號模式。
4. 人工神經網路綜述
文章主要分為:
一、人工神經網路的概念;
二、人工神經網路的發展歷史;
三、人工神經網路的特點;
四、人工神經網路的結構。
。。
人工神經網路(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)學習或稱無導師學習,這時,只規定學習方式或某些規則,而具體的學習內容隨系統所處環境(即輸入信號情況)而異,系統可以自動發現環境特徵和規律性,具有更近似於人腦的功能。
在人工神經網路設計及應用研究中,通常需要考慮三個方面的內容,即神經元激活函數、神經元之間的連接形式和網路的學習(訓練)。
5. AlphaGo的神奇全靠它,詳解人工神經網路!
Alphago在不被看好的情況下,以4比1擊敗了圍棋世界冠軍李世石,令其名震天下。隨著AlphaGo知名度的不斷提高,人們不禁好奇,究竟是什麼使得AlphaGo得以戰勝人類大腦?AlphaGo的核心依託——人工神經網路。
什麼是神經網路?
人工神經網路是一種模仿生物神經網路(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型。神經網路由大量的人工神經元聯結進行計算。大多數情況下人工神經網路能在外界信息的基礎上改變內部結構,是一種自適應系統。現代神經網路是一種非線性統計性數據建模工具,常用來對輸入和輸出間復雜的關系進行建模,或用來探索數據的模式。
神經網路是一種運算模型,由大量的節點(或稱“神經元”,或“單元”)和之間相互聯接構成。每個節點代表一種特定的輸出函數,稱為激勵函數。每兩個節點間的連接都代表一個對於通過該連接信號的加權值,稱之為權重,這相當於人工神經網路的記憶。網路的輸出則依網路的連接方式,權重值和激勵函數的不同而不同。而網路自身通常都是對自然界某種演算法或者函數的逼近,也可能是對一種邏輯策略的表達。
例如,用於手寫識別的一個神經網路是被可由一個輸入圖像的像素被激活的一組輸入神經元所定義的。在通過函數(由網路的設計者確定)進行加權和變換之後,這些神經元被激活然後被傳遞到其他神經元。重復這一過程,直到最後一個輸出神經元被激活。這樣決定了被讀取的字。
它的構築理念是受到人或其他動物神經網路功能的運作啟發而產生的。人工神經網路通常是通過一個基於數學統計學類型的學習方法得以優化,所以人工神經網路也是數學統計學方法的一種實際應用,通過統計學的標准數學方法我們能夠得到大量的可以用函數來表達的局部結構空間,另一方面在人工智慧學的人工感知領域,我們通過數學統計學的應用可以來做人工感知方面的決定問題(也就是說通過統計學的方法,人工神經網路能夠類似人一樣具有簡單的決定能力和簡單的判斷能力),這種方法比起正式的邏輯學推理演算更具有優勢。
人工神經網路是一個能夠學習,能夠總結歸納的系統,也就是說它能夠通過已知數據的實驗運用來學習和歸納總結。人工神經網路通過對局部情況的對照比較(而這些比較是基於不同情況下的自動學習和要實際解決問題的復雜性所決定的),它能夠推理產生一個可以自動識別的系統。與之不同的基於符號系統下的學習方法,它們也具有推理功能,只是它們是建立在邏輯演算法的基礎上,也就是說它們之所以能夠推理,基礎是需要有一個推理演算法則的集合。
2AlphaGo的原理回頂部
AlphaGo的原理
首先,AlphaGo同優秀的選手進行了150000場比賽,通過人工神經網路找到這些比賽的模式。然後通過總結,它會預測選手在任何位置高概率進行的一切可能。AlphaGo的設計師通過讓其反復的和早期版本的自己對戰來提高神經網路,使其逐步提高獲勝的機會。
從廣義上講,神經網路是一個非常復雜的數學模型,通過對其高達數百萬參數的調整來改變的它的行為。神經網路學習的意思是,電腦一直持續對其參數進行微小的調整,來嘗試使其不斷進行微小的改進。在學習的第一階段,神經網路提高模仿選手下棋的概率。在第二階段,它增加自我發揮,贏得比賽的概率。反復對極其復雜的功能進行微小的調整,聽起來十分瘋狂,但是如果有足夠長的時間,足夠快的計算能力,非常好的網路實施起來並不苦難。並且這些調整都是自動進行的。
經過這兩個階段的訓練,神經網路就可以同圍棋業余愛好者下一盤不錯的棋了。但對於職業來講,它還有很長的路要走。在某種意義上,它並不思考每一手之後的幾步棋,而是通過對未來結果的推算來決定下在哪裡。為了達到職業級別,AlphaGp需要一種新的估算方法。
為了克服這一障礙,研究人員採取的辦法是讓它反復的和自己進行對戰,以此來使其不斷其對於勝利的估算能力。盡可能的提高每一步的獲勝概率。(在實踐中,AlphaGo對這個想法進行了稍微復雜的調整。)然後,AlphaGo再結合多線程來使用這一方法進行下棋。
我們可以看到,AlphaGo的評估系統並沒有基於太多的圍棋知識,通過分析現有的無數場比賽的棋譜,以及無數次的自我對戰練習,AlphaGo的神經網路進行了數以十億計的微小調整,即便每次只是一個很小的增量改進。這些調整幫助AlphaGp建立了一個估值系統,這和那些出色圍棋選手的直覺相似,對於棋盤上的每一步棋都了如指掌。
此外AlphaGo也使用搜索和優化的思想,再加上神經網路的學習功能,這兩者有助於找到棋盤上更好的位置。這也是目前AlphaGo能夠高水平發揮的原因。
3神經網路的延伸和限制回頂部
神經網路的延伸和限制
神經網路的這種能力也可以被用在其他方面,比如讓神經網路學習一種藝術風格,然後再將這種風格應用到其他圖像上。這種想法很簡單:首先讓神經網路接觸到大量的圖像,然後來確認這些圖像的風格,接著將新的圖像帶入這種風格。
這雖然不是偉大的藝術,但它仍然是一個顯著的利用神經網路來捕捉直覺並且應用在其他地方的例子。
在過去的幾年中,神經網路在許多領域被用來捕捉直覺和模式識別。許多項目使用神經這些網路,涉及的任務如識別藝術風格或好的視頻游戲的發展戰略。但也有非常不同的網路模擬的直覺驚人的例子,比如語音和自然語言。
由於這種多樣性,我看到AlphaGo本身不是一個革命性的突破,而是作為一個極其重要的發展前沿:建立系統,可以捕捉的直覺和學會識別模式的能力。此前計算機科學家們已經做了幾十年,沒有取得長足的進展。但現在,神經網路的成功已經大大擴大,我們可以利用電腦攻擊范圍內的潛在問題。
事實上,目前現有的神經網路的理解能力是非常差的。神經網路很容易被愚弄。用神經網路識別圖像是一個不錯的手段。但是實驗證明,通過對圖像進行細微的改動,就可以愚弄圖像。例如,下面的圖像左邊的圖是原始圖,研究人員對中間的圖像進行了微小的調整後,神經網路就無法區分了,就將原圖顯示了出來。
另一個限制是,現有的系統往往需要許多模型來學習。例如,AlphaGo從150000場對戰來學習。這是一個很龐大額度數字!很多情況下,顯然無法提供如此龐大的模型案例。
6. 人工神經網路概述(更新中)
智能: 從感覺到記憶再到思維的過程稱為「智慧」,智慧的結果是語言和行為。行為和語言予以表達稱為「能力」。智慧和能力的總稱為「智能」。感覺、記憶、思維、行為、語言的過程稱為「智能過程」。
人工智慧: 人工構建的智能系統。
人工智慧是研究和開發用於模擬、延伸和擴展人類智能的理論、方法、技術及應用的技術學科,其主要研究內容可以歸納為以下四個方面。
人工神經網路是基於生物神經元網路機制提出的一種計算結構,是生物神經網路的某種模擬、簡化和抽象。神經元是這一網路的「節點」,即「處理單元」。
人工神經網路可用於逼近非線性映射、分類識別、優化計算以及知識挖掘。近年來,人工神經網路在模式識別、信號處理、控制工程和優化計算領域得到了廣泛的應用。
M-P模型由心理學家McCulloch和數學家W. Pitts在1943年提出。
M-P模型結構是一個多輸入、單輸出的非線性元件。其I/O關系可推述為
其中, 表示從其他神經元傳來的輸入信號; 表示從神經元 到神經元 的連接權值; 表示閾值; 表示激勵函數或轉移函數; 表示神經元 的輸出信號。
作為一種最基本的神經元數學模型,M-P模型包括了加權、求和和激勵(轉移)三部分功能。
神經元的數據模型主要區別於採用了不同的激勵函數。
概率型函數的輸入和輸出之間的關系是不確定的。分布律如下
其中, 被稱為溫度參數。
感知機(Perceptron)是美國學者Rosenblatt於1957年提出的一種用於模式分類的神經網路模型。
M-P模型通常叫做單輸出的感知機。按照M-P模型的要求,該人工神經元的激活函數為階躍函數。為了方便表示,M-P模型表示為下圖所示的結構。
用多個這樣的單輸入感知機可以構成一個多輸出的感知機,其結構如下
對於二維平面,當輸入/輸出為 線性可分 集合時,一定可以找到一條直線將模式分成兩類。此時感知機的結構圖3所示,顯然通過調整感知機的權值及閾值可以修改兩類模式的分界線:
線性可分: 這里的線性可分是指兩類樣本可以用直線、平面或超平面分開,否則稱為線性不可分。
感知機的基本功能是對外部信號進行感知和識別,這就是當外部 個刺激信號或來自其它 個神經元(的信號)處於一定的狀態時,感知機就處於興奮狀態,而外部 個信號或 個神經元的輸出處於另一個狀態時,感知機就呈現抑制狀態。
如果 、 是 中兩個互不相交的集合,且有如下方程成立
則稱集合 為感知機的 學習目標 。根據感知機模型,學習演算法實際上是要尋找權重 、 滿足下述要求:
感知機的訓練過程是感知機權值的逐步調整過程,為此,用 表示每一次調整的序號。 對應於學習開始前的初始狀態,此時對應的權值為初始化值。
7. 人工智慧:什麼是人工神經網路
許多 人工智慧 計算機系統的核心技術是人工神經網路(ANN),而這種網路的靈感來源於人類大腦中的生物結構。
通過使用連接的「神經元」結構,這些網路可以通過「學習」並在沒有人類參與的情況下處理和評估某些數據。
這樣的實際實例之一是使用人工神經網路(ANN)識別圖像中的對象。在構建一個識別「貓「圖像的一個系統中,將在包含標記為「貓」的圖像的數據集上訓練人工神經網路,該數據集可用作任何進行分析的參考點。正如人們可能學會根據尾巴或皮毛等獨特特徵來識別狗一樣,人工神經網路(ANN)也可以通過將每個圖像分解成不同的組成部分(如顏色和形狀)進行識別。
實際上,神經網路提供了位於託管數據之上的排序和分類級別,可基於相似度來輔助數據的聚類和分組。可以使用人工神經網路(ANN)生成復雜的垃圾郵件過濾器,查找欺詐行為的演算法以及可以精確了解情緒的客戶關系工具。
人工神經網路如何工作
人工神經網路的靈感來自人腦的神經組織,使用類似於神經元的計算節點構造而成,這些節點沿著通道(如神經突觸的工作方式)進行信息交互。這意味著一個計算節點的輸出將影響另一個計算節點的處理。
神經網路標志著人工智慧發展的巨大飛躍,在此之前,人工智慧一直依賴於使用預定義的過程和定期的人工干預來產生所需的結果。人工神經網路可以使分析負載分布在多個互連層的網路中,每個互連層包含互連節點。在處理信息並對其進行場景處理之後,信息將傳遞到下一個節點,然後向下傳遞到各個層。這個想法是允許將其他場景信息接入網路,以通知每個階段的處理。
單個「隱藏」層神經網路的基本結構
就像漁網的結構一樣,神經網路的一個單層使用鏈將處理節點連接在一起。大量的連接使這些節點之間的通信得到增強,從而提高了准確性和數據處理吞吐量。
然後,人工神經網路將許多這樣的層相互疊放以分析數據,從而創建從第一層到最後一層的輸入和輸出數據流。盡管其層數將根據人工神經網路的性質及其任務而變化,但其想法是將數據從一層傳遞到另一層,並隨其添加附加的場景信息。
人腦是用3D矩陣連接起來的,而不是大量堆疊的圖層。就像人類大腦一樣,節點在接收到特定刺激時會在人工神經網路上「發射」信號,並將信號傳遞到另一個節點。但是,對於人工神經網路,輸入信號定義為實數,輸出為各種輸入的總和。
這些輸入的值取決於它們的權重,該權重用於增加或減少與正在執行的任務相對應的輸入數據的重要性。其目標是採用任意數量的二進制數值輸入並將其轉換為單個二進制數值輸出。
更復雜的神經網路提高了數據分析的復雜性
早期的神經網路模型使用淺層結構,其中只使用一個輸入和輸出層。而現代的系統由一個輸入層和一個輸出層組成,其中輸入層首先將數據輸入網路,多個「隱藏」層增加了數據分析的復雜性。
這就是「深度學習」一詞的由來——「深度」部分專門指任何使用多個「隱藏」層的神經網路。
聚會的例子
為了說明人工神經網路在實際中是如何工作的,我們將其簡化為一個實際示例。
想像一下你被邀請參加一個聚會,而你正在決定是否參加,這可能需要權衡利弊,並將各種因素納入決策過程。在此示例中,只選擇三個因素——「我的朋友會去嗎?」、「聚會地點遠嗎?」、「天氣會好嗎?」
通過將這些考慮因素轉換為二進制數值,可以使用人工神經網路對該過程進行建模。例如,我們可以為「天氣」指定一個二進制數值,即『1'代表晴天,『0'代表惡劣天氣。每個決定因素將重復相同的格式。
然而,僅僅賦值是不夠的,因為這不能幫助你做出決定。為此需要定義一個閾值,即積極因素的數量超過消極因素的數量。根據二進制數值,合適的閾值可以是「2」。換句話說,在決定參加聚會之前,需要兩個因素的閾值都是「1」,你才會決定去參加聚會。如果你的朋友要參加聚會(『1'),並且天氣很好(『1'),那麼這就表示你可以參加聚會。
如果天氣不好(『0'),並且聚會地點很遠(『0'),則達不到這一閾值,即使你的朋友參加(『1'),你也不會參加聚會。
神經加權
誠然,這是神經網路基本原理的一個非常基本的例子,但希望它有助於突出二進制值和閾值的概念。然而,決策過程要比這個例子復雜得多,而且通常情況下,一個因素比另一個因素對決策過程的影響更大。
要創建這種變化,可以使用「神經加權」——-通過乘以因素的權重來確定因素的二進制值對其他因素的重要性。
盡管示例中的每個注意事項都可能使你難以決策,但你可能會更重視其中一個或兩個因素。如果你不願意在大雨中出行去聚會,那惡劣的天氣將會超過其他兩個考慮因素。在這一示例中,可以通過賦予更高的權重來更加重視天氣因素的二進制值:
天氣= w5
朋友= w2
距離= w2
如果假設閾值現在已設置為6,則惡劣的天氣(值為0)將阻止其餘輸入達到所需的閾值,因此該節點將不會「觸發」(這意味著你將決定不參加聚會)。
雖然這是一個簡單的示例,但它提供了基於提供的權重做出決策的概述。如果要將其推斷為圖像識別系統,則是否參加聚會(輸入)的各種考慮因素將是給定圖像的折衷特徵,即顏色、大小或形狀。例如,對識別狗進行訓練的系統可以對形狀或顏色賦予更大的權重。
當神經網路處於訓練狀態時,權重和閾值將設置為隨機值。然後,當訓練數據通過網路傳遞時將不斷進行調整,直到獲得一致的輸出為止。
神經網路的好處
神經網路可以有機地學習。也就是說,神經網路的輸出結果並不受輸入數據的完全限制。人工神經網路可以概括輸入數據,使其在模式識別系統中具有價值。
他們還可以找到實現計算密集型答案的捷徑。人工神經網路可以推斷數據點之間的關系,而不是期望數據源中的記錄是明確關聯的。
它們也可以是容錯的。當神經網路擴展到多個系統時,它們可以繞過無法通信的缺失節點。除了圍繞網路中不再起作用的部分進行路由之外,人工神經網路還可以通過推理重新生成數據,並幫助確定不起作用的節點。這對於網路的自診斷和調試非常有用。
但是,深度神經網路提供的最大優勢是能夠處理和聚類非結構化數據,例如圖片、音頻文件、視頻、文本、數字等數據。在分析層次結構中,每一層節點都在前一層的輸出上進行訓練,深層神經網路能夠處理大量的這種非結構化數據,以便在人類處理分析之前找到相似之處。
神經網路的例子
神經網路應用還有許多示例,可以利用它從復雜或不精確數據中獲得見解的能力。
圖像識別人工神經網路可以解決諸如分析特定物體的照片等問題。這種演算法可以用來區分狗和貓。更重要的是,神經網路已經被用於只使用細胞形狀信息來診斷癌症。
近30年來,金融神經網路被用於匯率預測、股票表現和選擇預測。神經網路也被用來確定貸款信用評分,學習正確識別良好的或糟糕的信用風險。而電信神經網路已被電信公司用於通過實時評估網路流量來優化路由和服務質量。
8. 神經網路淺談
人工智慧技術是當前炙手可熱的話題,而基於神經網路的深度學習技術更是熱點中的熱點。去年穀歌的Alpha Go 以4:1大比分的優勢戰勝韓國的李世石九段,展現了深度學習的強大威力,後續強化版的Alpha Master和無師自通的Alpha Zero更是在表現上完全碾壓前者。不論你怎麼看,以深度學習為代表的人工智慧技術正在塑造未來。
下圖為英偉達(NVIDIA)公司近年來的股價情況, 該公司的主要產品是「圖形處理器」(GPU),而GPU被證明能大大加快神經網路的訓練速度,是深度學習必不可少的計算組件。英偉達公司近年來股價的飛漲足以證明當前深度學習的井噴之勢。
好,話不多說,下面簡要介紹神經網路的基本原理、發展脈絡和優勢。
神經網路是一種人類由於受到生物神經細胞結構啟發而研究出的一種演算法體系,是機器學習演算法大類中的一種。首先讓我們來看人腦神經元細胞:
一個神經元通常具有多個樹突 ,主要用來接受傳入信息,而軸突只有一條,軸突尾端有許多軸突末梢,可以給其他多個神經元傳遞信息。軸突末梢跟其他神經元的樹突產生連接,從而傳遞信號。
下圖是一個經典的神經網路(Artificial Neural Network,ANN):
乍一看跟傳統互聯網的拓撲圖有點類似,這也是稱其為網路的原因,不同的是節點之間通過有向線段連接,並且節點被分成三層。我們稱圖中的圓圈為神經元,左邊三個神經元組成的一列為輸入層,中間神經元列為隱藏層,右邊神經元列為輸出層,神經元之間的箭頭為權重。
神經元是計算單元,相當於神經元細胞的細胞核,利用輸入的數據進行計算,然後輸出,一般由一個線性計算部分和一個非線性計算部分組成;輸入層和輸出層實現數據的輸入輸出,相當於細胞的樹突和軸突末梢;隱藏層指既不是輸入也不是輸出的神經元層,一個神經網路可以有很多個隱藏層。
神經網路的關鍵不是圓圈代表的神經元,而是每條連接線對應的權重。每條連接線對應一個權重,也就是一個參數。權重具體的值需要通過神經網路的訓練才能獲得。我們實際生活中的學習體現在大腦中就是一系列神經網路迴路的建立與強化,多次重復的學習能讓迴路變得更加粗壯,使得信號的傳遞速度加快,最後對外表現為「深刻」的記憶。人工神經網路的訓練也借鑒於此,如果某種映射關系出現很多次,那麼在訓練過程中就相應調高其權重。
1943年,心理學家McCulloch和數學家Pitts參考了生物神經元的結構,發表了抽象的神經元模型MP:
符號化後的模型如下:
Sum函數計算各權重與輸入乘積的線性組合,是神經元中的線性計算部分,而sgn是取符號函數,當輸入大於0時,輸出1,反之輸出0,是神經元中的非線性部分。向量化後的公式為z=sgn(w^T a)(w^T=(w_1,w_2,w_3),a=〖(a_1,a_2,a_3)〗^T)。
但是,MP模型中,權重的值都是預先設置的,因此不能學習。該模型雖然簡單,並且作用有限,但已經建立了神經網路大廈的地基
1958年,計算科學家Rosenblatt提出了由兩層神經元組成(一個輸入層,一個輸出層)的神經網路。他給它起了一個名字–「感知器」(Perceptron)
感知器是當時首個可以學習的人工神經網路。Rosenblatt現場演示了其學習識別簡單圖像的過程,在當時引起了轟動,掀起了第一波神經網路的研究熱潮。
但感知器只能做簡單的線性分類任務。1969年,人工智慧領域的巨擘Minsky指出這點,並同時指出感知器對XOR(異或,即兩個輸入相同時輸出0,不同時輸出1)這樣的簡單邏輯都無法解決。所以,明斯基認為神經網路是沒有價值的。
隨後,神經網路的研究進入低谷,又稱 AI Winter 。
Minsky說過單層神經網路無法解決異或問題,但是當增加一個計算層以後,兩層神經網路不僅可以解決異或問題,而且具有非常好的非線性分類效果。
下圖為兩層神經網路(輸入層一般不算在內):
上圖中,輸出層的輸入是上一層的輸出。
向量化後的公式為:
注意:
每個神經元節點默認都有偏置變數b,加上偏置變數後的計算公式為:
同時,兩層神經網路不再使用sgn函數作為激勵函數,而採用平滑的sigmoid函數:
σ(z)=1/(1+e^(-z) )
其圖像如下:
理論證明: 兩層及以上的神經網路可以無限逼近真實的對應函數,從而模擬數據之間的真實關系 ,這是神經網路強大預測能力的根本。但兩層神經網路的計算量太大,當時的計算機的計算能力完全跟不上,直到1986年,Rumelhar和Hinton等人提出了反向傳播(Backpropagation,BP)演算法,解決了兩層神經網路所需要的復雜計算量問題,帶動了業界使用兩層神經網路研究的熱潮。
但好景不長,演算法的改進僅使得神經網路風光了幾年,然而計算能力不夠,局部最優解,調參等一系列問題一直困擾研究人員。90年代中期,由Vapnik等人發明的SVM(Support Vector Machines,支持向量機)演算法誕生,很快就在若干個方面體現出了對比神經網路的優勢:無需調參;高效;全局最優解。
由於以上原因,SVM迅速打敗了神經網路演算法成為主流。神經網路的研究再一次進入低谷, AI Winter again 。
多層神經網路一般指兩層或兩層以上的神經網路(不包括輸入層),更多情況下指兩層以上的神經網路。
2006年,Hinton提出使用 預訓練 」(pre-training)和「微調」(fine-tuning)技術能優化神經網路訓練,大幅度減少訓練多層神經網路的時間
並且,他給多層神經網路相關的學習方法賦予了一個新名詞–「 深度學習 」,以此為起點,「深度學習」紀元開始了:)
「深度學習」一方面指神經網路的比較「深」,也就是層數較多;另一方面也可以指神經網路能學到很多深層次的東西。研究發現,在權重參數不變的情況下,增加神經網路的層數,能增強神經網路的表達能力。
但深度學習究竟有多強大呢?沒人知道。2012年,Hinton與他的學生在ImageNet競賽中,用多層的卷積神經網路成功地對包含一千類別的一百萬張圖片進行了訓練,取得了分類錯誤率15%的好成績,這個成績比第二名高了近11個百分點,充分證明了多層神經網路識別效果的優越性。
同時,科研人員發現GPU的大規模並行矩陣運算模式完美地契合神經網路訓練的需要,在同等情況下,GPU的速度要比CPU快50-200倍,這使得神經網路的訓練時間大大減少,最終再一次掀起了神經網路研究的熱潮,並且一直持續到現在。
2016年基於深度學習的Alpha Go在圍棋比賽中以4:1的大比分優勢戰勝了李世石,深度學習的威力再一次震驚了世界。
神經網路的發展歷史曲折盪漾,既有被捧上神壇的高潮,也有無人問津的低谷,中間經歷了數次大起大落,我們姑且稱之為「三起三落」吧,其背後則是演算法的改進和計算能力的持續發展。
下圖展示了神經網路自發明以來的發展情況及一些重大時間節點。
當然,對於神經網路我們也要保持清醒的頭腦。由上圖,每次神經網路研究的興盛期持續10年左右,從最近2012年算起,或許10年後的2022年,神經網路的發展將再次遇到瓶頸。
神經網路作為機器學習的一種,其模型訓練的目的,就是使得參數盡可能的與真實的模型逼近。理論證明,兩層及以上的神經網路可以無限逼近真實的映射函數。因此,給定足夠的訓練數據和訓練時間,總能通過神經網路找到無限逼近真實關系的模型。
具體做法:首先給所有權重參數賦上隨機值,然後使用這些隨機生成的參數值,來預測訓練數據中的樣本。假設樣本的預測目標為yp ,真實目標為y,定義值loss,計算公式如下:
loss = (yp -y) ^2
這個值稱之為 損失 (loss),我們的目標就是使對所有訓練數據的損失和盡可能的小,這就轉化為求loss函數極值的問題。
一個常用方法是高等數學中的求導,但由於參數不止一個,求導後計算導數等於0的運算量很大,所以常用梯度下降演算法來解決這樣的優化問題。梯度是一個向量,由函數的各自變數的偏導數組成。
比如對二元函數 f =(x,y),則梯度∇f=(∂f/∂x,∂f/∂y)。梯度的方向是函數值上升最快的方向。梯度下降演算法每次計算參數在當前的梯度,然後讓參數向著梯度的反方向前進一段距離,不斷重復,直到梯度接近零時截止。一般這個時候,所有的參數恰好達到使損失函數達到一個最低值的狀態。下圖為梯度下降的大致運行過程:
在神經網路模型中,由於結構復雜,每次計算梯度的代價很大。因此還需要使用 反向傳播 (Back Propagation)演算法。反向傳播演算法利用了神經網路的結構進行計算,不一次計算所有參數的梯度,而是從後往前。首先計算輸出層的梯度,然後是第二個參數矩陣的梯度,接著是中間層的梯度,再然後是第一個參數矩陣的梯度,最後是輸入層的梯度。計算結束以後,所要的兩個參數矩陣的梯度就都有了。當然,梯度下降只是其中一個優化演算法,其他的還有牛頓法、RMSprop等。
確定loss函數的最小值後,我們就確定了整個神經網路的權重,完成神經網路的訓練。
在神經網路中一樣的參數數量,可以用更深的層次去表達。
由上圖,不算上偏置參數的話,共有三層神經元,33個權重參數。
由下圖,保持權重參數不變,但增加了兩層神經元。
在多層神經網路中,每一層的輸入是前一層的輸出,相當於在前一層的基礎上學習,更深層次的神經網路意味著更深入的表示特徵,以及更強的函數模擬能力。更深入的表示特徵可以這樣理解,隨著網路的層數增加,每一層對於前一層次的抽象表示更深入。
如上圖,第一個隱藏層學習到「邊緣」的特徵,第二個隱藏層學習到「邊緣」組成的「形狀」的特徵,第三個隱藏層學習到由「形狀」組成的「圖案」的特徵,最後的隱藏層學習到由「圖案」組成的「目標」的特徵。通過抽取更抽象的特徵來對事物進行區分,從而獲得更好的區分與分類能力。
前面提到, 明斯基認為Rosenblatt提出的感知器模型不能處理最簡單的「異或」(XOR)非線性問題,所以神經網路的研究沒有前途,但當增加一層神經元後,異或問題得到了很好地解決,原因何在?原來從輸入層到隱藏層,數據發生了空間變換,坐標系發生了改變,因為矩陣運算本質上就是一種空間變換。
如下圖,紅色和藍色的分界線是最終的分類結果,可以看到,該分界線是一條非常平滑的曲線。
但是,改變坐標系後,分界線卻表現為直線,如下圖:
同時,非線性激勵函數的引入使得神經網路對非線性問題的表達能力大大加強。
對於傳統的樸素貝葉斯、決策樹、支持向量機SVM等分類器,提取特徵是一個非常重要的前置工作。在正式訓練之前,需要花費大量的時間在數據的清洗上,這樣分類器才能清楚地知道數據的維度,要不然基於概率和空間距離的線性分類器是沒辦法進行工作的。然而在神經網路中,由於巨量的線性分類器的堆疊(並行和串列)以及卷積神經網路的使用,它對雜訊的忍耐能力、對多通道數據上投射出來的不同特徵偏向的敏感程度會自動重視或忽略,這樣我們在處理的時候,就不需要使用太多的技巧用於數據的清洗了。有趣的是,業內大佬常感嘆,「你可能知道SVM等機器學習的所有細節,但是效果並不好,而神經網路更像是一個黑盒,很難知道它究竟在做什麼,但工作效果卻很好」。
人類對機器學習的環節干預越少,就意味著距離人工智慧的方向越近。神經網路的這個特性非常有吸引力。
1) 谷歌的TensorFlow開發了一個非常有意思的神經網路 入門教程 ,用戶可以非常方便地在網頁上更改神經網路的參數,並且能看到實時的學習效率和結果,非常適合初學者掌握神經網路的基本概念及神經網路的原理。網頁截圖如下:
2) 深度學習領域大佬吳恩達不久前發布的《 神經網路和深度學習 》MOOC,現在可以在網易雲課堂上免費觀看了,並且還有中文字幕。
3) 《神經網路於深度學習》(Michael Nielsen著)、《白話深度學習與TensorFlow》也是不錯的入門書籍。
9. 人工神經網路的主要研究成果
1 人工神經網路產生的背景
自古以來,關於人類智能本源的奧秘,一直吸引著無數哲學家和自然科學家的研究熱情。生物學家、神經學家經過長期不懈的努力,通過對人腦的觀察和認識,認為人腦的智能活動離不開腦的物質基礎,包括它的實體結構和其中所發生的各種生物、化學、電學作用,並因此建立了神經元網路理論和神經系統結構理論,而神經元理論又是此後神經傳導理論和大腦功能學說的基礎。在這些理論基礎之上,科學家們認為,可以從仿製人腦神經系統的結構和功能出發,研究人類智能活動和認識現象。另一方面,19世紀之前,無論是以歐氏幾何和微積分為代表的經典數學,還是以牛頓力學為代表的經典物理學,從總體上說,這些經典科學都是線性科學。然而,客觀世界是如此的紛繁復雜,非線性情況隨處可見,人腦神經系統更是如此。復雜性和非線性是連接在一起的,因此,對非線性科學的研究也是我們認識復雜系統的關鍵。為了更好地認識客觀世界,我們必須對非線性科學進行研究。人工神經網路作為一種非線性的、與大腦智能相似的網路模型,就這樣應運而生了。所以,人工神經網路的創立不是偶然的,而是20世紀初科學技術充分發展的產物。
2 人工神經網路的發展
人工神經網路的研究始於40年代初。半個世紀以來,經歷了興起、高潮與蕭條、高潮及穩步發展的遠為曲折的道路。
1943年,心理學家W.S.Mcculloch和數理邏輯學家W.Pitts 提出了M—P模型,這是第一個用數理語言描述腦的信息處理過程的模型, 雖然神經元的功能比較弱,但它為以後的研究工作提供了依據。1949年,心理學家D.O.Hebb提出突觸聯系可變的假設,根據這一假設提出的學習規律為神經網路的學習演算法奠定了基礎。 1957 年, 計算機科學家Rosenblatt提出了著名的感知機模型,它的模型包含了現代計算機的一些原理,是第一個完整的人工神經網路,第一次把神經網路研究付諸工程實現。由於可應用於模式識別,聯想記憶等方面,當時有上百家實驗室投入此項研究,美國軍方甚至認為神經網路工程應當比「原子彈工程」更重要而給予巨額資助,並在聲納信號識別等領域取得一定成績。1960年,B.Windrow和E.Hoff提出了自適應線性單元, 它可用於自適應濾波、預測和模式識別。至此,人工神經網路的研究工作進入了第一個高潮。
1969年,美國著名人工智慧學者M.Minsky和S.Papert編寫了影響很大的Perceptron一書,從理論上證明單層感知機的能力有限,諸如不能解決異或問題,而且他們推測多層網路的感知機能力也不過如此,他們的分析恰似一瓢冷水,很多學者感到前途渺茫而紛紛改行,原先參與研究的實驗室紛紛退出,在這之後近10年,神經網路研究進入了一個緩慢發展的蕭條期。這期間,芬蘭學者T.Kohonen 提出了自組織映射理論,反映了大腦神經細胞的自組織特性、記憶方式以及神經細胞興奮刺激的規律;美國學者S.A.Grossberg的自適應共振理論(ART );日本學者K.Fukushima提出了認知機模型;ShunIchimari則致力於神經網路有關數學理論的研究等,這些研究成果對以後的神經網路的發展產生了重要影響。
美國生物物理學家J.J.Hopfield於1982年、1984年在美國科學院院刊發表的兩篇文章,有力地推動了神經網路的研究,引起了研究神經網路的又一次熱潮。 1982 年, 他提出了一個新的神經網路模型——hopfield網路模型。他在這種網路模型的研究中,首次引入了網路能量函數的概念,並給出了網路穩定性的判定依據。1984年,他又提出了網路模型實現的電子電路,為神經網路的工程實現指明了方向,他的研究成果開拓了神經網路用於聯想記憶的優化計算的新途徑,並為神經計算機研究奠定了基礎。1984年Hinton等人將模擬退火演算法引入到神經網路中,提出了Boltzmann機網路模型,BM 網路演算法為神經網路優化計算提供了一個有效的方法。1986年,D.E.Rumelhart和J.LMcclelland提出了誤差反向傳播演算法,成為至今為止影響很大的一種網路學習方法。1987年美國神經計算機專家R.Hecht—Nielsen提出了對向傳播神經網路,該網路具有分類靈活,演算法簡練的優點,可用於模式分類、函數逼近、統計分析和數據壓縮等領域。1988年L.Ochua 等人提出了細胞神經網路模型,它在視覺初級加工上得到了廣泛應用。
為適應人工神經網路的發展,1987年成立了國際神經網路學會,並決定定期召開國際神經網路學術會議。1988年1月Neural Network 創刊。1990年3月IEEE Transaction on Neural Network問世。 我國於1990年12月在北京召開了首屆神經網路學術大會,並決定以後每年召開一次。1991 年在南京成立了中國神經網路學會。 IEEE 與INNS 聯合召開的IJCNN92已在北京召開。 這些為神經網路的研究和發展起了推波助瀾的作用,人工神經網路步入了穩步發展的時期。
90年代初,諾貝爾獎獲得者Edelman提出了Darwinism模型,建立了神經網路系統理論。同年,Aihara等在前人推導和實驗的基礎上,給出了一個混沌神經元模型,該模型已成為一種經典的混沌神經網路模型,該模型可用於聯想記憶。 Wunsch 在90OSA 年會上提出了一種AnnualMeeting,用光電執行ART,學習過程有自適應濾波和推理功能,具有快速和穩定的學習特點。1991年,Hertz探討了神經計算理論, 對神經網路的計算復雜性分析具有重要意義;Inoue 等提出用耦合的混沌振盪子作為某個神經元,構造混沌神經網路模型,為它的廣泛應用前景指明了道路。1992年,Holland用模擬生物進化的方式提出了遺傳演算法, 用來求解復雜優化問題。1993年方建安等採用遺傳演算法學習,研究神經網路控制器獲得了一些結果。1994年Angeline等在前人進化策略理論的基礎上,提出一種進化演算法來建立反饋神經網路,成功地應用到模式識別,自動控制等方面;廖曉昕對細胞神經網路建立了新的數學理論和方法,得到了一系列結果。HayashlY根據動物大腦中出現的振盪現象,提出了振盪神經網路。1995年Mitra把人工神經網路與模糊邏輯理論、 生物細胞學說以及概率論相結合提出了模糊神經網路,使得神經網路的研究取得了突破性進展。Jenkins等人研究光學神經網路, 建立了光學二維並行互連與電子學混合的光學神經網路,它能避免網路陷入局部最小值,並最後可達到或接近最理想的解;SoleRV等提出流體神經網路,用來研究昆蟲社會,機器人集體免疫系統,啟發人們用混沌理論分析社會大系統。1996年,ShuaiJW』等模擬人腦的自發展行為, 在討論混沌神經網路的基礎上提出了自發展神經網路。1997、1998年董聰等創立和完善了廣義遺傳演算法,解決了多層前向網路的最簡拓樸構造問題和全局最優逼近問題。
隨著理論工作的發展,神經網路的應用研究也取得了突破性進展,涉及面非常廣泛,就應用的技術領域而言有計算機視覺,語言的識別、理解與合成,優化計算,智能控制及復雜系統分析,模式識別,神經計算機研製,知識推理專家系統與人工智慧。涉及的學科有神經生理學、認識科學、數理科學、心理學、信息科學、計算機科學、微電子學、光學、動力學、生物電子學等。美國、日本等國在神經網路計算機軟硬體實現的開發方面也取得了顯著的成績,並逐步形成產品。在美國,神經計算機產業已獲得軍方的強有力支持,國防部高級研究計劃局認為「神經網路是解決機器智能的唯一希望」,僅一項8 年神經計算機計劃就投資4億美元。在歐洲共同體的ESPRIT計劃中, 就有一項特別項目:「神經網路在歐洲工業中的應用」,單是生產神經網路專用晶元這一項就投資2200萬美元。據美國資料聲稱,日本在神經網路研究上的投資大約是美國的4倍。我國也不甘落後,自從1990 年批准了南開大學的光學神經計算機等3項課題以來, 國家自然科學基金與國防預研基金也都為神經網路的研究提供資助。另外,許多國際著名公司也紛紛捲入對神經網路的研究,如Intel、IBM、Siemens、HNC。神經計算機產品開始走向商用階段,被國防、企業和科研部門選用。在舉世矚目的海灣戰爭中,美國空軍採用了神經網路來進行決策與控制。在這種刺激和需求下,人工神經網路定會取得新的突破,迎來又一個高潮。自1958年第一個神經網路誕生以來,其理論與應用成果不勝枚舉。人工神經網路是一個快速發展著的一門新興學科,新的模型、新的理論、新的應用成果正在層出不窮地涌現出來。
3 人工神經網路的發展前景
針對神經網路存在的問題和社會需求,今後發展的主要方向可分為理論研究和應用研究兩個方面。
(1)利用神經生理與認識科學研究大腦思維及智能的機理、 計算理論,帶著問題研究理論。
人工神經網路提供了一種揭示智能和了解人腦工作方式的合理途徑,但是由於人類起初對神經系統了解非常有限,對於自身腦結構及其活動機理的認識還十分膚淺,並且帶有某種「先驗」。例如, Boltzmann機引入隨機擾動來避免局部極小,有其卓越之處,然而缺乏必要的腦生理學基礎,毫無疑問,人工神經網路的完善與發展要結合神經科學的研究。而且,神經科學,心理學和認識科學等方面提出的一些重大問題,是向神經網路理論研究提出的新挑戰,這些問題的解決有助於完善和發展神經網路理論。因此利用神經生理和認識科學研究大腦思維及智能的機理,如有新的突破,將會改變智能和機器關系的認識。
利用神經科學基礎理論的研究成果,用數理方法探索智能水平更高的人工神經網路模型,深入研究網路的演算法和性能,如神經計算、進化計算、穩定性、收斂性、計算復雜性、容錯性、魯棒性等,開發新的網路數理理論。由於神經網路的非線性,因此非線性問題的研究是神經網路理論發展的一個最大動力。特別是人們發現,腦中存在著混沌現象以來,用混沌動力學啟發神經網路的研究或用神經網路產生混沌成為擺在人們面前的一個新課題,因為從生理本質角度出發是研究神經網路的根本手段。
(2)神經網路軟體模擬, 硬體實現的研究以及神經網路在各個科學技術領域應用的研究。
由於人工神經網路可以用傳統計算機模擬,也可以用集成電路晶元組成神經計算機,甚至還可以用光學的、生物晶元的方式實現,因此研製純軟體模擬,虛擬模擬和全硬體實現的電子神經網路計算機潛力巨大。如何使神經網路計算機與傳統的計算機和人工智慧技術相結合也是前沿課題;如何使神經網路計算機的功能向智能化發展,研製與人腦功能相似的智能計算機,如光學神經計算機,分子神經計算機,將具有十分誘人的前景。
4 哲理
(1)人工神經網路打開了認識論的新領域
認識與腦的問題,長期以來一直受到人們的關注,因為它不僅是有關人的心理、意識的心理學問題,也是有關人的思維活動機制的腦科學與思維科學問題,而且直接關繫到對物質與意識的哲學基本問題的回答。人工神經網路的發展使我們能夠更進一步地既唯物又辯證地理解認識與腦的關系,打開認識論的新領域。人腦是一個復雜的並行系統,它具有「認知、意識、情感」等高級腦功能,用人工進行模擬,有利於加深對思維及智能的認識,已對認知和智力的本質的研究產生了極大的推動作用。在研究大腦的整體功能和復雜性方面,人工神經網路給人們帶來了新的啟迪。由於人腦中存在混沌現象,混沌可用來理解腦中某些不規則的活動,從而混沌動力學模型能用作人對外部世界建模的工具,可用來描述人腦的信息處理過程。混沌和智能是有關的,神經網路中引入混沌學思想有助於提示人類形象思維等方面的奧秘。人工神經網路之所以再度興起,關鍵在於它反映了事物的非線性,抓住了客觀世界的本質,而且它在一定程度上正面回答了智能系統如何從環境中自主學習這一最關鍵的問題,從認知的角度講,所謂學習,就是對未知現象或規律的發現和歸納。由於神經網路具有高度的並行性,高度的非線性全局作用,良好的容錯性與聯想記憶功能以及十分強的自適應、自學習功能,而使得它成為揭示智能和了解人腦工作方式的合理途徑。但是,由於認知問題的復雜性,目前,我們對於腦神經網的運行和神經細胞的內部處理機制,如信息在人腦是如何傳輸、存貯、加工的?記憶、聯想、判斷是如何形成的?大腦是否存在一個操作系統?還沒有太多的認識,因此要製造人工神經網路來模仿人腦各方面的功能,還有待於人們對大腦信息處理機理認識的深化。
(2)人工神經網路發展的推動力來源於實踐、 理論和問題的相互作用
隨著人們社會實踐范圍的不斷擴大,社會實踐層次的不斷深入,人們所接觸到的自然現象也越來越豐富多彩、紛繁復雜,這就促使人們用不同的原因加以解釋不同種類的自然現象,當不同種類的自然現象可以用同樣的原因加以解釋,這樣就出現了不同學科的相互交叉、綜合,人工神經網路就這樣產生了。在開始階段,由於這些理論化的網路模型比較簡單,還存在許多問題,而且這些模型幾乎沒有得到實踐的檢驗,因而神經網路的發展比較緩慢。隨著理論研究的深入,問題逐漸地解決特別是工程上得到實現以後,如聲納識別成功,才迎來了神經網路的第一個發展高潮。可Minisky認為感知器不能解決異或問題, 多層感知器也不過如此,神經網路的研究進入了低谷,這主要是因為非線性問題沒得到解決。隨著理論的不斷豐富,實踐的不斷深入, 現在已證明Minisky的悲觀論調是錯誤的。今天,高度發達的科學技術逐漸揭示了非線性問題是客觀世界的本質。問題、理論、實踐的相互作用又迎來了人工神經網路的第二次高潮。目前人工神經網路的問題是智能水平不高,還有其它理論和實現方面的問題,這就迫使人們不斷地進行理論研究,不斷實踐,促使神經網路不斷向前發展。總之,先前的原因遇到了解釋不同的新現象,促使人們提出更加普遍和精確的原因來解釋。理論是基礎,實踐是動力,但單純的理論和實踐的作用還不能推動人工神經網路的發展,還必須有問題提出,才能吸引科學家進入研究的特定范圍,引導科學家從事相關研究,從而逼近科學發現,而後實踐又提出新問題,新問題又引發新的思考,促使科學家不斷思考,不斷完善理論。人工神經網路的發展無不體現著問題、理論和實踐的辯證統一關系。
(3 )人工神經網路發展的另一推動力來源於相關學科的貢獻及不同學科專家的競爭與協同
人工神經網路本身就是一門邊緣學科,它的發展有更廣闊的科學背景,亦即是眾多科研成果的綜合產物,控制論創始人Wiener在其巨著《控制論》中就進行了人腦神經元的研究;計算機科學家Turing就提出過B網路的設想;Prigogine提出非平衡系統的自組織理論,獲得諾貝爾獎;Haken研究大量元件聯合行動而產生宏觀效果, 非線性系統「混沌」態的提出及其研究等,都是研究如何通過元件間的相互作用建立復雜系統,類似於生物系統的自組織行為。腦科學與神經科學的進展迅速反映到人工神經網路的研究中,例如生物神經網路理論,視覺中發現的側抑制原理,感受野概念等,為神經網路的發展起了重要的推動作用。從已提出的上百種人工神經網路模型中,涉及學科之多,令人目不暇接,其應用領域之廣,令人嘆為觀止。不同學科專家為了在這一領域取得領先水平,存在著不同程度的競爭,所有這些有力地推動了人工神經網路的發展。人腦是一個功能十分強大、結構異常復雜的信息系統,隨著資訊理論、控制論、生命科學,計算機科學的發展,人們越來越驚異於大腦的奇妙,至少到目前為止,人類大腦信號處理機制對人類自身來說,仍是一個黑盒子,要揭示人腦的奧秘需要神經學家、心理學家、計算機科學家、微電子學家、數學家等專家的共同努力,對人類智能行為不斷深入研究,為人工神經網路發展提供豐富的理論源泉。另外,還要有哲學家的參與,通過哲學思想和自然科學多種學科的深層結合,逐步孕育出探索人類思維本質和規律的新方法,使思維科學從朦朧走向理性。而且,不同領域專家的競爭與協調同有利於問題清晰化和尋求最好的解決途徑。縱觀神經網路的發展歷史,沒有相關學科的貢獻,不同學科專家的競爭與協同,神經網路就不會有今天。當然,人工神經網路在各個學科領域應用的研究反過來又推動其它學科的發展,推動自身的完善和發展。