???? 博客是寫(xiě)給自己看的。? 可以提醒自己回過(guò)來(lái)看這些錯(cuò)誤,淺顯的思想。?
??? 上一次講到了深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)的卷積過(guò)程,現(xiàn)在我們需要做的就是將卷積神經(jīng)網(wǎng)路給全部講清楚。
??? 卷積過(guò)程已經(jīng)清楚之后,接著就需要連接到FC全連接層,就是跟一般神經(jīng)網(wǎng)絡(luò)一樣的層,接著就是一般的輸出結(jié)果了。由于卷積處理后的結(jié)果是一張張?zhí)卣鲌D,講這些特征圖像我們最開(kāi)始處理一般神經(jīng)網(wǎng)絡(luò)那樣經(jīng)過(guò)向量化之后再輸入到fc中。感性上來(lái)看很清晰,可是到了要一個(gè)數(shù)據(jù)一個(gè)數(shù)據(jù)的分析就很抽象。
??? 卷積神經(jīng)網(wǎng)絡(luò)的反向計(jì)算了。從FC層開(kāi)始反向計(jì)算,跟我們一般神經(jīng)網(wǎng)絡(luò)一樣,由梯度下降法逐漸反饋過(guò)來(lái)。來(lái)到了卷積層的反向傳播。FC連接的反向傳播返回的是一個(gè)梯度向量,其對(duì)應(yīng)著最后一層卷積層的的反向輸入。反向計(jì)算的時(shí)候,會(huì)將所有特征圖的梯度都計(jì)算出來(lái)然后再求和。我知道這里自己沒(méi)有表達(dá)清楚,是因?yàn)槲易约簩?duì)這點(diǎn)也是比較模糊的,以后一定會(huì)在此復(fù)習(xí)這個(gè)地方。
? 在卷積過(guò)程中,為了能夠充分利用數(shù)據(jù),也采用了pading的操作。為了增加特征的明顯性,在一個(gè)或多個(gè)卷積操作之后,往往會(huì)增加一個(gè)池化層,有MAX和AVERAGR兩種操作,就是對(duì)制定大小的區(qū)域進(jìn)行求最大操作或者求平均操作來(lái)代替那一塊區(qū)域。一般來(lái)說(shuō)會(huì)將單張?zhí)卣鲌D的大小減小一半,然后特征圖的個(gè)數(shù)不會(huì)減少。這樣可以幫助將特征更明確。并且,池化層的反向傳播也很簡(jiǎn)單。MAX操作就將更改后的值所對(duì)應(yīng)的位置置為該值,其他地方補(bǔ)0就可。AVERAGE操作就直接是每個(gè)位置的值都一樣,取平均值。
??? 還有一個(gè)區(qū)別就是,卷積層的權(quán)重系數(shù)是共享的,就是說(shuō)單一張權(quán)重系數(shù)內(nèi)部都是一樣的,無(wú)論你的pading到哪里,對(duì)應(yīng)的FILTER都是哪一個(gè),只要大家都在同一張?zhí)卣鲌D里。這樣就可以大大的減少系數(shù)的個(gè)數(shù),不然,系數(shù)的個(gè)數(shù)將會(huì)非常的大。實(shí)踐證明,這樣得到的結(jié)果是可以接受的。最后你會(huì)發(fā)現(xiàn),其實(shí)計(jì)算中權(quán)重系數(shù)主要集中在FC層中。于是就有人設(shè)計(jì)了DROP-OUT功能,就是在某次計(jì)算過(guò)程中,包括該次計(jì)算的前向和反向操作 ,隨機(jī)舍棄掉一些神經(jīng)元,其結(jié)果是可以接受的,并且減少了收斂時(shí)間。
??? 終于我回憶完了整個(gè)卷積神經(jīng)網(wǎng)絡(luò),對(duì)于我這個(gè)初學(xué)者,很難將這個(gè)網(wǎng)絡(luò)的原理講得很清楚,很抱歉??上Ь涂上г谧约褐皼](méi)有上過(guò)計(jì)算機(jī)算法的課程,對(duì)python的了解也不多,就是知道很厲害的語(yǔ)言而已。
?? 這個(gè)博客是寫(xiě)給自己看的。