導航:首頁 > 網路問題 > 感知神經網路的轉移函數是什麼

感知神經網路的轉移函數是什麼

發布時間:2023-06-01 00:59:15

① 人工神經網路綜述

文章主要分為:
一、人工神經網路的概念;
二、人工神經網路的發展歷史;
三、人工神經網路的特點;
四、人工神經網路的結構。
。。

人工神經網路(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)學習或稱無導師學習,這時,只規定學習方式或某些規則,而具體的學習內容隨系統所處環境(即輸入信號情況)而異,系統可以自動發現環境特徵和規律性,具有更近似於人腦的功能。
在人工神經網路設計及應用研究中,通常需要考慮三個方面的內容,即神經元激活函數、神經元之間的連接形式和網路的學習(訓練)。

② 在搭建神經網路的時候,如何選擇合適的轉移函數(

一般來說,神經網路的激勵函數有以下幾種:階躍函數 ,准線性函數,雙曲正切函數,Sigmoid函數等等,其中sigmoid函數就是你所說的S型函數。以我看來,在你訓練神經網路時,激勵函數是不輕易換的,通常設置為S型函數。如果你的神經網路訓練效果不好,應從你所選擇的演算法上和你的數據上找原因。演算法上BP神經網路主要有自適應學習速率動量梯度下降反向傳播演算法(traingdx),Levenberg-Marquardt反向傳播演算法(trainlm)等等,我列出的這兩種是最常用的,其中BP默認的是後一種。數據上,看看是不是有誤差數據,如果有及其剔除,否則也會影響預測或識別的效果。

③ 人工神經網路概述(更新中)

智能: 從感覺到記憶再到思維的過程稱為「智慧」,智慧的結果是語言和行為。行為和語言予以表達稱為「能力」。智慧和能力的總稱為「智能」。感覺、記憶、思維、行為、語言的過程稱為「智能過程」。

人工智慧: 人工構建的智能系統。

人工智慧是研究和開發用於模擬、延伸和擴展人類智能的理論、方法、技術及應用的技術學科,其主要研究內容可以歸納為以下四個方面。

人工神經網路是基於生物神經元網路機制提出的一種計算結構,是生物神經網路的某種模擬、簡化和抽象。神經元是這一網路的「節點」,即「處理單元」。

人工神經網路可用於逼近非線性映射、分類識別、優化計算以及知識挖掘。近年來,人工神經網路在模式識別、信號處理、控制工程和優化計算領域得到了廣泛的應用。

M-P模型由心理學家McCulloch和數學家W. Pitts在1943年提出。

M-P模型結構是一個多輸入、單輸出的非線性元件。其I/O關系可推述為

其中, 表示從其他神經元傳來的輸入信號; 表示從神經元 到神經元 的連接權值; 表示閾值; 表示激勵函數或轉移函數; 表示神經元 的輸出信號。

作為一種最基本的神經元數學模型,M-P模型包括了加權、求和和激勵(轉移)三部分功能。

神經元的數據模型主要區別於採用了不同的激勵函數。

概率型函數的輸入和輸出之間的關系是不確定的。分布律如下

其中, 被稱為溫度參數。

感知機(Perceptron)是美國學者Rosenblatt於1957年提出的一種用於模式分類的神經網路模型。

M-P模型通常叫做單輸出的感知機。按照M-P模型的要求,該人工神經元的激活函數為階躍函數。為了方便表示,M-P模型表示為下圖所示的結構。

用多個這樣的單輸入感知機可以構成一個多輸出的感知機,其結構如下

對於二維平面,當輸入/輸出為 線性可分 集合時,一定可以找到一條直線將模式分成兩類。此時感知機的結構圖3所示,顯然通過調整感知機的權值及閾值可以修改兩類模式的分界線:

線性可分: 這里的線性可分是指兩類樣本可以用直線、平面或超平面分開,否則稱為線性不可分。

感知機的基本功能是對外部信號進行感知和識別,這就是當外部 個刺激信號或來自其它 個神經元(的信號)處於一定的狀態時,感知機就處於興奮狀態,而外部 個信號或 個神經元的輸出處於另一個狀態時,感知機就呈現抑制狀態。

如果 、 是 中兩個互不相交的集合,且有如下方程成立

則稱集合 為感知機的 學習目標 。根據感知機模型,學習演算法實際上是要尋找權重 、 滿足下述要求:

感知機的訓練過程是感知機權值的逐步調整過程,為此,用 表示每一次調整的序號。 對應於學習開始前的初始狀態,此時對應的權值為初始化值。

④ 神經網路演算法

20 世紀五、六⼗年代,科學家 Frank Rosenblatt其受到 Warren McCulloch 和 Walter Pitts早期的⼯作的影響,發明了感知機(Perceptrons)。

⼀個感知器接受⼏個⼆進制輸⼊, ,並產⽣⼀個⼆進制輸出:

如上圖所示的感知機有三個輸⼊: 。通常可以有更多或更少輸⼊。 我們再引⼊權重: ,衡量輸入對輸出的重要性。感知機的輸出為0 或者 1,則由分配權重後的總和 ⼩於等於或者⼤於閾值決定。和權重⼀樣,閾值(threshold)是⼀個實數,⼀個神經元的參數。⽤更精確的代數形式如下:

給三個因素設置權重來作出決定:

可以把這三個因素對應地⽤⼆進制變數 來表⽰。例如,如果天⽓好,我們把

,如果不好, 。類似地,如果你的朋友陪你去, ,否則 。 也類似。

這三個對於可能對你來說,「電影好不好看」對你來說最重要,而天氣顯得不是那麼的重要。所以你會這樣分配權值: ,然後定義閾值threshold=5。

現在,你可以使⽤感知器來給這種決策建⽴數學模型。

例如:

隨著權重和閾值的變化,你可以得到不同的決策模型。很明顯,感知機不是⼈做出決策使⽤的全部模型。但是這個例⼦說明了⼀個感知機如何能權衡不同的依據來決策。這看上去也可以⼤致解釋⼀個感知機⽹絡有時確實能夠做出一些不錯的決定。

現在我們隊上面的結構做一點變化,令b=-threshold,即把閾值移到不等號左邊,變成偏置, 那麼感知器的規則可以重寫為:

引⼊偏置只是我們描述感知器的⼀個很⼩的變動,但是我們後⾯會看到它引導更進⼀步的符號簡化。因此,我們不再⽤閾值,⽽總是使⽤偏置。

感知機是首個可以學習的人工神經網路,它的出現引起的神經網路的第一層高潮。需要指出的是,感知機只能做簡單的線性分類任務,而且Minsky在1969年出版的《Perceptron》書中,證明了感知機對XOR(異或)這樣的問題都無法解決。但是感知機的提出,對神經網路的發展是具有重要意義的。

通過上面的感知機的觀察我們發現一個問題,每個感知機的輸出只有0和1,這就意味著有時我們只是在單個感知機上稍微修改了一點點權值w或者偏置b,就可能造成最終輸出完全的反轉。也就是說,感知機的輸出是一個階躍函數。如下圖所示,在0附近的時候,輸出的變化是非常明顯的,而在遠離0的地方,我們可能調整好久參數也不會發生輸出的變化。

這樣階躍的跳變並不是我們想要的,我們需要的是當我們隊權值w或者偏置b做出微小的調整後,輸出也相應的發生微小的改變芹則禪。這同時也意味值我們的輸出不再只是0和1,還可以輸出小數。由此我們引入了S型神經元。

S型神經元使用 S 型函數,也叫Sigmoid function函數,我們用它作為激活函數。其表達式如下:

圖像如下圖所示:

利⽤實際的 σ 函數,我們得到⼀個,就像上⾯說明的,平滑的感知器。 σ 函數的平滑特性,正是關鍵因素,⽽不是其細部形式盯明。 σ 的平滑意味著權重和偏置的微⼩變化,即 ∆w 和 ∆b,會從神經元產⽣⼀個微⼩的輸出變化 ∆output。實際上,微積分告訴我們

∆output 可以很好地近似表⽰為:

上面的式子是⼀個反映權重、偏置變化嫌塵和輸出變化的線性函數。這⼀線性使得我們可以通過選擇權重和偏置的微⼩變化來達到輸出的微⼩變化。所以當 S 型神經元和感知器本質上是相同的,但S型神經元在計算處理如何變化權重和偏置來使輸出變化的時候會更加容易。

有了對S型神經元的了解,我們就可以介紹神經網路的基本結構了。具體如下:

在⽹絡中最左邊的稱為輸⼊層,其中的神經元稱為輸⼊神經元。最右邊的,即輸出層包含有輸出神經元,在圖中,輸出層只有⼀個神經元。中間層,既然這層中的神經元既不是輸⼊也不是輸出,則被稱為隱藏層。

這就是神經網路的基本結構,隨著後面的發展神經網路的層數也隨之不斷增加和復雜。

我們回顧一下神經網路發展的歷程。神經網路的發展歷史曲折盪漾,既有被人捧上天的時刻,也有摔落在街頭無人問津的時段,中間經歷了數次大起大落。

從單層神經網路(感知機)開始,到包含一個隱藏層的兩層神經網路,再到多層的深度神經網路,一共有三次興起過程。詳見下圖。

我們希望有⼀個演算法,能讓我們找到權重和偏置,以⾄於⽹絡的輸出 y(x) 能夠擬合所有的 訓練輸⼊ x。為了量化我們如何實現這個⽬標,我們定義⼀個代價函數:

這⾥ w 表⽰所有的⽹絡中權重的集合, b 是所有的偏置, n 是訓練輸⼊數據的個數,
a 是表⽰當輸⼊為 x 時輸出的向量,求和則是在總的訓練輸⼊ x 上進⾏的。當然,輸出 a 取決於 x, w和 b,但是為了保持符號的簡潔性,我沒有明確地指出這種依賴關系。符號 ∥v∥ 是指向量 v 的模。我們把 C 稱為⼆次代價函數;有時也稱被稱為均⽅誤差或者 MSE。觀察⼆次代價函數的形式我們可以看到 C(w, b) 是⾮負的,因為求和公式中的每⼀項都是⾮負的。此外,代價函數 C(w,b)的值相當⼩,即 C(w; b) ≈ 0,精確地說,是當對於所有的訓練輸⼊ x, y(x) 接近於輸出 a 時。因

此如果我們的學習演算法能找到合適的權重和偏置,使得 C(w; b) ≈ 0,它就能很好地⼯作。相反,當 C(w; b) 很⼤時就不怎麼好了,那意味著對於⼤量地輸⼊, y(x) 與輸出 a 相差很⼤。因此我們的訓練演算法的⽬的,是最⼩化權重和偏置的代價函數 C(w; b)。換句話說,我們想要找到⼀系列能讓代價盡可能⼩的權重和偏置。我們將采⽤稱為梯度下降的演算法來達到這個⽬的。

下面我們將代價函數簡化為C(v)。它可以是任意的多元實值函數, 。
注意我們⽤ v 代替了 w 和 b 以強調它可能是任意的函數,我們現在先不局限於神經⽹絡的環境。

為了使問題更加簡單我們先考慮兩個變數的情況,想像 C 是⼀個只有兩個變數 和 的函數,我們的目的是找到 和 使得C最小。

如上圖所示,我們的目的就是找到局部最小值。對於這樣的一個問題,一種方法就是通過微積分的方法來解決,我們可以通過計算導數來求解C的極值點。但是對於神經網路來說,我們往往面對的是非常道的權值和偏置,也就是說v的維數不只是兩維,有可能是億萬維的。對於一個高維的函數C(v)求導數幾乎是不可能的。

在這種情況下,有人提出了一個有趣的演算法。想像一下一個小球從山頂滾下山谷的過程, 我們的⽇常經驗告訴我們這個球最終會滾到⾕底。我們先暫時忽略相關的物理定理, 對球體的⾁眼觀察是為了激發我們的想像⽽不是束縛我們的思維。因此與其陷進物理學⾥凌亂的細節,不如我們就這樣問⾃⼰:如果我們扮演⼀天的上帝,能夠構造⾃⼰的物理定律,能夠⽀配球體可以如何滾動,那麼我們將會採取什麼樣的運動學定律來讓球體能夠總是滾落到⾕底呢?

為了更精確地描述這個問題,讓我們思考⼀下,當我們在 和 ⽅向分別將球體移動⼀個很⼩的量,即 ∆ 和 ∆ 時,球體將會發⽣什麼情況。微積分告訴我們 C 將會有如下變化:

也可以用向量表示為

現在我們的問題就轉換為不斷尋找一個小於0的∆C,使得C+∆C不斷變小。

假設我們選取:

這⾥的 η 是個很⼩的正數(稱為學習速率),於是

由於 ∥∇C∥2 ≥ 0,這保證了 ∆C ≤ 0,即,如果我們按照上述⽅程的規則去改變 v,那麼 C
會⼀直減⼩,不會增加。

所以我們可以通過不斷改變v來C的值不斷下降,是小球滾到最低點。

總結⼀下,梯度下降演算法⼯作的⽅式就是重復計算梯度 ∇C,然後沿著相反的⽅向移動,沿著⼭⾕「滾落」。我們可以想像它像這樣:

為了使梯度下降能夠正確地運⾏,我們需要選擇合適的學習速率η,確保C不斷減少,直到找到最小值。

知道了兩個變數的函數 C 的梯度下降方法,我們可以很容易的把它推廣到多維。我們假設 C 是⼀個有 m 個變數 的多元函數。 ∆C 將會變為:

其中, ∇C為

∆v為:

更新規則為:

在回到神經網路中,w和b的更新規則為:

前面提到神經⽹絡如何使⽤梯度下降演算法來學習他們⾃⾝的權重和偏置。但是,這⾥還留下了⼀個問題:我們並沒有討論如何計算代價函數的梯度。這里就需要用到一個非常重要的演算法:反向傳播演算法(backpropagation)。

反向傳播演算法的啟示是數學中的鏈式法則。

四個方程:

輸出層誤差方程:

當前層誤差方程:

誤差方程關於偏置的關系:

誤差方程關於權值的關系

演算法描述:

檢視這個演算法,你可以看到為何它被稱作反向傳播。我們從最後⼀層開始向後計算誤差向量δ。這看起來有點奇怪,為何要從後⾯開始。但是如果你認真思考反向傳播的證明,這種反向移動其實是代價函數是⽹絡輸出的函數的結果。為了理解代價隨前⾯層的權重和偏置變化的規律,我們需要重復作⽤鏈式法則,反向地獲得需要的表達式。

參考鏈接: http://neuralnetworksanddeeplearning.com/

⑤ MATLAB中一些函數,用於神經網路

一:minmax()

minmax(A) 即是求解A矩陣中每個 行向量 中的最小值和最大值

eg:A=[1 2 4 -6 ;

             3 -4 90 6;

             4 6 -23 -35];

         P=minmax(A)

         P = -6    4

              -4    90

              -35    6

二:hold on 和hold off

hold on 是當前軸及圖像保持而不被刷新,准備接受此後將繪制的圖形,多圖共存.即,啟動圖形保持功能,當前坐標軸和圖形都將保持,從此繪制的圖形都將添加在這個圖形的基礎上,並自動調整坐標軸的范圍。

hold off 使當前軸及圖像不再具備被刷新的性質,新圖出現時,取消原圖。即,關閉圖形保持功能。

hold on 和hold off,是相對使用的

前者的意思是,你在當前圖的軸(坐標系)中畫了一幅圖,再畫另一幅圖時,原來的圖還在,與新圖共存,都看得到

後者表達的是,你在當前圖的軸(坐標系)中畫了一幅圖,此時,狀態是hold off,則再畫另一幅圖時,原來的圖就看不到了,在軸上繪制的是新圖,原圖被替換了。

三:rand 和 randn

rand是0-1的均勻分布,randn是均值為0方差為1的正態分布;

rand(n)或randn(n)生成n*n的隨機數矩陣。

rand(n,m)或randn(m,n)生成m*n的隨機數矩陣。

四:gac、gca 和 gco

gcf 返回當前Figure對象的句柄值

gca 返回當前axes對象的句柄值

gco 返回當前滑鼠單擊的句柄值,該對象可以是除root對象外的任意圖形對象,並且Matlab會把當前圖形對象的句柄值存放在Figure的CurrentObject屬性中。

五:compet

compet是神經網路的競爭傳遞函數,用於指出矩陣中每列的最大值。對應最大值的行的值為1,其他行的值都為0。

六:bar和barn

二維條形圖:bar()

bar(Y) 如果Y為矢量,其每一個元素繪制一個條形;如果Y為矩陣,側bar函數對每一行元素繪制的條形進行分組。

bar(x,Y) 按x中指定的位置繪制Y中每一元素的條形。

bar(…,width) 設置相鄰條形的寬度並控制組內條形的分離,默認值為0.8,如果指定width=1,則組內的條形挨在一起。

bar(…,』style』) 指定繪制條形的類型,style有兩個選項:(1) stacked 矩陣Y中每一行繪制一個條形,條形的高度為行元素中元素的和,每一個條形都用多種顏色表示,顏色對應不同種類的元素並表示每行元素對總和的相對貢獻。(2) group 繪制n條形圖組,每一個條形組中有m個垂直條形,其中n對應矩陣Y的行數,m對應列數,group為style的默認值。

bar(…,LineSpec) 用LineSpec指定的顏色繪制條形。

h=bar(…) 返回圖形句柄。

barh(…) 繪制水平條形圖。

h=barh(…) 返回水平條形圖的圖形句柄。

三維條形圖:bar3()和barah()

bar3(Y) 繪制三維條形圖,如果Y為矢量,其每一個元素繪制一個條形;如果Y為矩陣,側bar函數對每一行元素繪制的條形進行分組。

bar3(x,Y) 按x中指定的位置繪制Y中每一元素的條形。

bar3(…,width) 設置相鄰條形的寬度並控制組內條形的分離,默認值為0.8,如果指定width=1,則組內的條形挨在一起。

bar3(…,』style』) 指定繪制條形的類型,style有3個選項:(1) stacked 矩陣Y中每一行繪制一個條形,條形的高度為行元素中元素的和,每一個條形都用多種顏色表示,顏色對應不同種類的元素並表示每行元素對總和的相對貢獻。(2) group 繪制n條形圖組,每一個條形組中有m個垂直條形,其中n對應矩陣Y的行數,m對應列數,group為style的默認值。(3) detached 在x方向用單獨的條形塊繪制Y中的每一行元素,detached為style的默認值;

bar3(…,LineSpec) 用LineSpec指定的顏色繪制條形。

h=bar3(…) 返回三維條形圖的圖形句柄。

barh(…) 繪制三維水平條形圖。

h=barh(…) 返回三維水平條形圖的圖形句柄。

三維條形圖有兩種顯示形式:分組形式和行列形式。

未完待續

閱讀全文

與感知神經網路的轉移函數是什麼相關的資料

熱點內容
安利通過網路怎麼辦理 瀏覽:159
磁場是否影響網路信號 瀏覽:948
網路機頂盒聽歌用什麼軟體好 瀏覽:135
手機迅雷網路不好怎麼回事 瀏覽:634
hpm252n網路設置被禁用 瀏覽:947
中國網路信號基站 瀏覽:355
浪潮網路怎麼設置無信號 瀏覽:794
網路語你是壞人怎麼說 瀏覽:577
最細的網路信號塔長什麼樣子 瀏覽:153
多個網路怎麼統一廣告 瀏覽:571
租房路由器影響網路嗎 瀏覽:104
水晶電視怎麼連接手機網路 瀏覽:226
網路設置流量上網 瀏覽:270
網卡驅動好搜不到網路信號 瀏覽:129
饒平網路安全宣傳周 瀏覽:151
網路言語辱罵在哪裡舉報 瀏覽:391
黑龍江網路交通信號機 瀏覽:557
怎麼設置自己手機卡的網路 瀏覽:218
給蘋果用的網路驗證 瀏覽:438
計算機網路技術中的演算法 瀏覽:584

友情鏈接