Truncated SVD for faster dection

Truncated SVD方法最先被提出在《Fast R-CNN》论文中,用于降低全连接层的运算量,提升模型的速度。在卷积神经网络的分类任务中,FC层的运算速度远远大于CONV层,而在Fast R-CNN的目标检测任务中,大多数的运算时间发生在FC 的运算中,是因为针对每张输入图片,只进行一次卷积操作,而要对生成的Region Proposal,大致两千个,进行全连接操作进行分类与Bounding Box 的回归,因此若对FC层进行压缩则可以大幅减少运算时间。
原文:
On the contrary,for detcetion,large and half time spend on FC because of large amount of roi.
使用Truncated SVD的方法可以有效减少FC层的权重数量,从而减少运算时间,SVD是Singular Value Description,奇异值分解。
FC层如下所示,
在这里插入图片描述
Y=W×X,对W进行奇异值分解,W近似等于 U t V T U\sum_tV^T ,
左奇异 U u × t U-u×t
对角矩阵 t t × t \sum_t-t×t
右奇异 V v × t V-v×t
将W进行奇异分解后,运算变换为如下所示,
在这里插入图片描述
则权重数量由 u × v u×v 减少为 t × ( u + v ) t×(u+v) ,新的权重矩阵为 V T \sum V^T U U ,相当于把一个FC层变为两个FC层,当 t t 远小于 m i n ( u , v ) min(u,v) 时,能够降低很大运算量,在mAP下降0.3%的情况下,运算速度能够提升30%。

猜你喜欢

转载自blog.csdn.net/weixin_35747666/article/details/83618764
SVD
今日推荐