通俗理解卷積神經網路

2021-07-14 14:10:36 字數 2445 閱讀 3560

2023年我在北京組織過8期machine learning讀書會,那時「機器學習」非常火,很多人都對其抱有巨大的熱情。當我2023年再次來到北京時,有乙個詞似乎比「機器學習」更火,那就是「深度學習」。

有何問題,歡迎不吝指正。

神經網路由大量的神經元相互連線而成。每個神經元接受線性組合的輸入後,最開始只是簡單的線性加權,後來給每個神經元加上了非線性的啟用函式,從而進行非線性變換後輸出。每兩個神經元之間的連線代表加權值,稱之為權重(weight)。不同的權重和啟用函式,則會導致神經網路不同的輸出。

舉個手寫識別的例子,給定乙個未知數字,讓神經網路識別是什麼數字。此時的神經網路的輸入由一組被輸入影象的畫素所啟用的輸入神經元所定義。在通過非線性啟用函式進行非線性變換後,神經元被啟用然後被傳遞到其他神經元。重複這一過程,直到最後乙個輸出神經元被啟用。從而識別當前數字是什麼字。

神經網路的每個神經元如下

類似wx + b的形式,其中

如果只是上面這樣一說,估計以前沒接觸過的十有**又必定迷糊了。事實上,上述簡單模型可以追溯到20世紀50/60年代的感知器,可以把感知器理解為乙個根據不同因素、以及各個因素的重要性程度而做決策的模型。

舉個例子,這週末北京有一士多啤梨**節,那去不去呢?決定你是否去有3個因素,這三個因素可以對應三個輸入,分別用x1、x2、x3表示。此外,這三個因素對做決策的影響程度不一樣,各自的影響程度用權重w1、w2、w3表示。一般來說,**節的演唱嘉賓會非常影響你去不去,唱得好的前提下 即便天氣不好、沒人陪同都可忍受,但如果唱得不好還不如你上台唱呢。所以,我們可以如下表示:

這樣,咱們的決策模型函式便建立起來了:f(x) = g( w1*x1 + w2*x2 + w3*x3 + b ),g表示啟用函式。不同的輸入會得到不一樣的決策結果。

一開始,啟用函式是線性函式,導致所有的變換都是線性變換,比如if x < 0 f(x) = 0; if x > 0,f(x) = 1,輸出都是輸入的線性變換。後來實際應用中發現,線性啟用函式太過侷限,於是人們引入了非線性啟用函式。

常用的非線性啟用函式有sigmoid、tanh、

relu等等,前兩者sigmoid/tanh比較常見於全鏈結層,後者relu常見於卷積層。這裡先簡要介紹下最基礎的sigmoid函式(btw,在本部落格中svm那篇文章開頭有提過)。

sigmoid的函式

表示式如下

其中z是乙個線性組合,比如z可以等於:w0 + w1*x1 + w2*x2。

通過代入很大的正數或很小的負數到g(z)函式中可知,其結果趨近於0或1。

因此,sigmoid函式的圖形表示如下:

也就是說,sigmoid函式的功能是相當於把乙個實數壓縮至0到1之間。輸入非常大的正數時,輸出結果會接近1,而輸入非常大的負數時,則會得到接近0的結果。

壓縮至0到1有何用處呢?用處是這樣一來變可以把啟用函式看作一種「分類的概率」,比如啟用函式的輸出為0.9的話便可以解釋為90%的概率為正樣本。

將下圖的這種單個神經元

組織在一起,便形成了神經網路。下圖便是乙個三層神經網路結構

上圖中最左邊的原始輸入資訊稱之為輸入層,最右邊的神經元稱之為輸出層(上圖中輸出層只有乙個神經元),中間的叫隱藏層。

啥叫輸入層、輸出層、隱藏層呢?

同時,每一層都可能由單個或多個神經元組成,每一層的輸出將會作為下一層的輸入資料。比如下圖中間隱藏層來說,隱藏層的3個神經元a1、a2、a3皆各自接受來自多個不同權重的輸入,接著,a1、a2、a3又在自身各自不同權重的影響下 成為的輸出層的輸入,最終由輸出層輸出最終結果。

上圖(注:圖引自斯坦福機器學習公開課)中

此外,輸入層和隱藏層都存在乙個偏置(bias unit),所以上圖中也

增加了偏置項:x0、a0。針對上圖,有如下公式

此外,上文中講的都是一層隱藏層,但實際中也有多層隱藏層的,即輸入層和輸出層中間夾著數層隱藏層,層和層之間是全連線的結構,同一層的神經元之間沒有連線。

卷積神經網路的理解

cnn中減少引數的2兩個規則 1 區域性感知。生物學中,視覺皮層的神經元是區域性感知資訊的,只響應某些特定區域的刺激 影象的空間聯絡中,區域性的畫素聯絡較為緊密,距離較遠的畫素相關性較弱。這個對應於演算法中卷積核的大小,mnist手寫識別在28 28的畫素中取patch為5 5。上圖中 左邊是全連線...

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...

神經網路 卷積神經網路

1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...