感知機介紹

機器人_robot發表於2020-10-26

1、感知機

感知機是由美國學者Frank Rosenblatt在1957年提出來的。因為感知機也是作為神經網路(深度學習)的起源的演算法。因此,學習感知機的構造也就是學習通向神經網路和深度學習的一種重要思想。

1.什麼是感知機?

感知機接收多個輸入訊號,輸出一個訊號。感知機的訊號只有“流/不流”(1/0)兩種取值。0對應“不傳遞訊號”,1對應“傳遞訊號”。在這裡插入圖片描述
----上圖是一個接收兩個輸入訊號的感知機的例子。x1、x2是輸入訊號,y是輸出訊號,w1、w2是權重(w是weight的首字母)。圖中的○稱為“神經元”或者“節點”。輸入訊號被送往神經元時,會被分別乘以固定的權重(w1x1、w2x2)。神經元會計算傳送過來的訊號的總和,只有當這個總和超過了某個界限值時,才會輸出1。這也稱為“神經元被啟用”。這裡將這個界
限值稱為閾值,用符號θ表示。
在這裡插入圖片描述(數學公式)

----感知機的多個輸入訊號都有各自固有的權重,這些權重發揮著控制各個訊號的重要性的作用。也就是說,權重越大,對應該權重的訊號的重要性就越高。
----權重相當於電流裡所說的電阻。電阻是決定電流流動難度的引數,電阻越低,通過的電流就越大。而感知機的權重則是值越大,通過的訊號就越大。不管是電阻還是權重,在控制訊號流動難度(或者流動容易度)這一點上的作用都是一樣的。

2、簡單邏輯電路

2.1 與門(AND gate)

----與門是有兩個輸入和一個輸出的閘電路。與門僅在兩個輸入均為1時輸出1,其他時候則輸出0。
在這裡插入圖片描述
(與門的真值表)

2.2 與非門和或門(NAND gate)

----與非門就是顛倒了與門的輸出。僅當x1和x2同時為1時輸出0,其他時候則輸出1。
在這裡插入圖片描述
(與非門的真值表)
在這裡插入圖片描述
(或門的真值表)

----我們已經知道使用感知機可以表示與門、與非門、或門的邏輯電路。這裡重要的一點是:與門、與非門、或門的感知機構造是一樣的。實際上,3個閘電路只有引數的值(權重和閾值)不同。也就是說,相同構造的感知機,只需通過適當地調整引數的值,就可以像“變色龍演員”表演不同的角色一樣,變身為與門、與非門、或門。

3 感知機的實現

3.1 簡單的實現

----現在,我們用Python來實現剛才的邏輯電路。這裡,先定義一個接收引數x1和x2的AND函式。

與門:

def AMD(x1,x2):
    w1,w2,theta = 0.5,0.5,0.7
    tmp = x1*w1 + x2*w2
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1

----在函式內初始化引數w1、w2、theta,當輸入的加權總和超過閾值時返回1,否則返回0。

相關文章