㈠ 神經網路的主要內容特點
(1) 神經網路的一般特點
作為一種正在興起的新型技術神經網路有著自己的優勢,他的主要特點如下:
① 由於神經網路模仿人的大腦,採用自適應演算法。使它較之專家系統的固定的推理方式及傳統計算機的指令程序方式更能夠適應化環境的變化。總結規律,完成某種運算、推理、識別及控制任務。因而它具有更高的智能水平,更接近人的大腦。
② 較強的容錯能力,使神經網路能夠和人工視覺系統一樣,根據對象的主要特徵去識別對象。
③ 自學習、自組織功能及歸納能力。
以上三個特點是神經網路能夠對不確定的、非結構化的信息及圖像進行識別處理。石油勘探中的大量信息就具有這種性質。因而,人工神經網路是十分適合石油勘探的信息處理的。
(2) 自組織神經網路的特點
自組織特徵映射神經網路作為神經網路的一種,既有神經網路的通用的上面所述的三個主要的特點又有自己的特色。
① 自組織神經網路共分兩層即輸入層和輸出層。
② 採用競爭學記機制,勝者為王,但是同時近鄰也享有特權,可以跟著競爭獲勝的神經元一起調整權值,從而使得結果更加光滑,不想前面的那樣粗糙。
③ 這一網路同時考慮拓撲結構的問題,即他不僅僅是對輸入數據本身的分析,更考慮到數據的拓撲機構。
權值調整的過程中和最後的結果輸出都考慮了這些,使得相似的神經元在相鄰的位置,從而實現了與人腦類似的大腦分區響應處理不同類型的信號的功能。
④ 採用無導師學記機制,不需要教師信號,直接進行分類操作,使得網路的適應性更強,應用更加的廣泛,尤其是那些對於現在的人來說結果還是未知的數據的分類。頑強的生命力使得神經網路的應用范圍大大加大。
㈡ 神經網路是什麼
神經網路可以指向兩種,一個是生物神經網路,一個是人工神經網路。
生物神經網路:一般指生物的大腦神經元,細胞,觸點等組成的網路,用於產生生物的意識,幫助生物進行思考和行動。
人工神經網路它是一種模仿動物神經網路行為特徵,進行分布式並行信息處理的演算法數學模型。這種網路依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的
㈢ (七)神經網路基本結構
目前為止,我們已經學習了2個機器學習模型。線性回歸一般用來處理線性問題,邏輯回歸用來處理2分類問題。雖然邏輯回歸也可以處理非線性的分類問題,但是當我們有非常多的特徵時,例如大於100個變數,將會有數量非常驚人的特徵組合。這對於一般的邏輯回歸來說需要計算的特徵太多了,負荷太大。而神經網路既可以答衫解決復雜的非線性分類問題,又可以避免龐大的計算量。
人工神經網路是由很多神經元(激活單元)構成的,神經元是神經網路的基本元素。
實際上,可以這樣理解神經元工作過程,當將輸入送進神經元後,神經元將輸入與權值線性組合(實際上就是θ T X)輸出一個線性表達式,再將這個表達式送嘩舉拿入激活函數中,便得到了神經元的真實輸出。
神經網路由好多個激活單元構成,如下圖所示:
激活函數的選擇是構建神經網路過程中的重要環節,下面簡要介紹常用的激活函數。
(1) 線性函數( Liner Function )
(2) 斜面函數( Ramp Function )**
(3) 閾值函數( Threshold Function )**
以上3個激活函數都屬於線性函數,下面介紹兩個常用的非線性激活函數。
(4) S形函數( Sigmoid Function )
S形函數與雙極S形函數的圖像如下:
雙極S形函數與S形函數主要區別在於函數的值域,雙極S形函數值域是(-1,1),而S形函數值域是(0,1)。由於S形函數與雙極S形函數都是 可導的 (導函數是連續函數),因此適合用在BP神經亂搭網路中。(BP演算法要求激活函數可導)
人工神經網路中,最常用的激活函數就是sigmoid函數
神經網路是由大量的神經元互聯而構成的網路。根據網路中神經元的互聯方式,常見網路結構主要可以分為下面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/
㈤ 人工智慧時代,神經網路的原理及使用方法 | 微課堂
人工智慧時代已經悄然來臨,在計算機技術高速發展的未來,機器是否能代替人腦?也許有些讀者會說,永遠不可能,因為散盯扮人腦的思考包含感性邏輯。事實上,神經網路演算法正是在模仿人腦的思考方式。想不想知道神經網路是如何「思考」的呢?下面我向大家簡單介紹一下神經網路的原理及使用方法。
所謂人工智慧,就是讓機器具備人的思維和意識。人工智慧主要有三個學派——行為主義、符號主義和連接主義。
行為主義是基於控制論,是在構建感知動作的控制系統。理解行為主義有個很好的例子,就是讓機器人單腳站立,通過感知要摔倒的方向控制兩只手的動作,保持身體的平衡,這就構建了一個感知動作控制系統。
符號主義是基於算數邏輯和表達式。求解問題時,先把問題描述為表達式,再求解表達式。如果你在求解某個問題時,可以用if case這樣的條件語句,和若干計算公式描述出來,這就使用了符號主義的方法,比如「專家系統」。符號主義可以認為是用公式描述的人工智慧,它讓計算機具備了理性思維。但是人類不僅具備理性思維,還具備無法用公式描述的感性思維。比如,如果你看過這篇推送,下回再見到「符號主義」幾個字,你會覺得眼熟,會想到這是人工智慧相關的知識,這是人的直覺,是感性的。
連接主義就是在模擬人的這種感性思維,是在仿造人腦內的神經元連接關系。這張圖給出了人腦中的一根神經元,左側是神經元的輸入,「軸突」部分是神經元的輸出。人腦就是由860億個這樣的神經元首尾相接組成的網路。
神經網路可以讓計算機具備感性思維。我們首先理解一下基於連接主義的神經網路設計過程。這張圖給出了人類從出生到24個月神經網路的變化:
隨著我們的成長,大量的數據通過視覺、聽覺湧入大腦,使我們的神經網路連接,也就是這些神經元連線上的權重發生了變化,有些線上的權重增強了,有些線上的權重減弱了。
我們要用計算機仿出這些神經網路連接關系,讓計算機具備感性思維。
首先需要准備數據,數據量越大越好,以構成特徵和標簽對。如果想識別貓,就要有大量貓的圖片和這張圖片是貓的標簽構成特徵標簽對,然後搭建神經網路的網路結構,再通過反向傳播優化連接的權重,直到模型的識別准確率達到要求,得到最優的連線權重,把這個模型保存起來。最後用保存的模型輸入從未見過的新數據,它會通過前向傳播輸出概率值,概率值最大的一個就是分類和預測的結果。
我們舉個例子來感受一下神經網路的設計過程。鳶尾花可以分為三類:狗尾鳶尾、雜色鳶尾和佛吉尼亞鳶尾。我們拿出一張圖,需要讓計算機判斷這是哪類鳶尾花。人們通過經驗總結出了規律:通過測量花的花萼長、花萼寬、花瓣長、花瓣寬分辨出鳶尾花的類別,比如花萼長>花萼寬,並且花瓣長/花瓣寬>2,則可以判定為這是第一種,雜色鳶尾。看到這里,也許有些讀者已經想到用if、case這樣的條件語句來實現鳶尾花的分類。沒錯,條件語句根據這些信息可以判斷鳶尾花分類,這是一個非常典型的專家系統,這個過程是理性計算。只要有了這些數據,就可以通過條件判定公式計算出是哪類鳶尾花。但是我們發現鳶尾花的種植者在識別鳶尾花的時候並不需要這么理性的計算,因為他們見識了太多的鳶尾花,一看就知道是哪種,而且隨著經驗的增加,識別的准確率會提高。這就是直覺,是感性思維,也是我們這篇文章想要和大家分享的神經網路方法。
這種神經網路設計過程首先需要採集大量的花萼長、花萼寬、花瓣長、花瓣寬,和它們所對應的是哪種鳶尾花。花萼長、花萼寬、花瓣長、花瓣寬叫做輸入特徵,它們對應的分類叫做標簽。大量的輸入特徵和標簽對構建出數據集,再把這個數據集喂入搭建好的神經網路結構,網路通過反向傳播優化參數,得到模型。當有新的、從未見過的輸入特徵,送入神經網路時,神經網路會輸出識別的結果。
展望21世紀初,在近十年神經網路理論研究趨向的背景下,神經網路理論的主要前沿領域包括:
一、對智能和機器關系問題的認識進一步增長。
研究人類智力一直是科學發展中最有意義,也是空前困難的挑沖灶戰性問題。人腦是我們所知道的唯一則帶智能系統,具有感知識別、學習、聯想、記憶、推理等智能。我們通過不斷 探索 人類智能的本質以及聯結機制,並用人工系統復現或部分復現,製造各種智能機器,這樣可使人類有更多的時間和機會從事更為復雜、更富創造性的工作。
神經網路是由大量處理單元組成的非線性、自適應、自組織系統,是在現代神經科學研究成果的基礎上提出的,試圖模擬神經網路加工、記憶信息的方式,設計一種新的機器,使之具有人腦風格的信息處理能力。智能理論所面對的課題來自「環境——問題——目的」,有極大的誘惑力與壓力,它的發展方向將是把基於連接主義的神經網路理論、基於符號主義的人工智慧專家系統理論和基於進化論的人工生命這三大研究領域,在共同追求的總目標下,自發而有機地結合起來。
二、神經計算和進化計算的重大發展。
計算和演算法是人類自古以來十分重視的研究領域,本世紀30年代,符號邏輯方面的研究非常活躍。近年來,神經計算和進化計算領域很活躍,有新的發展動向,在從系統層次向細胞層次轉化里,正在建立數學理論基礎。隨著人們不斷 探索 新的計算和演算法,將推動計算理論向計算智能化方向發展,在21世紀人類將全面進入信息 社會 ,對信息的獲取、處理和傳輸問題,對網路路由優化問題,對數據安全和保密問題等等將有新的要求,這些將成為 社會 運行的首要任務。因此,神經計算和進化計算與高速信息網路理論聯系將更加密切,並在計算機網路領域中發揮巨大的作用,例如大范圍計算機網路的自組織功能實現就要進行進化計算。
人類的思維方式正在轉變,從線性思維轉到非線性思維神經元,神經網路都有非線性、非局域性、非定常性、非凸性和混沌等特性。我們在計算智能的層次上研究非線性動力系統、混沌神經網路以及對神經網路的數理研究,進一步研究自適應性子波、非線性神經場的興奮模式、神經集團的宏觀力學等。因為,非線性問題的研究是神經網路理論發展的一個最大動力,也是它面臨的最大挑戰。
以上就是有關神經網路的相關內容,希望能為讀者帶來幫助。
以上內容由蘇州空天信息研究院謝雨宏提供。