作者 | Harper
審核 | gongyouliu
編輯 | auroral-L
了解感知機
上期帶大家了解了人工神經(jīng)網(wǎng)絡的內(nèi)容,本期給大家介紹一下感知機的概念。人工神經(jīng)神經(jīng)網(wǎng)絡呢始于20世紀50年代,當時Frank Rosenblatt教授開發(fā)了第一個感知機,它本質(zhì)上其實就是人工神經(jīng)網(wǎng)絡中的單個節(jié)點。感知機就像是一臺做決定的微型機器,它接收多個輸入,將他們與相應的權重相乘并求和,然后對和再執(zhí)行一個數(shù)學函數(shù)運算以產(chǎn)生輸出結(jié)果。
我們可以將感知機想象成一個小圓圈,進入該圓圈的是三個輸入,每個輸入都顯示為箭頭。我們可以把輸入記為x1、x2、x3,這個感知機有一個輸出,再次用箭頭表示。因為所有的箭頭都指向同一個方向,所以這是一個前饋感知機。
我們就可以利用這個感知機來做決定。比如說你要去某家墨西哥餐廳吃飯,通常會考慮三個因素來決定。那么你的輸入可以是以下三個:x1表示這個餐廳是否干凈,x2表示他是否有西班牙語版本的菜單,因為有西班牙語菜單的餐廳一般會比較地道。x3表示墻上是否掛了一個草帽,因為根據(jù)經(jīng)驗的話,掛了草帽的餐廳味道都不太好。然后我們可以為這些輸入中的每一個分配一個二進制值,可以是0和1,也可以是1和-1。
現(xiàn)在就可以假設感知機對所有這些因素進行一個衡量,并執(zhí)行一個簡單的加法或者減法函數(shù),比如說,如果餐廳干凈,則加1,否則減1,以此類推其他輸入。那么感知機執(zhí)行這個函數(shù),如果總數(shù)達到了指定的閾值,我們就會在該餐廳用餐。
但是,這個感知機太簡單了,它并沒有太大的用處,因為他只是告訴你,只有滿足所有的條件才會在這個餐廳吃飯,它也沒有辦法學習。它所做的只是執(zhí)行加法操作,并給出yes or no的建議。
那為了改進這個感知機,我們可以為輸入分配相應權重,比如說,你給x1的權重分配為3,x2的權重為6,x3的權重為2,當然這都是根據(jù)你自己的喜好來設定的,然后再為總數(shù)設定一個閾值。那為了計算加權輸入,感知機會在做出決策之前將每個輸入值乘以它的權重。這樣做的好處是,當你給感知機輸入更多數(shù)據(jù)的時候,它可以通過調(diào)整權重來學習。
感知機還可以通過增加偏置項來增加或減少輸出,作為一種提高輸出精度的方法。這個方法我們在后續(xù)的視頻里也會給大家介紹。
我剛才提到的例子是比較簡單的,但要記住的關鍵點是,感知機對多個輸入執(zhí)行一個函數(shù)以產(chǎn)生單個輸出,感知機可以通過調(diào)整輸入的權重和增加偏置項來學習。一個人工神經(jīng)網(wǎng)絡可能包含成百上千個這樣的感知機,每個感知機接受輸入并對輸入執(zhí)行一個函數(shù)以產(chǎn)生輸出。輸入層中的感知機接受你輸入到機器中的數(shù)據(jù),產(chǎn)生輸出,并將他們傳遞給隱藏層中的感知機,這些感知機再將其輸入傳遞給其他感知機,直到多輪聚合的結(jié)果傳遞到輸出層,輸出層提供最終結(jié)果。
注意,人工神經(jīng)網(wǎng)絡中的感知機或單個神經(jīng)元通常被稱為單層感知機,具有隱藏層的人工神經(jīng)網(wǎng)絡通常被稱為多層感知機。