1. 程式人生 > >機器學習筆記-CNN-神經網絡

機器學習筆記-CNN-神經網絡

連通 很大的 符號表 其他 專家系統 定量 人的 滲透 直觀

轉自:http://blog.csdn.net/kevin_bobolkevin/article/details/50494034

深度學習之一---什麽是神經網絡

剛開始學習深度學習,最近把所學的整理了一下,也是對所學的一個總結。

深度學習的概念源於人工神經網絡的研究。為了更好地理解深度學習,首先要先了解下什麽是神經網絡,它的工作原理、應用及發展。

邏輯性的思維是指根據邏輯規則進行推理的過程;它先將信息化成概念,並用符號表示,然後,根據符號運算按串行模式進行邏輯推理;這一過程可以寫成串行的指令,讓計算機執行。然而,直觀性的思維是將分布式存儲的信息綜合起來,結果是忽然間產生想法或解決問題的辦法。這種思維方式的根本之點在於以下兩點:

1.信息是通過神經元上的興奮模式分布儲在網絡上;

2.信息處理是通過神經元之間同時相互作用的動態過程來完成的。

神經網絡

思維學普遍認為,人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。

人工神經網絡就是模擬人思維的第二種方式。這是一個非線性動力學系統,其特色在於信息的分布式存儲和並行協同處理。雖然單個神經元的結構極其簡單,功能有限,但大量神經元構成的網絡系統所能實現的行為卻是極其豐富多彩的。

神經網絡的研究內容相當廣泛,反映了多學科交叉技術領域的特點。主要的研究工作集中在以下幾個方面:

(1)生物原型研究。從生理學、心理學、解剖學、腦科學、病理學等生物科學方面研究神經細胞、神經網絡、神經系統的生物原型結構及其功能機理。

(2)建立理論模型。根據生物原型的研究,建立神經元、神經網絡的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。

(3)網絡模型與算法研究。在理論模型研究的基礎上構作具體的神經網絡模型,以實現計算機模擬或準備制作硬件,包括網絡學習算法的研究。這方面的工作也稱為技術模型研究。

(4)人工神經網絡應用系統。在網絡模型與算法研究的基礎上,利用人工神經網絡組成實際的應用系統,例如,完成某種信號處理或模式識別的功能、構造專家系統、制成機器人等等。

縱觀當代新興科學技術的發展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學技術領域的進程中歷經了崎嶇不平的道路。我們也會看到,探索人腦功能和神經網絡的研究將伴隨著重重困難的克服而日新月異。

人工神經網絡

人工神經網絡(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網絡。

總體來說,神經網絡經歷了從高潮到低谷,再到高潮的階段,充滿曲折的過程。

機器學習筆記-CNN-神經網絡