1. 程式人生 > >CNN卷積神經網路推導和實現

CNN卷積神經網路推導和實現

對於第一和第二個問題,我們考慮的是如何用Matlab內建的影象處理函式去實現上取樣和下采樣的操作。對於上取樣,imresize函式可以搞定,但需要很大的開銷。一個比較快速的版本是使用Kronecker乘積函式kron。通過一個全一矩陣ones來和我們需要上取樣的矩陣進行Kronecker乘積,就可以實現上取樣的效果。對於前向傳播過程中的下采樣,imresize並沒有提供在縮小影象的過程中還計算nxn塊內畫素的和的功能,所以沒法用。一個比較好和快速的方法是用一個全一的卷積核來卷積影象,然後簡單的通過標準的索引方法來取樣最後卷積結果。例如,如果下采樣的域是2x2的,那麼我們可以用2x2的元素全是1
的卷積核來卷積影象。然後再卷積後的影象中,我們每個2個點採集一次資料,y=x(1:2:end,1:2:end),這樣就可以得到了兩倍下采樣,同時執行求和的效果。