Aitical / SCNet

[MIR 24] Fully 1x1 Convolutional Network for Lightweight Image Super-Resolution
70 stars 7 forks source link

想知道是否可以将shift conv 是否也能像普通卷积一样进行结构重参数化 #3

Open LKAMING97 opened 1 year ago

Aitical commented 1 year ago

感谢对SCNet的关注! 这个是一个很有趣的问题,关于重参数化的设计,我们在之前也进行过一些简单的验证。

基于RepVGG [1] 的重参数方法,将多分支的conv结构合并成最大的单一conv层。

在SCNet的消融部分,我们验证了Shift-Conv在不同‘kernel size’下的表现,例如3x3、5x5、非对称结构或者空洞卷积。 SCNet中Shift-Conv的一种实现形式是基于Depth-wise Conv,从功能实现上看是可以结合重参数化技巧的,例如在5x5的Shift-Conv中融合3x3Shift-Conv。这部分我们在实验中进行过一些简单的验证,验证的结果是并没有明显提升。这部分并没有引入额外的先验帮助模型初始化或者更好的学习。


Thank you for your interest in SCNet! This is an intriguing question. We have previously conducted some preliminary evaluation regarding the design of reparametrization.

Based on the reparameterization method in RepVGG [1], we can merge multi-branch conv structures into a single conv layer with the maximum kernel size.

In the ablation study of SCNet, we examined the performance of Shift-Conv under different 'kernel sizes' such as 3x3, 5x5, asymmetrical structures, and dilated convolutions. Notably, one implementation of Shift-Conv in SCNet is based on Depth-wise Conv. From this point, it can be combined with reparameterization techniques, such as integrating a 3x3 Shift-Conv within a 5x5 Shift-Conv. We have done some preliminary tests on this, but the results did not show significant improvement. We think this approach did not introduce any additional priors to assist in model initialization or enhanced learning.

[1] Xiaohan Ding, Xiangyu Zhang, Ningning Ma, Jungong Han, Guiguang Ding, Jian Sun: RepVGG: Making VGG-Style ConvNets Great Again. CVPR 2021: 13733-13742

LKAMING97 commented 1 year ago

感谢对SCNet的关注! 这个是一个很有趣的问题,关于重参数化的设计,我们在之前也进行过一些简单的验证。

基于RepVGG [1] 的重参数方法,将多分支的conv结构合并成最大的单一conv层。

在SCNet的消融部分,我们验证了Shift-Conv在不同‘kernel size’下的表现,例如3x3、5x5、非对称结构或者空洞卷积。 SCNet中Shift-Conv的一种实现形式是基于Depth-wise Conv,从功能实现上看是可以结合重参数化技巧的,例如在5x5的Shift-Conv中融合3x3Shift-Conv。这部分我们在实验中进行过一些简单的验证,验证的结果是并没有明显提升。这部分并没有引入额外的先验帮助模型初始化或者更好的学习。

Thank you for your interest in SCNet! This is an intriguing question. We have previously conducted some preliminary evaluation regarding the design of reparametrization.

Based on the reparameterization method in RepVGG [1], we can merge multi-branch conv structures into a single conv layer with the maximum kernel size.

In the ablation study of SCNet, we examined the performance of Shift-Conv under different 'kernel sizes' such as 3x3, 5x5, asymmetrical structures, and dilated convolutions. Notably, one implementation of Shift-Conv in SCNet is based on Depth-wise Conv. From this point, it can be combined with reparameterization techniques, such as integrating a 3x3 Shift-Conv within a 5x5 Shift-Conv. We have done some preliminary tests on this, but the results did not show significant improvement. We think this approach did not introduce any additional priors to assist in model initialization or enhanced learning.

[1] Xiaohan Ding, Xiangyu Zhang, Ningning Ma, Jungong Han, Guiguang Ding, Jian Sun: RepVGG: Making VGG-Style ConvNets Great Again. CVPR 2021: 13733-13742

想知道有对应的代码实现吗,我想学习一下shift conv与常规卷积的结构重参数化有什么区别呢

LKAMING97 commented 1 year ago

感谢对SCNet的关注! 这个是一个很有趣的问题,关于重参数化的设计,我们在之前也进行过一些简单的验证。

基于RepVGG [1] 的重参数方法,将多分支的conv结构合并成最大的单一conv层。

在SCNet的消融部分,我们验证了Shift-Conv在不同‘kernel size’下的表现,例如3x3、5x5、非对称结构或者空洞卷积。 SCNet中Shift-Conv的一种实现形式是基于Depth-wise Conv,从功能实现上看是可以结合重参数化技巧的,例如在5x5的Shift-Conv中融合3x3Shift-Conv。这部分我们在实验中进行过一些简单的验证,验证的结果是并没有明显提升。这部分并没有引入额外的先验帮助模型初始化或者更好的学习。

Thank you for your interest in SCNet! This is an intriguing question. We have previously conducted some preliminary evaluation regarding the design of reparametrization.

Based on the reparameterization method in RepVGG [1], we can merge multi-branch conv structures into a single conv layer with the maximum kernel size.

In the ablation study of SCNet, we examined the performance of Shift-Conv under different 'kernel sizes' such as 3x3, 5x5, asymmetrical structures, and dilated convolutions. Notably, one implementation of Shift-Conv in SCNet is based on Depth-wise Conv. From this point, it can be combined with reparameterization techniques, such as integrating a 3x3 Shift-Conv within a 5x5 Shift-Conv. We have done some preliminary tests on this, but the results did not show significant improvement. We think this approach did not introduce any additional priors to assist in model initialization or enhanced learning.

[1] Xiaohan Ding, Xiangyu Zhang, Ningning Ma, Jungong Han, Guiguang Ding, Jian Sun: RepVGG: Making VGG-Style ConvNets Great Again. CVPR 2021: 13733-13742

如论文所说,我因为刚了解重参数化,如果这样进行,只能将不同分支的1X1卷积权重,bias进行叠加,想知道各自分支对应的移位部分应该怎么处理呢,如何进行进一步的结构重参数化