斯坦福大學(xué)機(jī)器學(xué)習(xí)第八課“神經(jīng)網(wǎng)絡(luò)的表示(Neural Networks: Representation)”學(xué)習(xí)筆記,,本次課程主要包括7部分: 1) Non-linear hypotheses (非線性hypotheses) 2) Neurons and the brain (神經(jīng)元和大腦) 3) Model representation I (模型表示一) 4) Model representation II (模型表示二) 5) Examples and intuitions I (例子和直觀解釋一) 6) Examples and intuitions II (例子和直觀解釋二) 7) Multi-class classification (多類分類問題) 以下是每一部分的詳細(xì)解讀。
1) Non-linear hypotheses (非線性hypotheses) 非線性分類器: 我們之前談過線性回歸,,邏輯回歸,,當(dāng)我們遇到一些比較復(fù)雜的分類問題時(shí),是否還有其他選擇,?例如,,對于多項(xiàng)式回歸:
可以得到如下的非線性分類器:
那么,當(dāng)我們?nèi)稳蓚€(gè)特征作為組合特征時(shí),,大約可以得到5000個(gè)特征( 這樣的問題還有很多,,例如在計(jì)算機(jī)視覺的汽車檢測問題中,,對于一副汽車圖片來說,你可以輕易的辨別出這是一輛汽車,,但是在計(jì)算機(jī)或者相機(jī)“眼里”,,這只是一堆像素的數(shù)字矩陣而已:
所以,對于汽車檢測問題,,我們需要一堆汽車圖片:
和一堆非汽車圖片作為訓(xùn)練集:
訓(xùn)練一個(gè)用于汽車檢測的分類器,,對于一個(gè)測試圖片,判斷是否是汽車:
一種方法是從每輛汽車是取兩個(gè)像素點(diǎn)作為樣本的特征,,然后通過學(xué)習(xí)算法來訓(xùn)練分類器:
那么這些正負(fù)例(汽車 or 非汽車)訓(xùn)練樣本可以用圖形表示如下:
假設(shè)每幅圖片有50 * 50 = 2500個(gè)像素,,那么每個(gè)樣本有2500個(gè)像素點(diǎn)可以選擇,如果是是二次項(xiàng)組合特征,,大約有3百萬個(gè)特征組合:
對于這樣的有著大量特征的分類問題,,除了邏輯回歸,是否還有其他的學(xué)習(xí)算法,?接下來,,我們將引入神經(jīng)網(wǎng)絡(luò)(Neural Networks),一種試圖模擬人類大腦的學(xué)習(xí)算法,,這個(gè)算法,,對于復(fù)雜的假設(shè)空間和復(fù)雜的非線性問題有很好的學(xué)習(xí)能力。
2) Neurons and the brain (神經(jīng)元和大腦) 神經(jīng)網(wǎng)絡(luò):
大腦很神奇,,可以讓我們?nèi)ヂ?,去看,去觸,,也可以做數(shù)學(xué)題,,做微積分,,做很多神奇的事情,要模仿大腦,,似乎需要我們寫很多程序來做不同的事情,?但是恰恰與此相反,做這些事情僅僅需要一個(gè)學(xué)習(xí)算法,。下面是兩個(gè)例子,,是神經(jīng)科學(xué)家做的非常酷的兩個(gè)實(shí)驗(yàn),,這些實(shí)驗(yàn)可以說明我們僅需一種學(xué)習(xí)算法就可以模擬很多事情,。 聽覺皮層實(shí)驗(yàn):
上圖是大腦的一部分,紅色的部分是聽覺皮層,,用來處理耳朵收集的聲音信號并讓大腦理解,。神經(jīng)科學(xué)家做了一個(gè)實(shí)驗(yàn),,切斷耳朵和聽覺皮層的聯(lián)系,,并且連接眼睛和聽覺皮層,這樣從眼睛采集的信號不再傳送到視神經(jīng)而是聽覺皮層,,這樣做得最終結(jié)果是聽覺皮層將會(huì)學(xué)習(xí)“看",。 體感皮層實(shí)驗(yàn):
上圖的紅色區(qū)域是體感皮層,主要身體的觸覺,,與聽覺皮層實(shí)驗(yàn)相似,,如果我們做相似的實(shí)驗(yàn),那么體感皮層也將學(xué)會(huì)”看“,。 上述兩個(gè)實(shí)驗(yàn)統(tǒng)稱為神經(jīng)重布線實(shí)驗(yàn)(neuro-rewiring experiments), 這些實(shí)驗(yàn)給我們的感覺就是同樣的一塊兒腦組織既可以處理視覺,,也可以處理聽覺,還可以處理觸覺,,也許就存在一種學(xué)習(xí)算法來處理視覺信號,,聽覺信號和觸覺信號。如果我們能近似模擬或?qū)崿F(xiàn)大腦的這種學(xué)習(xí)算法,,我們就能獲得絕大部分大腦可以完成的功能,,因?yàn)榇竽X可以自己去處理不同類型的數(shù)據(jù)。以下是一些模擬大腦傳感器的例子:
包括:用舌頭去“看”,;回聲定位或者聲納定位,;觸覺皮帶-方向感(向小鳥一樣感知方向);給青蛙植入第三只眼,。 這些都是很酷的例子,,也許人類的AI之夢并不遙遠(yuǎn)了!
3) Model representation I (模型表示一) 大腦中的神經(jīng)元: 神經(jīng)網(wǎng)絡(luò)的目標(biāo)就是模擬大腦中的神經(jīng)元或網(wǎng)絡(luò),,因此在介紹hypotheses的表示之前,,先讓我們來看一看大腦中神經(jīng)元:
注:關(guān)于這一塊兒,由于不太熟悉,即使聽Andrew Ng 老師的課也有很多糊涂的地方,,于是Google了一下神經(jīng)網(wǎng)絡(luò),,發(fā)現(xiàn)了一個(gè)非常不錯(cuò)的介紹神經(jīng)網(wǎng)絡(luò)的材料《神經(jīng)網(wǎng)絡(luò)入門(連載)》,以下轉(zhuǎn)載自該連載中對于大腦中的神經(jīng)元的描述,,我覺得非常清楚:
注意對于我們的這幅圖來說,比較關(guān)鍵的是樹突(dendrite)是輸入(input wires),,軸突(axon)是輸出(output wires).
現(xiàn)在我們模擬大腦中的神經(jīng)元結(jié)構(gòu)建立一個(gè)簡單的模型-Logistic unit:
其中
將多個(gè)神經(jīng)元組織在一起,,我們就有了神經(jīng)網(wǎng)絡(luò),例如如下的三層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò):
第一層稱為輸入層,,第二層是隱藏層,,第三層是輸出層,注意輸入層和隱藏層都存在一個(gè)偏置(bias unit). 其中:
對于上圖,,我們有如下的公式表示:
如果神經(jīng)網(wǎng)絡(luò)在第j層有
4) Model representation II (模型表示二) 前饋網(wǎng)絡(luò):向量化實(shí)現(xiàn) 上一節(jié)我們講到的神經(jīng)網(wǎng)絡(luò)稱為前饋網(wǎng)絡(luò),,也稱前向網(wǎng)絡(luò),這種網(wǎng)絡(luò)只在訓(xùn)練過程會(huì)有反饋信號,,而在分類過程中數(shù)據(jù)只能向前傳送,,直到到達(dá)輸出層,層間沒有向后的反饋信號,,因此被稱為前饋網(wǎng)絡(luò),。感知機(jī)( perceptron)與BP神經(jīng)網(wǎng)絡(luò)就屬于前饋網(wǎng)絡(luò)。我們已經(jīng)給出了這個(gè)神經(jīng)網(wǎng)絡(luò)的模型表示,,但是不夠簡潔,,下面我們來向量化這個(gè)模型(具體的過程推薦看視頻,以下僅給出總結(jié)):
其他的網(wǎng)絡(luò)結(jié)構(gòu):
除了上述的前饋網(wǎng)絡(luò)外,,神經(jīng)網(wǎng)絡(luò)還有其他的一些網(wǎng)絡(luò)結(jié)構(gòu),,譬如: 其中第一層仍是輸入層,最后一層第四層數(shù)輸出層,,中間兩層是隱藏層,。
5) Examples and intuitions I (例子和直觀解釋一) 本節(jié)和下一節(jié)的例子均是“邏輯代數(shù)”中的邏輯函數(shù),因此有必要在這里交代一點(diǎn)邏輯代數(shù)的背景,,以下文字摘錄自清華大學(xué)出版社的《電子技術(shù)基礎(chǔ)》6.2節(jié),,電子書鏈接來自Google book,,同時(shí)會(huì)在例子的介紹中引用該書中的一些基本定義:
非線性分類器例子-異或(XOR)/同或(XNOR) 我們的目標(biāo)是利用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)一個(gè)邏輯代數(shù)中的同或運(yùn)算,,因此首先介紹一下同或運(yùn)算和異或運(yùn)算:
下圖是一個(gè)同或預(yù)算的示例,,其中
可以將其對應(yīng)到一個(gè)非線性分類器,,如下圖所示:
同或邏輯和異或邏輯互補(bǔ):
同或運(yùn)算和異或運(yùn)算是邏輯代數(shù)中的復(fù)合運(yùn)算,因此下面我們先介紹三種最基本的邏輯運(yùn)算(與邏輯運(yùn)算,、或邏輯運(yùn)算,、非邏輯運(yùn)算),同時(shí)分別介紹其對應(yīng)的神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn),,最后將這幾種基本的邏輯運(yùn)算組合,,形成最終的同或邏輯運(yùn)算的神經(jīng)網(wǎng)絡(luò)。 與(AND)邏輯運(yùn)算示例: 相信大家對于與(AND)運(yùn)算很熟悉,,其基本的表達(dá)式如下:
我們可以用一個(gè)簡單的神經(jīng)網(wǎng)絡(luò)(一個(gè)神經(jīng)元)表示與邏輯運(yùn)算:
其中激活函數(shù) 這里的激活函數(shù)是sigmoid(logistic) function,,其圖形表示如下:
對于g(z)來說,當(dāng)z>=4.0時(shí),,g(z)約等于1,;當(dāng)z<=-4.0時(shí),,g(z)約等于-1. 對于上述激活函數(shù),將二值(0, 1)變量
可以看出,,這里的神經(jīng)網(wǎng)絡(luò)激活函數(shù)
或(OR)邏輯運(yùn)算示例: 同理,,我們也給出一個(gè)簡單的神經(jīng)網(wǎng)絡(luò)模型來模擬或(OR)邏輯運(yùn)算:
將二值(0, 1)變量
6) Examples and intuitions II (例子和直觀解釋二) 繼續(xù)上一節(jié)的例子,我們介紹第三個(gè)基本的邏輯運(yùn)算:非(NOT)邏輯運(yùn)算 用一個(gè)簡單的神經(jīng)網(wǎng)絡(luò)模型來模擬非(NOT)邏輯運(yùn)算:
得到的對應(yīng)表如下: 非邏輯運(yùn)算僅針對一個(gè)輸入值,,我們來表示一個(gè)略微復(fù)雜的邏輯表達(dá)式:
這個(gè)表達(dá)式等于1的前提是”當(dāng)且僅當(dāng)x1=x2=0".
可以用神經(jīng)網(wǎng)絡(luò)模擬如下: 好了,,有了上述三個(gè)基本邏輯運(yùn)算的基礎(chǔ)和相關(guān)的神經(jīng)網(wǎng)絡(luò)模型表示,我們可以將其組合為一個(gè)略微復(fù)雜的”同或(XNOR)邏輯運(yùn)算的神經(jīng)網(wǎng)絡(luò)“:
對于這個(gè)神經(jīng)網(wǎng)絡(luò),,這里稍作一點(diǎn)解釋,,同或運(yùn)算的表達(dá)式如下:
上圖中第二層隱藏網(wǎng)絡(luò)a1和a2分別代表了A And B和Not A And Not B,a1和a2又做了一次或邏輯運(yùn)算就得到了同或邏輯運(yùn)算,。該神經(jīng)網(wǎng)絡(luò)對應(yīng)的輸出與同或運(yùn)算的真值表相同:
第6節(jié)的手寫數(shù)字識別(分類)的演示請讀者自行觀看視頻,,此處略。
7) Multi-class classification (多類分類問題) 在邏輯回歸的筆記中,,我們談到了多類分類問題,,而神經(jīng)網(wǎng)絡(luò)同樣可以應(yīng)用于多類分類問題,只不過在表達(dá)上略有區(qū)別,。首先來看一個(gè)機(jī)器視覺中分類的例子:
對于一個(gè)輸入圖片,,需要識別其屬于行人、轎車,、摩托車或者卡車中的一個(gè)類型,,這是一個(gè)多類分類的問題。用神經(jīng)網(wǎng)絡(luò)表示如下:
其中輸出
當(dāng)向量的某個(gè)元素為1,其他為0時(shí),,代表分類結(jié)果為某個(gè)為1元素所對應(yīng)的類別,。這與之前邏輯回歸中的多類分類表示不同,在邏輯回歸中,,輸出y屬于類似于{1, 2, 3,4}中的某個(gè)值,,而非一個(gè)向量。因此,,如果要訓(xùn)練一個(gè)多類分類問題的神經(jīng)網(wǎng)絡(luò)模型,,訓(xùn)練集是這樣的:
特別注意 本章到此結(jié)束,,下一講將會(huì)將神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)問題,。轉(zhuǎn)載請注明出處"我愛公開課”,,謝謝。 參考資料:
第八課“神經(jīng)網(wǎng)絡(luò)的表示”的課件資料下載鏈接,,視頻可以在Coursera機(jī)器學(xué)習(xí)課程上觀看或下載: https://class./ml
http://en./wiki/Neural_network http://en./wiki/Artificial_neural_network 神經(jīng)網(wǎng)絡(luò)編程入門神經(jīng)網(wǎng)絡(luò)入門連載http://library./29483/neural_index.shtml http://home./~vlsi/AI/xor_t/en/main.htm 清華大學(xué)出版社的《電子技術(shù)基礎(chǔ)》,,google book |
|