> 文章列表 > 【CNN】ResNet开始(Stem部分)的7*7卷积能不能换成3个3*3卷积呢?

【CNN】ResNet开始(Stem部分)的7*7卷积能不能换成3个3*3卷积呢?

【CNN】ResNet开始(Stem部分)的7*7卷积能不能换成3个3*3卷积呢?

1. 参考资料

《7x7换成3个3x3卷积

2. 提问

ResNet开始(Stem部分)的 7×77\\times77×7 卷积能不能换成3个 3×33\\times33×3 卷积呢?
这个问题还是很有意思的,我们可以先来看看Chaty的回答;

3. Chaty回答

在CNN中,将ResNet的起始7x7卷积替换为3个3x3卷积是可行的。实际上,使用3个3x3卷积层可以增加网络的非线性表达能力,同时保持感受野大小。7x7卷积的感受野为7,而3个连续的3x3卷积的感受野为7(3 + (3-1) + (3-1))。

要实现这个更改,可以按以下方式进行:

  1. 将原始的7x7卷积层替换为3个3x3卷积层。
  2. 在每个3x3卷积层之间添加ReLU激活函数,以增加非线性。
  3. 考虑在3x3卷积层之间添加批量归一化(Batch Normalization)层,以提高模型的稳定性和收敛速度。

需要注意的是,这种更改可能会影响模型的训练速度和参数数量。虽然使用更小的卷积核可以减少参数数量,但增加的层数可能会增加训练时间。在实际应用中,您需要根据特定问题和资源限制权衡这些影响。不过,这种更改在实践中是可行的,并且在某些情况下可能会带来性能改进。

3. FocalNet中也使用了7x7卷积

南溪看来,使用【3x3卷积代替7x7卷积】最大的好处是在于可以简化网络设计的理念,所以还是有值得尝试的意义的;
但是,对于FocalNet,我们可能会使用预训练权重,所以不一定会改进主干网络的结构,这个还要根据网络设计的具体方案再来确定。