神經網絡(一)——什麼是神經網絡

現今時代隨着AI技術的火熱,深度學習,機器學習、人工智能等詞彙越來越多的出現在視野當中,那麼這些之間有什麼關係呢?我們先來看看定義:

人工智能:人工智能是計算機科學的一個分支,它企圖瞭解智能的實質,並生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統等。
機器學習:涉及概率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。它是人工智能的核心,是使計算機具有智能的根本途徑,其應用遍及人工智能的各個領域,它主要使用歸納、綜合而不是演繹。
神經網絡:它是一種模仿動物神經網絡行爲特徵,進行分佈式並行信息處理的算法數學模型。這種網絡依靠系統的複雜程度,通過調整內部大量節點之間相互連接的關係,從而達到處理信息的目的。
深度學習:深度學習的概念源於人工神經網絡的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特徵形成更加抽象的高層表示屬性類別或特徵,以發現數據的分佈式特徵表示。
也就是說它們的關係如下:
這裏寫圖片描述

由圖中不難看出從人工智能到深度學習是一個領域更加明確,範圍逐漸變窄的過程。

那麼本文主要就是要來談談機器學習的一個基礎算法神經網絡。
一、感知器
在來討論神經網絡之前,先來看看感知器。感知器可以看做是最簡單的前饋神經網絡。而感知器就是受到神經元的啓發,來看看人腦是如何處理信息的。
這裏寫圖片描述
細胞核周圍有很多樹突,樹突負責接收信號通過突觸進行整型來放大縮小信號,信號傳遞給細胞核,細胞核進行加權處理通過軸突傳遞給下一個細胞核。
這裏寫圖片描述

上圖代表一個感知器。它接受多個輸入(x1,x2,x3…),產生一個輸出(output),好比神經末梢感受各種外部環境的變化,最後產生電信號。其中x1,x2…xm是信號輸入,y爲信號輸出。比如新出了一部電影,你週末首映要不要去就可以用感知器判斷。假設考慮條件有以下幾個

  • 電影是否好看
  • 有沒有同伴一起
  • 週末是否有別的計劃

但是這些條件對你來說並非同等地位,比如如果沒有同伴就算有空也不會獨自看電影 那麼是否有同伴就成了決定性因素,那麼這個條件佔比就會高。如果只是想去看一次電影首映不在乎電影是否好看,第一個條件的權重就會低一些。假設三個條件的權重分別是3、7、5,事件發生則輸入1否則輸入0.那麼當電影不好看但是有同伴且週末沒別的計劃的時候去看電影這個事件的值就是12.這個時候需要設置一個閾值,比如當值大於8就去看電影,否則不去。去的話輸出爲1否則輸出0.那麼就可以得出如下計算公式:
這裏寫圖片描述

從上例中我們可以看出感知器是用來做決策的,根據輸入的加權處理根據閾值進行決策。對於一個感知器來說,所需要解決的難點就是確定每一個條件的權值w和閾值v。因爲實際情況下我們很難給出一個具體的權值和閾值,而這需要大量的數據進行訓練,如果我們將你最終去看電影的情況記爲圓,不去記作三角。感知器通過不斷試錯,改變權值或者閾值去根據已有數據訓練模型。最終經過大量訓練確定出一個線性方程來判斷你在不同條件下是否會去看電影。
這裏寫圖片描述

二、神經網絡

剛剛已經瞭解了單個感知器的工作模式,當有多層感知器的時候就構成了神經網絡,就想由神經元構成神經網一樣。
這裏寫圖片描述
神經網絡由輸入層,隱藏層,輸出層構成。將第一層的結構作爲第二層的輸出繼續計算,如此循環往復我們將可以解決無比複雜的問題。而每一層都可以看做上例提到的感知器。但是實際上我們要解決的問題要複雜的多,因此我們需要用到的感知器模型如下:
這裏寫圖片描述

偏移量就是剛剛例子中的閾值,那麼什麼是激活函數我們爲什麼要使用激活函數呢?
激活函數衆所周知有tanh,sigmoid,ReLU等。
tanh   雙切正切函數,取值範圍[-1,1]
sigmoid  採用S形函數,取值範圍[0,1]
ReLU 簡單而粗暴,大於0的留下,否則一律爲0。
可以看出激活函數也就是映射。而激活函數的作用是給神經網絡加入非線性的因素.激活函數一般都是非線性函數,要是沒有了激活函數,那麼神經網絡難以對於生活中常見的非線性的數據建模.所以,神經網絡中激活函數是不可缺少的.
如果還是很難理解的話看以下例子:
我們還是用圓和三角來看,爲了更加顯眼進行了顏色區分。也就是通過多層感知器我們依然可以將圓和三角進行分類

這裏寫圖片描述
但是如果圓和三角的分佈如下,我們很難通過線性方程去進行分類了,因爲多層的線性計算依然只能解決線性問題。
這裏寫圖片描述

此時如果要進行分類,我們需要這樣:
這裏寫圖片描述

而當我們加入了激活函數後,輸出由直線變爲了曲線,多層感知器也就有隻能進行線性計算變成了可以進行非線性計算
圖一

那麼多層感知器可處理的情況就由圖1變成了圖2。也就是說,激活函數可以引入非線性因素,解決線性模型所不能解決的問題。
圖1
這裏寫圖片描述

理解了神經網絡的基本原理,但真正要讓它運作起來需要大量數據的訓練去確定權值和偏移量。而如何去進行數據訓練將會在下一篇進行知識點總結。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章