Mobility Technologies Co., Ltd.
CV 分野での最近の脱○○系 3 選
宮澤 一之
Mobility Technologies Co., Ltd.
宮澤 一之
株式会社Mobility Technologies
AI技術開発部 AI研究開発第二グループ
グループリーダー
経歴
April 2019 - March 2020
AI研究開発エンジニア@DeNA
April 2010 - March 2019
研究員@三菱電機
March 2010
博士@東北大学
自己紹介
2
@kzykmyzw
Mobility Technologies Co., Ltd.
脱 ResNets(ただし推論だけ)
3
01
Mobility Technologies Co., Ltd.
4
arXiv: https://arxiv.org/abs/2101.03697
GitHub: https://github.com/DingXiaoH/RepVGG
Mobility Technologies Co., Ltd.
5
概要
■ ResNets のようなマルチブランチを持つモデル
は、同一ネットワーク内でのアンサンブル効果
等により性能は高いが推論が遅い
■ VGG は ResNets と比較してパラメータ数や理論
FLOPS は多いものの、シンプルな構成のため実
際の推論速度は ResNets より早い
■ 学習と推論で異なるアーキテクチャを使い、学
習時には ResNets ライクなマルチブランチ、推
論時には VGG ライクなプレーンアーキテクチャ
を使う RepVGG を提案
■ re-parameterization により、学習と推論で異な
るアーキテクチャを等価変換
Mobility Technologies Co., Ltd.
re-parameterization
6
M(2)
M(1)
W(3)
W(1)
μ(3)
σ(3)
γ(3)
β(3)
μ(1)
σ(1)
γ(1)
β(1)
μ(0)
σ(0)
γ(0)
β(0)
Mobility Technologies Co., Ltd.
re-parameterization
7
M(2)
M(1)
W(3)
W(1)
係数 W の conv と bn を係数 W’、バイアス b’ の conv に変換
Mobility Technologies Co., Ltd.
re-parameterization
8
M(2)
M(1)
W(3)
W(1)
係数 W の conv と bn を係数 W’、バイアス b’ の conv に変換
全ての conv を 3 x 3 にパディングして加算し、最終的に1 つ
の 3 x 3カーネルに変換
Mobility Technologies Co., Ltd.
アーキテクチャ
9
output size: 112 x 112
layers: 1
channels: min(64, 64a)
output size: 56 x 56
layers: 2
channels: 64a
output size: 28 x 28
layers: 4
channels: 128a
output size: 14 x 14
layers: 14
channels: 256a
output size: 7 x 7
layers: 1
channels: 512b
output size: 112 x 112
layers: 1
channels: min(64, 64a)
output size: 56 x 56
layers: 4
channels: 64a
output size: 28 x 28
layers: 6
channels: 128a
output size: 14 x 14
layers: 16
channels: 256a
output size: 7 x 7
layers: 1
channels: 512b
RepVGG-A
RepVGG-B
■ 5 ステージ構成で、各ステージのレイヤとチャネル数を変えた RepVGG-A と RepVGG-B を定義
■ チャネル数に対する係数 a と b を変えてさらに複数のアーキテクチャへ派生させる
■ RepVGG-A0 (a = 0.75, b = 2.5), RepVGG-A1 (a = 1, b = 2.5), RepVGG-A2 (a = 1.5, b = 2.75)
■ RepVGG-B0 (a = 1, b = 2.5), RepVGG-B1 (a = 2, b = 4), RepVGG-B2 (a = 2.5, b = 5), RepVGG-B3 (a = 3, b = 5)
Mobility Technologies Co., Ltd.
■ ResNets や EfficientNets と ImageNet の分類精度を比較
■ 1080Ti で ResNet-50 比で 83%、ResNet-101 比で 101% 高速
実験
10
light/middleweight models trained in 120 epochs heavyweight models trained in 200 epochs
Mobility Technologies Co., Ltd.
脱 BatchNorm
11
02
Mobility Technologies Co., Ltd.
12
arXiv: https://arxiv.org/abs/2102.06171
GitHub: https://github.com/deepmind/deepmind-research/tree/master/nfnets
YouTube解説: https://www.youtube.com/watch?v=rNkHjZtH0RQ
Mobility Technologies Co., Ltd.
■ BatchNorm は画像認識に非常に効果的だが以下のような課題がある
■ 計算量が大きい
■ 学習時と推論時の挙動が一致しない
■ ミニバッチ内のサンプル間の独立性が失われる
■ BatchNorm を使わない Normalizer-Free ResNets が(同じ著者により)提案されている
が*、バッチサイズを大きくすると不安定となり性能も EfficientNets には及ばなかった
■ Adaptive Gradient Clipping (AGC) を導入することで学習を安定化させ、さらに新たな
アーキテクチャファミリー NFNets を提案
■ ImageNet の top-1 精度 86.5% で SoTA(かつEfficientNet-B7 より 8.7 倍高速)
13
概要
* A. Brock et al., Characterizing signal propagation to close the performance gap in unnormalized ResNets, ICLR 2021
Mobility Technologies Co., Ltd.
■ residual block にスカラー定数でのスケーリングを加える
■ weight standardization を微修正した scaled weight standardization を適用
Normalizer-Free ResNets
14
f
+
初期化時に、入出力前後で分散を保持す
るようにパラメータ設定される
Var(f(z)) = Var(z)
x
β = sqrt(Var(x))
ブロック間での分散の変化を調
整するハイパーパラメータ
x α
x 1/β
Mobility Technologies Co., Ltd.
Adaptive Gradient Clipping (AGC)
15
勾配
■ 勾配ベクトルの大きさが閾値 λを超える場合
に勾配の大きさを λに制限
■ バッチサイズが大きい場合でも学習が安定す
るという効果があるが、閾値 λに敏感であり調
整が困難
Gradient Clipping Adaptive Gradient Clipping
■ 勾配の大きさと重みの大きさの比に対して閾
値 λを適用
■ 重みが大きい場合は勾配も大きくなることを
許す(およびその逆)
■ レイヤ単位よりユニット単位で大きさを計算し
た方が効果が高いことを実験的に確認
l-th レイヤの勾配行列の i-th 行
Mobility Technologies Co., Ltd.
AGC の効果と閾値 λによる性能変化
16
AGC の効果 クリッピング閾値 λによる性能変化
AGC 未使用だとバッチサイズを大き
くすると学習が破綻
バッチサイズが大きい場合はクリッピング閾値 λ を小さ
くする必要がある
Mobility Technologies Co., Ltd.
■ SE-ResNeXt-D + GELU 活性化をベースラインとしてアーキテクチャを改良
■ 深さの異なる 7 つのモデル NFNet-F0 ~ NFNet-F6 を定義
NFNets ファミリー
17
NFNet ボトルネック
アーキテクチャ変更とデータ拡張の効果
Mobility Technologies Co., Ltd.
実験
18
■ F1:EfficientNet-B7 と同等精度で学習 8.7x 高速
■ F6 + SAM:ImageNet top-1 精度 86.5% で SoTA
Mobility Technologies Co., Ltd.
脱 attention
19
03
Mobility Technologies Co., Ltd.
20
arXiv: https://arxiv.org/abs/2102.08602
openreview: https://openreview.net/forum?id=xTJEN-ggl1b
YouTube解説: https://www.youtube.com/watch?v=3qxJ2WD8p4w
Mobility Technologies Co., Ltd.
21
概要
■ attention は着目画素から離れた領域も参照できるという利点があるが、メモリ消費が大きい
■ attention の代替となる lambda layer を提案
■ attention map を作ることなく、コンテキストを要約した線形関数(行列)を使う
■ lambda layer を使った LambdaResNets は EfficientNets の 3.2 〜 4.4 倍高速
Mobility Technologies Co., Ltd.
attention おさらい
22
入力
コンテキスト
self-attention
の場合は同一
空間方向の次元数 = 画素数
クエリ
キー
バリュー
attention マップ
出力
クエリの次元数
バリューの次元数
YouTube解説に基づき作成
Mobility Technologies Co., Ltd.
attention おさらい
23
入力
コンテキスト
self-attention
の場合は同一
空間方向の次元数 = 画素数
クエリ
キー
バリュー
attention マップ
メモリ爆増
出力
バリューの次元数
YouTube解説に基づき作成
クエリの次元数
Mobility Technologies Co., Ltd.
lambda layer
24
YouTube解説に基づき作成
content lambda
Mobility Technologies Co., Ltd.
lambda layer
25
YouTube解説に基づき作成
content lambda
● コンテキストを線形関数に変換
● クエリとは独立に生成され、クエリの全ての位置 n に対し共通
● コンテキストを k 個の特徴ベクトルに変換するイメージ
Mobility Technologies Co., Ltd.
lambda layer
26
content lambda
position lambdas
relative position
embeddings YouTube解説に基づき作成
Mobility Technologies Co., Ltd.
lambda layer
27
content lambda
position lambdas
relative position
embeddings
● 位置 n と m の関係性を記述
● サンプルには依存せずバッチ
サイズの影響を受けない
YouTube解説に基づき作成
n
m
Mobility Technologies Co., Ltd.
■ ResNets の bottleneck における 3 x 3 conv を lambda layer に置き換え
■ ResNets の c4 と c5 に入れるとコストパフォーマンスが良く、さらに c4 の一部と c5 の
全てを lambda layer にするとベスト
Lambda ResNets
28
Lambda ResNets ファミリーのアーキテクチャ
c4 の 3 x 3 conv を一定間隔で lambda layer に
置き換え(c5 は全て置き換え)
lambda layer 導入による精度と速度のトレードオフ
(C: conv L: lambda)
Mobility Technologies Co., Ltd.
■ ResNet-50 で通常の convolution および他の attention 手法と性能を比較
■ ImageNet の分類精度で評価
実験
29
Mobility Technologies Co., Ltd.
■ self-attention とメモリ消費量を比較
実験
30
b: batch size
h: number of heads/queries
n: input length
m: context length
k: query/key depth
l: number of layers.
Mobility Technologies Co., Ltd.
■ LambdaResNets と EfficientNets の比較
実験
31
(depth, image size)
Mobility Technologies Co., Ltd.
■ content と position の効果を比較
■ 性能向上への寄与は position が支配的であり、content の影響は小さい
実験
32
Mobility Technologies Co., Ltd.
We're Hiring!
33
https://hrmos.co/pages/mo-t/jobs
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
34

CV分野での最近の脱○○系3選

  • 1.
    Mobility Technologies Co.,Ltd. CV 分野での最近の脱○○系 3 選 宮澤 一之
  • 2.
    Mobility Technologies Co.,Ltd. 宮澤 一之 株式会社Mobility Technologies AI技術開発部 AI研究開発第二グループ グループリーダー 経歴 April 2019 - March 2020 AI研究開発エンジニア@DeNA April 2010 - March 2019 研究員@三菱電機 March 2010 博士@東北大学 自己紹介 2 @kzykmyzw
  • 3.
    Mobility Technologies Co.,Ltd. 脱 ResNets(ただし推論だけ) 3 01
  • 4.
    Mobility Technologies Co.,Ltd. 4 arXiv: https://arxiv.org/abs/2101.03697 GitHub: https://github.com/DingXiaoH/RepVGG
  • 5.
    Mobility Technologies Co.,Ltd. 5 概要 ■ ResNets のようなマルチブランチを持つモデル は、同一ネットワーク内でのアンサンブル効果 等により性能は高いが推論が遅い ■ VGG は ResNets と比較してパラメータ数や理論 FLOPS は多いものの、シンプルな構成のため実 際の推論速度は ResNets より早い ■ 学習と推論で異なるアーキテクチャを使い、学 習時には ResNets ライクなマルチブランチ、推 論時には VGG ライクなプレーンアーキテクチャ を使う RepVGG を提案 ■ re-parameterization により、学習と推論で異な るアーキテクチャを等価変換
  • 6.
    Mobility Technologies Co.,Ltd. re-parameterization 6 M(2) M(1) W(3) W(1) μ(3) σ(3) γ(3) β(3) μ(1) σ(1) γ(1) β(1) μ(0) σ(0) γ(0) β(0)
  • 7.
    Mobility Technologies Co.,Ltd. re-parameterization 7 M(2) M(1) W(3) W(1) 係数 W の conv と bn を係数 W’、バイアス b’ の conv に変換
  • 8.
    Mobility Technologies Co.,Ltd. re-parameterization 8 M(2) M(1) W(3) W(1) 係数 W の conv と bn を係数 W’、バイアス b’ の conv に変換 全ての conv を 3 x 3 にパディングして加算し、最終的に1 つ の 3 x 3カーネルに変換
  • 9.
    Mobility Technologies Co.,Ltd. アーキテクチャ 9 output size: 112 x 112 layers: 1 channels: min(64, 64a) output size: 56 x 56 layers: 2 channels: 64a output size: 28 x 28 layers: 4 channels: 128a output size: 14 x 14 layers: 14 channels: 256a output size: 7 x 7 layers: 1 channels: 512b output size: 112 x 112 layers: 1 channels: min(64, 64a) output size: 56 x 56 layers: 4 channels: 64a output size: 28 x 28 layers: 6 channels: 128a output size: 14 x 14 layers: 16 channels: 256a output size: 7 x 7 layers: 1 channels: 512b RepVGG-A RepVGG-B ■ 5 ステージ構成で、各ステージのレイヤとチャネル数を変えた RepVGG-A と RepVGG-B を定義 ■ チャネル数に対する係数 a と b を変えてさらに複数のアーキテクチャへ派生させる ■ RepVGG-A0 (a = 0.75, b = 2.5), RepVGG-A1 (a = 1, b = 2.5), RepVGG-A2 (a = 1.5, b = 2.75) ■ RepVGG-B0 (a = 1, b = 2.5), RepVGG-B1 (a = 2, b = 4), RepVGG-B2 (a = 2.5, b = 5), RepVGG-B3 (a = 3, b = 5)
  • 10.
    Mobility Technologies Co.,Ltd. ■ ResNets や EfficientNets と ImageNet の分類精度を比較 ■ 1080Ti で ResNet-50 比で 83%、ResNet-101 比で 101% 高速 実験 10 light/middleweight models trained in 120 epochs heavyweight models trained in 200 epochs
  • 11.
    Mobility Technologies Co.,Ltd. 脱 BatchNorm 11 02
  • 12.
    Mobility Technologies Co.,Ltd. 12 arXiv: https://arxiv.org/abs/2102.06171 GitHub: https://github.com/deepmind/deepmind-research/tree/master/nfnets YouTube解説: https://www.youtube.com/watch?v=rNkHjZtH0RQ
  • 13.
    Mobility Technologies Co.,Ltd. ■ BatchNorm は画像認識に非常に効果的だが以下のような課題がある ■ 計算量が大きい ■ 学習時と推論時の挙動が一致しない ■ ミニバッチ内のサンプル間の独立性が失われる ■ BatchNorm を使わない Normalizer-Free ResNets が(同じ著者により)提案されている が*、バッチサイズを大きくすると不安定となり性能も EfficientNets には及ばなかった ■ Adaptive Gradient Clipping (AGC) を導入することで学習を安定化させ、さらに新たな アーキテクチャファミリー NFNets を提案 ■ ImageNet の top-1 精度 86.5% で SoTA(かつEfficientNet-B7 より 8.7 倍高速) 13 概要 * A. Brock et al., Characterizing signal propagation to close the performance gap in unnormalized ResNets, ICLR 2021
  • 14.
    Mobility Technologies Co.,Ltd. ■ residual block にスカラー定数でのスケーリングを加える ■ weight standardization を微修正した scaled weight standardization を適用 Normalizer-Free ResNets 14 f + 初期化時に、入出力前後で分散を保持す るようにパラメータ設定される Var(f(z)) = Var(z) x β = sqrt(Var(x)) ブロック間での分散の変化を調 整するハイパーパラメータ x α x 1/β
  • 15.
    Mobility Technologies Co.,Ltd. Adaptive Gradient Clipping (AGC) 15 勾配 ■ 勾配ベクトルの大きさが閾値 λを超える場合 に勾配の大きさを λに制限 ■ バッチサイズが大きい場合でも学習が安定す るという効果があるが、閾値 λに敏感であり調 整が困難 Gradient Clipping Adaptive Gradient Clipping ■ 勾配の大きさと重みの大きさの比に対して閾 値 λを適用 ■ 重みが大きい場合は勾配も大きくなることを 許す(およびその逆) ■ レイヤ単位よりユニット単位で大きさを計算し た方が効果が高いことを実験的に確認 l-th レイヤの勾配行列の i-th 行
  • 16.
    Mobility Technologies Co.,Ltd. AGC の効果と閾値 λによる性能変化 16 AGC の効果 クリッピング閾値 λによる性能変化 AGC 未使用だとバッチサイズを大き くすると学習が破綻 バッチサイズが大きい場合はクリッピング閾値 λ を小さ くする必要がある
  • 17.
    Mobility Technologies Co.,Ltd. ■ SE-ResNeXt-D + GELU 活性化をベースラインとしてアーキテクチャを改良 ■ 深さの異なる 7 つのモデル NFNet-F0 ~ NFNet-F6 を定義 NFNets ファミリー 17 NFNet ボトルネック アーキテクチャ変更とデータ拡張の効果
  • 18.
    Mobility Technologies Co.,Ltd. 実験 18 ■ F1:EfficientNet-B7 と同等精度で学習 8.7x 高速 ■ F6 + SAM:ImageNet top-1 精度 86.5% で SoTA
  • 19.
    Mobility Technologies Co.,Ltd. 脱 attention 19 03
  • 20.
    Mobility Technologies Co.,Ltd. 20 arXiv: https://arxiv.org/abs/2102.08602 openreview: https://openreview.net/forum?id=xTJEN-ggl1b YouTube解説: https://www.youtube.com/watch?v=3qxJ2WD8p4w
  • 21.
    Mobility Technologies Co.,Ltd. 21 概要 ■ attention は着目画素から離れた領域も参照できるという利点があるが、メモリ消費が大きい ■ attention の代替となる lambda layer を提案 ■ attention map を作ることなく、コンテキストを要約した線形関数(行列)を使う ■ lambda layer を使った LambdaResNets は EfficientNets の 3.2 〜 4.4 倍高速
  • 22.
    Mobility Technologies Co.,Ltd. attention おさらい 22 入力 コンテキスト self-attention の場合は同一 空間方向の次元数 = 画素数 クエリ キー バリュー attention マップ 出力 クエリの次元数 バリューの次元数 YouTube解説に基づき作成
  • 23.
    Mobility Technologies Co.,Ltd. attention おさらい 23 入力 コンテキスト self-attention の場合は同一 空間方向の次元数 = 画素数 クエリ キー バリュー attention マップ メモリ爆増 出力 バリューの次元数 YouTube解説に基づき作成 クエリの次元数
  • 24.
    Mobility Technologies Co.,Ltd. lambda layer 24 YouTube解説に基づき作成 content lambda
  • 25.
    Mobility Technologies Co.,Ltd. lambda layer 25 YouTube解説に基づき作成 content lambda ● コンテキストを線形関数に変換 ● クエリとは独立に生成され、クエリの全ての位置 n に対し共通 ● コンテキストを k 個の特徴ベクトルに変換するイメージ
  • 26.
    Mobility Technologies Co.,Ltd. lambda layer 26 content lambda position lambdas relative position embeddings YouTube解説に基づき作成
  • 27.
    Mobility Technologies Co.,Ltd. lambda layer 27 content lambda position lambdas relative position embeddings ● 位置 n と m の関係性を記述 ● サンプルには依存せずバッチ サイズの影響を受けない YouTube解説に基づき作成 n m
  • 28.
    Mobility Technologies Co.,Ltd. ■ ResNets の bottleneck における 3 x 3 conv を lambda layer に置き換え ■ ResNets の c4 と c5 に入れるとコストパフォーマンスが良く、さらに c4 の一部と c5 の 全てを lambda layer にするとベスト Lambda ResNets 28 Lambda ResNets ファミリーのアーキテクチャ c4 の 3 x 3 conv を一定間隔で lambda layer に 置き換え(c5 は全て置き換え) lambda layer 導入による精度と速度のトレードオフ (C: conv L: lambda)
  • 29.
    Mobility Technologies Co.,Ltd. ■ ResNet-50 で通常の convolution および他の attention 手法と性能を比較 ■ ImageNet の分類精度で評価 実験 29
  • 30.
    Mobility Technologies Co.,Ltd. ■ self-attention とメモリ消費量を比較 実験 30 b: batch size h: number of heads/queries n: input length m: context length k: query/key depth l: number of layers.
  • 31.
    Mobility Technologies Co.,Ltd. ■ LambdaResNets と EfficientNets の比較 実験 31 (depth, image size)
  • 32.
    Mobility Technologies Co.,Ltd. ■ content と position の効果を比較 ■ 性能向上への寄与は position が支配的であり、content の影響は小さい 実験 32
  • 33.
    Mobility Technologies Co.,Ltd. We're Hiring! 33 https://hrmos.co/pages/mo-t/jobs
  • 34.