天天看點

神經網絡初步

人工神經網絡是一種計算機算法

考慮以下問題:

假設需要将蘋果和梨按照直徑和重量進行分類任務

注意此時的資料是線性不可分的

神經網絡初步
神經網絡初步
神經網絡初步

如上圖所示,顯然這是線性不可分的

那麼如何實作其可分呢

如果一條直線不可分,那麼可以做多條直線,如下圖中的綠線,每一條線對應的邏輯圖在右邊

z = 1*w0 + 1*w1 + 2*w2

神經網絡初步

後面的這個

神經網絡初步

是求一個機率

在最優化以後,就可以得到如圖所示的綠線

第二個圖和第一個圖的差別就是w不同

我們現在把2層拓展到3層,就像這樣

神經網絡初步

最終的結果就是這樣的

神經網絡初步

可見,對于線性不可分的模型,多取幾個就可以變成線性可分的模型

以上的線性到非線性的轉變,一個重要的因素就是sigmod激活函數,也就是這裡的:

神經網絡初步

若不加這個激活函數,則無論w和b是怎麼變化的,其最後一層輸出的結果隻是各個單個線性模型的相加而已,最終得到的還是一個線性模型,證明如下:

神經網絡初步
神經網絡初步

顯然最後的結果還是線性模型

而有了非線性的模型,我們就可以解決非線性的問題,為什麼加了激活函數之後,我們就得到了非線性的模型呢,證明如下:

神經網絡初步
神經網絡初步

前向傳播就是從左到右

前向傳播的示意圖如下:

神經網絡初步

這裡的這個:

神經網絡初步

其實是一個偏置項

這個

神經網絡初步

乘上

神經網絡初步

就相當于一個bias

反向傳播的目的是去優化w和b

反向傳播是從loss出發,loss是指我們通過模型算出來的值和真實值之間的差距

這個差距當然是越小越好

如果沒有反向傳播,想得到每一個初始的節點對于loss的貢獻值是難以計算的

但是若使用反向的方法,将loss一級級地往前推

關于前向傳播和反向傳播詳細的介紹,見後面的文章

繼續閱讀