本文重點(diǎn)介紹一種被稱為多層感知器的經(jīng)典神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。 神經(jīng)網(wǎng)絡(luò)的誕生簡(jiǎn)史人工神經(jīng)網(wǎng)絡(luò)的起源可以追溯到20世紀(jì)50年代,。當(dāng)時(shí),,人工智能領(lǐng)域的烏托邦主義者接受了神經(jīng)科學(xué)領(lǐng)域發(fā)展起來(lái)的學(xué)習(xí)理論。尤其是,,神經(jīng)相互連接在學(xué)習(xí)中的作用成為計(jì)算機(jī)研究人員的靈感來(lái)源,。在1957年,心理學(xué)家Frank Rosenblatt制造了感知機(jī),,這是第一臺(tái)學(xué)習(xí)機(jī)器,,至今仍是機(jī)器學(xué)習(xí)的參考模型。由單層人工神經(jīng)元組成的感知器顯示出有限的能力,。研究人員試圖通過(guò)引入幾層神經(jīng)元來(lái)改善它,,但沒(méi)有找到合適的學(xué)習(xí)算法。然后,,神經(jīng)網(wǎng)絡(luò)的研究一直持續(xù)到120世紀(jì)80年代,。在這個(gè)時(shí)候,梯度反向傳播的方法變得流行起來(lái),,允許訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)(多層感知器),。盡管當(dāng)時(shí)這個(gè)術(shù)語(yǔ)沒(méi)有提到這個(gè)研究領(lǐng)域,但深度學(xué)習(xí)還是誕生了,!從那時(shí)起,,出現(xiàn)了其他類型的神經(jīng)網(wǎng)絡(luò):卷積神經(jīng)網(wǎng)絡(luò),遞歸神經(jīng)網(wǎng)絡(luò),,生成對(duì)抗網(wǎng)絡(luò)等等,。 邏輯單元/神經(jīng)單元邏輯單元或神經(jīng)單元可以看作是神經(jīng)元的一個(gè)非常簡(jiǎn)化的模型。它是構(gòu)建神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),。它接受一組n個(gè)輸入/特征,,并基于權(quán)重(W)和偏差(b)參數(shù)計(jì)算一個(gè)標(biāo)量,稱為激活,。輸出的計(jì)算稱為正向傳播,,計(jì)算如下:
激活可以是sigmoid、tanh,、ReLU,,甚至是回歸網(wǎng)絡(luò)輸出的恒等函數(shù),。 以下是一個(gè)邏輯單元及其相關(guān)方程的備忘錄表,。這里只考慮一個(gè)訓(xùn)練實(shí)例x,?是計(jì)算最終輸出預(yù)測(cè)類或輸出值。 邏輯單元(1個(gè)訓(xùn)練實(shí)例) 通常,,機(jī)器學(xué)習(xí)數(shù)據(jù)集包含數(shù)千個(gè)甚至數(shù)百萬(wàn)個(gè)訓(xùn)練實(shí)例,。為了提高計(jì)算效率,正向傳播步驟以向量化方式執(zhí)行,。下面的備忘表顯示了一個(gè)邏輯單元,,其中包含m個(gè)訓(xùn)練實(shí)例。將實(shí)例堆疊到矩陣X中,。 邏輯單元(m個(gè)訓(xùn)練實(shí)例) 神經(jīng)網(wǎng)絡(luò)有幾種類型的神經(jīng)網(wǎng)絡(luò),,但比較簡(jiǎn)單的是感知器分類器。它由若干個(gè)邏輯單元疊加而成,,形成一個(gè)隱藏層,。每個(gè)輸入特征都完全連接到下一層的每個(gè)神經(jīng)單元。類似地,,隱藏層的神經(jīng)單元完全連接到輸出層神經(jīng)單元,。為了清楚起見,偏差b在下圖中沒(méi)有顯示,。 深度神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)模型的典型實(shí)例是多層感知器,。通常,只要神經(jīng)網(wǎng)絡(luò)由四層(即三個(gè)隱藏層+一個(gè)輸出層)組成,,便被視為深度網(wǎng)絡(luò),。每層神經(jīng)單元的數(shù)量可以不同。對(duì)于二元分類,,輸出層由單個(gè)神經(jīng)單元組成(預(yù)測(cè)為0或1),。多類分類是將實(shí)例分為三個(gè)或更多類之一的問(wèn)題。我們可以通過(guò)在輸出層添加多個(gè)個(gè)神經(jīng)單元來(lái)執(zhí)行,。 深度神經(jīng)網(wǎng)絡(luò)Python示例下面是一個(gè)使用Keras的深度神經(jīng)網(wǎng)絡(luò)的基本實(shí)現(xiàn),,Keras是一個(gè)高級(jí)的神經(jīng)網(wǎng)絡(luò)API,用Python編寫,,能夠在TensorFlow,、CNTK或Theano上運(yùn)行。 下面的Python示例深度神經(jīng)網(wǎng)絡(luò)由一個(gè)輸入層,、三個(gè)隱藏層和一個(gè)輸出層(softmax)組成,。Keras庫(kù)管理所有的技術(shù)實(shí)現(xiàn),如正向傳播,、成本計(jì)算和反向傳播,。 |
|