[神經(jīng)網(wǎng)絡(luò)這次真的搞懂了!] (3) 使用神經(jīng)網(wǎng)絡(luò)識(shí)別手寫(xiě)數(shù)字 - 神經(jīng)網(wǎng)絡(luò)

英文原文:http://neuralnetworksanddeeplearning.com/
對(duì)原文的表達(dá)有部分改動(dòng)

神經(jīng)網(wǎng)絡(luò)的架構(gòu)

在徹底的介紹和使用神經(jīng)網(wǎng)絡(luò)的架構(gòu)前舍沙,讓我們對(duì)于神經(jīng)網(wǎng)絡(luò)的一些名詞做定義和解釋。假設(shè)我們有網(wǎng)絡(luò):


如前所述秒咐,這個(gè)網(wǎng)絡(luò)中最左邊的一層稱為輸入層鹰贵,層內(nèi)的神經(jīng)元稱為輸入神經(jīng)元觅捆。最右邊的稱為輸出層放航,層內(nèi)包含輸出神經(jīng)元跪呈,在這種情況下置鼻,包含單個(gè)輸出神經(jīng)元夫壁。中間層稱為隱藏層,該層中的神經(jīng)元既不是輸入也不是輸出沃疮。 “隱藏”這個(gè)詞可能聽(tīng)起來(lái)有點(diǎn)神秘,它的真正含義只不過(guò)是“不是輸入或輸出”的層梅肤。上面的網(wǎng)絡(luò)只有一個(gè)隱藏層司蔬,但有些網(wǎng)絡(luò)包含多個(gè)隱藏層。例如姨蝴,下面的四層網(wǎng)絡(luò)有兩個(gè)隱藏層:


由于歷史原因俊啼,這種多層網(wǎng)絡(luò)有時(shí)被稱為多層感知器或 MLPs,盡管由 sigmoid 神經(jīng)元組成左医,而不是感知器授帕。

網(wǎng)絡(luò)中輸入和輸出層的設(shè)計(jì)通常很簡(jiǎn)單。例如浮梢,假設(shè)我們?cè)噲D確定手寫(xiě)圖像是否描繪了“9”跛十。設(shè)計(jì)網(wǎng)絡(luò)的一種方式是將圖像像素值(通常是 0~255)編碼到輸入神經(jīng)元中。如果圖像是 64 x 64 灰度圖像秕硝,那么我們將有 4096 個(gè)輸入神經(jīng)元芥映,強(qiáng)度在 0 和 1 之間適當(dāng)縮放。輸出層將只包含一個(gè)神經(jīng)元,輸出小于 0.5 的值表示“輸入圖像不是 9”奈偏,大于 0.5 的值表示“輸入圖像是 9”坞嘀。

雖然神經(jīng)網(wǎng)絡(luò)的輸入和輸出層的設(shè)計(jì)通常很簡(jiǎn)單,但隱藏層的設(shè)計(jì)則是一門(mén)藝術(shù)惊来。特別是丽涩,不可能用一些簡(jiǎn)單的經(jīng)驗(yàn)法則來(lái)總結(jié)隱藏層的設(shè)計(jì)過(guò)程。相反裁蚁,神經(jīng)網(wǎng)絡(luò)研究人員為隱藏層開(kāi)發(fā)了許多啟發(fā)式的設(shè)計(jì)方法矢渊,幫助人們從網(wǎng)絡(luò)中獲得他們想要的行為。例如厘擂,此類(lèi)啟發(fā)式方法可用于幫助確定如何在隱藏層的數(shù)量與訓(xùn)練網(wǎng)絡(luò)所需的時(shí)間之間進(jìn)行權(quán)衡昆淡。我們將在本系列后面遇到幾個(gè)這樣的設(shè)計(jì)啟發(fā)式方法。

到目前為止刽严,我們一直在討論神經(jīng)網(wǎng)絡(luò)昂灵,其中一層的輸出用作下一層的輸入。這種網(wǎng)絡(luò)稱為前饋神經(jīng)網(wǎng)絡(luò)(feedforward neural networks)舞萄。這意味著網(wǎng)絡(luò)中沒(méi)有環(huán)路——信息總是前饋眨补,從不反饋。如果我們確實(shí)有循環(huán)倒脓,我們最終會(huì)遇到 σ 函數(shù)的輸入取決于輸出的情況撑螺。我們不允許這樣的循環(huán)。

然而崎弃,還有其他的人工神經(jīng)網(wǎng)絡(luò)模型甘晤,其中反饋回路是可能的。這些模型稱為循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks)饲做。為了限制我們的范圍线婚,在本書(shū)中我們將專(zhuān)注于更廣泛使用的前饋網(wǎng)絡(luò)。

一個(gè)簡(jiǎn)單的手寫(xiě)數(shù)字分類(lèi)網(wǎng)絡(luò)

定義了神經(jīng)網(wǎng)絡(luò)后盆均,讓我們回到手寫(xiě)識(shí)別塞弊。我們可以將識(shí)別手寫(xiě)數(shù)字的問(wèn)題分成兩個(gè)子問(wèn)題。首先泪姨,我們想要一種將包含多個(gè)數(shù)字的圖像分解為一系列單獨(dú)圖像的方法游沿,每個(gè)圖像都包含一個(gè)數(shù)字。例如肮砾,我們想拆分圖像:


拆分成一下六個(gè)圖像:


我們?nèi)祟?lèi)很容易解決這個(gè)分割問(wèn)題诀黍,但計(jì)算機(jī)程序要正確地分解圖像是具有挑戰(zhàn)性的。一旦圖像被分割仗处,程序就需要對(duì)每個(gè)單獨(dú)的數(shù)字進(jìn)行分類(lèi)蔗草。例如咒彤,我們希望我們的程序能夠識(shí)別上面的第一個(gè)數(shù)字:



它是5。

我們將專(zhuān)注于編寫(xiě)一個(gè)程序來(lái)解決第二個(gè)問(wèn)題咒精,即對(duì)單個(gè)數(shù)字進(jìn)行分類(lèi)镶柱。事實(shí)證明,一旦您有一種對(duì)單個(gè)數(shù)字進(jìn)行分類(lèi)的好方法模叙,分割問(wèn)題就不那么難解決了歇拆。因此,與其擔(dān)心分割范咨,我們將專(zhuān)注于開(kāi)發(fā)一個(gè)神經(jīng)網(wǎng)絡(luò)故觅,它可以解決更有趣和更困難的問(wèn)題,即識(shí)別單個(gè)手寫(xiě)數(shù)字渠啊。

為了識(shí)別單個(gè)數(shù)字输吏,我們將使用三層神經(jīng)網(wǎng)絡(luò):


網(wǎng)絡(luò)的輸入層包含對(duì)輸入像素值進(jìn)行編碼的神經(jīng)元。我們的網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)將由許多 28 x 28 像素的掃描手寫(xiě)數(shù)字圖像組成替蛉,因此輸入層包含 784=28×28 個(gè)神經(jīng)元贯溅。為簡(jiǎn)單起見(jiàn),我省略了上圖中的大部分 784 個(gè)輸入神經(jīng)元躲查。輸入像素是灰度的它浅,0.0 的值代表白色,1.0 的值代表黑色镣煮,中間的值代表逐漸變暗的灰色陰影姐霍。

網(wǎng)絡(luò)的第二層是隱藏層。我們用 n 表示這個(gè)隱藏層中的神經(jīng)元數(shù)量典唇,我們將試驗(yàn)不同的 n 值镊折。顯示的示例說(shuō)明了一個(gè)小的隱藏層,僅包含 n=15 個(gè)神經(jīng)元介衔。

網(wǎng)絡(luò)的輸出層包含 10 個(gè)神經(jīng)元腌乡。如果第一個(gè)神經(jīng)元觸發(fā),即output ≈1夜牡,則表示網(wǎng)絡(luò)認(rèn)為數(shù)字是 0。如果第二個(gè)神經(jīng)元觸發(fā)侣签,則表明網(wǎng)絡(luò)認(rèn)為數(shù)字是 1塘装。并且很快。更準(zhǔn)確地說(shuō)影所,我們將輸出神經(jīng)元編號(hào)為 0 到 9蹦肴,并找出哪個(gè)神經(jīng)元的激活值最高。如果該神經(jīng)元的編號(hào)為 6猴娩,那么我們的網(wǎng)絡(luò)將猜測(cè)輸入數(shù)字是 6阴幌。對(duì)于其他輸出神經(jīng)元勺阐,依此類(lèi)推。

您可能想知道為什么我們使用 10 個(gè)輸出神經(jīng)元矛双。畢竟渊抽,網(wǎng)絡(luò)的目標(biāo)是告訴我們哪個(gè)數(shù)字 (0,1,2,…,9) 對(duì)應(yīng)于輸入圖像。一種看似自然的方法是僅使用 4 個(gè)輸出神經(jīng)元议忽,將每個(gè)神經(jīng)元視為編碼二進(jìn)制值(0x0001懒闷,0x0010...),具體取決于神經(jīng)元的輸出是接近 0 還是接近 1栈幸。四個(gè)神經(jīng)元足以編碼答案愤估,因?yàn)?2^4 = 16 大于輸入數(shù)字的 10 個(gè)可能值。為什么我們的網(wǎng)絡(luò)應(yīng)該使用 10 個(gè)神經(jīng)元速址?那不是導(dǎo)致效率低下嗎玩焰?最終的理由是經(jīng)驗(yàn)性的:我們可以嘗試兩種網(wǎng)絡(luò)設(shè)計(jì)。結(jié)果證明芍锚,對(duì)于這個(gè)特定問(wèn)題昔园,具有 10 個(gè)輸出神經(jīng)元的網(wǎng)絡(luò)比具有 4 個(gè)輸出神經(jīng)元的網(wǎng)絡(luò)學(xué)習(xí)識(shí)別數(shù)字性能更好。但這讓我們想知道為什么使用 10 個(gè)輸出神經(jīng)元效果更好闹炉。是否有一些啟發(fā)式方法可以提前告訴我們應(yīng)該使用 10個(gè)輸出神經(jīng)元編碼而不是 4個(gè)輸出神經(jīng)元編碼蒿赢?

要理解我們?yōu)槭裁匆@樣做,從第一原則考慮神經(jīng)網(wǎng)絡(luò)正在做什么會(huì)有所幫助渣触。首先考慮我們使用 10 個(gè)輸出神經(jīng)元的情況羡棵。讓我們專(zhuān)注于第一個(gè)輸出神經(jīng)元,它試圖確定數(shù)字是否為 0嗅钻。它通過(guò)權(quán)衡來(lái)自神經(jīng)元隱藏層的證據(jù)來(lái)做到這一點(diǎn)皂冰。那些隱藏的神經(jīng)元在做什么?(以下為假設(shè)养篓,并不是真實(shí)情況)假設(shè)為了論證秃流,隱藏層中的第一個(gè)神經(jīng)元檢測(cè)是否存在如下圖像:


它可以通過(guò)對(duì)與圖像重疊的輸入像素進(jìn)行大量加權(quán)(類(lèi)似 mask),并對(duì)其他輸入進(jìn)行少量加權(quán)來(lái)做到這一點(diǎn)柳弄。以類(lèi)似的方式舶胀,我們假設(shè)隱藏層中的第二、第三和第四個(gè)神經(jīng)元檢測(cè)是否存在以下圖像:


您可能已經(jīng)發(fā)覺(jué)了碧注,這四個(gè)圖像一起構(gòu)成了我們?cè)谇懊骘@示的數(shù)字行中看到的圖像 “0”:


因此嚣伐,如果所有四個(gè)隱藏神經(jīng)元都被激活,那么我們可以得出結(jié)論萍丐,數(shù)字是 0轩端。當(dāng)然,這不是我們可以用來(lái)得出圖像是 0 的唯一證據(jù)逝变,我們合法地得到 0 還有許多其他方式(例如基茵,通過(guò)上述圖像的翻轉(zhuǎn)奋构,或輕微的扭曲)。但可以肯定地說(shuō)拱层,至少在這種情況下弥臼,我們得出的結(jié)論是輸入是 0。

假設(shè)神經(jīng)網(wǎng)絡(luò)以這種方式運(yùn)行舱呻,我們可以給出一個(gè)合理的解釋?zhuān)忉尀槭裁淳W(wǎng)絡(luò)有 10 個(gè)輸出而不是 4 個(gè)更好醋火。如果我們有 4 個(gè)輸出,輸出的關(guān)系會(huì)讓人捉摸不定箱吕,二進(jìn)制最低位并不能與圖像產(chǎn)生什么形象的聯(lián)系(每一種輸出都需要使用到最低位芥驳,四位是一個(gè)整體)。

現(xiàn)在茬高,綜上所述兆旬,這只是一種啟發(fā)式方法。沒(méi)有說(shuō)三層神經(jīng)網(wǎng)絡(luò)必須按照我描述的方式運(yùn)行怎栽,隱藏神經(jīng)元檢測(cè)簡(jiǎn)單的組件形狀丽猬。也許一個(gè)聰明的學(xué)習(xí)算法會(huì)找到一些權(quán)重分配,讓我們只使用 4 個(gè)輸出神經(jīng)元熏瞄。但是作為一種啟發(fā)式方法脚祟,我所描述的思維方式非常有效,并且可以為您節(jié)省大量時(shí)間來(lái)設(shè)計(jì)良好的神經(jīng)網(wǎng)絡(luò)架構(gòu)强饮。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末由桌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子邮丰,更是在濱河造成了極大的恐慌行您,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剪廉,死亡現(xiàn)場(chǎng)離奇詭異娃循,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)斗蒋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)捌斧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人泉沾,你說(shuō)我怎么就攤上這事捞蚂。” “怎么了爆哑?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)舆吮。 經(jīng)常有香客問(wèn)我揭朝,道長(zhǎng)队贱,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任潭袱,我火速辦了婚禮柱嫌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屯换。我一直安慰自己编丘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布彤悔。 她就那樣靜靜地躺著嘉抓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晕窑。 梳的紋絲不亂的頭發(fā)上抑片,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音杨赤,去河邊找鬼敞斋。 笑死,一個(gè)胖子當(dāng)著我的面吹牛疾牲,可吹牛的內(nèi)容都是我干的植捎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼阳柔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼焰枢!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起盔沫,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤医咨,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后架诞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拟淮,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年谴忧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了很泊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沾谓,死狀恐怖委造,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情均驶,我是刑警寧澤昏兆,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站妇穴,受9級(jí)特大地震影響爬虱,放射性物質(zhì)發(fā)生泄漏隶债。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一跑筝、第九天 我趴在偏房一處隱蔽的房頂上張望死讹。 院中可真熱鬧,春花似錦曲梗、人聲如沸赞警。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)愧旦。三九已至,卻和暖如春碘举,著一層夾襖步出監(jiān)牢的瞬間忘瓦,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工引颈, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留耕皮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓蝙场,卻偏偏與公主長(zhǎng)得像凌停,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子售滤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容