Convergence Lab.の木村優志です。 今日は新しいCNNのアーキテクチャであるRepVGGを紹介します。RepVGGは精度と推論速度でResNestやEfficientNetにまさっています。

 

このエントリーをはてなブックマークに追加
  

 

Make VGG Grate Again!

最近では、Convolution Networkのアーキテクチャといえば、ResNetスタイルが主流で、VGGスタイルのネットワークはあまり使われることがありませんでした。そんななか、RepVGGという新しいVGGスタイルのネットワークが発表されました。RepVGGは ResNestやEfficientNetに勝る精度と推論速度を示します。 

[1] Xiaohan Ding, Xiangyu Zhang, Ningning Ma, Jungong Han, Guiguang Ding, Jian Sun, RepVGG: Making VGG-style ConvNets Great Again,  arXiv:2101.03697 [cs.CV].
https://arxiv.org/abs/2101.03697

https://github.com/DingXiaoH/RepVGG

 

出典: RepVGG: Making VGG-style ConvNets Great Again

RepVGG

RepVGGには大きく以下の2つの工夫がしてあります。

  • 学習時にのみ Identity Mapping (いわゆるスキップコネクション)を用い、推論時にそれを外す
  • Identity Mappingをはずすために、Structural Re-parameterizationを行う

  推論時に Identity Mappingを外す

出典:RepVGG: Making VGG-style ConvNets Great Again

RepVGGでは、学習時には図真ん中のように Identity Mappingを持った構造を採用しています。これを推論時に右のようなネットワークに変換することで精度と推論速度の両立に成功しました。しかし、学習時と推論時でどうやってネットワーク構造を変えるのでしょうか?それが、RepVGGの名前の元にもなっている、Structural Re-parameterizationです。

Structural Reprameterization

出典:RepVGG: Making VGG-style ConvNets Great Again

学習時と推論時でのネットワーク構造の変換には上図の示されるStructural Parameterizationを用います。要するに、ネットワークの重みを等価な別のネットワークに変換することでそれを実現しています。 3x3 Convolutionと1x1Convolutiohnとskip Connectionのは、それぞれ、等価な 3x3 Convolutonとして書き表せが、一回の演算でそれを実現することができる、というわけです。

RepVGGの精度

ImageNetの分類タスクにおけるRepVGGの精度が報告されています。RepVGGは最近の State of the art であった、 RegNetXや EfficientNetを上回る推論速度と精度を示すことがわかります。

 

まとめ

今回は、新しいCNNのアーキテクチャである RepVGGを紹介しました Knowledge Distillationの論文を読んだ時にも感じましたが、Backpropagationでは直接的には効率的なネットワークは学習できないことを感じます。後処理を加えることでネットワークの効率化を測れることがわかり、更なる研究に期待が持てます。

このエントリーをはてなブックマークに追加
 

お問い合わせ

 

Keywords:

Related Articles/Posts

TAGS: