第655章【神經網絡深度學習】(2 / 2)

“現在我們把神經元的樹突變成輸入值,把軸突變成一個輸出值,於是這個神經元就變成了這樣的一張圖。把它轉化為一個數學公式就更簡單了,[X1+X2+X3=Y],就是這個公式。”

“沒錯,就這麼簡單。最複雜的事物往往是有最簡單的事物創造的,簡單的0和1就塑造了龐大的計算機世界,四種核苷酸就空置了紛繁複雜的生命現象,一個簡單的神經元反射就塑造了我們的大腦。”

陳宇停頓了一會兒,再度環視眾人:“問題的關鍵不是基本結構有多簡單,而是我們如何使用這個基本結構來構建龐大的世界,神經元之所以神奇是因為它有一個激活機製,即所謂的閾值。”

“神經元的每一個樹突不斷的接受輸入信號,但並不是每一個輸入信號都能讓軸突輸出信號,每一個樹突在輸入時所占的權重也不一樣。”

“比如你追求一個妹子,你孜孜不倦地采取各種行動,今天送了她一束花,明天請她吃大餐,但你發現這些行動都打動不了她。直到有一天你陪她逛了一天街,她忽然間就被打動了,答應做你女朋友,這說明什麼?”

“說明並不是所有的輸入權重都是一樣的,在妹子那裡可能逛街的權重最大,其次是效果的積累並非是一個線性漸進的過程,而是量變引起質變。”

“所有的輸入在某一個點之前完全沒效果,可一旦達到某個值就突然被激發了,所以,模仿神經元的這種激活特性,那麼對剛才的公式做一下改造。”

“每個輸入需要一定的權重,在前麵加一個調節權重的係數[W],後麵加一個常數方便更好地調整閾值,於是這個函數就變成了這個樣子。”

方鴻也看向了會議大屏幕,是一個新的數學公式。

【W1X1+W2X2+W3X3+b=Y】

陳宇看著屏幕裡的公式說:“為了實現激活的過程,對輸出值再作進一步的處理,增加一個激活函數,比如當X>1時,輸出1;當X<1時,輸出0,於是就成了這個樣子。”

“不過這個函數看起來不夠圓潤,不是處處可導,因此不好處理,換成Sigmoid函數,這樣一個簡單的函數就可以處理分類問題了。”

“單個的感知機,其實就是畫了一條線,把兩種不同的東西分開,單個感知機可以解決線性問題,但是對於線性不可分的問題卻無能為力了,那意味著連最簡單的異或問題都無法處理。”

異或問題對於在場的所有人包括方鴻都明白,這是計算機的基本運算之一。

這時,陳宇自我反問道:“異或問題處理不了,那豈不是判死刑的節奏?”

陳宇旋即自答:“很簡單,直接用核函數升維。感知機之所以能變成現在的深度學習,就是因為它從一層變成了多層,深度學習的深度就是指感知機的層數很多,我們通常把隱藏層超過三層的神經網絡就叫深度神經網絡,感知機是如何通過加層搞定異或問題的?”

陳宇回頭看向屏幕調取下一張幻燈圖並說:“計算機有四大基本運算邏輯,與、或、非、異或,這個不用多講了。如果我們把異或放在一個坐標係來表示就是這樣的。”

“原點位置X是0,Y是0,於是取0;X=1時,Y=0,兩者不同取1,通力,這兒也是1,而這個位置X、Y都等於1,所以取0,在這張圖上如果我們需要吧0和1分開,一條直線是做不到的。”

“怎麼辦?這就要看異或運算的本質了,數學上來說,異或運算其實一種複合運算,它其實可以通過其它的運算來得到,證明過程太複雜這裡就不展開了。”

“如果我們能用感知機先完成括號裡的運算,然後再把得出的結果輸入到另一個感知機裡邊進行外麵的這層運算,就可以完成疑惑運算了,然後異或問題就這麼神奇的解決了,解決問題的同時順帶還解決了線性不可分的問題。”

“這說明什麼?說明不管多麼複雜的數據,通過加層的方式都可以擬合出合適的曲線將他們分開,而加層就是函數的嵌套,理論上來講不管多麼複雜的問題,我們都可以通過簡單的線性函數組合出來,因此,理論上講,多層的感知機能夠成為通用的方法,可以跨領域地解決各類機器學習問題。”

……

上一頁 書頁/目錄 下一章