Abstract:近兩年,
1. 深度網絡
下面是一個簡單的神經網絡的結構圖。
對於深度網絡,就是加入深度網絡,在輸入的時候可能加入了卷積(一維卷積可以處理一維的波形,二維卷積一般處理圖像,三維卷積一般可以處理視頻圖像)或者多層隱含層,更或者適合自己領域的一些帶參數的處理,這個視情況而定。
- 一維的深度網絡:
一維信號的深度網絡,我們也可以看成一種卷積過程,如果學過信號處理,我們可以把這個網絡看做一個一維傅里葉變換的形成,提取不同成分的特徵(傅里葉是提取不同的頻率成分)。對於語音或者其他的電信號的波可以在網絡的前面加入蝶形算法形成深度網絡,應用於語音識別或者波形識別。對於文本也可以加入帶參數預處理方式加入網絡的前端。當然對於不同的應用領域的處理方式就不太一樣了。
二維深度網絡
、
二維的深度網絡代表就是卷積神經網絡,是先通過卷積再採樣,與一維卷積不一樣,我理解爲一種有限的卷積,而兩個完整的信號卷積,如一維信號X和一維信號Y的卷積,是整個序列進行卷積。而二維圖像,也可以展開爲一個一維信號X,卷積核也可以展開爲一個序列Y,這時卷積就是有限長的X信號的與整個Y信號進行卷積。但是卷積的本質不會改變,可以理解爲對某一段信號求取不同的成分,對於信號的傅里葉變換,就是求取某一段序列的頻率成分。二維深度網絡大多運用圖像。三維深度網絡
三維的深度網絡主要用於視頻方面或者二維信號的時間序列。
2.BP反饋算法
下面將講解BP反饋算法在深度網絡中的原理。
一維網絡:
假如一個4層的深層網絡。輸入層爲3,第一層隱含層爲3,第二層隱含層爲2,輸出層爲1(輸出層爲1一般用於迴歸,
那麼第一層三個神經元的三個輸出分別爲
上述網絡加了
預期輸出值:
這樣我們就可以寫出損失函數:
但是這個函數中有些點不可導或者不連續或者不是嚴格個凸函數,這樣在後面求取梯度的時候會造成錯誤。那麼我們需要加入
這樣損失函數就保證了嚴格凸連續,是一個強凸二次函數。
下面可以就可以採用很多策略來優化這些參數。比如:最速下降法,擬牛頓法,牛頓法,有限內存的擬牛頓法等。通常採用是最速下降法
那麼對於含有激活函數的深度網絡,輸出神經元(當然可以是多個)的梯度。對於每一個的輸出神經元我們可以得到。假設一共有
每層
下面具體以圖例解釋下這個公式:
假設有兩個輸出神經元,每個神經輸出的損失值分別
這個公式可以看做是誤差的分配,前一層的多個神經元連接到一個神經元上,這個神經元的損失值求出,然後根據前饋連線的權值算出前一層每一個神經元的損失值,如果輸出層有多個神經元,傳回前一層就相疊加就可以求出神經元的損失,依次類推到更多的神經元以及更深層的網絡層。
這是每一層
每一層
懷柔風光