神經網絡算法

2021-02-15 FHM 2K

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

並行性具有一定的爭議性。承認具有並行性理由:神經網絡是根據人的大腦而抽象出來的數學模型,由於人可以同時做一些事,所以從功能的模擬角度上看,神經網絡也應具備很強的並行性。

多少年以來,人們從醫學、生物學、生理學、哲學、信息學、計算機科學、認知學、組織協同學等各個角度企圖認識並解答上述問題。在尋找上述問題答案的研究過程中,這些年來逐漸形成了一個新興的多學科交叉技術領域,稱之為「神經網絡」。神經網絡的研究涉及眾多學科領域,這些領域互相結合、相互滲透並相互推動。不同領域的科學家又從各自學科的興趣與特色出發,提出不同的問題,從不同的角度進行研究。

下面將人工神經網絡與通用的計算機工作特點來對比一下:

若從速度的角度出發,人腦神經元之間傳遞信息的速度要遠低於計算機,前者為毫秒量級,而後者的頻率往往可達幾百兆赫。但是,由於人腦是一個大規模並行與串行組合處理系統,因而,在許多問題上可以作出快速判斷、決策和處理,其速度則遠高於串行結構的普通計算機。人工神經網絡的基本結構模仿人腦,具有並行處理特徵,可以大大提高工作速度。

人腦存貯信息的特點為利用突觸效能的變化來調整存貯內容,也即信息存貯在神經元之間連接強度的分布上,存貯區與計算機區合為一體。雖然人腦每日有大量神經細胞死亡 (平均每小時約一千個),但不影響大腦的正常思維活動。

普通計算機是具有相互獨立的存貯器和運算器,知識存貯與數據運算互不相關,只有通過人編出的程序使之溝通,這種溝通不能超越程序編制者的預想。元器件的局部損壞及程序中的微小錯誤都可能引起嚴重的失常。

相關焦點

  • 入門級神經網絡算法
    神經網絡可以指向兩種,一個是生物神經網絡,一個是人工神經網絡。生物神經網絡:一般指生物的大腦神經元,細胞,觸點等組成的網絡 ,用於產生生物的意識,幫助生物進行思考和行動。人工神經網絡(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經網絡(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經網絡行為特徵,進行分布式並行信息處理的算法數學模型。這種網絡依靠系統的複雜程度,通過調整內部大量節點之間相互連接的關係,從而達到處理信息的目的。
  • 「人工神經網絡」人工神經網絡之BP算法
    人工神經網絡(Artificial Neural Network,ANN)是在受到了生物學的啟發後創建的,在某種程度上它是對生物大腦的一種模擬。人們仿照生物神經網絡的結構,使用簡單運算單元模擬神經元,並將大量運算單元按某種形式密集連接,便構成了人工神經網絡。結構如圖:人工神經網絡(ANN)模型帶有權重值(w1,w2,...
  • BP神經網絡算法(附matlab程序)
    首先,先來認識一下神經網絡算法。我在書上看見了一條神經網絡算法的定義(雖然很空洞);「神經網絡是具有適應性的簡單單元組成的廣泛並行互連的網絡,它的組織能夠模擬生物神經系統對真實世界物體所做出的交互反應」。神經元的工作機制是這樣的;如果某神經元的點位超過了一個「閾值」,那麼它就會被激活,即「興奮」起來,向其它神經元發送化學物質。神經網絡算法也是運用了這樣的機制。
  • R語言與分類算法-神經網絡
    人工神經網絡中也有大量有局部處理能力的神經元,也能夠將信息進行大規模並行處理存儲與操作:人腦和人工神經網絡都是通過神經元的連接強度來實現記憶存儲功能,同時為概括、類比、推廣提供有力的支持訓練:同人腦一樣,人工神經網絡將根據自己的結構特性,使用不同的訓練、學習過程,自動從實踐中獲得相關知識       神經網絡是一種運算模型,由大量的節點(或稱「
  • 用粒子群優化算法訓練神經網絡
    PSO-for-Neural-Nets大家知道,使用反向傳播對神經網絡進行訓練是非常有效的。但如果網絡參數的初始值設得不好時,各位可能也有過訓練十分緩慢的經歷。本篇是一項實驗工作,目的是在訓練神經網絡時不使用反向傳播以及梯度下降算法,而是先使用粒子群優化算法(Particle Swarm Optimization,PSO)對網絡參數進行初始化,之後可以再次使用反向傳播對網絡進行正式訓練。
  • 訓練神經網絡的五大算法:技術原理、內存與速度分析
    訓練算法有很多,各具不同的特徵和性能。  神經網絡中的學習問題是以損失函數f的最小化界定的。這個函數一般由一個誤差項和一個正則項組成。誤差項評估神經網絡如何擬合數據集,正則項用於通過控制神經網絡的有效複雜性來防止過擬合。 損失函數取決於神經網絡中的自適應參數(偏差和突觸權值)。我們可以簡便地把它們組合成單個n維權值向量w。
  • 神經網絡解析|RNN(循環神經網絡)
    大家如果了解BP算法或者前文我們介紹的CNN網絡就會發現,他們的輸出都是只考慮前一個輸入的影響而不考慮其它時刻輸入的影響,比如簡單的貓,狗等圖片,或者手寫數字等單個物體的識別具有較好的效果。但是,對於一些與時間先後有關的,比如視頻的下一時刻的預測,文檔前後文內容的預測等,這些算法的表現就不盡如人意了。因此,RNN就應運而生了。
  • 神經網絡、logistic回歸等分類算法簡單實現
    用到的原理是深度學習裡的循環神經網絡,無奈理論太艱深,只能從頭開始開始慢慢看,因此產生寫一個項目的想法,把機器學習和深度學習裡關於分類的算法整理一下,按照原理寫一些demo,方便自己也方便其他人。項目地址:https://github.com/LiuRoy/classfication_demo,目前實現了邏輯回歸和神經網絡兩種分類算法。
  • 神經網絡-BP神經網絡
    感知器作為初代神經網絡,具有簡單、計算量小等優點,但只能解決線性問題。BP神經網絡在感知器的基礎上,增加了隱藏層,通過任意複雜的模式分類能力和優良的多維函數映射能力,解決了異或等感知器不能解決的問題,並且BP神經網絡也是CNN等複雜神經網絡等思想根源。
  • 美團技術團隊|基於神經網絡StarNet的行人軌跡交互預測算法
    在此過程中,美團無人配送團隊也取得了一些技術層面的突破,比如基於神經網絡StarNet的行人軌跡交互預測算法,論文已發表在IROS 2019。IROS 的全稱是IEEE/RSJ International Conference on Intelligent Robots and Systems,IEEE智慧機器人與系統國際會議,它和ICRA、RSS並稱為機器人領域三大國際頂會。
  • 機器學習——神經網絡
    1、神經網絡由輸入層、隱藏層、輸出層組成;2、層與層之間的神經元有連接,而層內之間的神經元沒有連接。
  • Talk預告 | 卡內基梅隆大學博士後研究員張歡: 構建更強大、更大規模的神經網絡驗證算法
    他與大家分享的主題是: 「構建更強大、更大規模的神經網絡驗證算法」,屆時將主要介紹神經網絡驗證算法,用於嚴格證明神經網絡的屬性比如安全性、魯棒性、公平性等等。但是,在一些對安全性、魯棒性要求很高的系統中使用深度神經網絡時,比如自動駕駛、醫療系統和安全監控系統等,我們需要神經網絡具有可預測的、可靠的和魯棒的性能,這是一個非常有挑戰性的問題。例如,現有的一些研究已經發現,在很多應用中的神經網絡都缺乏魯棒性並存在對抗樣本,它可以使神經網絡在一些十分簡單的任務上出錯。
  • 神經網絡在醫學中的應用
    首先,應用粒子群優化算法與BP神經網絡的映射關係,通過粒子群強大的搜索功能找到最佳適應函數,使對應的BP神經網絡的均方誤差達到最小值,克服了BP神經網絡產生多個局部最小值的可能;其次,確定粒子的最佳位置後,在BP神經網絡學習中獲得最合理的權值和偏置值,以提高網絡的收斂速度;最後,BP神經網絡經反覆訓練後,獲得最佳輸出值,並計算閾值,通過閾值來分割圖像區域。
  • 一文看懂各種神經網絡優化算法:從梯度下降到Adam方法
    比如說,權重(W)和偏差(b)就是這樣的內部參數,一般用於計算輸出值,在訓練神經網絡模型時起到主要作用。在有效地訓練模型並產生準確結果時,模型的內部參數起到了非常重要的作用。這也是為什麼我們應該用各種優化策略和算法,來更新和計算影響模型訓練和模型輸出的網絡參數,使其逼近或達到最優值。
  • KDD 2019 | 使用神經網絡為A*搜索算法賦能:以個性化路徑推薦為例
    傳統的 A* 算法對於「最短路徑」、「最快路徑」的搜索非常有效,但是對於「最喜歡的路徑」搜索就很難發揮作用。因為用戶的偏好是一個非常複雜的非線性過程,無法用簡單的歐氏距離進行度量。面對這樣的問題,我們提出使用深度神經網絡來學習 A* 算法的 g(n) 和 h(n) 值,以此來幫助 A* 算法解決更為複雜的問題。
  • 神經網絡簡介一
    本文部分圖片來源於網絡,如有侵權,請告知,我們將立即調整!目錄:1. 為什麼需要神經網絡?1.1 從logistic回歸出發1.2 PPR模型1.3 全連接神經網絡1.4 總結2.反向傳播2.1 鏈式法則2.2 反向傳播的直觀理解2.3 反向傳播的算法表達3. 神經網絡一些重要的細節4. 神經網絡的實踐限於篇幅,第三和第四部分將在下一篇文章中進行介紹,敬請期待!1. 為什麼需要神經網絡?
  • 開源 | Intel發布神經網絡壓縮庫Distiller:快速利用前沿算法壓縮PyTorch模型
    近日,Intel 開源了一個用於神經網絡壓縮的開源 Python 軟體包 Distiller,它可以減少深度神經網絡的內存佔用、加快推斷速度及節省能耗
  • MATLAB 基於灰色神經網絡的預測算法研究—訂單需求預測
    MATLAB  神經網絡變量篩選—基於BP的神經網絡變量篩選灰色系統理論是一種研究少數據、貧信息、不確定性問題的新方法,它以部分信息已知
  • 《神經網絡和深度學習》系列文章四:神經網絡的結構
    本節譯者:哈工大SCIR碩士生 徐偉 (https://github.com/memeda)聲明:我們將在每周一,周四,周日定期連載該書的中文翻譯,如需轉載請聯繫wechat_editors@ir.hit.edu.cn,未經授權不得轉載。
  • 遺傳拓撲神經網絡
    Stanley等人[9]提出的遺傳拓撲神經網絡(NEAT算法)同樣也是結合了神經網絡和遺傳算法產生的一種全新模型。它與6.1節介紹的遺傳演化神經網絡不同的地方在於加入了交叉操作。不過它的年代比較久遠了,是來自2003年的一篇論文。因為近些年來計算機算力的提升與強化學習的興起,遺傳拓撲神經網絡又走進了人們的視野。