浅谈神经网络(一)
到底什么是神經網絡呢??在陷入各種各樣概念、名詞、理論之前,請務必提醒自己,只有從整體上理解到底什么是神經網絡,之后的深入學習才不至于迷失方向。
請看下面三張圖:
圖一圖二圖三
這三幅圖跟就能很好的對神經網絡進行一個整體的描述:神經網絡就是一個黑箱,和人腦一樣。
(1)我們給這個黑箱一些輸入和輸出,這個黑箱就能夠自動去尋找這些輸入和輸出之前的關系,等以后我們再輸入一些東西時,他們便能給出我們一些輸出。 就跟人腦一樣,我們不停的輸入一些人,輸出對應性別,等腦子慢慢學習和長大,以后再看到一些人,就能分辨他們的性別了。
(2)對于有些輸入,不一定就會有輸出,而是能夠找到這些輸入之間的關系。 就跟人腦一樣,我們看人,輸入各種各樣的人,隨著我們人腦的不停學習和訓練,會自動把他們分為美、普通、丑等關系。(突然想到,小的時候不知道丑,等到長大了突然有一點感覺自己穿的好土好丑)
因此,叫做神經網絡,還是很貼切的。 接下來是其他幾點類比:
(1)人腦有聰明的,也有笨的,所以我們以后構造的神經網絡也有聰明和笨之分,只有不斷的訓練,不斷調整合適的參數,才能讓我們設計的神經網絡越來越聰明。
(2)人腦都有自己適合做的事情,比如有些人適合學理科,有些人適合學文科;有些人適合搞經濟,有些人適合搞政治。 。 同樣,各種各種的神經網絡模型,也有自己適合做的事情,只有搞懂神經網絡的基本原理,才能夠根據自己的實際需要,選擇合適的網絡。 (突然想起前幾天一個小時候的同學說的一句話:“TMD過了這么多年,我發現一點:我就根本不適合上學”)。
(3)人腦也有誤判的時候,因此用神經網絡,是無法做到100%準確的,因此對于要求有百分之百準確度的事情,不能用神經網絡,需要建立精確的數學模型和公式來計算才行。
總之,就一句話,“神經網絡就是一個神奇的黑箱”。 接下來,我們就一起去打開這個黑箱,看看他里面到底是怎么回事。
二、打開黑箱
剛剛打開黑箱,你可能驚呆了,里面都是一些什么亂七八糟的東西,完全不懂啊。 不用慌張,我們一點點的去分析。
神奇的造物主創造了人腦,于是有些人也試圖去創造神經網絡去模擬人腦。 假如是你要設計一個神經網絡,你會怎么做呢? 如果你百思不得其解,那么好吧,我們一起來看看前輩門是怎么設計的吧。 這里的前輩們有很多,為了使大家既能?理解神經網絡原理?,又?能夠實踐操作?,我把前輩們分成了兩類:?數學家和程序員。?其中數學家設計了整體的思想,而程序員用程序實現了數學家所說的功能(以Matlab為例進行演示)。
我們看看前輩們是怎么設計的。
我們發現這個黑箱里面有很多?小圓球?,如下圖所示:
這些小圓球還有一個很好聽的名字,叫做“神經元”,剛開始看你可能覺得這些小圓球亂七八糟排列,實際上如果你仔細看的話,他們之間的排列是有規則的,根據他們排列規則不同,神經網絡結構大概分成如下幾種:
(1)前饋型
這些小圓球一個接一個的排列,input表示輸入信號,從前到后,一直到output輸出,神經元和神經元之間沒有信號的傳輸。 其中第一層是輸入單元,第二層稱為隱含層,第三層稱為輸出層(輸入單元不是神經元,因此圖中有2層神經元)。
例如BP神經網絡和感知器神經網就是這么排列的。
(2 )反饋型
顧名思義,最后的輸入信號不僅輸出就完事了,還會把輸出信號反饋回去,因此叫做反饋型神經網絡。
例如:回歸BP網絡就屬于這一種。
(3)層內有互相結合的
前面的結構,同一層神經元之間沒有聯系,而層內有互相結合的結構,層內神經元會互相有信息傳輸。
怎么樣,是不是很贊賞前輩們,竟然能夠想到這么個辦法,這些小球(神經元)互相連接,就能干很多很多復雜的事情,可是這些小球到底是個什么東西呢,接下來,就進入本文的重點,讓我們深入小球內部看看是怎么個回事。
三、打開小圓球(神經元)
每一個神經元的結構,如下圖所示:(請注意,接下來就要有各種公式符號等等,始終記住,神經網絡是一個黑箱,里面有很多小球(神經元)連接,他們一層一層的排列,有了各種各樣的結構方式)
上面一個圖就是神經元的內部結構圖,雖然它不是一個球,但是你可以想象它外部是有一層圓圓的外殼,包裹著它就好。 我們一點點看看他都有那些東西。
(1)輸入:inputs表示的x1,x2,...,xm表示的是輸入信號,這些輸入信號輸入進各個神經元的∑函數進行一個求和,我們看到他們并是直接相加的,而是每個輸入都乘以了一個系數W之后再相加的,這些W稱為權重,或者叫權值,或者叫做Weight。
(2)bias:我們看到進入∑符號的不僅有輸入乘以Weight,還有一個Bias,他的輸入是1,權值是W0,所以也可以看成是一個固定輸入為1,權重為W0的一個輸入信號。 在其他一些書里面,bias的值會有bi符號表示,或者別的,總之是一個意思。 還要注意的是,這個bias有很多名字,什么閾值、threshold,偏置等等都是一個意思。
(3)激活函數:前面的輸入和bias經過∑求和之后,就會通過一個函數進行處理,進而輸出結果,這個函數就叫做激活函數,也就Activation Function,也叫傳遞函數,也就Transfer Function,也叫TF,總之這些名稱都是一回事。
怎么樣,就是這么一個一個的神經元,就組成了一個神奇的神經網絡,這個魔法的黑箱,就能干很多事情。
那么問題來了,我們可以改變那些東西,進而完成我們各種各樣的問題解決呢?
我們能改動的,無非是下面幾個東西:
1、各神經元的權值
2、bias,廣義上,也是權值
3、激活函數
4、神經網絡的層數
5、各層神經元的個數
6、神經網絡的連接結構
7、輸入輸出的格式和質量
后續再談......
?
實驗證明大腦利用同一個學習算法實現了聽覺、視覺等等所有的功能,這也是神經網絡算法美好的愿景。
轉載于:https://www.cnblogs.com/shuaishuaidefeizhu/p/6832363.html
總結
- 上一篇: 物联网平台构架系列 (四):Amazon
- 下一篇: 团队项目个人进展——Day08