Más contenido relacionado La actualidad más candente (20) Similar a CV分野での最近の脱○○系3選 (20) Más de Kazuyuki Miyazawa (11) 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
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)
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
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 ボトルネック
アーキテクチャ変更とデータ拡張の効果
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解説に基づき作成
クエリの次元数
25. Mobility Technologies Co., Ltd.
lambda layer
25
YouTube解説に基づき作成
content lambda
● コンテキストを線形関数に変換
● クエリとは独立に生成され、クエリの全ての位置 n に対し共通
● コンテキストを k 個の特徴ベクトルに変換するイメージ
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)
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.