深度网络重参数化


最近看知乎推送的CVPR2022的一篇论文的时候发现文章提到了re-parameterized这个词,搜了一下发现了作者关于重参数化的一个报告,于是简单记录了一下~

什么是重参数化(re-parameterized)

常规思想:对于一个卷积层需要的参数是\(D\times C\times K\times K\),训练出来的参数就是\(D\times C\times K\times K\)

重参数化方法:训练时用的是另一套不同于\(D\times C\times K\times K\)的参数,训练完后等价转换为\(D\times C\times K\times K\)用于推理。

意义:提高模型的性能,改变模型的结构。

关键之处:想出重参数化的形式(如何不同于原来的);找到对应的转换方法;如何利用这种形式达到目的;

作者的ICCV2019的一个工作ACNet:

截屏2022-03-24 16.48.57

训练时多训一会,部署时模型跟以前一样却能获得性能提升。

截屏2022-03-24 16.53.54

重参数化的另一个应用是改变模型结构。

背景:Channel pruning

效果:把卷积层输出通道变小(把层变窄)

难点:CNN的精度与宽度密切相关,如何在减小宽度的时候保证精度不降低则是一个关键问题。

给定一个训练好的模型,通常的做法是:

根据某些标准选择某些channel,将其剪掉,调整网络的结构,做fine tune。

加入某种约束,训练,使得某些channel接近0,剪掉,finetune。

截屏2022-03-24 17.46.03


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM