最簡單的深度學習算法——感知器的前世今生

寫在前面:

各位小夥伴們,又到了喜聞樂見的更新時間,最近猛料不斷,先有Boston動力的“仁義”機器人反恐演習,緊接着MIT的狗狗們在實驗室的綠茵場上集體賣萌,讓我們感慨強人工智能離我們也許不遠了。

最簡單的深度學習算法——感知器的前世今生


作爲快要禿頭的我們,又該怎麼看待這個快速變化的世界呢?在知識更新越來越快的現在,想要專注於當下似乎都變得艱難。其實柳貓想要告訴大家,作爲一個普通人,對各種信息越是瞭解的多,認識的越是淺薄,爲了增強自己的不可替代性,必須增加自己專業的深度,從一而終。

今天,想跟大家分享一下最早也是最簡單的一個 機器學習模型:感知器~

感知器的誕生——從樣本中學習

神經網絡的AI先驅們一直依靠着神經元的繪圖以及它們相互連接的方式,進行着艱難的摸索。康奈爾大學的弗蘭克·羅森布拉特是最早模仿人體自動圖案識別視覺系統架構的人之一。

最簡單的深度學習算法——感知器的前世今生


他發明了一種看似簡單的 網絡感知器(perceptron),這種學習算法可以學習如何將圖案進行分類,例如識別字母表中的不同字母。**算法是爲了實現特定目標而按步驟執行的過程,**就像烘焙蛋糕的食譜一樣。

如果我們瞭解了感知器如何學習圖案識別的基本原則,那麼在理解深度學習工作原理的路上已經成功了一半。 感知器的目標是確定輸入的圖案是否屬於圖像中的某一類別(比如貓)。

最簡單的深度學習算法——感知器的前世今生


上圖解釋了感知器的輸入如何 通過一組權重,來實現輸入單元到輸出單元的轉換。權重是對每一次輸入對輸出單元做出的最終決定所產生影響的度量,但是我們如何找到一組可以將輸入進行正確分類的權重呢?

解決這個問題的傳統方法,是根據分析或特定程序來手動設定權重。這需要耗費大量人力,而且往往依賴於直覺和工程方法。另一種方法則是使用一種 從樣本中學習的自動過程,和我們認識世界上的對象的方法一樣。需要很多樣本來訓練感知器,包括不屬於該類別的反面樣本,特別是和目標特徵相似的,例如,如果識別目標是貓,那麼狗就是一個相似的反面樣本。這些樣本被逐個傳遞給感知器,如果出現分類錯誤,算法就會自動對權重進行校正。

感知器具體算法

這種感知器學習算法的美妙之處在於,如果已經存在這樣一組權重,並且有足夠數量的樣本,那麼它肯定能自動地找到一組合適的權重。在提供了訓練集中的每個樣本,並且將輸出與正確答案進行比較後,感知器會進行遞進式的學習。如果答案是正確的,那麼權重就不會發生變化。但如果答案不正確(0被誤判成了1,或1被誤判成了0),權重就會被略微調整,以便下一次收到相同的輸入時,它會更接近正確答。這種漸進的變化很重要,這樣一來,權重就能接收來自所有訓練樣本的影響,而不僅僅是最後一個。

最簡單的深度學習算法——感知器的前世今生


感知器是具有單一人造shen經元的神經網絡,它有一個輸入層,和將輸入單元和輸出單元相連的一組連接。感知器的目標是對提供給輸入單元的圖案進行分類。輸出單元執行的基本操作是,把每個輸入(xn)與其連接強度或權重(wn)相乘,並將乘積的總和傳遞給輸出單元。上圖中,輸入的加權和(∑i=1,…,n wi xi)與閾值θ進行比較後的結果被傳遞給階躍函數。如果總和超過閾值,則階躍函數輸出“1”,否則輸出“0”。例如,輸入可以是圖像中像素的強度,或者更常見的情況是,從原始圖像中提取的特徵,例如圖像中對象的輪廓。每次輸入一個圖像,感知器會判定該圖像是否爲某類別的成員,例如貓類。輸出只能是兩種狀態之一,如果圖像處於類別中,則爲“開”,否則爲“關”。“開”和“關”分別對應二進制值中的1和0。

感知器學習算法可以表達爲:

感知器如何區分兩個對象類別的幾何解釋

如果對感知器學習的這種解釋還不夠清楚,我們還可以通過另一種 更簡潔的幾何方法,來理解感知器如何學習對輸入進行分類。對於只有兩個輸入單元的特殊情況,可以在二維圖上用點來表示輸入樣本。每個輸入都是圖中的一個點,而 網絡中的兩個權重則確定了一條直線。感知器學習的目標是移動這條線,以便清楚地區分正負樣本。對於有三個輸入單元的情況,輸入空間是三維的,感知器會指定一個平面來分隔正負訓練樣本。在一般的情況下,即使輸入空間的維度可能相當高且無法可視化,同樣的原則依然成立。

最簡單的深度學習算法——感知器的前世今生


這些對象有兩個特徵,例如尺寸和亮度,它們依據各自的座標值(x,y)被繪製在每張圖上。左邊圖中的兩種對象(加號和正方形)可以通過它們之間的直線分隔開;感知器能夠學習如何進行這種區分。其他兩個圖中的兩種對象不能用直線隔開,但在中間的圖中,兩種對象可以用曲線分開。而右側圖中的對象必須捨棄一些樣本才能分隔成兩種類型。如果有足夠的訓練數據,深度學習網絡就能夠學習如何對這三個圖中的類型進行區分。http://m.qd8.com.cn/yiyao/xinxi21_3709996.html

最終, 如果解決方案是可行的,權重將不再變化,這意味着感知器已經正確地將訓練集中的所有樣本進行了分類。

但是,在 所謂的“過度擬合”(overfitting)中,也可能沒有足夠的樣本,網絡僅僅記住了特定的樣本,而不能將結論推廣到新的樣本。 爲了避免過度擬合,關鍵是要有另一套樣本,稱爲“測試集”(test set),它沒有被用於訓練網絡。訓練結束時,在測試集上的分類表現,就是對感知器是否能夠推廣到類別未知的新樣本的真實度量。泛化(generalization)是這裏的關鍵概念。在現實生活中,我們幾乎不會在同樣的視角看到同一個對象,或者反覆遇到同樣的場景,但如果我們能夠將以前的經驗泛化到新的視角或場景中,我們就可以處理更多現實世界的問題。

利用感知器區分性別

舉一個用感知器解決現實世界問題的例子。想想如果去掉頭髮、首飾和第二性徵,比如男性比女性更爲突起的喉結,該如何區分男性和女性的面部。

最簡單的深度學習算法——感知器的前世今生


這張臉屬於男性還是女性?人們通過訓練感知器來辨別男性和女性的面孔。來自面部圖像(上圖)的像素乘以相應的權重(下圖),並將該乘積的總和與閾值進行比較。每個權重的大小被描繪爲不同顏色像素的面積。正值的權重(白色)表現爲男性,負值的權重(黑色)傾向於女性。鼻子寬度,鼻子和嘴之間區域的大小,以及眼睛區域周圍的圖像強度對於區分男性很重要,而嘴和顴骨周圍的圖像強度對於區分女性更重要。焦作國醫胃腸醫院好不好:http://jz.lieju.com/zhuankeyiyuan/37324643.htm

最簡單的深度學習算法——感知器的前世今生


區分男性與女性面部的工作有趣的一點是,雖然我們很擅長做這種區分,卻無法確切地表述男女面部之間的差異。由於沒有單一特徵是決定性的,因此這種模式識別問題要依賴於將大量低級特徵的證據結合起來。 感知器的優點在於,權重提供了對性別區分最有幫助的面部的線索。令人驚訝的是,人中(即鼻子和嘴脣之間的部分)是最顯著的特徵,大多數男性人中的面積更大。眼睛周圍的區域(男性較大)和上頰(女性較大)對於性別分類也有着很高的信息價值。感知器會權衡來自所有這些位置的證據來做出決定,我們也是這樣來做判定的,儘管我們可能無法描述出到底是怎麼做到的。

感知器的擴展

感知器激發了對高維空間中模式分離的美妙的數學分析。當那些點存在於有數千個維度的空間中時,我們就無法依賴在生活的三維空間裏對點和點之間距離的直覺。俄羅斯數學家弗拉基米爾·瓦普尼克(Vladimir Vapnik)在這種分析的基礎上引入了一個分類器,稱爲“支持向量機”(Support Vector Machine)。

最簡單的深度學習算法——感知器的前世今生


它將感知器泛化,並被大量用於機器學習。他找到了一種自動尋找平面的方法,能夠最大限度地將兩個類別的點分開(線性)。這讓泛化對空間中數據點的測量誤差容忍度更大,再結合 作爲非線性擴充的“內核技巧”(kernel trick),支持向量機算法就成了機器學習中的重要支柱。

總結——並非萬能的感知器

在感知器中,每個輸入都獨立地向輸出單元提供證據。但是,如果需要依靠多個輸入的組合來做決定,那會怎樣呢?這就是感知器無法區分螺旋結構是否相連的原因:單個像素並不能提供它是在內部還是外部的位置信息。儘管在多層前饋神經網絡中,可以在 輸入和輸出單元之間的中間層中形成多個輸入的組合,但是在20世紀60年代,還沒有人知道如何訓練簡單到中間 只有一層“隱藏單元”(hiddenunits)的神經網絡


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章