深度學習入門09 從感知機到神經網路

2021-09-27 00:01:37 字數 2206 閱讀 5902

在之前的文章中,我們學習了感知機。在之後的幾期文章中,我們主要學習一下神經網路的基礎知識。

通過之前的學習,我們知道,即便是計算機進行的複雜處理,感知機(理論上)也可以將其表示出來。但是,感知機卻有乙個最重要的問題,就是感知機各個節點對應的權重都需要人為地設定,比如我們使用感知機實現基本邏輯閘電路功能時就是人工計算出來的。比如,我們結合與門、或門的真值表人工決定了合適的權重。對於乙個簡單的邏輯功能實現,節點較少,我們可以手工設定,但是對於複雜的功能呢?我們可以選擇使用多層感知機實現,但這樣必然增加了很多引數,我們再人工確定各個引數值是一件非常麻煩的事情。能否通過某種方式可以自動地完成設定權重的工作呢?

此時,神經網路粉墨登場,因為神經網路的乙個重要性質是它可以自動地從資料中學習到合適的權重引數。在本篇文章中,我們會先介紹神經網路的概要。在之後的文章中,我們將了解如何從資料中學習權重引數。

用圖來表示神經網路的話,就如下圖所示:

我們把最左邊一列稱為輸入(input)層,最右邊一列稱為輸出(output)層,中間的一列稱為中間層,中間層有時也稱為隱藏層(hidden)。相對於輸入輸出層來說,隱藏的意思就是人們肉眼看不到的神經元集合。為了以後程式設計方便描述,我們把輸入層到輸出層依次稱為第0層、第1層、第2層…對於上圖來說,input是第0層、hidden是第1層、output是第2層。

我們將上圖所示的神經網路稱為2層網路,因為只有hidden和output層中的神經元有權重引數,因此,在以後描述網路有幾層是指實際含有權重的層數。(可能有的文章把input層也計入了,希望大家注意區分)

大家看到這個圖是否想起之前所講的感知機?下圖是表示異或門的多層感知機圖。

從本質上講,神經網路和感知機有很多共同點,而且就神經元的連線方式而言,和感知機並沒有任何差異,但是神經網路中的訊號是怎麼傳遞呢?

上圖中感知機接受x1和x2兩個輸入訊號,輸出y。用數學公式來表示如下:

b是被稱為偏置的引數,用於控制神經元被啟用的容易程度;w1和w2是表示各個訊號的權重引數,用於控制各個訊號的重要性。在上圖中,我們畫出偏置引數b,如果要明確顯示b如下圖所示:

我們新增了權重為b的輸入訊號1,感知機將x1,x2,1三個訊號作為神經元的輸入,各個訊號與權重相乘後再傳送給下乙個神經元,下乙個神經元計算所有加權訊號的總和。如果總和超過0,則輸出1,否則輸出0。由於偏置b的輸入訊號一直是1,為了和其他神經元區分開,我們用灰色圓圈表示。

我們還可以將表示感知機的數學公式再進行化簡,首先我們將分情況討論變為乙個公式:

其中的h(x)可以表示如下:

我們引入了新函式h(x),輸入的訊號總和會被該函式進行轉換,最終輸出y。

對於感知機的表示,我們引入的h(x)可以將輸入訊號的總和轉換為輸出訊號,這個函式有非常酷的名字,叫做啟用函式(activation function)。為什麼叫做啟用函式呢?當然是和這個函式的作用有關啦。正如「啟用」一詞所示,該函式決定如何來啟用輸入訊號的總和,從而給出乙個輸出結果。

我們把上面的公式再進一步進行改寫如下:

我們把上面的公式分為了兩步,第一步計算加權輸入訊號和偏置的總和,記為a,之後再使用啟用函式h(x)將a轉換為輸出y。按照之前的表示方式,我們可以將這個公式使用影象顯示出來:

從感知機到深度學習

一 從感知機到深度學習 第乙個正式的神經元模型是由沃倫 麥卡洛克 warren maculloach 和沃爾特 皮茨 walter pitts 於1943.年提出的。這個模型看起來很像組成計算機的邏輯門。麥克洛克 皮茨神經元做不了的事情就是學習。為此我們需要對神經元之間的連線給予不同的權重,這就是所...

機器學習 從感知機到神經網路,再到深度學習

神經元模型是神經網路中最基本的成分。這裡先介紹m p神經元模型 m p代表的是mcculloch and pitts,名字 神經元接受來自n個其他神經元傳遞過來的輸入訊號,這些輸入訊號通過帶權重的連線進行傳遞。總輸入值 已經加權之後 與閾值 進行比較,通過乙個啟用函式 比如sigmoid 產生超過閾...

從感知機到神經網路

在我的之前的部落格中已經講解了感知機,接下來談到的神經網路與感知機有許多共同之處,下面主要是講講神經網路與感知機的不同之處。首先來看看乙個神經網路的示例 上圖示,最左側是輸入層,中間的一列被稱為中間層,也被稱之為隱藏層,最右一列被稱為輸出層。則,神經網路在訊號傳遞的過程中與感知機有什麼聯絡呢?在之前...