標(biāo)簽: 深度學(xué)習(xí)狡忙、感知器
[TOC]
本文將介紹感知機(jī)這一算法。感知機(jī)是由美國學(xué)者Frank Rosenblattt 在1957年提出來的。為何我們現(xiàn)在還要學(xué)習(xí)以前的算法磷仰?因?yàn)楦兄獧C(jī)是作為神經(jīng)網(wǎng)絡(luò)起源的算法优炬。
嚴(yán)格的說颁井,本文所說的感知機(jī)應(yīng)該稱為“人工神經(jīng)元”或“樸素感知機(jī)”,但是很多基本的處理都是共通的蠢护,所以這里簡單的稱為“感知機(jī)”雅宾。
本章我們將簡單介紹一下感知機(jī),并應(yīng)用感知機(jī)解決一些簡單的問題葵硕,希望讀者通過這個過程熟悉感知機(jī)眉抬。
2.1 感知機(jī)是什么
感知機(jī)接受多個輸入信號,輸出一個信號懈凹。這里所說的信號可以想象成電流那樣具備流動的東西蜀变。像電流流過導(dǎo)線,向前方輸送電子一樣介评,感知機(jī)的信號也會形成流库北,向前方輸送信息。但是们陆,和實(shí)際的電流不同的是寒瓦,感知機(jī)信號只有"流/和不流"兩種取值。分別是棒掠,0對應(yīng)"不流"孵构,即不傳遞信號,1對應(yīng)"流"烟很,即傳遞信號颈墅。
圖2-1是一個接受兩個輸入信號的感知機(jī)的例子。雾袱、是輸入信號恤筛,是輸出信號,芹橡、是權(quán)重毒坛。圖中的圓圈(O)稱為“神經(jīng)元”或者“節(jié)點(diǎn)”。
輸入信號被送往神經(jīng)元時,會被乘以固定的權(quán)重()煎殷。神經(jīng)元會計(jì)算傳送過來的信號的總和屯伞,只有當(dāng)這個總和超過了某個閾值 ,才會輸出1豪直。這也被稱為“神經(jīng)元被激活”劣摇。
感知機(jī)的運(yùn)行原理用數(shù)學(xué)表達(dá)式表示如下
感知機(jī)的每個輸入信號都有各自固有的權(quán)重,這些權(quán)重發(fā)揮著控制各個信號的重要性的作用弓乙。也就是說末融,權(quán)重越大,對應(yīng)該權(quán)重的信號的重要性就越高暇韧。
權(quán)重相當(dāng)于電流里所說的電阻勾习。電阻是決定電流流動難度的參數(shù),電阻越低懈玻,通過的電流就越大巧婶。而感知機(jī)的權(quán)重則是值越大,通過的信號就越大酪刀。不管是電阻還是權(quán)重粹舵,在控制信號流動難度(或者流動容易度)這一點(diǎn)上的作用都是一樣的。
2.2 邏輯電路
2.2.1 與門
現(xiàn)在讓我們考慮用感知機(jī)來解決簡單的問題骂倘。這里首先以邏輯電路為題材來思考一下與門眼滤。
與門是有兩個輸入和一個輸出的門電路。圖 2-2 這種輸入信號和輸出信號的對應(yīng)表稱為“真值表”历涝。如圖 2-2 所示诅需,與門僅在兩個輸入均為1的時候輸出才是1,其他時候則輸出為0
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
下面考慮用感知機(jī)來表示這個與門荧库。需要做的就是確定能滿足圖 2-2 的真值表的堰塌、、 的值分衫。
那么场刑,設(shè)定什么樣的值才能制作出滿足圖 2-2 的條件的感知機(jī)呢?
實(shí)際上蚪战,滿足圖 2-2 的條件的參數(shù)的選擇方法有無數(shù)多個牵现。比如,當(dāng)
(邀桑,瞎疼,)=(0.5,0.5壁畸,0.7)時贼急,可以滿足圖2-2的條件茅茂。
(,太抓,)=(0.5空闲,0.5,0.8) 或者(走敌,进副,)=(1.0,1.0悔常,1.0)也滿足與門條件。設(shè)定這樣的參數(shù)后给赞,當(dāng)和同時為1的時候机打,信號的加權(quán)總和才會超過給定的。
2.2.2 與非門和或門
接著片迅,我們再來考慮一下與非門(NAND gate)残邀。NAND 是 Not AND 的意思,與非門就是顛倒了與門的輸出柑蛇。用真值表表示的話芥挣,如圖 2-3 所示,僅當(dāng)和同時為 1 時輸出 0耻台,其他時候則輸出 1空免。那么與非門的參數(shù)又可以是什么樣的組合呢?
0 | 0 | 1 |
1 | 0 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
要表示與非門盆耽,可以用(蹋砚,,)=(-0.5摄杂,-0.5坝咐,-0.7)這樣的組合(其他的組合也是無限存在的)。實(shí)際上析恢,只要把實(shí)現(xiàn)與門的參數(shù)值的符號取反墨坚,就可以實(shí)現(xiàn)與非門。
接下來看一下圖 2-4 所示的或門映挂≡罄海或門是“只要有一個輸入信號是 1,輸出就為 1”的邏輯電路袖肥。那么我們來思考一下咪辱,應(yīng)該為這個或門設(shè)定什么樣的參數(shù)呢?
0 | 0 | 0 |
1 | 0 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
這里決定感知機(jī)參數(shù)的并不是計(jì)算機(jī)椎组,而是我們?nèi)擞涂瘛N覀兛粗嬷当磉@種“訓(xùn)練數(shù)據(jù)”,人工考慮(想到)了參數(shù)的值。而機(jī)器學(xué)習(xí)的問題就是將這個決定參數(shù)值的工作交由計(jì)算機(jī)自動進(jìn)行专筷。學(xué)習(xí) 是確定合適的參數(shù)的過程弱贼,而人要做的是思考感知機(jī)的構(gòu)造(模型),并把訓(xùn)練數(shù)據(jù)交給計(jì)算機(jī)磷蛹。
如上所示吮旅,我們已經(jīng)知道使用感知機(jī)可以表示與門、與非門味咳、或門的邏輯電路庇勃。這里重要的一點(diǎn)是:與門、與非門槽驶、或門的感知機(jī)構(gòu)造是一樣的责嚷。實(shí)際上,3個門電路只有參數(shù)的值(權(quán)重和閾值)不同掂铐。也就是說罕拂,相同構(gòu)造的感知機(jī)(模型),只需通過適當(dāng)?shù)卣{(diào)整參數(shù)的值全陨,就可以像“變色龍演員”表演不同的角色一樣爆班,變身為與門、與非門辱姨、或門柿菩。
2.3 感知機(jī)的局限性
到這里我們已經(jīng)知道,使用感知機(jī)可以實(shí)現(xiàn)與門雨涛、與非門碗旅、或門三種邏輯電路。現(xiàn)在我們來考慮一下異或門(XOR gate)
2.3.1 異或門
異或門也被稱為邏輯異或 電路镜悉。如圖 2-5 所示祟辟,僅當(dāng)或中的一方為 1 時,才會輸出 1(“異或”是拒絕其他的意思)侣肄。那么旧困,要用感知機(jī)實(shí)現(xiàn)這個異或門的話,應(yīng)該設(shè)定什么樣的權(quán)重參數(shù)呢稼锅?
0 | 0 | 0 |
1 | 0 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
實(shí)際上吼具,用前面介紹的感知機(jī)是無法實(shí)現(xiàn)這個異或門的。為什么用感知機(jī)可以實(shí)現(xiàn)與門矩距、或門拗盒,卻無法實(shí)現(xiàn)異或門呢?下面我們嘗試通過畫圖來思考其中的原因锥债。
我們將感知機(jī)形式修改為另外一種實(shí)現(xiàn)形式陡蝇。在此之前痊臭,首先把式(2.1)的 θ 換成 -b ,于是就可以用式(2.2)來表示感知機(jī)的行為登夫。
雖然有一個符號不同广匙,但表達(dá)的內(nèi)容是完全相同的。此處恼策, 稱為偏置 和稱為權(quán)重 鸦致。
首先,我們試著將或門的動作形象化涣楷》滞伲或門的情況下,當(dāng)權(quán)重參數(shù)為w_1w_2時狮斗,可滿足圖2-4的真值表?xiàng)l件鳍寂。此時,感知機(jī)可用如下表達(dá)式表示
上式表示的感知機(jī)會由直線分割的兩個空間情龄。其中一個空間輸出1,另外一個空間輸出0捍壤,如圖2-6所示骤视。
或門在
那么斑鼻,換成異或門的話會如何呢蒋纬?能否像或門那樣,用一條直線作出分割圖 2-7 中的○和△的空間呢坚弱?
想要用一條直線將圖 2-7 中的○和△分開蜀备,無論如何都做不到。事實(shí)上荒叶,用一條直線是無法將○和△分開的碾阁。
2.3.2 線性與非線性
圖 2-7 中的○和△無法用一條直線分開,但是如果將“直線”這個限制條件去掉些楣,就可以實(shí)現(xiàn)了脂凶。比如宪睹,我們可以像圖 2-8 那樣,作出分開○和△的空間艰猬。
感知機(jī)的局限性就在于它只能表示由一條直線分割的空間横堡。圖 2-8 這樣彎曲的曲線無法用感知機(jī)表示。另外冠桃,由圖 2-8 這樣的曲線分割而成的空間稱為非線性 空間命贴,由直線分割而成的空間稱為線性 空間。線性食听、非線性這兩個術(shù)語在機(jī)器學(xué)習(xí)領(lǐng)域很常見胸蛛,可以將其想象成圖 2-6 和圖 2-8 所示的直線和曲線。
2.4 多層感知機(jī)
感知機(jī)不能表示異或門讓人深感遺憾樱报,但也無需悲觀葬项。實(shí)際上,感知機(jī)的絕妙之處在于它可以“疊加層”(通過疊加層來表示異或門是本節(jié)的要點(diǎn))迹蛤。這里民珍,我們暫且不考慮疊加層具體是指什么,先從其他視角來思考一下異或門的問題盗飒。
2.4.1 門電路的組合
異或門的制作方法有很多嚷量,其中之一就是組合我們前面做好的與門、與非門逆趣、或門進(jìn)行配置蝶溶。這里,與門宣渗、與非門抖所、或門用圖 2-9 中的符號表示。另外痕囱,圖 2-9中與非門前端的○表示反轉(zhuǎn)輸出的意思:
那么田轧,請思考一下,要實(shí)現(xiàn)異或門的話鞍恢,需要如何配置與門涯鲁、與非門和或門呢?這里給大家一個提示有序,用與門抹腿、與非門、或門代替圖 2-10 中的各個“旭寿?”警绩,就可以實(shí)現(xiàn)異或門。
2.3 節(jié)講到的感知機(jī)的局限性盅称,嚴(yán)格地講肩祥,應(yīng)該是“單層感知機(jī)無法表示異或門”或者“單層感知機(jī)無法分離非線性空間”后室。接下來,我們將看到通過組合感知機(jī)(疊加層)就可以實(shí)現(xiàn)異或門混狠。
異或門可以通過圖 2-11 所示的配置來實(shí)現(xiàn)岸霹。這里, 和 表示輸入信號将饺, 表示輸出信號贡避。 和 是與非門和或門的輸入,而與非門和或門的輸出(予弧、)則是與門的輸入刮吧。
現(xiàn)在,我們來確認(rèn)一下圖 2-11的配置是否真正實(shí)現(xiàn)了異或門掖蛤。這里杀捻,把作為與非門的輸出,把 作為或門的輸出蚓庭,填入真值表中致讥。結(jié)果如圖2-12所示,觀察器赞、垢袱、,可以發(fā)現(xiàn)確實(shí)符合異或門的輸出拳魁。
(、) | (撮弧、) | |
---|---|---|
(0,0) | (1,0) | 0 |
(1,0) | (1,1) | 1 |
(0,1) | (1,1) | 1 |
(1,1) | (0,1) | 0 |
下面我們試著用感知機(jī)的表示方法(明確地顯示神經(jīng)元)來表示這個異或門潘懊,結(jié)果如圖 2-11 所示。
如圖 2-11 所示贿衍,異或門是一種多層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)授舟。這里,將最左邊的一列稱為第 0 層贸辈,中間的一列稱為第 1 層释树,最右邊的一列稱為第 2 層。
圖 2-13 所示的感知機(jī)與前面介紹的與門擎淤、或門的感知機(jī)(圖2-1)形狀不同奢啥。實(shí)際上,與門嘴拢、或門是單層感知機(jī)桩盲,而異或門是2層感知機(jī)叙量。疊加了多層的感知機(jī)也稱為多層感知機(jī) (multi-layered perceptron)励堡。
圖 2-11 中的感知機(jī)總共由 3 層構(gòu)成,但是因?yàn)閾碛袡?quán)重的層實(shí)質(zhì)上只有 2 層(第 0 層和第 1 層之間,第 1 層和第 2 層之間)笆载,所以稱為“2 層感知機(jī)”。不過郁轻,有的文獻(xiàn)認(rèn)為圖 2-13 的感知機(jī)是由 3 層構(gòu)成的泥兰,因而將其稱為“3 層感知機(jī)”。
在圖 2-13 所示的 2 層感知機(jī)中量承,先在第 0 層和第 1 層的神經(jīng)元之間進(jìn)行信號的傳送和接收搬设,然后在第 1 層和第 2 層之間進(jìn)行信號的傳送和接收,具體如下所示宴合。
- 第 0 層的兩個神經(jīng)元接收輸入信號焕梅,并將信號發(fā)送至第 1 層的神經(jīng)元。
- 第 1 層的神經(jīng)元將信號發(fā)送至第 2 層的神經(jīng)元卦洽,第 2 層的神經(jīng)元輸出 y 贞言。
2.5 總結(jié)
- 感知機(jī)是具有輸入和輸出的算法。給定一個輸入后阀蒂,將輸出一個既定的值该窗。
- 感知機(jī)將權(quán)重和偏置設(shè)定為參數(shù)。
- 使用感知機(jī)可以表示與門和或門等邏輯電路蚤霞。
- 異或門無法通過單層感知機(jī)來表示酗失。
- 使用2層感知機(jī)可以表示異或門。
- 單層感知機(jī)只能表示線性空間昧绣,而多層感知機(jī)可以表示非線性空間规肴。