Truncated SVD for faster dection
Truncated SVD方法最先被提出在《Fast R-CNN》論文中,用于降低全連接層的運(yùn)算量,提升模型的速度。在卷積神經(jīng)網(wǎng)絡(luò)的分類任務(wù)中,FC層的運(yùn)算速度遠(yuǎn)遠(yuǎn)大于CONV層,而在Fast R-CNN的目標(biāo)檢測(cè)任務(wù)中,大多數(shù)的運(yùn)算時(shí)間發(fā)生在FC 的運(yùn)算中,是因?yàn)獒槍?duì)每張輸入圖片,只進(jìn)行一次卷積操作,而要對(duì)生成的Region Proposal,大致兩千個(gè),進(jìn)行全連接操作進(jìn)行分類與Bounding Box 的回歸,因此若對(duì)FC層進(jìn)行壓縮則可以大幅減少運(yùn)算時(shí)間。
原文:
On the contrary,for detcetion,large and half time spend on FC because of large amount of roi.
使用Truncated SVD的方法可以有效減少FC層的權(quán)重?cái)?shù)量,從而減少運(yùn)算時(shí)間,SVD是Singular Value Description,奇異值分解。
FC層如下所示,
Y=W×X,對(duì)W進(jìn)行奇異值分解,W近似等于U∑tVTU\sum_tV^TU∑t?VT,
左奇異 U?u×tU-u×tU?u×t
對(duì)角矩陣 ∑t?t×t\sum_t-t×t∑t??t×t
右奇異 V?v×tV-v×tV?v×t
將W進(jìn)行奇異分解后,運(yùn)算變換為如下所示,
則權(quán)重?cái)?shù)量由u×vu×vu×v減少為t×(u+v)t×(u+v)t×(u+v),新的權(quán)重矩陣為∑VT\sum V^T∑VT和UUU,相當(dāng)于把一個(gè)FC層變?yōu)閮蓚€(gè)FC層,當(dāng)ttt遠(yuǎn)小于min(u,v)min(u,v)min(u,v)時(shí),能夠降低很大運(yùn)算量,在mAP下降0.3%的情況下,運(yùn)算速度能夠提升30%。
總結(jié)
以上是生活随笔為你收集整理的Truncated SVD for faster dection的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何查看OpenCV源码
- 下一篇: 怎样修改MFC中应用程序标题的图标?