? ? 在介紹對抗網(wǎng)絡(luò)之前延柠,我們應(yīng)該了解多層感知器的原理。
? ? 多層感知器是一種人工神經(jīng)網(wǎng)絡(luò)锣披,屬于非參數(shù)估計贞间,可以用于解決分類和回歸問題。我們先來了解下神經(jīng)網(wǎng)絡(luò)的背景雹仿,然后再來介紹下感知器增热。
? ? 神經(jīng)網(wǎng)絡(luò)
? ? 感知器
? ? 多層感知器
一、神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)盅粪,顧名思義起源于模擬人腦钓葫,其目的是理解人腦功能悄蕾,認(rèn)知科學(xué)家和神經(jīng)學(xué)家共同構(gòu)建了神經(jīng)網(wǎng)絡(luò)模型票顾,并開展了模擬研究。這項(xiàng)技術(shù)與工程結(jié)合之后帆调,可以幫助我們建立更好的計算機(jī)系統(tǒng)奠骄。
Marr認(rèn)為理解一個信息處理系統(tǒng)具有三個層面,總稱為分析層面(levels of analysis)番刊,即:
計算理論:對應(yīng)計算目標(biāo)和任務(wù)的抽象定義含鳞;
表示和算法:關(guān)于輸入/輸出如何表示以及從輸入-->輸出的算法說明;
硬件實(shí)現(xiàn):系統(tǒng)的實(shí)際物理實(shí)現(xiàn)芹务;
這里需要注意的是蝉绷,對于同一個計算理論,可以有多種表示和算法枣抱;而對于同一種表示和算法熔吗,可以有多種硬件實(shí)現(xiàn)。比如對于自然和人工飛行器佳晶,計算理論都是可以“飛行”桅狠,算法就是利用“空氣動力學(xué)”,而實(shí)現(xiàn)方式一個是“拍打翅膀”轿秧,一個是“發(fā)動引擎”中跌。
人腦可以看作是學(xué)習(xí)或模式識別的一種硬件實(shí)現(xiàn)。如果我們可以逆向分析菇篡,從這種實(shí)現(xiàn)中提取出人腦使用的表示和算法漩符,并且進(jìn)一步獲得計算理論,那么我們就可以考慮使用另一種表示和算法驱还,然后得到更適合我們掌握的計算機(jī)硬件的實(shí)現(xiàn)嗜暴。
神經(jīng)網(wǎng)絡(luò)可以應(yīng)用于并行處理津滞。常見的并行架構(gòu)有單指令多數(shù)據(jù)(SIMD)機(jī)和多指令多數(shù)據(jù)(MSMD)機(jī), 一種是所有的處理器執(zhí)行相同的指令處理不同的數(shù)據(jù)灼伤;一種是不同的處理器執(zhí)行不同的指令處理不同的數(shù)據(jù)触徐。SIMD實(shí)現(xiàn)較為簡單,但是應(yīng)用意義泻摹撞鹉;MIMD實(shí)現(xiàn)復(fù)雜,但是現(xiàn)實(shí)中多數(shù)為此種情況颖侄。
神經(jīng)網(wǎng)絡(luò)提出了一種介于中間的模式鸟雏,即引入了中間的少量局部存儲器,使用處理器的指令在存儲器上輸入不同來實(shí)現(xiàn)不同的功能览祖。其中每個處理器對應(yīng)一個神經(jīng)元孝鹊,局部參數(shù)對應(yīng)它的突出權(quán)重, 而整個結(jié)構(gòu)就是一個神經(jīng)網(wǎng)絡(luò)展蒂。所以又活,人工神經(jīng)網(wǎng)絡(luò)是一種我們可以實(shí)用當(dāng)前技術(shù)構(gòu)建的、利用并行硬件的方法锰悼。
二柳骄、感知器
感知器(Perception)是基本的處理元素,它具有輸入箕般、輸出耐薯,每個輸入關(guān)聯(lián)一個連接權(quán)重(connection weight),然后輸出是輸入的加權(quán)和丝里。
上圖就是一個單層的感知器曲初,輸入分別是X0、X1杯聚、X2臼婆,輸出Y是輸入的加權(quán)和:
Y = W0X0 + W1X1 + W2X2
在實(shí)際的使用中,我們的主要任務(wù)就是通過數(shù)據(jù)訓(xùn)練確定參數(shù)權(quán)重械媒。在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時目锭,如果未提供全部樣本二室逐個提供實(shí)例,則我們通常使用在線學(xué)習(xí)纷捞,然后在每個實(shí)例學(xué)習(xí)之后立刻調(diào)整網(wǎng)絡(luò)參數(shù)痢虹,以這種方式使得網(wǎng)絡(luò)緩慢得及時調(diào)整。具體收斂可是使用梯度下降算法主儡。
感知器具有很強(qiáng)的表現(xiàn)力奖唯,比如布爾函數(shù)AND和OR都可以使用上面的單層感知器實(shí)現(xiàn)。但是對于XOR操作則不行糜值,因?yàn)閱螌痈兄髦荒苣M線性函數(shù)丰捷,對于XOR這種非線性函數(shù)坯墨,我們需要新型的感知器。
三病往、多層感知器
對于XOR這種非線性函數(shù)的模擬捣染,我們需要采用多層感知器,即在最初的輸入和輸出層之間隱藏著一到多個層停巷,比如:
多層感知器(Multiayer perceptrons, MLP)可以實(shí)現(xiàn)非線性判別式耍攘,如果用于回歸,可以逼近輸入的非線性函數(shù)畔勤。其實(shí)MLP可以用于“普適近似”蕾各,即可以證明:具有連續(xù)輸入和輸出的任何函數(shù)都可以用MLP近似,已經(jīng)證明庆揪,具有一個隱藏層(隱藏節(jié)點(diǎn)個數(shù)不限)的MLP可以學(xué)習(xí)輸入的任意非線性函數(shù)式曲。
訓(xùn)練MLP常用的是向后傳播(backpropagation),這主要是因?yàn)樵谖覀兪諗空`差函數(shù)的時候缸榛,使用鏈接規(guī)則計算梯度:
原文參考:http://blog.chinaunix.net/uid-26275986-id-4985394.html