深度学习基础1(神经网络)
神經網(wǎng)絡
Contents?
|
概述
以監(jiān)督學習為例,假設我們有訓練樣本集??,那么神經網(wǎng)絡算法能夠提供一種復雜且非線性的假設模型??,它具有參數(shù)??,可以以此參數(shù)來擬合我們的數(shù)據(jù)。
為了描述神經網(wǎng)絡,我們先從最簡單的神經網(wǎng)絡講起,這個神經網(wǎng)絡僅由一個“神經元”構成,以下即是這個“神經元”的圖示:
? ? ? ? ? ? ? ? ? ? ? ?
這個“神經元”是一個以??及截距??為輸入值的運算單元,其輸出為??,其中函數(shù)??被稱為“激活函數(shù)”。在本教程中,我們選用sigmoid函數(shù)作為激活函數(shù)?
可以看出,這個單一“神經元”的輸入-輸出映射關系其實就是一個邏輯回歸(logistic regression)。
雖然本系列教程采用sigmoid函數(shù),但你也可以選擇雙曲正切函數(shù)(tanh):
以下分別是sigmoid及tanh的函數(shù)圖像
?
?函數(shù)是sigmoid函數(shù)的一種變體,它的取值范圍為??,而不是sigmoid函數(shù)的??。
注意,與其它地方(包括OpenClassroom公開課以及斯坦福大學CS229課程)不同的是,這里我們不再令??。取而代之,我們用單獨的參數(shù)??來表示截距。
最后要說明的是,有一個等式我們以后會經常用到:如果選擇??,也就是sigmoid函數(shù),那么它的導數(shù)就是??(如果選擇tanh函數(shù),那它的導數(shù)就是??,你可以根據(jù)sigmoid(或tanh)函數(shù)的定義自行推導這個等式。
神經網(wǎng)絡模型
所謂神經網(wǎng)絡就是將許多個單一“神經元”聯(lián)結在一起,這樣,一個“神經元”的輸出就可以是另一個“神經元”的輸入。例如,下圖就是一個簡單的神經網(wǎng)絡:
? ? ? ? ? ? ? ? ? ? ?
我們使用圓圈來表示神經網(wǎng)絡的輸入,標上“”的圓圈被稱為偏置節(jié)點,也就是截距項。神經網(wǎng)絡最左邊的一層叫做輸入層,最右的一層叫做輸出層(本例中,輸出層只有一個節(jié)點)。中間所有節(jié)點組成的一層叫做隱藏層,因為我們不能在訓練樣本集中觀測到它們的值。同時可以看到,以上神經網(wǎng)絡的例子中有3個輸入單元(偏置單元不計在內),3個隱藏單元及一個輸出單元。
我們用??來表示網(wǎng)絡的層數(shù),本例中??,我們將第??層記為??,于是??是輸入層,輸出層是??。本例神經網(wǎng)絡有參數(shù)??,其中??(下面的式子中用到)是第??層第??單元與第??層第??單元之間的聯(lián)接參數(shù)(其實就是連接線上的權重,注意標號順序),??是第??層第??單元的偏置項。因此在本例中,??,??。注意,沒有其他單元連向偏置單元(即偏置單元沒有輸入),因為它們總是輸出?。同時,我們用??表示第??層的節(jié)點數(shù)(偏置單元不計在內)。
我們用??表示第??層第??單元的激活值(輸出值)。當??時,??,也就是第??個輸入值(輸入值的第??個特征)。對于給定參數(shù)集合??,我們的神經網(wǎng)絡就可以按照函數(shù)??來計算輸出結果。本例神經網(wǎng)絡的計算步驟如下:
我們用??表示第??層第??單元輸入加權和(包括偏置單元),比如,??,則??。
這樣我們就可以得到一種更簡潔的表示法。這里我們將激活函數(shù)??擴展為用向量(分量的形式)來表示,即??,那么,上面的等式可以更簡潔地表示為:
我們將上面的計算步驟叫作前向傳播?;叵胍幌?#xff0c;之前我們用??表示輸入層的激活值,那么給定第??層的激活值??后,第??層的激活值??就可以按照下面步驟計算得到:
將參數(shù)矩陣化,使用矩陣-向量運算方式,我們就可以利用線性代數(shù)的優(yōu)勢對神經網(wǎng)絡進行快速求解。
目前為止,我們討論了一種神經網(wǎng)絡,我們也可以構建另一種結構的神經網(wǎng)絡(這里結構指的是神經元之間的聯(lián)接模式),也就是包含多個隱藏層的神經網(wǎng)絡。最常見的一個例子是??層的神經網(wǎng)絡,第??層是輸入層,第??層是輸出層,中間的每個層??與層??緊密相聯(lián)。這種模式下,要計算神經網(wǎng)絡的輸出結果,我們可以按照之前描述的等式,按部就班,進行前向傳播,逐一計算第??層的所有激活值,然后是第??層的激活值,以此類推,直到第?層。這是一個前饋神經網(wǎng)絡的例子,因為這種聯(lián)接圖沒有閉環(huán)或回路。
神經網(wǎng)絡也可以有多個輸出單元。比如,下面的神經網(wǎng)絡有兩層隱藏層:??及??,輸出層??有兩個輸出單元
? ? ? ? ? ? ? ? ? ? 。
要求解這樣的神經網(wǎng)絡,需要樣本集??,其中??。如果你想預測的輸出是多個的,那這種神經網(wǎng)絡很適用。(比如,在醫(yī)療診斷應用中,患者的體征指標就可以作為向量的輸入值,而不同的輸出值??可以表示不同的疾病存在與否。)
中英文對照
neural networks 神經網(wǎng)絡
activation function 激活函數(shù)
hyperbolic tangent 雙曲正切函數(shù)
bias units 偏置項
activation 激活值
forward propagation 前向傳播
feedforward neural network 前饋神經網(wǎng)絡
總結
以上是生活随笔為你收集整理的深度学习基础1(神经网络)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习概论
- 下一篇: 深度学习基础2(反向传播算法)