SlideShare a Scribd company logo
1 of 174
Mobility Technologies Co., Ltd.
画像認識と深層学習
株式会社Mobility Technologies
内田 祐介
日本ロボット学会
第126回ロボット工学セミナー
Mobility Technologies Co., Ltd.
深層学習が様々な画像認識タスクで活用されるようになった
• クラス分類、物体検出、ランドマーク検出、
セマンティックセグメンテーション、姿勢推定、行動認識、属性認識、
顔認証、物体追跡、深度推定、SfM、…
• 従来考えられなかったようなタスクまでも応用が広がっている
画像認識と深層学習
2
Mobility Technologies Co., Ltd.
深層学習によるタスクの広がり
3[Liu+, ECCV'16] [He+, ICCV’17]
[Viola+, CVPR'01]
顔検出
[Lazebnik+, CVPR'06]
マルチクラス物体検出
クラス分類
セグメンテーション
ポーズ推定
Mobility Technologies Co., Ltd.
問題・やりたいことを適切なタスクとして定義する
訓練・検証のためのデータセットを構築する
モデルを設計(選定)する
• タスクに応じた損失関数(ロス)を選定する
学習・検証
• Optimizer選定、学習率スケジューリング、Augmentation
画像認識
4
Mobility Technologies Co., Ltd.
5
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
最も基本的かつ重要なタスク
入力画像がどのようなクラス(例:猫)に
対応するのかを判定する
畳み込みニューラルネットワーク (CNN) により実現
• 画像を入力とする認識はほぼCNNが利用される
• クラス分類タスクで進化したCNNのモデルが
他の様々なタスクで利用される
• 画像以外モダリティも画像(3次元テンソル)に変換されてCNNが利用され
ることも多い
• 音響信号→スペクトログラム、点群→固定サイズの3次元テンソル
クラス分類モデルは他のタスクの基礎となっている
クラス分類
6
Mobility Technologies Co., Ltd.
画像認識コンペILSVRCにおける
クラス分類タスクのエラー率(top5 error)推移
• エラー率が1/10に
深層学習による画像認識精度の向上
7
AlexNet
ZFNet
SENetResNet
GooLeNet
Ensemble
http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf
深層学習ベースのモデル
Mobility Technologies Co., Ltd.
画像認識コンペILSVRCにおける
クラス分類タスクのエラー率(top5 error)推移
• エラー率が1/10に
深層学習による画像認識精度の向上
8
AlexNet
ZFNet
SENetResNet
GooLeNet
Ensemble
http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf
深層学習ベースのモデル
SIFT+Fisher vector+SVMが
end-to-endの
deep learningに敗れる
Mobility Technologies Co., Ltd.
Image Classification on ImageNet
9
https://paperswithcode.com/sota/image-classification-on-imagenet
Top 5 error: 0.013
Mobility Technologies Co., Ltd.
全結合ではないフィードフォワードネットワーク
畳み込みニューラルネットワーク
10
227x227x3
55x55x96
27x27x9627x27x256
13x13x25613x13x38413x13x38413x13x2566x6x256
9216
4096 4096
1000
conv11x11, 96
stride (4, 4)
maxpool3x3
stride (2, 2)
conv5x5, 256
stride (1, 1)
maxpool3x3
stride (2, 2)
conv3x3, 384
stride (1, 1)
conv3x3, 384
stride (1, 1)
conv3x3, 256
stride (1, 1)
maxpool3x3
stride (2, 2)
flattenflatten densedense
densedensedensedense
AlexNetモデル
Mobility Technologies Co., Ltd.
この図はKeras風にCNNを定義すると自動的に作れます
ちなみに
11
https://github.com/yu4u/convnet-drawer
Mobility Technologies Co., Ltd.
全結合ではないフィードフォワードネットワーク
畳み込み、プーリング演算、活性化関数により構成される
畳み込みニューラルネットワーク
12
畳み込み
プーリング
畳み込み
プーリング 畳み込み プーリング
全結合
1000
1000クラス
の分類入力画像
Mobility Technologies Co., Ltd.
3次元テンソルに対して、畳み込みカーネルを
適用し、認識に重要な特徴を抽出する
個々の出力は入力の一部のみ影響を受け、カーネルは空間座標によ
らず共通
畳み込み演算
13
W
H
N M
K
K
W
H
入力テンソル
畳み込み
カーネル
N
出力テンソル
*
和
要素積
× M
Conv K×K, M
Mobility Technologies Co., Ltd.
畳み込み演算にも色々ある
• Grouped convolution, depthwise convolution(後述)、transposed
convolution (deconvolution, upconvolution)…
Padding, strideの概念や、transposed convolution, dilated
convolutionは↓
https://github.com/vdumoulin/conv_arithmetic
畳み込み演算
14
Mobility Technologies Co., Ltd.
テンソルの各要素に(非線形な)活性化関数 φ(x) を適用する
活性化関数
15
W
N
入力テンソル 出力テンソル
W
N
φ(x)
シグモイド関数
ReLU
Mobility Technologies Co., Ltd.
空間的な特徴を集約(平均値・最大値)し、
位置ずれに不変な特徴を抽出する
プーリング演算
16
W
W/2
N
N
H/2
2
2
最大値
Maxpool 2×2
入力テンソル 出力テンソル
Mobility Technologies Co., Ltd.
全結合ではないフィードフォワードネットワーク
畳み込み、プーリング演算、活性化関数により構成される
組み合わせにより様々なモデルが提案されてきた(配線芸)
畳み込みニューラルネットワーク
17
畳み込み
プーリング
畳み込み
プーリング 畳み込み プーリング
全結合
1000
1000クラス
の分類入力画像
Mobility Technologies Co., Ltd.
18
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
ImageNet Large Scale Visual Recognition Challenge (ILSVRC)
ImageNetデータセットを利用したコンペ
• WordNetをもとにクラスを定義
• 各クラスのデータを大量に収集&アノテーション
• 学習データ120万枚、テストデータ10万枚
クラス分類、物体検出、位置特定等のタスクが存在
• 特にクラス分類の精度の推移が画像認識の進化の
指標として参考にされることが多い
2012年に深層学習ベースの手法が優勝して以降、
(畳み込み)ニューラルネットワークの天下一武道会化
• ここでの優勝モデルがデファクトスタンダードとして利用される
• セグメンテーション等、他のタスクでも利用される
ILSVRCで振り返るCNNの進化
19
Mobility Technologies Co., Ltd.
クラス分類タスクのエラー率(top5 error)の推移
ILSVRC
20
AlexNet
ZFNet
SENetResNet
GooLeNet
Ensemble
http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf
Mobility Technologies Co., Ltd.
クラス分類タスクのエラー率(top5 error)の推移
ILSVRC
21
http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf
AlexNet
ZFNet
SENetResNet
GooLeNet
Ensemble
0.051
Human
???
Mobility Technologies Co., Ltd.
そもそも人間のエラー率は0%なのでは?
• No, ImageNetがどうやって作成されたかに関係
ImageNetデータセットの作成手順
• WordNetを元に1000クラスを定義
• 検索エンジンで各クラスの画像を収集
• クラウドワーカーが各画像とクラスが
対応しているか否かのバイナリ判定
ImageNetのタスク
• 画像が与えられ、1000クラスから1つのクラスを選択
人間のエラー率5.1%?
22
http://karpathy.github.io/2014/09/02/what-i-learned-from-competing-against-a-convnet-on-imagenet/
Mobility Technologies Co., Ltd.
“1 smart, trained and highly education human being
performed at that error rate”
https://amundtveit.com/tag/imagenet/
Andrej Karpathyさん (Stanford→OpenAI→Tesla)
人間のエラー率5.1%?
23
https://github.com/karpathy
Mobility Technologies Co., Ltd.
2014年のGoogLeNetの達成精度 (top5 error 6.7%) から
人間との比較をすべきと考えた
専用のアノテーションツールを作成
• ILSVRCに従事しているラボメンでも
1000クラスから5クラス選択することは非常に難しい
GoogLeNetの結果を利用して、候補を100クラスに限定
• それでも難しくラボの熟練ラベラーでも13〜15%のエラー率
自分が訓練データを用い、”苦痛を伴う長時間の学習”を経て、じっくりア
ノテーションするのが効率的と気づいた
• train on 500 validation images -> 1500 test images
• テストエラー5.1%を達成!犬の品種に詳しくなった!
上記のように、エラー率5.1%は天才がかなり頑張った結果
• とはいえCNNの学習時間に比べるとまだ足りないという考え方も
Karpathyさんのエラー率5.1までの道のり
24
Mobility Technologies Co., Ltd.
クラス分類タスクのエラー率(top5 error)の推移
ILSVRC
25
AlexNet
ZFNet
SENetResNet
GooLeNet
Ensemble
0.051
Human
http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf
Mobility Technologies Co., Ltd.
Neocognitron
• 脳の視覚野に関する知見を元に考案
• 単純型細胞:特徴抽出を行う畳み込み層
• 複雑型細胞:位置ずれを吸収するプーリング層
• 自己組織化による特徴抽出
Before AlexNet
26
K. Fukushima and S. Miyake, "Neocognitron: A new algorithm for pattern recognition tolerant of
deformations and shifts in position," in Pattern Recognition, 1982.
Mobility Technologies Co., Ltd.
Neocognitronの活性化関数は実はReLU
Before AlexNet
27
K. Fukushima and S. Miyake, "Neocognitron: A new algorithm for pattern recognition tolerant of
deformations and shifts in position," in Pattern Recognition, 1982.
Mobility Technologies Co., Ltd.
LeNet
• 逆誤差伝搬法による学習
• 文字認識で成功をおさめる
• 全体的なアーキテクチャは既に完成
Before AlexNet
28
Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, "Gradient-based learning applied to document recognition,"
in Proceedings of the IEEE, 1998.
Mobility Technologies Co., Ltd.
巷のLeNetはLeNetではない
Before AlexNet
29
出力チャネル
入力チャネル
Sparseな
畳み込み!
Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, "Gradient-based learning applied to document recognition,"
in Proceedings of the IEEE, 1998.
Mobility Technologies Co., Ltd.
2012年のILSVRC優勝モデル
• Rectified Linear Units (ReLU)
• Local Response Normalization (LRN) (最近は使われない)
• Overlapping pooling (3x3 max pool, stride =2)
• Dropout(全結合層)
• SGD + momentum, weight decay, learning rate decay
AlexNet
30
A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet classification with deep convolutional neural
networks," in Proc. of NIPS, 2012.
Mobility Technologies Co., Ltd.
2012年のILSVRC優勝モデル
• Rectified Linear Units (ReLU)
• Local Response Normalization (LRN) (最近は使われない)
• Overlapping pooling (3x3 max pool, stride =2)
• Dropout(全結合層)
• SGD + momentum, weight decay, learning rate decay
AlexNet
31
既にほぼ現在のアーキテクチャの姿
A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet classification with deep convolutional neural
networks," in Proc. of NIPS, 2012.
Mobility Technologies Co., Ltd.
巷のAlexNetは(ry
• いくつかの畳み込み層は、チャネル方向に分割され
2つのGPUでそれぞれ独立に畳み込みが行われる
「grouped convolution」となっている
AlexNet
32
A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet classification with deep convolutional neural
networks," in Proc. of NIPS, 2012.
Mobility Technologies Co., Ltd.
2013年のILSVRC優勝モデル
• CNNの可視化を行い、AlexNetの2つの問題を明らかにし、改良
• 1つ目の畳み込みフィルタのカーネルサイズが大きく
高周波と低周波の情報を取得するフィルタばかりになっている
• Stride = 4により2層目の特徴マップにエイリアシングが発生
ZFNet
33
M. Zeiler and R. Fergus, “Visualizing and understanding convolutional networks,” in Proc. of ECCV, 2014.
Mobility Technologies Co., Ltd.
2014年のILSVRC優勝モデル
• Inceptionモジュール
• Global Average Pooling (GAP)
• Auxiliary loss
• ネットワークを途中で分岐させ、そこで分類を行うロスを追加
→学習の効率化+正則化
GoogLeNet
34
C. Szegedy, et al., "Going deeper with convolutions", in Proc. of CVPR, 2015.
Mobility Technologies Co., Ltd.
小さなネットワークを1つのモジュールとして定義し
モジュールの積み重ねでネットワークを構成
• 3x3と複数の1x1畳み込みを1つのモジュールとする
Network In Network (NIN) に起源
Sparseな畳み込みにより、
表現能力とパラメータ数のトレードオフを改善
1x1畳み込みによる次元削減
Inceptionモジュール
35
concat
conv 1x1 conv 1x1 maxpool
conv 1x1
conv 3x3 conv 5x5 conv 1x1
concat
maxpoolconv 1x1 conv 3x3 conv 5x5
Inceptionモジュール(次元削減あり) Inceptionモジュール(naive)
Mobility Technologies Co., Ltd.
通常の畳み込みのパラメータ数=N×M×K2
• N: 入力チャネル数、M: 出力チャネル数、K2: カーネルサイズ
(例)グループ化畳み込みのパラメータ数=N×M×K2 / G
• G: グループ数
Sparseな畳み込み
36
入力チャネル数
出力チャネル数
カーネルサイズ
グループ数2の例
※簡単のためbiasは無視
KxK畳み込みの
パラメータ
Mobility Technologies Co., Ltd.
Sparseな畳み込みとしてのInceptionモジュール
37
concat
maxpoolconv 1x1 conv 3x3 conv 5x5
Inceptionモジュール(naive)
入力チャネル数
出力チャネル数
カーネルサイズ
5x5 3x3 1x1
5x5の畳み込みを
少数パラメータで近似
※簡単のためmax poolを無視
Mobility Technologies Co., Ltd.
Sparseな畳み込みとしてのInceptionモジュール
38
concat
conv 1x1 conv 1x1 maxpool
conv 1x1
conv 3x3 conv 5x5 conv 1x1
Inceptionモジュール(次元削減あり)
1x1畳み込み
Inceptionモジュール
※簡単のためmax poolを無視
1x1畳み込みの次元削減で
更にパラメータを削減
naïveバージョン
Mobility Technologies Co., Ltd.
特徴マップのサイズと同じaverage pooling
• NIN*で提案された。チャネル数をクラス数に調整してからGAP
• GoogLeNet以降では、GAPの後に全結合層を付ける
• 全結合層を減らすことでパラメータ数を削減
Global Average Pooling (GAP)
39
W
H
C=クラス数
1
1HxWxCの
特徴マップ
クラス数
GAP
softmax
* M. Lin, Q. Chen, and S. Yan, "Network in network," in Proc. of ICLR, 2014.
Mobility Technologies Co., Ltd.
Inception-v2,3
• Batch normalization
• 5x5 -> 3x3 (x2)
• nxn -> nx1 + 1xn
Inception-v4
• 3種類のInceptionを使い分け
Inception-ResNet-v1,2
• 後述のショートカット機構の導入
Inception-v?
40
= Inception-v3
C. Szegedy, V. Vanhoucke, S. Ioffe, and J. Shlens, "Rethinking the inception architecture for computer
vision," in Proc. of CVPR, 2016.
C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi, "Inception-v4, inception-resnet and the impact of
residual connections on learning," in Proc. of AAAI, 2017.
Mobility Technologies Co., Ltd.
2014年のILSVRCで2位となったモデル、シンプルなモデルの設計方針
• 3x3畳み込み層(+全結合層)のみを利用
• 5x5畳み込みと3x3畳み込み×2は同じreceptive fieldを持つ
• 計算量は 25:18
• 同一出力チャネルの畳み込み層を重ねた後に
プーリングにより特徴マップを半分にしつつチャネル数を倍増
まずは浅いネットワークを学習し、畳み込み層を追加してfine-tuningすること
で深いネットワークを学習(Xavierの初期化で不要に)
VGGNet
41
conv 5x5 conv 3x3 - conv 3x3
K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image recognition," in
Proc. of ICLR, 2015.
Mobility Technologies Co., Ltd.
2015年のILSVRC優勝モデル
Residualモジュール(ショートカット機構)の導入→後述
Batch normalizationの導入
• ネットワーク内の共変量シフトを軽減(諸説あり)
Global Average Pooling (GAP) の利用
Heの初期化の利用
• ReLUを考慮したパラメータの初期化
ショートカットを展開していくと複数の深さの違う
ネットワークのアンサンブルとなっている**
Residual Networks (ResNet)*
42
* K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," in Proc. of CVPR, 2016.
** A. Veit, M. Wilber, and S. Belongie, "Residual networks behave like ensembles of relatively shallow
networks," in Proc. of NIPS, 2016.
Mobility Technologies Co., Ltd.
ある処理の出力 F(x) を次の層に渡すのではなく
入力xをショートカットし、 F(x) + x を次の層に渡す処理単位
Backpropagation時にショートカットを通じて
直接勾配が下層に伝わることで深いネットワークでも
効率的な学習が可能
Residualモジュール
43
some network
F(x) conv 3x3, 64
conv 3x3, 64
ショートカット
+ +
64-dim
64-dim
抽象的なresidualモジュール 具体例
Mobility Technologies Co., Ltd.
Residualモジュールの
スタック
ダウンサンプルする際に
チャネル数を2倍に
(VGGと同じ)
チャネル数が違う
ショートカットは
zero-padingかconv 1x1で調整
ResNetの構造
44
Resモジュール
3x3, 64
Resモジュール
3x3, 128
Resモジュール
3x3, 256
Resモジュール
3x3, 512
GAP
全結合層
conv 3x3, 64
maxpool
×3
×4
×6
×3
conv 3x3, 64
conv 3x3, 64
+
64-dim
64-dim
114x114x64
224x224x3
56x56x64
28x28x128
14x14x256
7x7x 512
1000
Mobility Technologies Co., Ltd.
1x1畳み込みで次元削減、その後3x3畳み込みを行った後、
更に1x1畳み込みで次元を復元
• 同等のパラメータ数で表現能力を改善
• 深くもなる
パラメータ数も削減
ResNet Bottleneckバージョン
45
conv 3x3, 64
conv 3x3, 64
+
64-dim
64-dim
conv 1x1, 256
conv 3x3, 64
+
conv 1x1, 64
256-dim
256-dim
入力チャネル数
出力チャネル数
カーネルサイズ
通常
Bottleneck版
Mobility Technologies Co., Ltd.
2017年のILSVRC優勝モデル
チャネル毎の特徴マップを適応的に重み付けする
SE Blockを導入
• Globalなコンテキストを取得するsqueeze step
• チャネル間の依存関係を抽出するexcitation step
どんなネットワークにも導入可能
• ResNet, ResNeXt, Inception,
Inception-ResNet-v2等に導入し
有効性を確認
• 特にResNeXtと合体したSE-ResNeXtは大人気
Squeeze-and-Excitation Networks (SENet)
46
conv 1x1
global pooling
ReLU
conv 1x1
sigmoid
scaling
HxWxC
1x1xC
1x1xC/r
1x1xC
HxWxC
Mobility Technologies Co., Ltd.
まとめ
47
Residual
AlexNet
VGGNet
GoogLeNet ResNet
Batch
Normalization
LeNet
Neocognitron
Back
propagation
Heの初期化
Glorotの
初期化
conv 1x1
Dropout
ReLU
1990s 2012 2013 2014 2015
NIN
Global
Average
Pooling
Mobility Technologies Co., Ltd.
まとめ
48
AlexNet
VGGNet
GoogLeNet ResNet
Batch
Normalization
LeNet
Neocognitron
Back
propagation
Heの初期化
Glorotの
初期化
conv 1x1
Dropout
ReLU
1990s 2012 2013 2014 2015
NIN
Global
Average
Pooling Residual
Mobility Technologies Co., Ltd.
49
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
Residualモジュールをゴニョゴニョする
WideResNet*
• 深くするより、幅(チャネル数)を大きくして(相対的に)
浅いネットワークのほうが精度・学習速度が優秀
PyramidNet**
• サウンサンプルするタイミングでチャネル数を
2倍にするのではなく、全てのresidualモジュールで
徐々にチャネル数を増加させる
• チャネル数を2倍にするresidualモジュールに
ネットワークが過度に依存してしまうのを防ぐ
Residualモジュールの改良
50
* S. Zagoruyko and N. Komodakis, "Wide residual networks," in Proc. of BMVC, 2016.
** D. Han, J. Kim, and J. Kim, "Deep pyramidal residual networks," in Proc. of CVPR, 2017.
Mobility Technologies Co., Ltd.
初代ResNet*
• conv - bn - relu - conv - bn - add - relu
pre-act ResNet**(addの後にReLUをしない)
• bn - relu - conv - bn - relu - conv - add
PyramidNet***(ReLUを減らす、BN追加)
• bn - conv - bn - relu - conv - bn - add
WideResNet****(dropoutがタスクによって効果がある)
• bn - relu - conv - bn - relu - dropout - conv – add
Residualモジュールのベストプラクティス
51
* K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," in Proc. of CVPR, 2016.
** K. He, X. Zhang, S. Ren, and J. Sun, "Identity mappings in deep residual networks," in Proc. of ECCV, 2016.
*** D. Han, J. Kim, and J. Kim, "Deep pyramidal residual networks," in Proc. of CVPR, 2017.
**** S. Zagoruyko and N. Komodakis, "Wide residual networks," in Proc. of BMVC, 2016.
Mobility Technologies Co., Ltd.
conv 1x1, 4
conv 3x3, 4
conv 1x1, 256
conv 1x1, 4
conv 3x3, 4
conv 1x1, 256
conv 1x1, 4
conv 3x3, 4
conv 1x1, 256
...
+
256-dim
256-dim
conv 1x1, 128
conv 3x3, 128, g=32
conv 1x1, 256
256-dim
256-dim
+
(a) (b)
Ti(x)
grouped
convolution
ILSVRC’16で2位のモデル
ResNetの処理ブロックを”Network-in-Neuron”
に置き換えたもの
(a)と(b)は等価表現
ResNeXt
52
S. Xie, R. Girshick, P. Dollar, Z. Tu, and K. He, "Aggregated residual transformations for deep neural
networks," in Proc. of CVPR, 2017.
Mobility Technologies Co., Ltd.
ResNeXtとresidualモジュール(bottleneckバージョン)の関係
ResNeXtのモジュールは、bottleneckバージョンの
residualモジュールとみなすことができる
• Grouped convによりパラメータ数と表現能力のトレードオフを改善
(group convが軽いためあまり次元削減しなくても良い)
ResNeXt
53
conv 1x1, 128
conv 3x3, 128, g=32
conv 1x1, 256
256-dim
256-dim
+
次元削減
次元復元
3x3畳み込み(grouped)
Mobility Technologies Co., Ltd.
Separable convを多用したモデル
Xception(高速化パートで解説)
54
F. Chollet, "Xception: Deep learning with depthwise separable convolutions," in Proc. of CVPR, 2017.
Mobility Technologies Co., Ltd.
特徴マップを高解像度と低解像度に別々に保持
それぞれの解像度の特徴マップを行き来させることで
効率的な特徴周出を実現
通常の畳み込みを置き換えるだけで精度向上
Octave Convolution
55
Y. Chen, H. Fan, B. Xu, Z.Yan,Y. Kalantidis, M. Rohrbach, S.Yan, and J. Feng, "Drop an Octave: Reducing Spatial Redundancy in
Convolutional Neural Networks with Octave Convolution," in arXiv:1904.05049, 2019.
Mobility Technologies Co., Ltd.
複数のResidualモジュールを1つのモジュールとみなし
その間にショートカットを作成する
Residual Networks of Residual Networks (RoR)
56
K. Zhang, M. Sun, T. X. Han, X. Yuan, L. Guo, and T. Liu, "Residual networks of residual networks:
Multilevel residual networks," in TCSVT, 2017.
Mobility Technologies Co., Ltd.
再帰的に定義されるネットワーク
• パスをdropするdropout的な学習
浅い列のパスがResNetのショートカットのような効果
FractalNet
57
G. Larsson, M. Maire, and G. Shakhnarovich, "Fractalnet: Ultra-deep neural networks without residuals," in
Proc. of ICLR, 2017.
Mobility Technologies Co., Ltd.
Dense blockをtransition layerでつないだ構造
DenseNet (CVPR’17 best paper)
58
conv
Dense
block
Dense
block
Dense
block
fc
Input
image
Result
G. Huang, Z. Liu, K. Q. Weinberger, and L. Maaten, “Densely connected convolutional networks", in Proc.
of CVPR, 2017.
Dense block
Transitionレイヤ
Mobility Technologies Co., Ltd.
同一ブロック内の自分より前の層全ての出力を
各層への入力とする処理ブロック
• 入力k0、総数l、各層の出力k とすると出力はk0+l×k
Dense Block
59
入力: k0, 出力: k
入力: k0+k, 出力: k
入力: k0+2k, 出力: k
入力: k0+3k, 出力: k
bn - relu – conv 3x3入力: k0
出力: k0+4k
G. Huang, Z. Liu, K. Q. Weinberger, and L. Maaten, “Densely connected convolutional networks", in Proc.
of CVPR, 2017.
Mobility Technologies Co., Ltd.
k0 >> k なので通常の畳み込みよりも計算量が少ないが
conv 1x1で次元削減を行うことで更に計算量を削減
Dense Block(Bottleneckバージョン)
60
入力: k0, 中間出力: 4k, 出力: k
入力: k0+k, 中間出力: 4k, 出力: k
入力: k0+2k, 中間出力: 4k, 出力: k
入力: k0+3k, 中間出力: 4k,
出力: k
bn - relu - conv 1x1
bn - relu - conv 3x3
入力: k0
出力: k0+4k
G. Huang, Z. Liu, K. Q. Weinberger, and L. Maaten, “Densely connected convolutional networks", in Proc.
of CVPR, 2017.
Mobility Technologies Co., Ltd.
Transitionレイヤの基本的な役割はダウンダンプリング
• conv 1x1の入出力チャネル数は k0+l×k
Compressionバージョンのtransitionレイヤ
• conv 1x1の出力チャネル数を θ(k0+l×k) とす
• θ≦1、論文では0.5
前述のbottleneck構造と圧縮するtransitionレイヤを
利用する場合が精度とパラメータ数のトレードオフで優秀
(DenseNet-BC)
Transition Layer
61
conv
Dense
block
Dense
block
Dense
block
fc
Input
image
Result
Transitionレイヤ
bn – conv 1x1 – avepool 2x2
Mobility Technologies Co., Ltd.
62
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
これまでのモデルはhand crafted(←特徴を自動抽出とは…)
これに対し、NASはNNのモデル(アーキテクチャ)を自動設計する手法
構成要素が、探索空間・探索手法・精度評価手法で大まかに分類される
探索空間
• Global(制約なく全体を設計する), cell-based(大まかな構成は決まって
おりそれを構成する小さなパーツのみを設計)
探索手法
• 強化学習、進化的アルゴリズム、gradientベース、random
精度測定手法
• 全学習、部分学習、weight-share、枝刈り探索
(出来上がったものの評価をどれだけサボれるか)
Neural Architecture Search (NAS)
63
T. Elsken, J. Metzen, and F. Hutter, "Neural Architecture Search: A Survey," in JMLR, 2019.
M. Wistuba, A. Rawat, and T. Pedapati, "A Survey on Neural Architecture Search," in arXiv:1905.01392,
2019.
https://github.com/D-X-Y/awesome-NAS
Mobility Technologies Co., Ltd.
探索空間:global、探索手法:REINFORCE
RNNのcontrollerがネットワーク構造を生成
• 畳み込み層のパラメータと、skip connectionの有無を出力
生成されたネットワークを学習し、その精度を報酬にする
NAS with Reinforcement Learning
64
Zoph and Q. V. Le, "Neural architecture search with reinforcement learning," in Proc. of ICLR, 2017.
Mobility Technologies Co., Ltd.
800GPUs for 28 daysの成果
配線芸!
NAS with Reinforcement Learning
65
Zoph and Q. V. Le, "Neural architecture search with reinforcement learning," in Proc. of ICLR, 2017.
Mobility Technologies Co., Ltd.
探索空間:cell、
探索手法:強化学習 (Proximal Policy Optimization)
Globalな設計にドメイン知識を活用、
構成するcellのみを自動設計
→探索空間を大幅に削減
• Normal cell x Nとreduction cellのスタック
• Reduction cellは最初にstride付きのOPで
特徴マップをダウンサンプル
• Reduction cell以降でチャネルを倍に
• Inception的思想
NASNet
66
B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image
recognition," in Proc. of CVPR, 2018.
Mobility Technologies Co., Ltd.
1. Hidden state※1 1, 2(配線元)を選択
2. それらへのOPsを選択※2
3. それらを結合するOP (add or concat)
を選択し新たなhidden stateとする
※1 Hidden state: 緑のブロックとhi, hi-I
※2 Hidden stateへのOP候補
NASNetのコントローラの動作
67
B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image
recognition," in Proc. of CVPR, 2018.
Mobility Technologies Co., Ltd.
1. Hidden state※1 1, 2 (配線元)を選択
2. それらへのOPsを選択※2
3. それらを結合するOP (add or concat)
を選択し新たなhidden stateとする
※1 Hidden state: 緑のブロックとhi, hi-I
※2 Hidden stateへのOP候補
NASNetのコントローラの動作
68
B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image
recognition," in Proc. of CVPR, 2018.
Mobility Technologies Co., Ltd.
1. Hidden state※1 1, 2 (配線元)を選択
2. それらへのOPsを選択※2
3. それらを結合するOP (add or concat)
を選択し新たなhidden stateとする
※1 Hidden state: 緑のブロックとhi, hi-I
※2 Hidden stateへのOP候補
NASNetのコントローラの動作
69
B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image
recognition," in Proc. of CVPR, 2018.
sep
3x3
avg
3x3
Mobility Technologies Co., Ltd.
1. Hidden state※1 1, 2 (配線元)を選択
2. それらへのOPsを選択※2
3. それらを結合するOP (add or concat)
を選択し新たなhidden stateとする
※1 Hidden state: 緑のブロックとhi, hi-I
※2 Hidden stateへのOP候補
NASNetのコントローラの動作
70
B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image
recognition," in Proc. of CVPR, 2018.
concat
sep
3x3
avg
3x3
Mobility Technologies Co., Ltd.
500 GPUs for 4 daysの成果
NASNet-A
71
B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image
recognition," in Proc. of CVPR, 2018.
Mobility Technologies Co., Ltd.
探索空間:cell、探索手法:強化学習 (REINFORCE)
Cellの構造を出力するRNNコントローラと、
コントローラーが出力する全てのネットワークをサブグラフとして保持できる
巨大な計算グラフ(ネットワーク)を同時に学習
→生成したネットワークの学習が不要に(1GPU for 0.45 days!)
• 全結合グラフからサブグラフをサンプリングしてくるイメージ
Single shot, weight share
詳細は資料**を参照
ENAS*
72
* H. Pham, M. Y. Guan, B. Zoph, Q. V. Le, and Jeff Dean, "Efficient Neural Architecture Search
via Parameter Sharing," in Proc. of ICML, 2018.
** https://www.slideshare.net/tkatojp/efficient-neural-architecture-search-via-parameters-
sharing-icml2018
Mobility Technologies Co., Ltd.
コントローラーのパラメータθと
巨大なネットワークのパラメータwを交互に学習
wの学習
• θを固定し、サブグラフをサンプリング
• サブグラフをforward-backwardしwを更新
θの学習
• wを固定し、サブグラフをサンプリング
• validationデータで精度を測定し報酬を取得、REINFORCEでθを更新
ENASの学習
73
Mobility Technologies Co., Ltd.
探索空間:cell、探索手法:gradient
グラフの接続やOPの選択をsoftmaxで実現することで、
構造探索もforward-backwardで実現
ENASと同じくshared param、wと構造を交互に最適化
DARTS
74
H. Liu, K. Simonyan, and Y. Yang, "DARTS: Differentiable Architecture Search," in Proc. of ICLR, 2019.
Mobility Technologies Co., Ltd.
DARTSと同じくgradient-based
各OPの実デバイス上での処理時間をlookup tableに保持
処理時間を考慮したロスをかける
ブロック毎に違う構造
後半の高速化のための1手段
FBNet
75
B. Wu, et al., "FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture
Search", in Proc. of CVPR, 2019.
クロスエントロピー 処理時間
Mobility Technologies Co., Ltd.
H. Cai, L. Zhu, and S. Han, "ProxylessNAS: Direct Neural Architecture Search on Target
Task and Hardware," in Proc. of ICLR, 2019.
M. Tan, B. Chen, R. Pang, V. Vasudevan, M. Sandler, A. Howard, and Q. V. Le, "MnasNet:
Platform-Aware Neural Architecture Search for Mobile," in Proc. of CVPR, 2019.
X. Dai, et al., "ChamNet: Towards Efficient Network Design through Platform-Aware
Model Adaptation," in Proc. of CVPR, 2019.
D. Stamoulis, et al., "Single-Path NAS: Device-Aware Efficient ConvNet Design," in Proc.
of ICMLW, 2019.
他にも
76
Mobility Technologies Co., Ltd.
Weight share + random search (ASHA) が良い*
Asynchronous Successive Halving (ASHA):複数のモデルを平行に学習を進
めながら有望なものだけを残して枝刈り
• Optunaで使えるよ!**
探索空間を、ランダムなDAG生成アルゴリズムが生成するグラフ
にすると想像以上に良い***
Random Search系
77
* L. Li and A. Talwalkar, "Random search and reproducibility for neural architecture search," in
arXiv:1902.07638, 2019.
** https://www.slideshare.net/shotarosano5/automl-in-neurips-2018
*** S. Xie, A. Kirillov, R. Girshick, and K. He, "Exploring Randomly Wired Neural Networks for Image
Recognition," in arXiv:1904.01569, 2019.
Mobility Technologies Co., Ltd.
クラス分類モデルはILSVRCとともに進化してきた
ResNetで1つの完成形
• この資料ももはや古典
NASが庶民の手に
• Single shot, weight share
• FLOPsではなく実速度を最適化(mobile device-aware)
ベースモジュール (cell) は人手だったり(後述のMNasNetとか)
• むしろ昔はcellのほうが自動設計(高速化観点だと配線多いのがNG)
• あまり探索された感がない(greedyなgrid search感)
小まとめ
78
Mobility Technologies Co., Ltd.
79
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
実用上、精度を維持しつつモデルの計算量を削減することが重要
• リアルタイム性
• 計算コスト
主に下記の条件を満たす手法を紹介
• 特定のハードウェアに依存せずに実現可能
• 畳み込みニューラルネットワーク (CNN) が対象
• 推論時の高速化
モデルの高速化
80
Mobility Technologies Co., Ltd.
モデルパラメータ数の削減
FLOPs (Floating-point Operations) の削減
モデルファイルサイズの削減
推論時間の削減
訓練時間の削減
微妙に違う
高速化?
81
Mobility Technologies Co., Ltd.
Convの部分がFLOPsで見える部分
FLOPs ≠ 処理速度
82
N. Ma, X. Zhang, H. Zheng, and J. Sun, "ShuffleNet V2: Practical Guidelines for Efficient CNN
Architecture Design," in Proc. of ECCV, 2018.
Mobility Technologies Co., Ltd.
畳み込みとプーリング演算により徐々に高度な特徴を抽出、全結合
層で画像全体の特徴から識別(クラス分類)
必要な計算量のほとんどは畳み込み層の演算
→いかに畳み込み層の演算を削減するかが重要
畳み込みニューラルネットワーク
83
畳み込み
プーリング
畳み込み
プーリング 畳み込み プーリング
全結合
1000
1000クラス
の分類
入力画像
Mobility Technologies Co., Ltd.
まずは軽量なモデルを使ってみる
性能より速度が欲しい場合は画像サイズやチャネル数を単純に削減
更にシビアな性能を求められる場合は真面目に高速化する
モデルの高速化
84
Mobility Technologies Co., Ltd.
85
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
 入力レイヤサイズ:H x W x N
 畳み込みカーネル:K x K x N x M
convKxK, M と表記 (e.g. conv 3x3, 64)
 出力レイヤサイズ:H x W x M
 畳み込みの計算量:H・W・N・K2・M(バイアス項を無視)
畳み込み層の計算量
86
W
H
N M
K
K
W
H
入力特徴マップ
畳み込み
カーネル
N
出力特徴マップ
*
和要素積
× M
convK×K, M
畳み込み層の計算量は
• 画像/特徴マップのサイズ(HW)
• 入出力チャネル数(NM)
• カーネルサイズ(K2)
に比例
Mobility Technologies Co., Ltd.
畳み込みと空間方向やチャネル方向に分割する
=局所的には全結合となっている畳み込みを疎結合にする
軽量モデルの方針
87
Mobility Technologies Co., Ltd.
大きな畳み込みカーネルを小さな畳み込みカーネルに分解
例えば5x5の畳み込みを3x3の畳み込み2つに分解
これらは同じサイズの受容野を持つが分解すると計算量は25:18
Inception-v2*では最初の7x7畳み込みを3x3畳み込み3つに分解
• 以降のSENetやShuffleNetV2等の実装でも利用されている**
空間方向の分解
88
特徴マップ
conv5x5 conv3x3 - conv3x3
* C. Szegedy, et al., "Rethinking the Inception Architecture for Computer Vision," in Proc. of CVPR, 2016.
** T. He, et al., "Bag of Tricks for Image Classification with Convolutional Neural Networks," in Proc. of
CVPR, 2019.
Mobility Technologies Co., Ltd.
nxnを1xnとnx1に分解することも
空間方向の分解
89
C. Szegedy, et al., "Rethinking the Inception Architecture for Computer Vision," in Proc. of CVPR, 2016.
Mobility Technologies Co., Ltd.
戦略
• 3x3の一部をサボって1x1のフィルタを利用する
• 3x3への入力となるチャネル数を少なくする(1x1で次元圧縮)
MobileNetが流行る前は大人気だった
SqueezeNet
90
conv 1x1, s1x1
conv 1x1, e1x1 conv 3x3, e3x3
concat
Fire
module
32
128128
256
256
Squeeze layer
Expand layer
F. N. Iandola, S. Han, M. W. Moskewicz, K. Ashraf, W. J. Dally, and K. Keutzer, "SqueezeNet: AlexNet-level
accuracy with 50x fewer parameters and <0.5MB model size," in arXiv:1602.07360, 2016.
Mobility Technologies Co., Ltd.
空間方向とチャネル方向の畳み込みを独立に行う
Depthwise畳み込み(空間方向)
• 特徴マップに対しチャネル毎に畳み込み
• 計算量:H・W・N・K2・M (M=N)
H・W・K2・N
Pointwise畳み込み(チャネル方向)
• 1x1の畳み込み
• 計算量:H・W・N・K2・M (K=1)
H・W・N・M
Depthwise + pointwise (separable)
• 計算量:H・W・N・(K2 + M)
≒ H・W・N・M (※M >> K2)
H・W・N・K2・M から大幅に計算量を削減
空間方向とチャネル方向の分解 (separable conv)
91
W
H
W
H
N
1
1
M
W
H
W
H
N
K
K
N
W
H
W
H
N M
K
K通常
depthwise
pointwise
Mobility Technologies Co., Ltd.
イメージ
空間方向とチャネル方向の分離
92
conv 3x3
conv 1x1
depthwise conv
spatial channel
in
out
Mobility Technologies Co., Ltd.
通常の畳み込み
Separable畳み込み
Separable畳み込みのパラメータ数
93
入力チャネル数
出力チャネル数
カーネルサイズ
Depthwise畳み込み Pointwise畳み込み
Mobility Technologies Co., Ltd.
Separable convを多用したモデル
Xception
94
F. Chollet, "Xception: Deep learning with depthwise separable convolutions," in Proc. of CVPR, 2017.
論文の小ネタが面白い
https://qiita.com/yu4u/items/34cd33b944d8bdca142d#%E4%BD%99%E8%AB%87
Mobility Technologies Co., Ltd.
depthwise/pointwise convを多用
改良版のMobileNetV2**/V3***も存在
MobileNetV*
95
通常の畳み込み MobileNetの1要素
*A. Howard, et al., "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications," in
arXiv:1704.04861, 2017.
** M. Sandler, et al., "MobileNetV2: Inverted Residuals and Linear Bottlenecks," in Proc. of CVPR, 2018.
*** A. Howard, et al., "Searching for MobileNetV3," in arXiv:1905.02244, 2019.
Mobility Technologies Co., Ltd.
V1は conv1x1 のほうが重い!
→ depthwiseのチャンネル数を(相対的に)増やす
skipコネクションの導入
MobileNetV2
96
Mobility Technologies Co., Ltd.
V1
V2
MobileNetV2
97
depthwise conv
conv 1x1
depthwise conv
conv 1x1
conv 1x1
spatial channel
V1は conv1x1のほうが重い!
→ depthwiseのチャンネル数を(相対的に)増やす
Mobility Technologies Co., Ltd.
NASの一種
前述のMobile inverted bottleneck
にSEモジュールを追加
(MBConv)
MBCnovのパラメータを探索
MBConv3 (k5x5)
→ボトルネックでチャネル数を3倍
depthwiseのカーネルが5x5
MNasNet
98
M. Tan, B. Chen, R. Pang, V. Vasudevan, M. Sandler, A. Howard, and Q. V. Le, "MnasNet:
Platform-Aware Neural Architecture Search for Mobile," in Proc. of CVPR, 2019.
Mobility Technologies Co., Ltd.
MnasNetをベースに最適化
SEモジュールチャネル数を増加
(h-)swishの利用、実装の最適化
NetAdaptによるPruning(後述)
Compactation↓
MobileNetV3
99
swishが入ったMBConvは
Kaggleで大活躍のEfficientNetでも
基本モジュールとして採用
Mobility Technologies Co., Ltd.
精度vs.計算量で目的にあったモデルを作りたいがそれぞれ最適化するのは大変
一般的にレイヤ数 (depth)、チャネル数 (width)、画像解像度 (resolution) が
大きくなると精度が良くなるが、分配によって精度が変わる
あるネットワークが与えられ、それをベースにより大きなネットワークを構成
しようとした際のdepth, width, resolutionの増加の最適割り当てを求める
EfficientNet-B0 (ほぼMnasNet)
で割り当てを求め、
以降は同じように
指数的に増加させる
(高速モデルではないが
流れで紹介)
EfficientNet
100
M. Tan and Q. V. Le, "EfficientNet: Rethinking Model Scaling for Convolutional Neural
Networks," in Proc. of ICML, 2019.
畳み込み層の計算量は
• 画像/特徴マップのサイズ(HW)
• 入出力チャネル数(NM)
• カーネルサイズ(K2)
に比例
Mobility Technologies Co., Ltd.
MobileNetのボトルネックとなっているconv1x1を
group conv1x1 + channel shuffleに置換
group conv: 入力の特徴マップをG個にグループ化し
各グループ内で個別に畳み込みを行う
(計算量 H・W・N・K2・M → H・W・N・K2・M / G)
channel shuffle: チャネルの順序を入れ替える
reshape + transposeの操作で実現
ShuffleNet
101
c shuffle
depthwise conv
gconv 1x1
spatial channel
gconv 1x1
X. Zhang, et al., "ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices," in
arXiv:1707.01083, 2017.
Mobility Technologies Co., Ltd.
FLOPsではなく対象プラットフォームでの実速度を見るべき
効率的なネットワーク設計のための4つのガイドラインを提言
1. メモリアクセス最小化のためconv1x1は入力と出力を同じにすべし
2. 行き過ぎたgroup convはメモリアクセスコストを増加させる
3. モジュールを細分化しすぎると並列度を低下させる
4. 要素毎の演算(ReLUとかaddとか)コストは無視できない
これらの妥当性がtoyネットワークを通して実験的に示されている
ShuffleNet V2
102
N. Ma, X. Zhang, H. Zheng, and J. Sun, "ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture
Design," in Proc. of ECCV, 2018.
Mobility Technologies Co., Ltd.
その上で新たなアーキテクチャを提案
ShuffleNet V2
103
N. Ma, X. Zhang, H. Zheng, and J. Sun, "ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture
Design," in Proc. of ECCV, 2018.
Mobility Technologies Co., Ltd.
チャネル方向に1次元の畳み込みを行う
ChannelNet
104
H. Gao, Z. Wang, and S. Ji, "ChannelNets: Compact and Efficient Convolutional Neural Networks via
Channel-Wise Convolutions", in Proc. of NIPS, 2018.
Mobility Technologies Co., Ltd.
チャネルをグループ化し、各グループごとに空間的にシフトするshift演算
(0 FLOPs) とconv1x1でモジュールを構成
ShiftNet
105
B. Wu, et al., "Shift: A Zero FLOP, Zero Parameter," in arXiv:1711.08141, 2017.
Mobility Technologies Co., Ltd.
他にも…
106
G. Huang, S. Liu, L. Maaten, and K. Weinberger, "CondenseNet: An Efficient DenseNet using Learned
Group Convolutions," in Proc. of CVPR, 2018.
T. Zhang, G. Qi, B. Xiao, and J. Wang. Interleaved group convolutions for deep neural networks," in Proc.
of ICCV, 2017.
G. Xie, J. Wang, T. Zhang, J. Lai, R. Hong, and G. Qi, "IGCV2: Interleaved Structured Sparse
Convolutional Neural Networks, in Proc. of CVPR, 2018.
K. Sun, M. Li, D. Liu, and J. Wang, "IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep
Neural Networks," in BMVC, 2018.
J. Zhang, "Seesaw-Net: Convolution Neural Network With Uneven Group Convolution," in
arXiv:1905.03672, 2019.
Mobility Technologies Co., Ltd.
チートシート的なもの
107
https://medium.com/@yu4u/why-mobilenet-and-its-variants-e-g-shufflenet-are-fast-1c7048b9618d
Mobility Technologies Co., Ltd.
108
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
枝刈り (Pruning)
早期終了 (Early termination)
蒸留 (Distillation)
量子化 (Quantization)
モデルの高速化手法
109
Mobility Technologies Co., Ltd.
枝刈り (Pruning)
早期終了 (Early termination)
蒸留 (Distillation)
量子化 (Quantization)
モデルの高速化手法
110
Mobility Technologies Co., Ltd.
畳み込み層や全結合層の重みの一部を0にすることで
パラメータ数・計算量を削減
1. ネットワークを学習
2. 枝刈り(精度低下)
3. ネットワークを再学習(精度をある程度回復)
というフローが一般的
枝刈り (Pruning)
111
Mobility Technologies Co., Ltd.
Pruning前の畳み込みフィルタ
Unstructured pruning
Structured pruning(フィルタ(チャネル)pruningが一般的)
Unstructured vs. Structured Pruning
112
K
K
…
…
…
M(出力チャネル)個
計算量vs.精度のtrade-offは優れているが
専用のハードウェアでないと高速化できない
単にチャネル数が減少したネットワークに
再構築が可能で高速化の恩恵を受けやすい
Mobility Technologies Co., Ltd.
損失関数のヘッシアン(対角近似)から重みの重要度を算出
重要度の低い重みをpruning
LeNetの60%のパラメータを削除しても精度を維持
Optimal Brain Damage (OBD)
113
Mobility Technologies Co., Ltd.
損失関数のヘッシアン(対角近似)から重みの重要度を算出
重要度の低い重みをpruning
LeNetの60%のパラメータを削除しても精度を維持
Optimal Brain Damage (OBD)
114
Y. LeCun, J. Denker, and S. Solla, "Optimal Brain
Damage," in Proc. of NIPS, 1990.
Mobility Technologies Co., Ltd.
損失関数のヘッシアン(対角近似)から重みの重要度を算出
重要度の低い重みをpruning
LeNetの60%のパラメータを削除しても精度を維持
Optimal Brain Damage (OBD)
115
Y. LeCun, J. Denker, and S. Solla, "Optimal Brain
Damage," in Proc. of NIPS, 1990.
Retrainして精度を回復させている
Mobility Technologies Co., Ltd.
Unstructuredなpruning
L2正則化を加えて学習し、絶対値が小さいweightを0に
実際に高速に動かすには専用ハードが必要
Deep Compression
116
S. Han, et al., "Learning both Weights and Connections for Efficient Neural Networks," in Proc. of NIPS, 2015.
S. Han, et al., "Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization
and Huffman Coding," in Proc. of ICLR, 2016.
S. Han, et al., "EIE: Efficient Inference Engine on Compressed Deep Neural Network," in Proc. of ISCA, 2016.
Mobility Technologies Co., Ltd.
Structured pruning(チャネルレベルのpruning)
各レイヤについて、フィルタの重みの絶対値の総和が
小さいものからpruning
各レイヤのpruning率はpruningへのsensitivityから
人手で調整
Pruning後にfinetune
Pruning Filters for Efficient ConvNets
117
H. Li, et al., "Pruning Filters for Efficient ConvNets," in Proc. of ICLR, 2017.
Mobility Technologies Co., Ltd.
Batch normのパラメータγにL1ロスをかけて学習
学習後、γが小さいチャネルを削除し、fine-tune
Network Slimming
118
チャネル毎に入力を平均0分散1に正規化、γとβでscale & shift
チャネルi
Batch
normalization
Z. Liu, et al., "Learning Efficient Convolutional Networks through Network Slimming," in Proc. of ICCV, 2017.
Mobility Technologies Co., Ltd.
L0ではなくLasso
に緩和して解く
あるfeature mapのチャネル削除した場合に
次のfeature mapの誤差が最小となるようチャネルを選択
Channel Pruning
119
Y. He, et al., "Channel Pruning for Accelerating Very Deep Neural Networks," in Proc. of ICCV, 2017.
Mobility Technologies Co., Ltd.
前述の手法と同じように、次のfeature mapの誤差が
最小となるレイヤをgreedy削除
削除後に、畳み込みの重みを誤差が最小になるように
調整→finetune
ThiNet
120
J. Luo, et al., "ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression," in Proc. of
ICCV, 2017.
Mobility Technologies Co., Ltd.
これまでの手法は「X%削る」としたときどこを削るかという手法
どのレイヤを「X%」削るかを最適化したい
→ 強化学習(off-policy actor-critic)により
各レイヤ毎の最適なpruning率を学習
入力は対象レイヤの情報とそれまでのpruning結果、
報酬は –エラー率×log(FLOPs) or log(#Params)
AutoML for Model Compression and Acceleration (AMC)
121
Y. He, et al., "AMC - AutoML for Model Compression and Acceleration on Mobile Devices," in Proc. of
ECCV, 2018.
Mobility Technologies Co., Ltd.
ステップ毎にリソース制約(e.g. 計算量削減目標)を満たす
前提で、最適なlayerをgreedyにpruning
LUTを利用して効率的にリソースを推定
ステップ毎に少しだけfinetune
最終的目的のリソースまで
削減できたら長めに
finetuneして終了
NetAdapt
122
T. Yang, A. Howard, B. Chen, X. Zhang, A. Go, M. Sandler, V. Sze, and H. Adam, "NetAdapt:
Platform-Aware Neural Network Adaptation for Mobile Applications," in Proc. of ECCV, 2018.
Mobility Technologies Co., Ltd.
NNには、「部分ネットワーク構造」と「初期値」の
組み合わせに「当たり」が存在し、それを引き当てると
効率的に学習が可能という仮説
Unstructuredなpruningでその構造と初期値を見つけることができた
凄いrepo https://github.com/facebookresearch/open_lth
Lottery Ticket Hypothesis (ICLR’19 Best Paper)
123
https://www.slideshare.net/YosukeShinya/the-lottery-ticket-hypothesis-finding-small-trainable-neural-networks
Jonathan Frankle, Michael Carbin, "The Lottery Ticket Hypothesis: Finding Sparse,
Trainable Neural Networks," in Proc. of ICLR, 2019.
Mobility Technologies Co., Ltd.
Structuredなpruning後のネットワークをscratchから学習させても
finetuneと同等かそれより良い結果が得られるという主張
つまりpruningは、重要な重みを探索しているのではなく
各レイヤにどの程度のチャネル数を割り当てるかという
Neural Architecture Search (NAS) をしているとみなせる
Lottery Ticket Hypothesisではunstructuredで、低LRのみ、
実験も小規模ネットワークのみ
Network Pruning as Architecture Search
124
Z. Liu, et al., "Rethinking the Value of Network Pruning," in Proc. of ICLR, 2019.
Mobility Technologies Co., Ltd.
1モデルだが複数の計算量(精度)で動かせるモデルを学習
• Incremental trainingだと精度が出ない
• 同時学習だとBNの統計量が違うため学習できない
→ 切替可能なモデルごとにBN層だけを個別に持つ!
もっと連続的に変化できるモデル**や、そこからgreedyにpruningする(精度
低下が最も小さいレイヤを削っていく)拡張***も
Slimmable Neural Networks*
125
* J. Yu, L. Yang, N. Xu, J. Yang, and T. Huang, "Slimmable Neural Networks," in Proc. of ICLR, 2019.
** J. Yu and T. Huang, "Universally Slimmable Networks and Improved Training Techniques," in
arXiv:1903.05134, 2019.
*** J. Yu and T. Huang, "Network Slimming by Slimmable Networks: Towards One-Shot Architecture
Search for Channel Numbers," in arXiv:1903.11728, 2019.
Mobility Technologies Co., Ltd.
Pruning後のネットワークの重みを
出力するPruningNetを学習
Blockへの入力はNetwork encoding vector
前および対象レイヤのランダムなpruning率
• 全部入れたほうが良さそうな気がするが
著者に聞いたところ効果なし
End-to-endで学習できる!
学習が終わると精度vs.速度のトレードオフの
優れたモデルを探索(手法は何でも良い)ここではGA
MetaPruning
126
Z. Liu, H. Mu, X. Zhang, Z. Guo, X. Yang, T. Cheng, and J. Sun, "MetaPruning: Meta Learning for
Automatic Neural Network Channel Pruning," in Proc. of ICCV’19.
Mobility Technologies Co., Ltd.
枝刈り (Pruning)
早期終了 (Early termination)
蒸留 (Distillation)
量子化 (Quantization)
モデルの高速化手法
127
Mobility Technologies Co., Ltd.
入力に応じてネットワークの途中で結果を出力し、
それ以降の処理を行わない(早期終了)
入力に応じてネットワークの構造を動的に変える
(動的計算グラフ; dynamic computation graph)
「平均処理時間」を削減する
早期終了 (Early termination)
128
Mobility Technologies Co., Ltd.
ネットワークの途中に結果の出力層を追加
学習時にはすべての出力層に適当なweightをかけて学習
そのsoftmaxのエントロピーが閾値以下の場合にExit
BranchyNet
129
S. Teerapittayanon, et al., "BranchyNet: Fast Inference via Early Exiting from Deep Neural Networks," in
Proc. of ICPR, 2016.
Mobility Technologies Co., Ltd.
ACT: 各ResBlockがhalting scoreを出力、合計が1を超えると
以降の処理をスキップ(空間領域でも行うとSACT)
Spatially Adaptive Computation Time (SACT)
130
計算量に関する勾配を追加
M. Figurnov, et al., "Spatially Adaptive Computation Time for Residual Networks," in Proc. of CVPR, 2017.
Mobility Technologies Co., Ltd.
各レイヤ毎に、直前までの特徴マップを入力とするRNNが
利用する畳み込みフィルタ集合を決定
Keepした畳み込みフィルタ数と元タスクの損失関数(最終層の場合)を負の報
酬としてQ学習でRNNを学習
Runtime Neural Pruning
131
J. Lin, et al., "Runtime Neural Pruning," in Proc. of NIPS, 2017.
Mobility Technologies Co., Ltd.
Policy networkに画像を入力、どのBlockをスキップするかを出力
KeepとなったResBlockのみをforward
認識が失敗した場合は負の報酬を、成功した場合にはスキップ率に応じた正の
報酬を与えることでpolicy networkを学習
BlockDrop
132
Z. Wu, et al., "BlockDrop: Dynamic Inference Paths in Residual Networks," in Proc. of CVPR, 2018.
Mobility Technologies Co., Ltd.
枝刈り (Pruning)
早期終了 (Early termination)
蒸留 (Distillation)
量子化 (Quantization)
モデルの高速化手法
133
Mobility Technologies Co., Ltd.
大きなモデルや、複数のネットワークのアンサンブルを
「教師モデル」とし、小さな「生徒モデル」を学習
教師の出力や中間特徴を生徒が模擬するようなロスをかける
蒸留 (Distillation)
134
1. アンサンブルモデルや
大きなモデルを学習
2. 学習済みモデルを利用して
小さなモデルを学習
Mobility Technologies Co., Ltd.
Distilling the Knowledge in a Neural Network
135
……
学習画像
学習済みモデル
学習するモデル
…
正解ラベル
(ハード
ターゲッ
ト)
通常T = 1のsoftmaxのTを大きくした
ソフトターゲットを利用
…
ソフトターゲット
ソフト
ターゲット
ハード
ターゲット
正解ラベルと
学習モデル出力の
両方を利用
G. Hinton, et al., "Distilling the Knowledge in a Neural
Network," in Proc. of NIPS Workshop, 2014.
Mobility Technologies Co., Ltd.
教師よりもdeepかつthinな生徒を学習する
生徒のguided layerが、教師のhit layerの出力を
正確に模擬する (regression) ロスを追加
FitNet
136
A. Romero, et al., "FitNets: Hints for Thin Deep Nets," in Proc. of ICLR, 2015.
Mobility Technologies Co., Ltd.
さいきんの(雑)
137
B. Heo, et al., "A Comprehensive Overhaul of Feature Distillation," in Proc. of ICCV, 2019.
Mobility Technologies Co., Ltd.
枝刈り (Pruning)
早期終了 (Early termination)
蒸留 (Distillation)
量子化 (Quantization)
モデルの高速化手法
138
Mobility Technologies Co., Ltd.
ネットワークのパラメータ等を量子化することで
モデルサイズを削減、学習や推論を高速化(e.g. 32/16 bit -> 8 bit)
• 量子化対象
• 重み、アクティベーション(特徴マップ)、勾配、エラー
• 量子化手法
• 線形、log、非線形 / スカラ、ベクトル、直積量子化
• 量子化ビット
• 1bit(バイナリ)、3値 (-1, 0, 1)、8bit、16bit、任意bit
専用ハードがないと恩恵を受けられない事が多い
• 半精度*は汎用ハード&フレームワークでもサポート
量子化
139
* https://github.com/NVIDIA/apex
Mobility Technologies Co., Ltd.
weights (W), activations (A), gradients (G), errors (E)
の全てを量子化
WAGE
140
S. Wu, et al., "Training and Inference with Integers in Deep Neural Networks," in Proc. of ICLR, 2018.
Mobility Technologies Co., Ltd.
weights (W), activations (A), gradients (G), errors (E)
WAGE
141
S. Wu, et al., "Training and Inference with Integers in Deep Neural Networks," in Proc. of ICLR, 2018.
バイナリ
Mobility Technologies Co., Ltd.
推論時にuint8の演算がメインとなるように
学習時に量子化をシミュレーションしながら学習
TensorFlow公式に実装が存在**
Quantization and Training of Neural Networks for Efficient
Integer-Arithmetic-Only Inference*
142
* B. Jacob, et al., "Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only
Inference," in Proc. of CVPR, 2018.
** https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/quantize/README.md
Mobility Technologies Co., Ltd.
Post-trainingも
Post-Training Integer Quantization
143
https://medium.com/tensorflow/tensorflow-model-optimization-toolkit-post-training-integer-
quantization-b4964a1ea9ba
Mobility Technologies Co., Ltd.
[Tensorflow Lite] Various Neural Network Model quantization
methods for Tensorflow Lite (Weight Quantization, Integer
Quantization, Full Integer Quantization, Float16 Quantization,
EdgeTPU)
https://qiita.com/PINTO/items/008c54536fca690e0572
貴重な知見
144
Mobility Technologies Co., Ltd.
高速化方針
• まずは軽量なモデルを使ってみる(MobileNetV3あたり)
• 性能より速度が欲しい場合は画像サイズやチャネル数を単純に削減
• 更にシビアな性能を求められる場合は真面目に高速化する
• Pruning, 量子化が妥当(tfが先行)
• 実用上はdevice-awareな高速化(NASのところ参照)
今後
• 単に軽量なバックボーンを利用するだけでなく
各タスクに最適化されたアーキテクチャ(既にあるけど)
小まとめ
145
Mobility Technologies Co., Ltd.
146
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
特徴マップ抽出後の処理を切り替えることで
様々なタスクに対応可能
物体検出、セマンティックセグメンテーション、姿勢推定・ランド
マーク検出のモデルを紹介
様々なタスクへの応用
147
クラス分類
用の処理
全結合
特徴マップ特徴抽出
入力画像
Mobility Technologies Co., Ltd.
クラス分類・セグメンテーション (pixel level)
• Cross entropy, binary cross entropy, focal loss
回帰
• MSE (L2), MAE (L1), smooth L1
属性推定
• Binary cross entropy
ヒートマップ
• MSE (L2), MAE (L1)
距離学習
• Contrastive loss, triplet loss
タスクに対応したロスの選択
148
Mobility Technologies Co., Ltd.
入力画像
受容野
(receptive field)
特徴マップ
149
特徴抽出
入力画像
特徴マップ
4
4
このあたりの領域の情報が
集約される
C
Mobility Technologies Co., Ltd.
例えば、
信頼度:1次元
物体の領域:4次元
(x, y, w, h)
を出力するように学習すると
1クラスの物体検出が可能
物体検出への応用
150
特徴マップ
4
4
入力画像
w
h
(x, y)
5
Mobility Technologies Co., Ltd.
例えば、
信頼度:1次元
物体の領域:4次元
(x, y, w, h)
+クラスらしさ:C次元
を出力するように学習すると
Cクラスの物体検出が可能
物体検出への応用
151
特徴マップ
4
4
入力画像
w
h
(x, y)
車
5+C
Mobility Technologies Co., Ltd.
Backbone, Neck, Headから構成、複数スケールの特徴マップを出力
物体検出モデルの汎用的な表現
152
A. Bochkovskiy, C. Wang, and H. Liao, "YOLOv4: Optimal Speed and Accuracy of Object Detection," in
arXiv:2004.10934, 2020.
クラス分類モデル
(のFCの手前)
物体検出特有の
モジュール
複数スケールの
検出結果(headとも)
Mobility Technologies Co., Ltd.
物体検出モデルの汎用的な表現
153
https://github.com/open-mmlab/mmdetection/blob/master/docs/GETTING_STARTED.md#develop-new-
components
Mobility Technologies Co., Ltd.
出力層付近の特徴を入力層付近の特徴へと徐々に統合することで
特徴の強さと特徴マップの解像度を両立
Feature Pyramid Network (FPN)
154
T. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie, "Feature Pyramid
Networks for Object Detection," in Proc. of CVPR, 2017.
特徴の強さ:強
解像度:低
e.g. Faster R-
CNN, YOLO
特徴の強さ:弱
解像度:高
e.g. SSD
特徴の強さ:強
解像度:高
FPN
Nearest neighbor
で解像度調整
1x1でチャネル数調整
Mobility Technologies Co., Ltd.
エッジ等のlow-levelの情報をネットワーク全体に伝播させる
Path Aggregation Network (PANet)
155
S. Liu, L. Qi, H. Qin, J. Shi, and J. Jia, "Path Aggregation Network for Instance Segmentation," in Proc. of CVPR,
2018.
Backbone FPN Bottom-up path
low-levelの特徴の伝播に
100 layerくらい必要
‘short cut’ path
を作ってあげる
Mobility Technologies Co., Ltd.
エッジ等のlow-levelの情報をネットワーク全体に伝播させる
Path Aggregation Network (PANet)
156
S. Liu, L. Qi, H. Qin, J. Shi, and J. Jia, "Path Aggregation Network for Instance Segmentation," in Proc. of CVPR,
2018.
Backbone FPN Bottom-up path
low-levelの特徴の伝播に
100 layerくらい必要
‘short cut’ path
を作ってあげる
3x3 conv
stride=2
3x3 conv
Mobility Technologies Co., Ltd.
PANetを簡略化、同一解像度のskip connection、
top-down+bottom-upを1モジュールとして繰り返す
(単一モジュールとして考えることで簡略化が可能に)
Bi-directional Feature Pyramid Network (BiFPN)
157
M. Tan, R. Pang, and Quoc V. Le, "EfficientDet: Scalable and Efficient Object Detection," in Proc. of CVPR, 2020.
Mobility Technologies Co., Ltd.
PANetを簡略化、同一解像度のskip connection、
top-down+bottom-upを1モジュールとして繰り返す
(単一モジュールとして考えることで簡略化が可能に)
Bi-directional Feature Pyramid Network (BiFPN)
158
M. Tan, R. Pang, and Quoc V. Le, "EfficientDet: Scalable and Efficient Object Detection," in Proc. of CVPR, 2020.
Mobility Technologies Co., Ltd.
L. Liu, W. Ouyang, X. Wang, P. Fieguth, J. Chen, X. Liu, and M.
Pietikainen, "Deep Learning for Generic Object Detection: A
Survey," in arXiv:1809.02165, 2018.
Z. Zou, Z. Shi, Y. Guo, and J. Ye, "Object Detection in 20
Years: A Survey" in arXiv:1905.05055, 2019.
X. Wu, D. Sahoo, and S. Hoi, "Recent Advances in Deep
Learning for Object Detection," in arXiv:1908.03673, 2019.
サーベイとか
159
Mobility Technologies Co., Ltd.
セグメンテーションへの応用
160
畳み込み
入力画像 画像と同じサイズの
クラスらしさ:C次元
を出力するように学習すると
Cクラスのセマンティック
セグメンテーションが可能
逆畳み込み
C
画像引用元: https://www.cityscapes-dataset.com/examples/
Mobility Technologies Co., Ltd.
skip connectionを持ったencoder-decoderモデル
FPNと同様コンテキストと解像度の両立が目的
• Encoderは何でも良い
(U-Netは概念)
• skipはaddではなくconcat
• FPNはチャネル数固定
U-Net
161
O. Ronneberger, P. Fischer, and T. Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation,"
in Proc. of MICCAI, 2015.
concat
encoder decoder
Mobility Technologies Co., Ltd.
FPN for semantic segmentation
162
https://places-coco2017.github.io/#winners
http://presentations.cocodataset.org/COCO17-Stuff-FAIR.pdf
Mobility Technologies Co., Ltd.
U-Netと違い、異なるスケールの特徴を全て利用し最終出力を行う
FPN for semantic segmentation
163
https://places-coco2017.github.io/#winners
http://presentations.cocodataset.org/COCO17-Stuff-FAIR.pdf
backbone FPN
3x3 conv * 2
Mobility Technologies Co., Ltd.
Semantic segmentation 振り返り
https://speakerdeck.com/motokimura/semantic-segmentation-zhen-rifan-ri
進化の歴史が分かりやすい資料
164
Mobility Technologies Co., Ltd.
姿勢推定・ランドマーク検出への応用
165
A. Newell, K. Yang, and J. Deng, "Stacked Hourglass Networks for Human Pose Estimation," in Proc. of ECCV,
2016.
C個の関節点・ランドマーク毎の
ヒートマップ
を出力するように学習すると
姿勢推定・ランドマーク検出
が可能
特徴マップ
C
C
Mobility Technologies Co., Ltd.
UNetのようなencoder/decoderモジュールを積み重ねる
Stacked Hourglass
166
A. Newell, K. Yang, and J. Deng, "Stacked Hourglass Networks for Human Pose Estimation," in Proc. of ECCV, 2016.
max pool nearest neighbor
upsampling
residual module (bottleneck)
Mobility Technologies Co., Ltd.
解像度の違う複数の並列パスを持つ
たまに全ての解像度の情報を統合するexchange unitが存在する
HRNet
167
A. Newell, K. Yang, and J. Deng, "Stacked Hourglass
Networks for Human Pose Estimation," in Proc. of ECCV, 2016.
Mobility Technologies Co., Ltd.
セグメンテーション、姿勢推定、物体検出のバックボーンとしても
利用されている
HRNet
168
https://github.com/HRNet
クラス分類モデルは
pretrain用?
Mobility Technologies Co., Ltd.
169
1. クラス分類向けモデルについて
• ILSVRCで振り返る進化の歴史
• その他重要なモデル
• モデルの自動設計
(Neural Architecture Search)
2. モデルの高速化について
• 軽量モデル
• その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ
Agenda
Mobility Technologies Co., Ltd.
Kaggle
• 「Kaggle」とは、企業や研究者がデータを投稿し、世界中のデータサイエンティストがそ
の最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォームですKaggle
のシステムはコンペティション方式を採用しており、参加者の提示したモデルは即時に採
点され、順位が表示されます。コンペティションに参加し、最高精度のモデルを提示した
データサイエンティストには、コンペティションの主催者から賞金が支払われます。
https://japan.zdnet.com/article/35122924/
画像系コンペも多く、様々なタスクを経験できる
最新のモデルを含むあらゆる手法(optimizer, 活性化関数,
augmentation)が試され、「追試」されている
他の人が作成したKaggle notebook (Jupyter notebook) を
すぐ試せる
Discussionで有意義な情報が得られる
Kaggleのすすめ
170
Mobility Technologies Co., Ltd.
pretrainモデルを活用する
Data augmentationを活用する
• 一般的なやつ+random erasing, mixup, cutmix, …
学習率 (learning rate) の調整をちゃんとする
• 初期学習率、warmup, スケジューリング(step, cosine decay)
Optimizerを変えてみる
• Momentum SGD, Adam(, RAdam, AdamW)
Test time augmentation (TTA), model ensemble
• 実用上は…?
うまくいかないとき
• 37 Reasons why your Neural Network is not working
https://blog.slavv.com/37-reasons-why-your-neural-network-is-not-working-
4020854bd607
• https://twitter.com/karpathy/status/1013244313327681536
良いモデルを作る・精度を上げるためには
171
Mobility Technologies Co., Ltd.
長々と話しましたが中身を知るより試すほうが簡単!
クラス分類モデル
• https://github.com/Cadene/pretrained-models.pytorch
• https://github.com/lukemelas/EfficientNet-PyTorch
• https://github.com/rwightman/pytorch-image-models
セマンティックセグメンテーション
• https://github.com/qubvel/segmentation_models.pytorch
物体検出
• https://github.com/facebookresearch/detectron2
• https://github.com/open-mmlab/mmdetection
Augmentation
• https://github.com/albumentations-team/albumentations
おすすめライブラリ
172
Mobility Technologies Co., Ltd.
ResNetからEfficientNetまでpretrainedモデルが揃っている
入力チャネル数 (1 or 3) や出力クラスが簡単に変えられる
特徴マップの抽出も簡単
pytorch-image-models
173
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
174

More Related Content

What's hot

[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...Deep Learning JP
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Yoshitaka Ushiku
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII
 
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話Yusuke Uchida
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化Yusuke Uchida
 
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者cvpaper. challenge
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向Kensho Hara
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~nlab_utokyo
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Modelscvpaper. challenge
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイcvpaper. challenge
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision TransformerYusuke Uchida
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
ディープラーニングを用いた物体認識とその周辺 ~現状と課題~ (Revised on 18 July, 2018)
ディープラーニングを用いた物体認識とその周辺 ~現状と課題~ (Revised on 18 July, 2018)ディープラーニングを用いた物体認識とその周辺 ~現状と課題~ (Revised on 18 July, 2018)
ディープラーニングを用いた物体認識とその周辺 ~現状と課題~ (Revised on 18 July, 2018)Masakazu Iwamura
 
Action Recognitionの歴史と最新動向
Action Recognitionの歴史と最新動向Action Recognitionの歴史と最新動向
Action Recognitionの歴史と最新動向Ohnishi Katsunori
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習cvpaper. challenge
 
Transformer 動向調査 in 画像認識
Transformer 動向調査 in 画像認識Transformer 動向調査 in 画像認識
Transformer 動向調査 in 画像認識Kazuki Maeno
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object DetectionDeep Learning JP
 

What's hot (20)

[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
Semantic segmentation
Semantic segmentationSemantic segmentation
Semantic segmentation
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
 
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
ディープラーニングを用いた物体認識とその周辺 ~現状と課題~ (Revised on 18 July, 2018)
ディープラーニングを用いた物体認識とその周辺 ~現状と課題~ (Revised on 18 July, 2018)ディープラーニングを用いた物体認識とその周辺 ~現状と課題~ (Revised on 18 July, 2018)
ディープラーニングを用いた物体認識とその周辺 ~現状と課題~ (Revised on 18 July, 2018)
 
Action Recognitionの歴史と最新動向
Action Recognitionの歴史と最新動向Action Recognitionの歴史と最新動向
Action Recognitionの歴史と最新動向
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
Transformer 動向調査 in 画像認識
Transformer 動向調査 in 画像認識Transformer 動向調査 in 画像認識
Transformer 動向調査 in 画像認識
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection
 

Similar to 画像認識と深層学習

ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎kunihikokaneko1
 
AI理論とビジネス 中井眞人氏 20171122
AI理論とビジネス 中井眞人氏 20171122AI理論とビジネス 中井眞人氏 20171122
AI理論とビジネス 中井眞人氏 20171122Team AI
 
DeNAにおける機械学習・深層学習活用
DeNAにおける機械学習・深層学習活用DeNAにおける機械学習・深層学習活用
DeNAにおける機械学習・深層学習活用Kazuki Fujikawa
 
Muramatsu Bachelor Thesis
Muramatsu Bachelor ThesisMuramatsu Bachelor Thesis
Muramatsu Bachelor Thesispflab
 
Cvim saisentan-6-4-tomoaki
Cvim saisentan-6-4-tomoakiCvim saisentan-6-4-tomoaki
Cvim saisentan-6-4-tomoakitomoaki0705
 
CVPR2016 reading - 特徴量学習とクロスモーダル転移について
CVPR2016 reading - 特徴量学習とクロスモーダル転移についてCVPR2016 reading - 特徴量学習とクロスモーダル転移について
CVPR2016 reading - 特徴量学習とクロスモーダル転移についてAkisato Kimura
 
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までーDeep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までーnlab_utokyo
 
Masked Autoencoders Are Scalable Vision Learners
Masked Autoencoders Are Scalable Vision LearnersMasked Autoencoders Are Scalable Vision Learners
Masked Autoencoders Are Scalable Vision LearnersGuoqingLiu9
 
Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Preferred Networks
 
Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Taiga Nomi
 
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例Takayoshi Yamashita
 
Reinforced Cross-Modal Matching and Self-Supervised Imitation Learning for Vi...
Reinforced Cross-Modal Matching and Self-Supervised Imitation Learning for Vi...Reinforced Cross-Modal Matching and Self-Supervised Imitation Learning for Vi...
Reinforced Cross-Modal Matching and Self-Supervised Imitation Learning for Vi...Yoshitaka Ushiku
 
人が注目する箇所を当てるSaliency Detectionの最新モデル UCNet(CVPR2020)
人が注目する箇所を当てるSaliency Detectionの最新モデル UCNet(CVPR2020)人が注目する箇所を当てるSaliency Detectionの最新モデル UCNet(CVPR2020)
人が注目する箇所を当てるSaliency Detectionの最新モデル UCNet(CVPR2020)Shintaro Yoshida
 
20120623 cv勉強会 shirasy
20120623 cv勉強会 shirasy20120623 cv勉強会 shirasy
20120623 cv勉強会 shirasyYoichi Shirasawa
 

Similar to 画像認識と深層学習 (20)

MIRU_Preview_JSAI2019
MIRU_Preview_JSAI2019MIRU_Preview_JSAI2019
MIRU_Preview_JSAI2019
 
ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎
 
AI理論とビジネス 中井眞人氏 20171122
AI理論とビジネス 中井眞人氏 20171122AI理論とビジネス 中井眞人氏 20171122
AI理論とビジネス 中井眞人氏 20171122
 
Team ai 3
Team ai 3Team ai 3
Team ai 3
 
DeNAにおける機械学習・深層学習活用
DeNAにおける機械学習・深層学習活用DeNAにおける機械学習・深層学習活用
DeNAにおける機械学習・深層学習活用
 
Muramatsu Bachelor Thesis
Muramatsu Bachelor ThesisMuramatsu Bachelor Thesis
Muramatsu Bachelor Thesis
 
Cvim saisentan-6-4-tomoaki
Cvim saisentan-6-4-tomoakiCvim saisentan-6-4-tomoaki
Cvim saisentan-6-4-tomoaki
 
20201010 personreid
20201010 personreid20201010 personreid
20201010 personreid
 
CVPR2016 reading - 特徴量学習とクロスモーダル転移について
CVPR2016 reading - 特徴量学習とクロスモーダル転移についてCVPR2016 reading - 特徴量学習とクロスモーダル転移について
CVPR2016 reading - 特徴量学習とクロスモーダル転移について
 
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までーDeep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
 
深層学習入門
深層学習入門深層学習入門
深層学習入門
 
Masked Autoencoders Are Scalable Vision Learners
Masked Autoencoders Are Scalable Vision LearnersMasked Autoencoders Are Scalable Vision Learners
Masked Autoencoders Are Scalable Vision Learners
 
Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習
 
Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷
 
ICCV2019 report
ICCV2019 reportICCV2019 report
ICCV2019 report
 
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
 
Reinforced Cross-Modal Matching and Self-Supervised Imitation Learning for Vi...
Reinforced Cross-Modal Matching and Self-Supervised Imitation Learning for Vi...Reinforced Cross-Modal Matching and Self-Supervised Imitation Learning for Vi...
Reinforced Cross-Modal Matching and Self-Supervised Imitation Learning for Vi...
 
人が注目する箇所を当てるSaliency Detectionの最新モデル UCNet(CVPR2020)
人が注目する箇所を当てるSaliency Detectionの最新モデル UCNet(CVPR2020)人が注目する箇所を当てるSaliency Detectionの最新モデル UCNet(CVPR2020)
人が注目する箇所を当てるSaliency Detectionの最新モデル UCNet(CVPR2020)
 
20190804_icml_kyoto
20190804_icml_kyoto20190804_icml_kyoto
20190804_icml_kyoto
 
20120623 cv勉強会 shirasy
20120623 cv勉強会 shirasy20120623 cv勉強会 shirasy
20120623 cv勉強会 shirasy
 

More from Yusuke Uchida

SIGNATE オフロードコンペ 精度認識部門 3rd Place Solution
SIGNATE オフロードコンペ 精度認識部門 3rd Place SolutionSIGNATE オフロードコンペ 精度認識部門 3rd Place Solution
SIGNATE オフロードコンペ 精度認識部門 3rd Place SolutionYusuke Uchida
 
SIGNATE 鰹節コンペ2nd Place Solution
SIGNATE 鰹節コンペ2nd Place SolutionSIGNATE 鰹節コンペ2nd Place Solution
SIGNATE 鰹節コンペ2nd Place SolutionYusuke Uchida
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術Yusuke Uchida
 
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)Yusuke Uchida
 
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningSemi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningYusuke Uchida
 
Deep Fakes Detection
Deep Fakes DetectionDeep Fakes Detection
Deep Fakes DetectionYusuke Uchida
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019Yusuke Uchida
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選Yusuke Uchida
 
Humpback whale identification challenge反省会
Humpback whale identification challenge反省会Humpback whale identification challenge反省会
Humpback whale identification challenge反省会Yusuke Uchida
 
DeNAにおける先端AI技術活用のチャレンジ
DeNAにおける先端AI技術活用のチャレンジDeNAにおける先端AI技術活用のチャレンジ
DeNAにおける先端AI技術活用のチャレンジYusuke Uchida
 
コンピュータビジョン技術の実応用とビジネス
コンピュータビジョン技術の実応用とビジネスコンピュータビジョン技術の実応用とビジネス
コンピュータビジョン技術の実応用とビジネスYusuke Uchida
 
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...Yusuke Uchida
 
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用Yusuke Uchida
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向Yusuke Uchida
 
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)Yusuke Uchida
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 
最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめYusuke Uchida
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksYusuke Uchida
 
"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説
"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説
"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説Yusuke Uchida
 
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだOvercoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだYusuke Uchida
 

More from Yusuke Uchida (20)

SIGNATE オフロードコンペ 精度認識部門 3rd Place Solution
SIGNATE オフロードコンペ 精度認識部門 3rd Place SolutionSIGNATE オフロードコンペ 精度認識部門 3rd Place Solution
SIGNATE オフロードコンペ 精度認識部門 3rd Place Solution
 
SIGNATE 鰹節コンペ2nd Place Solution
SIGNATE 鰹節コンペ2nd Place SolutionSIGNATE 鰹節コンペ2nd Place Solution
SIGNATE 鰹節コンペ2nd Place Solution
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術
 
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)
 
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningSemi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learning
 
Deep Fakes Detection
Deep Fakes DetectionDeep Fakes Detection
Deep Fakes Detection
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
Humpback whale identification challenge反省会
Humpback whale identification challenge反省会Humpback whale identification challenge反省会
Humpback whale identification challenge反省会
 
DeNAにおける先端AI技術活用のチャレンジ
DeNAにおける先端AI技術活用のチャレンジDeNAにおける先端AI技術活用のチャレンジ
DeNAにおける先端AI技術活用のチャレンジ
 
コンピュータビジョン技術の実応用とビジネス
コンピュータビジョン技術の実応用とビジネスコンピュータビジョン技術の実応用とビジネス
コンピュータビジョン技術の実応用とビジネス
 
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
 
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
 
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
 
"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説
"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説
"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説
 
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだOvercoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだ
 

画像認識と深層学習

  • 1. Mobility Technologies Co., Ltd. 画像認識と深層学習 株式会社Mobility Technologies 内田 祐介 日本ロボット学会 第126回ロボット工学セミナー
  • 2. Mobility Technologies Co., Ltd. 深層学習が様々な画像認識タスクで活用されるようになった • クラス分類、物体検出、ランドマーク検出、 セマンティックセグメンテーション、姿勢推定、行動認識、属性認識、 顔認証、物体追跡、深度推定、SfM、… • 従来考えられなかったようなタスクまでも応用が広がっている 画像認識と深層学習 2
  • 3. Mobility Technologies Co., Ltd. 深層学習によるタスクの広がり 3[Liu+, ECCV'16] [He+, ICCV’17] [Viola+, CVPR'01] 顔検出 [Lazebnik+, CVPR'06] マルチクラス物体検出 クラス分類 セグメンテーション ポーズ推定
  • 4. Mobility Technologies Co., Ltd. 問題・やりたいことを適切なタスクとして定義する 訓練・検証のためのデータセットを構築する モデルを設計(選定)する • タスクに応じた損失関数(ロス)を選定する 学習・検証 • Optimizer選定、学習率スケジューリング、Augmentation 画像認識 4
  • 5. Mobility Technologies Co., Ltd. 5 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 6. Mobility Technologies Co., Ltd. 最も基本的かつ重要なタスク 入力画像がどのようなクラス(例:猫)に 対応するのかを判定する 畳み込みニューラルネットワーク (CNN) により実現 • 画像を入力とする認識はほぼCNNが利用される • クラス分類タスクで進化したCNNのモデルが 他の様々なタスクで利用される • 画像以外モダリティも画像(3次元テンソル)に変換されてCNNが利用され ることも多い • 音響信号→スペクトログラム、点群→固定サイズの3次元テンソル クラス分類モデルは他のタスクの基礎となっている クラス分類 6
  • 7. Mobility Technologies Co., Ltd. 画像認識コンペILSVRCにおける クラス分類タスクのエラー率(top5 error)推移 • エラー率が1/10に 深層学習による画像認識精度の向上 7 AlexNet ZFNet SENetResNet GooLeNet Ensemble http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf 深層学習ベースのモデル
  • 8. Mobility Technologies Co., Ltd. 画像認識コンペILSVRCにおける クラス分類タスクのエラー率(top5 error)推移 • エラー率が1/10に 深層学習による画像認識精度の向上 8 AlexNet ZFNet SENetResNet GooLeNet Ensemble http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf 深層学習ベースのモデル SIFT+Fisher vector+SVMが end-to-endの deep learningに敗れる
  • 9. Mobility Technologies Co., Ltd. Image Classification on ImageNet 9 https://paperswithcode.com/sota/image-classification-on-imagenet Top 5 error: 0.013
  • 10. Mobility Technologies Co., Ltd. 全結合ではないフィードフォワードネットワーク 畳み込みニューラルネットワーク 10 227x227x3 55x55x96 27x27x9627x27x256 13x13x25613x13x38413x13x38413x13x2566x6x256 9216 4096 4096 1000 conv11x11, 96 stride (4, 4) maxpool3x3 stride (2, 2) conv5x5, 256 stride (1, 1) maxpool3x3 stride (2, 2) conv3x3, 384 stride (1, 1) conv3x3, 384 stride (1, 1) conv3x3, 256 stride (1, 1) maxpool3x3 stride (2, 2) flattenflatten densedense densedensedensedense AlexNetモデル
  • 11. Mobility Technologies Co., Ltd. この図はKeras風にCNNを定義すると自動的に作れます ちなみに 11 https://github.com/yu4u/convnet-drawer
  • 12. Mobility Technologies Co., Ltd. 全結合ではないフィードフォワードネットワーク 畳み込み、プーリング演算、活性化関数により構成される 畳み込みニューラルネットワーク 12 畳み込み プーリング 畳み込み プーリング 畳み込み プーリング 全結合 1000 1000クラス の分類入力画像
  • 13. Mobility Technologies Co., Ltd. 3次元テンソルに対して、畳み込みカーネルを 適用し、認識に重要な特徴を抽出する 個々の出力は入力の一部のみ影響を受け、カーネルは空間座標によ らず共通 畳み込み演算 13 W H N M K K W H 入力テンソル 畳み込み カーネル N 出力テンソル * 和 要素積 × M Conv K×K, M
  • 14. Mobility Technologies Co., Ltd. 畳み込み演算にも色々ある • Grouped convolution, depthwise convolution(後述)、transposed convolution (deconvolution, upconvolution)… Padding, strideの概念や、transposed convolution, dilated convolutionは↓ https://github.com/vdumoulin/conv_arithmetic 畳み込み演算 14
  • 15. Mobility Technologies Co., Ltd. テンソルの各要素に(非線形な)活性化関数 φ(x) を適用する 活性化関数 15 W N 入力テンソル 出力テンソル W N φ(x) シグモイド関数 ReLU
  • 16. Mobility Technologies Co., Ltd. 空間的な特徴を集約(平均値・最大値)し、 位置ずれに不変な特徴を抽出する プーリング演算 16 W W/2 N N H/2 2 2 最大値 Maxpool 2×2 入力テンソル 出力テンソル
  • 17. Mobility Technologies Co., Ltd. 全結合ではないフィードフォワードネットワーク 畳み込み、プーリング演算、活性化関数により構成される 組み合わせにより様々なモデルが提案されてきた(配線芸) 畳み込みニューラルネットワーク 17 畳み込み プーリング 畳み込み プーリング 畳み込み プーリング 全結合 1000 1000クラス の分類入力画像
  • 18. Mobility Technologies Co., Ltd. 18 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 19. Mobility Technologies Co., Ltd. ImageNet Large Scale Visual Recognition Challenge (ILSVRC) ImageNetデータセットを利用したコンペ • WordNetをもとにクラスを定義 • 各クラスのデータを大量に収集&アノテーション • 学習データ120万枚、テストデータ10万枚 クラス分類、物体検出、位置特定等のタスクが存在 • 特にクラス分類の精度の推移が画像認識の進化の 指標として参考にされることが多い 2012年に深層学習ベースの手法が優勝して以降、 (畳み込み)ニューラルネットワークの天下一武道会化 • ここでの優勝モデルがデファクトスタンダードとして利用される • セグメンテーション等、他のタスクでも利用される ILSVRCで振り返るCNNの進化 19
  • 20. Mobility Technologies Co., Ltd. クラス分類タスクのエラー率(top5 error)の推移 ILSVRC 20 AlexNet ZFNet SENetResNet GooLeNet Ensemble http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf
  • 21. Mobility Technologies Co., Ltd. クラス分類タスクのエラー率(top5 error)の推移 ILSVRC 21 http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf AlexNet ZFNet SENetResNet GooLeNet Ensemble 0.051 Human ???
  • 22. Mobility Technologies Co., Ltd. そもそも人間のエラー率は0%なのでは? • No, ImageNetがどうやって作成されたかに関係 ImageNetデータセットの作成手順 • WordNetを元に1000クラスを定義 • 検索エンジンで各クラスの画像を収集 • クラウドワーカーが各画像とクラスが 対応しているか否かのバイナリ判定 ImageNetのタスク • 画像が与えられ、1000クラスから1つのクラスを選択 人間のエラー率5.1%? 22 http://karpathy.github.io/2014/09/02/what-i-learned-from-competing-against-a-convnet-on-imagenet/
  • 23. Mobility Technologies Co., Ltd. “1 smart, trained and highly education human being performed at that error rate” https://amundtveit.com/tag/imagenet/ Andrej Karpathyさん (Stanford→OpenAI→Tesla) 人間のエラー率5.1%? 23 https://github.com/karpathy
  • 24. Mobility Technologies Co., Ltd. 2014年のGoogLeNetの達成精度 (top5 error 6.7%) から 人間との比較をすべきと考えた 専用のアノテーションツールを作成 • ILSVRCに従事しているラボメンでも 1000クラスから5クラス選択することは非常に難しい GoogLeNetの結果を利用して、候補を100クラスに限定 • それでも難しくラボの熟練ラベラーでも13〜15%のエラー率 自分が訓練データを用い、”苦痛を伴う長時間の学習”を経て、じっくりア ノテーションするのが効率的と気づいた • train on 500 validation images -> 1500 test images • テストエラー5.1%を達成!犬の品種に詳しくなった! 上記のように、エラー率5.1%は天才がかなり頑張った結果 • とはいえCNNの学習時間に比べるとまだ足りないという考え方も Karpathyさんのエラー率5.1までの道のり 24
  • 25. Mobility Technologies Co., Ltd. クラス分類タスクのエラー率(top5 error)の推移 ILSVRC 25 AlexNet ZFNet SENetResNet GooLeNet Ensemble 0.051 Human http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf
  • 26. Mobility Technologies Co., Ltd. Neocognitron • 脳の視覚野に関する知見を元に考案 • 単純型細胞:特徴抽出を行う畳み込み層 • 複雑型細胞:位置ずれを吸収するプーリング層 • 自己組織化による特徴抽出 Before AlexNet 26 K. Fukushima and S. Miyake, "Neocognitron: A new algorithm for pattern recognition tolerant of deformations and shifts in position," in Pattern Recognition, 1982.
  • 27. Mobility Technologies Co., Ltd. Neocognitronの活性化関数は実はReLU Before AlexNet 27 K. Fukushima and S. Miyake, "Neocognitron: A new algorithm for pattern recognition tolerant of deformations and shifts in position," in Pattern Recognition, 1982.
  • 28. Mobility Technologies Co., Ltd. LeNet • 逆誤差伝搬法による学習 • 文字認識で成功をおさめる • 全体的なアーキテクチャは既に完成 Before AlexNet 28 Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, "Gradient-based learning applied to document recognition," in Proceedings of the IEEE, 1998.
  • 29. Mobility Technologies Co., Ltd. 巷のLeNetはLeNetではない Before AlexNet 29 出力チャネル 入力チャネル Sparseな 畳み込み! Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, "Gradient-based learning applied to document recognition," in Proceedings of the IEEE, 1998.
  • 30. Mobility Technologies Co., Ltd. 2012年のILSVRC優勝モデル • Rectified Linear Units (ReLU) • Local Response Normalization (LRN) (最近は使われない) • Overlapping pooling (3x3 max pool, stride =2) • Dropout(全結合層) • SGD + momentum, weight decay, learning rate decay AlexNet 30 A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet classification with deep convolutional neural networks," in Proc. of NIPS, 2012.
  • 31. Mobility Technologies Co., Ltd. 2012年のILSVRC優勝モデル • Rectified Linear Units (ReLU) • Local Response Normalization (LRN) (最近は使われない) • Overlapping pooling (3x3 max pool, stride =2) • Dropout(全結合層) • SGD + momentum, weight decay, learning rate decay AlexNet 31 既にほぼ現在のアーキテクチャの姿 A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet classification with deep convolutional neural networks," in Proc. of NIPS, 2012.
  • 32. Mobility Technologies Co., Ltd. 巷のAlexNetは(ry • いくつかの畳み込み層は、チャネル方向に分割され 2つのGPUでそれぞれ独立に畳み込みが行われる 「grouped convolution」となっている AlexNet 32 A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet classification with deep convolutional neural networks," in Proc. of NIPS, 2012.
  • 33. Mobility Technologies Co., Ltd. 2013年のILSVRC優勝モデル • CNNの可視化を行い、AlexNetの2つの問題を明らかにし、改良 • 1つ目の畳み込みフィルタのカーネルサイズが大きく 高周波と低周波の情報を取得するフィルタばかりになっている • Stride = 4により2層目の特徴マップにエイリアシングが発生 ZFNet 33 M. Zeiler and R. Fergus, “Visualizing and understanding convolutional networks,” in Proc. of ECCV, 2014.
  • 34. Mobility Technologies Co., Ltd. 2014年のILSVRC優勝モデル • Inceptionモジュール • Global Average Pooling (GAP) • Auxiliary loss • ネットワークを途中で分岐させ、そこで分類を行うロスを追加 →学習の効率化+正則化 GoogLeNet 34 C. Szegedy, et al., "Going deeper with convolutions", in Proc. of CVPR, 2015.
  • 35. Mobility Technologies Co., Ltd. 小さなネットワークを1つのモジュールとして定義し モジュールの積み重ねでネットワークを構成 • 3x3と複数の1x1畳み込みを1つのモジュールとする Network In Network (NIN) に起源 Sparseな畳み込みにより、 表現能力とパラメータ数のトレードオフを改善 1x1畳み込みによる次元削減 Inceptionモジュール 35 concat conv 1x1 conv 1x1 maxpool conv 1x1 conv 3x3 conv 5x5 conv 1x1 concat maxpoolconv 1x1 conv 3x3 conv 5x5 Inceptionモジュール(次元削減あり) Inceptionモジュール(naive)
  • 36. Mobility Technologies Co., Ltd. 通常の畳み込みのパラメータ数=N×M×K2 • N: 入力チャネル数、M: 出力チャネル数、K2: カーネルサイズ (例)グループ化畳み込みのパラメータ数=N×M×K2 / G • G: グループ数 Sparseな畳み込み 36 入力チャネル数 出力チャネル数 カーネルサイズ グループ数2の例 ※簡単のためbiasは無視 KxK畳み込みの パラメータ
  • 37. Mobility Technologies Co., Ltd. Sparseな畳み込みとしてのInceptionモジュール 37 concat maxpoolconv 1x1 conv 3x3 conv 5x5 Inceptionモジュール(naive) 入力チャネル数 出力チャネル数 カーネルサイズ 5x5 3x3 1x1 5x5の畳み込みを 少数パラメータで近似 ※簡単のためmax poolを無視
  • 38. Mobility Technologies Co., Ltd. Sparseな畳み込みとしてのInceptionモジュール 38 concat conv 1x1 conv 1x1 maxpool conv 1x1 conv 3x3 conv 5x5 conv 1x1 Inceptionモジュール(次元削減あり) 1x1畳み込み Inceptionモジュール ※簡単のためmax poolを無視 1x1畳み込みの次元削減で 更にパラメータを削減 naïveバージョン
  • 39. Mobility Technologies Co., Ltd. 特徴マップのサイズと同じaverage pooling • NIN*で提案された。チャネル数をクラス数に調整してからGAP • GoogLeNet以降では、GAPの後に全結合層を付ける • 全結合層を減らすことでパラメータ数を削減 Global Average Pooling (GAP) 39 W H C=クラス数 1 1HxWxCの 特徴マップ クラス数 GAP softmax * M. Lin, Q. Chen, and S. Yan, "Network in network," in Proc. of ICLR, 2014.
  • 40. Mobility Technologies Co., Ltd. Inception-v2,3 • Batch normalization • 5x5 -> 3x3 (x2) • nxn -> nx1 + 1xn Inception-v4 • 3種類のInceptionを使い分け Inception-ResNet-v1,2 • 後述のショートカット機構の導入 Inception-v? 40 = Inception-v3 C. Szegedy, V. Vanhoucke, S. Ioffe, and J. Shlens, "Rethinking the inception architecture for computer vision," in Proc. of CVPR, 2016. C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi, "Inception-v4, inception-resnet and the impact of residual connections on learning," in Proc. of AAAI, 2017.
  • 41. Mobility Technologies Co., Ltd. 2014年のILSVRCで2位となったモデル、シンプルなモデルの設計方針 • 3x3畳み込み層(+全結合層)のみを利用 • 5x5畳み込みと3x3畳み込み×2は同じreceptive fieldを持つ • 計算量は 25:18 • 同一出力チャネルの畳み込み層を重ねた後に プーリングにより特徴マップを半分にしつつチャネル数を倍増 まずは浅いネットワークを学習し、畳み込み層を追加してfine-tuningすること で深いネットワークを学習(Xavierの初期化で不要に) VGGNet 41 conv 5x5 conv 3x3 - conv 3x3 K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image recognition," in Proc. of ICLR, 2015.
  • 42. Mobility Technologies Co., Ltd. 2015年のILSVRC優勝モデル Residualモジュール(ショートカット機構)の導入→後述 Batch normalizationの導入 • ネットワーク内の共変量シフトを軽減(諸説あり) Global Average Pooling (GAP) の利用 Heの初期化の利用 • ReLUを考慮したパラメータの初期化 ショートカットを展開していくと複数の深さの違う ネットワークのアンサンブルとなっている** Residual Networks (ResNet)* 42 * K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," in Proc. of CVPR, 2016. ** A. Veit, M. Wilber, and S. Belongie, "Residual networks behave like ensembles of relatively shallow networks," in Proc. of NIPS, 2016.
  • 43. Mobility Technologies Co., Ltd. ある処理の出力 F(x) を次の層に渡すのではなく 入力xをショートカットし、 F(x) + x を次の層に渡す処理単位 Backpropagation時にショートカットを通じて 直接勾配が下層に伝わることで深いネットワークでも 効率的な学習が可能 Residualモジュール 43 some network F(x) conv 3x3, 64 conv 3x3, 64 ショートカット + + 64-dim 64-dim 抽象的なresidualモジュール 具体例
  • 44. Mobility Technologies Co., Ltd. Residualモジュールの スタック ダウンサンプルする際に チャネル数を2倍に (VGGと同じ) チャネル数が違う ショートカットは zero-padingかconv 1x1で調整 ResNetの構造 44 Resモジュール 3x3, 64 Resモジュール 3x3, 128 Resモジュール 3x3, 256 Resモジュール 3x3, 512 GAP 全結合層 conv 3x3, 64 maxpool ×3 ×4 ×6 ×3 conv 3x3, 64 conv 3x3, 64 + 64-dim 64-dim 114x114x64 224x224x3 56x56x64 28x28x128 14x14x256 7x7x 512 1000
  • 45. Mobility Technologies Co., Ltd. 1x1畳み込みで次元削減、その後3x3畳み込みを行った後、 更に1x1畳み込みで次元を復元 • 同等のパラメータ数で表現能力を改善 • 深くもなる パラメータ数も削減 ResNet Bottleneckバージョン 45 conv 3x3, 64 conv 3x3, 64 + 64-dim 64-dim conv 1x1, 256 conv 3x3, 64 + conv 1x1, 64 256-dim 256-dim 入力チャネル数 出力チャネル数 カーネルサイズ 通常 Bottleneck版
  • 46. Mobility Technologies Co., Ltd. 2017年のILSVRC優勝モデル チャネル毎の特徴マップを適応的に重み付けする SE Blockを導入 • Globalなコンテキストを取得するsqueeze step • チャネル間の依存関係を抽出するexcitation step どんなネットワークにも導入可能 • ResNet, ResNeXt, Inception, Inception-ResNet-v2等に導入し 有効性を確認 • 特にResNeXtと合体したSE-ResNeXtは大人気 Squeeze-and-Excitation Networks (SENet) 46 conv 1x1 global pooling ReLU conv 1x1 sigmoid scaling HxWxC 1x1xC 1x1xC/r 1x1xC HxWxC
  • 47. Mobility Technologies Co., Ltd. まとめ 47 Residual AlexNet VGGNet GoogLeNet ResNet Batch Normalization LeNet Neocognitron Back propagation Heの初期化 Glorotの 初期化 conv 1x1 Dropout ReLU 1990s 2012 2013 2014 2015 NIN Global Average Pooling
  • 48. Mobility Technologies Co., Ltd. まとめ 48 AlexNet VGGNet GoogLeNet ResNet Batch Normalization LeNet Neocognitron Back propagation Heの初期化 Glorotの 初期化 conv 1x1 Dropout ReLU 1990s 2012 2013 2014 2015 NIN Global Average Pooling Residual
  • 49. Mobility Technologies Co., Ltd. 49 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 50. Mobility Technologies Co., Ltd. Residualモジュールをゴニョゴニョする WideResNet* • 深くするより、幅(チャネル数)を大きくして(相対的に) 浅いネットワークのほうが精度・学習速度が優秀 PyramidNet** • サウンサンプルするタイミングでチャネル数を 2倍にするのではなく、全てのresidualモジュールで 徐々にチャネル数を増加させる • チャネル数を2倍にするresidualモジュールに ネットワークが過度に依存してしまうのを防ぐ Residualモジュールの改良 50 * S. Zagoruyko and N. Komodakis, "Wide residual networks," in Proc. of BMVC, 2016. ** D. Han, J. Kim, and J. Kim, "Deep pyramidal residual networks," in Proc. of CVPR, 2017.
  • 51. Mobility Technologies Co., Ltd. 初代ResNet* • conv - bn - relu - conv - bn - add - relu pre-act ResNet**(addの後にReLUをしない) • bn - relu - conv - bn - relu - conv - add PyramidNet***(ReLUを減らす、BN追加) • bn - conv - bn - relu - conv - bn - add WideResNet****(dropoutがタスクによって効果がある) • bn - relu - conv - bn - relu - dropout - conv – add Residualモジュールのベストプラクティス 51 * K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," in Proc. of CVPR, 2016. ** K. He, X. Zhang, S. Ren, and J. Sun, "Identity mappings in deep residual networks," in Proc. of ECCV, 2016. *** D. Han, J. Kim, and J. Kim, "Deep pyramidal residual networks," in Proc. of CVPR, 2017. **** S. Zagoruyko and N. Komodakis, "Wide residual networks," in Proc. of BMVC, 2016.
  • 52. Mobility Technologies Co., Ltd. conv 1x1, 4 conv 3x3, 4 conv 1x1, 256 conv 1x1, 4 conv 3x3, 4 conv 1x1, 256 conv 1x1, 4 conv 3x3, 4 conv 1x1, 256 ... + 256-dim 256-dim conv 1x1, 128 conv 3x3, 128, g=32 conv 1x1, 256 256-dim 256-dim + (a) (b) Ti(x) grouped convolution ILSVRC’16で2位のモデル ResNetの処理ブロックを”Network-in-Neuron” に置き換えたもの (a)と(b)は等価表現 ResNeXt 52 S. Xie, R. Girshick, P. Dollar, Z. Tu, and K. He, "Aggregated residual transformations for deep neural networks," in Proc. of CVPR, 2017.
  • 53. Mobility Technologies Co., Ltd. ResNeXtとresidualモジュール(bottleneckバージョン)の関係 ResNeXtのモジュールは、bottleneckバージョンの residualモジュールとみなすことができる • Grouped convによりパラメータ数と表現能力のトレードオフを改善 (group convが軽いためあまり次元削減しなくても良い) ResNeXt 53 conv 1x1, 128 conv 3x3, 128, g=32 conv 1x1, 256 256-dim 256-dim + 次元削減 次元復元 3x3畳み込み(grouped)
  • 54. Mobility Technologies Co., Ltd. Separable convを多用したモデル Xception(高速化パートで解説) 54 F. Chollet, "Xception: Deep learning with depthwise separable convolutions," in Proc. of CVPR, 2017.
  • 55. Mobility Technologies Co., Ltd. 特徴マップを高解像度と低解像度に別々に保持 それぞれの解像度の特徴マップを行き来させることで 効率的な特徴周出を実現 通常の畳み込みを置き換えるだけで精度向上 Octave Convolution 55 Y. Chen, H. Fan, B. Xu, Z.Yan,Y. Kalantidis, M. Rohrbach, S.Yan, and J. Feng, "Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution," in arXiv:1904.05049, 2019.
  • 56. Mobility Technologies Co., Ltd. 複数のResidualモジュールを1つのモジュールとみなし その間にショートカットを作成する Residual Networks of Residual Networks (RoR) 56 K. Zhang, M. Sun, T. X. Han, X. Yuan, L. Guo, and T. Liu, "Residual networks of residual networks: Multilevel residual networks," in TCSVT, 2017.
  • 57. Mobility Technologies Co., Ltd. 再帰的に定義されるネットワーク • パスをdropするdropout的な学習 浅い列のパスがResNetのショートカットのような効果 FractalNet 57 G. Larsson, M. Maire, and G. Shakhnarovich, "Fractalnet: Ultra-deep neural networks without residuals," in Proc. of ICLR, 2017.
  • 58. Mobility Technologies Co., Ltd. Dense blockをtransition layerでつないだ構造 DenseNet (CVPR’17 best paper) 58 conv Dense block Dense block Dense block fc Input image Result G. Huang, Z. Liu, K. Q. Weinberger, and L. Maaten, “Densely connected convolutional networks", in Proc. of CVPR, 2017. Dense block Transitionレイヤ
  • 59. Mobility Technologies Co., Ltd. 同一ブロック内の自分より前の層全ての出力を 各層への入力とする処理ブロック • 入力k0、総数l、各層の出力k とすると出力はk0+l×k Dense Block 59 入力: k0, 出力: k 入力: k0+k, 出力: k 入力: k0+2k, 出力: k 入力: k0+3k, 出力: k bn - relu – conv 3x3入力: k0 出力: k0+4k G. Huang, Z. Liu, K. Q. Weinberger, and L. Maaten, “Densely connected convolutional networks", in Proc. of CVPR, 2017.
  • 60. Mobility Technologies Co., Ltd. k0 >> k なので通常の畳み込みよりも計算量が少ないが conv 1x1で次元削減を行うことで更に計算量を削減 Dense Block(Bottleneckバージョン) 60 入力: k0, 中間出力: 4k, 出力: k 入力: k0+k, 中間出力: 4k, 出力: k 入力: k0+2k, 中間出力: 4k, 出力: k 入力: k0+3k, 中間出力: 4k, 出力: k bn - relu - conv 1x1 bn - relu - conv 3x3 入力: k0 出力: k0+4k G. Huang, Z. Liu, K. Q. Weinberger, and L. Maaten, “Densely connected convolutional networks", in Proc. of CVPR, 2017.
  • 61. Mobility Technologies Co., Ltd. Transitionレイヤの基本的な役割はダウンダンプリング • conv 1x1の入出力チャネル数は k0+l×k Compressionバージョンのtransitionレイヤ • conv 1x1の出力チャネル数を θ(k0+l×k) とす • θ≦1、論文では0.5 前述のbottleneck構造と圧縮するtransitionレイヤを 利用する場合が精度とパラメータ数のトレードオフで優秀 (DenseNet-BC) Transition Layer 61 conv Dense block Dense block Dense block fc Input image Result Transitionレイヤ bn – conv 1x1 – avepool 2x2
  • 62. Mobility Technologies Co., Ltd. 62 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 63. Mobility Technologies Co., Ltd. これまでのモデルはhand crafted(←特徴を自動抽出とは…) これに対し、NASはNNのモデル(アーキテクチャ)を自動設計する手法 構成要素が、探索空間・探索手法・精度評価手法で大まかに分類される 探索空間 • Global(制約なく全体を設計する), cell-based(大まかな構成は決まって おりそれを構成する小さなパーツのみを設計) 探索手法 • 強化学習、進化的アルゴリズム、gradientベース、random 精度測定手法 • 全学習、部分学習、weight-share、枝刈り探索 (出来上がったものの評価をどれだけサボれるか) Neural Architecture Search (NAS) 63 T. Elsken, J. Metzen, and F. Hutter, "Neural Architecture Search: A Survey," in JMLR, 2019. M. Wistuba, A. Rawat, and T. Pedapati, "A Survey on Neural Architecture Search," in arXiv:1905.01392, 2019. https://github.com/D-X-Y/awesome-NAS
  • 64. Mobility Technologies Co., Ltd. 探索空間:global、探索手法:REINFORCE RNNのcontrollerがネットワーク構造を生成 • 畳み込み層のパラメータと、skip connectionの有無を出力 生成されたネットワークを学習し、その精度を報酬にする NAS with Reinforcement Learning 64 Zoph and Q. V. Le, "Neural architecture search with reinforcement learning," in Proc. of ICLR, 2017.
  • 65. Mobility Technologies Co., Ltd. 800GPUs for 28 daysの成果 配線芸! NAS with Reinforcement Learning 65 Zoph and Q. V. Le, "Neural architecture search with reinforcement learning," in Proc. of ICLR, 2017.
  • 66. Mobility Technologies Co., Ltd. 探索空間:cell、 探索手法:強化学習 (Proximal Policy Optimization) Globalな設計にドメイン知識を活用、 構成するcellのみを自動設計 →探索空間を大幅に削減 • Normal cell x Nとreduction cellのスタック • Reduction cellは最初にstride付きのOPで 特徴マップをダウンサンプル • Reduction cell以降でチャネルを倍に • Inception的思想 NASNet 66 B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image recognition," in Proc. of CVPR, 2018.
  • 67. Mobility Technologies Co., Ltd. 1. Hidden state※1 1, 2(配線元)を選択 2. それらへのOPsを選択※2 3. それらを結合するOP (add or concat) を選択し新たなhidden stateとする ※1 Hidden state: 緑のブロックとhi, hi-I ※2 Hidden stateへのOP候補 NASNetのコントローラの動作 67 B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image recognition," in Proc. of CVPR, 2018.
  • 68. Mobility Technologies Co., Ltd. 1. Hidden state※1 1, 2 (配線元)を選択 2. それらへのOPsを選択※2 3. それらを結合するOP (add or concat) を選択し新たなhidden stateとする ※1 Hidden state: 緑のブロックとhi, hi-I ※2 Hidden stateへのOP候補 NASNetのコントローラの動作 68 B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image recognition," in Proc. of CVPR, 2018.
  • 69. Mobility Technologies Co., Ltd. 1. Hidden state※1 1, 2 (配線元)を選択 2. それらへのOPsを選択※2 3. それらを結合するOP (add or concat) を選択し新たなhidden stateとする ※1 Hidden state: 緑のブロックとhi, hi-I ※2 Hidden stateへのOP候補 NASNetのコントローラの動作 69 B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image recognition," in Proc. of CVPR, 2018. sep 3x3 avg 3x3
  • 70. Mobility Technologies Co., Ltd. 1. Hidden state※1 1, 2 (配線元)を選択 2. それらへのOPsを選択※2 3. それらを結合するOP (add or concat) を選択し新たなhidden stateとする ※1 Hidden state: 緑のブロックとhi, hi-I ※2 Hidden stateへのOP候補 NASNetのコントローラの動作 70 B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image recognition," in Proc. of CVPR, 2018. concat sep 3x3 avg 3x3
  • 71. Mobility Technologies Co., Ltd. 500 GPUs for 4 daysの成果 NASNet-A 71 B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le, "Learning transferable architectures for scalable image recognition," in Proc. of CVPR, 2018.
  • 72. Mobility Technologies Co., Ltd. 探索空間:cell、探索手法:強化学習 (REINFORCE) Cellの構造を出力するRNNコントローラと、 コントローラーが出力する全てのネットワークをサブグラフとして保持できる 巨大な計算グラフ(ネットワーク)を同時に学習 →生成したネットワークの学習が不要に(1GPU for 0.45 days!) • 全結合グラフからサブグラフをサンプリングしてくるイメージ Single shot, weight share 詳細は資料**を参照 ENAS* 72 * H. Pham, M. Y. Guan, B. Zoph, Q. V. Le, and Jeff Dean, "Efficient Neural Architecture Search via Parameter Sharing," in Proc. of ICML, 2018. ** https://www.slideshare.net/tkatojp/efficient-neural-architecture-search-via-parameters- sharing-icml2018
  • 73. Mobility Technologies Co., Ltd. コントローラーのパラメータθと 巨大なネットワークのパラメータwを交互に学習 wの学習 • θを固定し、サブグラフをサンプリング • サブグラフをforward-backwardしwを更新 θの学習 • wを固定し、サブグラフをサンプリング • validationデータで精度を測定し報酬を取得、REINFORCEでθを更新 ENASの学習 73
  • 74. Mobility Technologies Co., Ltd. 探索空間:cell、探索手法:gradient グラフの接続やOPの選択をsoftmaxで実現することで、 構造探索もforward-backwardで実現 ENASと同じくshared param、wと構造を交互に最適化 DARTS 74 H. Liu, K. Simonyan, and Y. Yang, "DARTS: Differentiable Architecture Search," in Proc. of ICLR, 2019.
  • 75. Mobility Technologies Co., Ltd. DARTSと同じくgradient-based 各OPの実デバイス上での処理時間をlookup tableに保持 処理時間を考慮したロスをかける ブロック毎に違う構造 後半の高速化のための1手段 FBNet 75 B. Wu, et al., "FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search", in Proc. of CVPR, 2019. クロスエントロピー 処理時間
  • 76. Mobility Technologies Co., Ltd. H. Cai, L. Zhu, and S. Han, "ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware," in Proc. of ICLR, 2019. M. Tan, B. Chen, R. Pang, V. Vasudevan, M. Sandler, A. Howard, and Q. V. Le, "MnasNet: Platform-Aware Neural Architecture Search for Mobile," in Proc. of CVPR, 2019. X. Dai, et al., "ChamNet: Towards Efficient Network Design through Platform-Aware Model Adaptation," in Proc. of CVPR, 2019. D. Stamoulis, et al., "Single-Path NAS: Device-Aware Efficient ConvNet Design," in Proc. of ICMLW, 2019. 他にも 76
  • 77. Mobility Technologies Co., Ltd. Weight share + random search (ASHA) が良い* Asynchronous Successive Halving (ASHA):複数のモデルを平行に学習を進 めながら有望なものだけを残して枝刈り • Optunaで使えるよ!** 探索空間を、ランダムなDAG生成アルゴリズムが生成するグラフ にすると想像以上に良い*** Random Search系 77 * L. Li and A. Talwalkar, "Random search and reproducibility for neural architecture search," in arXiv:1902.07638, 2019. ** https://www.slideshare.net/shotarosano5/automl-in-neurips-2018 *** S. Xie, A. Kirillov, R. Girshick, and K. He, "Exploring Randomly Wired Neural Networks for Image Recognition," in arXiv:1904.01569, 2019.
  • 78. Mobility Technologies Co., Ltd. クラス分類モデルはILSVRCとともに進化してきた ResNetで1つの完成形 • この資料ももはや古典 NASが庶民の手に • Single shot, weight share • FLOPsではなく実速度を最適化(mobile device-aware) ベースモジュール (cell) は人手だったり(後述のMNasNetとか) • むしろ昔はcellのほうが自動設計(高速化観点だと配線多いのがNG) • あまり探索された感がない(greedyなgrid search感) 小まとめ 78
  • 79. Mobility Technologies Co., Ltd. 79 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 80. Mobility Technologies Co., Ltd. 実用上、精度を維持しつつモデルの計算量を削減することが重要 • リアルタイム性 • 計算コスト 主に下記の条件を満たす手法を紹介 • 特定のハードウェアに依存せずに実現可能 • 畳み込みニューラルネットワーク (CNN) が対象 • 推論時の高速化 モデルの高速化 80
  • 81. Mobility Technologies Co., Ltd. モデルパラメータ数の削減 FLOPs (Floating-point Operations) の削減 モデルファイルサイズの削減 推論時間の削減 訓練時間の削減 微妙に違う 高速化? 81
  • 82. Mobility Technologies Co., Ltd. Convの部分がFLOPsで見える部分 FLOPs ≠ 処理速度 82 N. Ma, X. Zhang, H. Zheng, and J. Sun, "ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design," in Proc. of ECCV, 2018.
  • 83. Mobility Technologies Co., Ltd. 畳み込みとプーリング演算により徐々に高度な特徴を抽出、全結合 層で画像全体の特徴から識別(クラス分類) 必要な計算量のほとんどは畳み込み層の演算 →いかに畳み込み層の演算を削減するかが重要 畳み込みニューラルネットワーク 83 畳み込み プーリング 畳み込み プーリング 畳み込み プーリング 全結合 1000 1000クラス の分類 入力画像
  • 84. Mobility Technologies Co., Ltd. まずは軽量なモデルを使ってみる 性能より速度が欲しい場合は画像サイズやチャネル数を単純に削減 更にシビアな性能を求められる場合は真面目に高速化する モデルの高速化 84
  • 85. Mobility Technologies Co., Ltd. 85 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 86. Mobility Technologies Co., Ltd.  入力レイヤサイズ:H x W x N  畳み込みカーネル:K x K x N x M convKxK, M と表記 (e.g. conv 3x3, 64)  出力レイヤサイズ:H x W x M  畳み込みの計算量:H・W・N・K2・M(バイアス項を無視) 畳み込み層の計算量 86 W H N M K K W H 入力特徴マップ 畳み込み カーネル N 出力特徴マップ * 和要素積 × M convK×K, M 畳み込み層の計算量は • 画像/特徴マップのサイズ(HW) • 入出力チャネル数(NM) • カーネルサイズ(K2) に比例
  • 87. Mobility Technologies Co., Ltd. 畳み込みと空間方向やチャネル方向に分割する =局所的には全結合となっている畳み込みを疎結合にする 軽量モデルの方針 87
  • 88. Mobility Technologies Co., Ltd. 大きな畳み込みカーネルを小さな畳み込みカーネルに分解 例えば5x5の畳み込みを3x3の畳み込み2つに分解 これらは同じサイズの受容野を持つが分解すると計算量は25:18 Inception-v2*では最初の7x7畳み込みを3x3畳み込み3つに分解 • 以降のSENetやShuffleNetV2等の実装でも利用されている** 空間方向の分解 88 特徴マップ conv5x5 conv3x3 - conv3x3 * C. Szegedy, et al., "Rethinking the Inception Architecture for Computer Vision," in Proc. of CVPR, 2016. ** T. He, et al., "Bag of Tricks for Image Classification with Convolutional Neural Networks," in Proc. of CVPR, 2019.
  • 89. Mobility Technologies Co., Ltd. nxnを1xnとnx1に分解することも 空間方向の分解 89 C. Szegedy, et al., "Rethinking the Inception Architecture for Computer Vision," in Proc. of CVPR, 2016.
  • 90. Mobility Technologies Co., Ltd. 戦略 • 3x3の一部をサボって1x1のフィルタを利用する • 3x3への入力となるチャネル数を少なくする(1x1で次元圧縮) MobileNetが流行る前は大人気だった SqueezeNet 90 conv 1x1, s1x1 conv 1x1, e1x1 conv 3x3, e3x3 concat Fire module 32 128128 256 256 Squeeze layer Expand layer F. N. Iandola, S. Han, M. W. Moskewicz, K. Ashraf, W. J. Dally, and K. Keutzer, "SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size," in arXiv:1602.07360, 2016.
  • 91. Mobility Technologies Co., Ltd. 空間方向とチャネル方向の畳み込みを独立に行う Depthwise畳み込み(空間方向) • 特徴マップに対しチャネル毎に畳み込み • 計算量:H・W・N・K2・M (M=N) H・W・K2・N Pointwise畳み込み(チャネル方向) • 1x1の畳み込み • 計算量:H・W・N・K2・M (K=1) H・W・N・M Depthwise + pointwise (separable) • 計算量:H・W・N・(K2 + M) ≒ H・W・N・M (※M >> K2) H・W・N・K2・M から大幅に計算量を削減 空間方向とチャネル方向の分解 (separable conv) 91 W H W H N 1 1 M W H W H N K K N W H W H N M K K通常 depthwise pointwise
  • 92. Mobility Technologies Co., Ltd. イメージ 空間方向とチャネル方向の分離 92 conv 3x3 conv 1x1 depthwise conv spatial channel in out
  • 93. Mobility Technologies Co., Ltd. 通常の畳み込み Separable畳み込み Separable畳み込みのパラメータ数 93 入力チャネル数 出力チャネル数 カーネルサイズ Depthwise畳み込み Pointwise畳み込み
  • 94. Mobility Technologies Co., Ltd. Separable convを多用したモデル Xception 94 F. Chollet, "Xception: Deep learning with depthwise separable convolutions," in Proc. of CVPR, 2017. 論文の小ネタが面白い https://qiita.com/yu4u/items/34cd33b944d8bdca142d#%E4%BD%99%E8%AB%87
  • 95. Mobility Technologies Co., Ltd. depthwise/pointwise convを多用 改良版のMobileNetV2**/V3***も存在 MobileNetV* 95 通常の畳み込み MobileNetの1要素 *A. Howard, et al., "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications," in arXiv:1704.04861, 2017. ** M. Sandler, et al., "MobileNetV2: Inverted Residuals and Linear Bottlenecks," in Proc. of CVPR, 2018. *** A. Howard, et al., "Searching for MobileNetV3," in arXiv:1905.02244, 2019.
  • 96. Mobility Technologies Co., Ltd. V1は conv1x1 のほうが重い! → depthwiseのチャンネル数を(相対的に)増やす skipコネクションの導入 MobileNetV2 96
  • 97. Mobility Technologies Co., Ltd. V1 V2 MobileNetV2 97 depthwise conv conv 1x1 depthwise conv conv 1x1 conv 1x1 spatial channel V1は conv1x1のほうが重い! → depthwiseのチャンネル数を(相対的に)増やす
  • 98. Mobility Technologies Co., Ltd. NASの一種 前述のMobile inverted bottleneck にSEモジュールを追加 (MBConv) MBCnovのパラメータを探索 MBConv3 (k5x5) →ボトルネックでチャネル数を3倍 depthwiseのカーネルが5x5 MNasNet 98 M. Tan, B. Chen, R. Pang, V. Vasudevan, M. Sandler, A. Howard, and Q. V. Le, "MnasNet: Platform-Aware Neural Architecture Search for Mobile," in Proc. of CVPR, 2019.
  • 99. Mobility Technologies Co., Ltd. MnasNetをベースに最適化 SEモジュールチャネル数を増加 (h-)swishの利用、実装の最適化 NetAdaptによるPruning(後述) Compactation↓ MobileNetV3 99 swishが入ったMBConvは Kaggleで大活躍のEfficientNetでも 基本モジュールとして採用
  • 100. Mobility Technologies Co., Ltd. 精度vs.計算量で目的にあったモデルを作りたいがそれぞれ最適化するのは大変 一般的にレイヤ数 (depth)、チャネル数 (width)、画像解像度 (resolution) が 大きくなると精度が良くなるが、分配によって精度が変わる あるネットワークが与えられ、それをベースにより大きなネットワークを構成 しようとした際のdepth, width, resolutionの増加の最適割り当てを求める EfficientNet-B0 (ほぼMnasNet) で割り当てを求め、 以降は同じように 指数的に増加させる (高速モデルではないが 流れで紹介) EfficientNet 100 M. Tan and Q. V. Le, "EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks," in Proc. of ICML, 2019. 畳み込み層の計算量は • 画像/特徴マップのサイズ(HW) • 入出力チャネル数(NM) • カーネルサイズ(K2) に比例
  • 101. Mobility Technologies Co., Ltd. MobileNetのボトルネックとなっているconv1x1を group conv1x1 + channel shuffleに置換 group conv: 入力の特徴マップをG個にグループ化し 各グループ内で個別に畳み込みを行う (計算量 H・W・N・K2・M → H・W・N・K2・M / G) channel shuffle: チャネルの順序を入れ替える reshape + transposeの操作で実現 ShuffleNet 101 c shuffle depthwise conv gconv 1x1 spatial channel gconv 1x1 X. Zhang, et al., "ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices," in arXiv:1707.01083, 2017.
  • 102. Mobility Technologies Co., Ltd. FLOPsではなく対象プラットフォームでの実速度を見るべき 効率的なネットワーク設計のための4つのガイドラインを提言 1. メモリアクセス最小化のためconv1x1は入力と出力を同じにすべし 2. 行き過ぎたgroup convはメモリアクセスコストを増加させる 3. モジュールを細分化しすぎると並列度を低下させる 4. 要素毎の演算(ReLUとかaddとか)コストは無視できない これらの妥当性がtoyネットワークを通して実験的に示されている ShuffleNet V2 102 N. Ma, X. Zhang, H. Zheng, and J. Sun, "ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design," in Proc. of ECCV, 2018.
  • 103. Mobility Technologies Co., Ltd. その上で新たなアーキテクチャを提案 ShuffleNet V2 103 N. Ma, X. Zhang, H. Zheng, and J. Sun, "ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design," in Proc. of ECCV, 2018.
  • 104. Mobility Technologies Co., Ltd. チャネル方向に1次元の畳み込みを行う ChannelNet 104 H. Gao, Z. Wang, and S. Ji, "ChannelNets: Compact and Efficient Convolutional Neural Networks via Channel-Wise Convolutions", in Proc. of NIPS, 2018.
  • 105. Mobility Technologies Co., Ltd. チャネルをグループ化し、各グループごとに空間的にシフトするshift演算 (0 FLOPs) とconv1x1でモジュールを構成 ShiftNet 105 B. Wu, et al., "Shift: A Zero FLOP, Zero Parameter," in arXiv:1711.08141, 2017.
  • 106. Mobility Technologies Co., Ltd. 他にも… 106 G. Huang, S. Liu, L. Maaten, and K. Weinberger, "CondenseNet: An Efficient DenseNet using Learned Group Convolutions," in Proc. of CVPR, 2018. T. Zhang, G. Qi, B. Xiao, and J. Wang. Interleaved group convolutions for deep neural networks," in Proc. of ICCV, 2017. G. Xie, J. Wang, T. Zhang, J. Lai, R. Hong, and G. Qi, "IGCV2: Interleaved Structured Sparse Convolutional Neural Networks, in Proc. of CVPR, 2018. K. Sun, M. Li, D. Liu, and J. Wang, "IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks," in BMVC, 2018. J. Zhang, "Seesaw-Net: Convolution Neural Network With Uneven Group Convolution," in arXiv:1905.03672, 2019.
  • 107. Mobility Technologies Co., Ltd. チートシート的なもの 107 https://medium.com/@yu4u/why-mobilenet-and-its-variants-e-g-shufflenet-are-fast-1c7048b9618d
  • 108. Mobility Technologies Co., Ltd. 108 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 109. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 109
  • 110. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 110
  • 111. Mobility Technologies Co., Ltd. 畳み込み層や全結合層の重みの一部を0にすることで パラメータ数・計算量を削減 1. ネットワークを学習 2. 枝刈り(精度低下) 3. ネットワークを再学習(精度をある程度回復) というフローが一般的 枝刈り (Pruning) 111
  • 112. Mobility Technologies Co., Ltd. Pruning前の畳み込みフィルタ Unstructured pruning Structured pruning(フィルタ(チャネル)pruningが一般的) Unstructured vs. Structured Pruning 112 K K … … … M(出力チャネル)個 計算量vs.精度のtrade-offは優れているが 専用のハードウェアでないと高速化できない 単にチャネル数が減少したネットワークに 再構築が可能で高速化の恩恵を受けやすい
  • 113. Mobility Technologies Co., Ltd. 損失関数のヘッシアン(対角近似)から重みの重要度を算出 重要度の低い重みをpruning LeNetの60%のパラメータを削除しても精度を維持 Optimal Brain Damage (OBD) 113
  • 114. Mobility Technologies Co., Ltd. 損失関数のヘッシアン(対角近似)から重みの重要度を算出 重要度の低い重みをpruning LeNetの60%のパラメータを削除しても精度を維持 Optimal Brain Damage (OBD) 114 Y. LeCun, J. Denker, and S. Solla, "Optimal Brain Damage," in Proc. of NIPS, 1990.
  • 115. Mobility Technologies Co., Ltd. 損失関数のヘッシアン(対角近似)から重みの重要度を算出 重要度の低い重みをpruning LeNetの60%のパラメータを削除しても精度を維持 Optimal Brain Damage (OBD) 115 Y. LeCun, J. Denker, and S. Solla, "Optimal Brain Damage," in Proc. of NIPS, 1990. Retrainして精度を回復させている
  • 116. Mobility Technologies Co., Ltd. Unstructuredなpruning L2正則化を加えて学習し、絶対値が小さいweightを0に 実際に高速に動かすには専用ハードが必要 Deep Compression 116 S. Han, et al., "Learning both Weights and Connections for Efficient Neural Networks," in Proc. of NIPS, 2015. S. Han, et al., "Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding," in Proc. of ICLR, 2016. S. Han, et al., "EIE: Efficient Inference Engine on Compressed Deep Neural Network," in Proc. of ISCA, 2016.
  • 117. Mobility Technologies Co., Ltd. Structured pruning(チャネルレベルのpruning) 各レイヤについて、フィルタの重みの絶対値の総和が 小さいものからpruning 各レイヤのpruning率はpruningへのsensitivityから 人手で調整 Pruning後にfinetune Pruning Filters for Efficient ConvNets 117 H. Li, et al., "Pruning Filters for Efficient ConvNets," in Proc. of ICLR, 2017.
  • 118. Mobility Technologies Co., Ltd. Batch normのパラメータγにL1ロスをかけて学習 学習後、γが小さいチャネルを削除し、fine-tune Network Slimming 118 チャネル毎に入力を平均0分散1に正規化、γとβでscale & shift チャネルi Batch normalization Z. Liu, et al., "Learning Efficient Convolutional Networks through Network Slimming," in Proc. of ICCV, 2017.
  • 119. Mobility Technologies Co., Ltd. L0ではなくLasso に緩和して解く あるfeature mapのチャネル削除した場合に 次のfeature mapの誤差が最小となるようチャネルを選択 Channel Pruning 119 Y. He, et al., "Channel Pruning for Accelerating Very Deep Neural Networks," in Proc. of ICCV, 2017.
  • 120. Mobility Technologies Co., Ltd. 前述の手法と同じように、次のfeature mapの誤差が 最小となるレイヤをgreedy削除 削除後に、畳み込みの重みを誤差が最小になるように 調整→finetune ThiNet 120 J. Luo, et al., "ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression," in Proc. of ICCV, 2017.
  • 121. Mobility Technologies Co., Ltd. これまでの手法は「X%削る」としたときどこを削るかという手法 どのレイヤを「X%」削るかを最適化したい → 強化学習(off-policy actor-critic)により 各レイヤ毎の最適なpruning率を学習 入力は対象レイヤの情報とそれまでのpruning結果、 報酬は –エラー率×log(FLOPs) or log(#Params) AutoML for Model Compression and Acceleration (AMC) 121 Y. He, et al., "AMC - AutoML for Model Compression and Acceleration on Mobile Devices," in Proc. of ECCV, 2018.
  • 122. Mobility Technologies Co., Ltd. ステップ毎にリソース制約(e.g. 計算量削減目標)を満たす 前提で、最適なlayerをgreedyにpruning LUTを利用して効率的にリソースを推定 ステップ毎に少しだけfinetune 最終的目的のリソースまで 削減できたら長めに finetuneして終了 NetAdapt 122 T. Yang, A. Howard, B. Chen, X. Zhang, A. Go, M. Sandler, V. Sze, and H. Adam, "NetAdapt: Platform-Aware Neural Network Adaptation for Mobile Applications," in Proc. of ECCV, 2018.
  • 123. Mobility Technologies Co., Ltd. NNには、「部分ネットワーク構造」と「初期値」の 組み合わせに「当たり」が存在し、それを引き当てると 効率的に学習が可能という仮説 Unstructuredなpruningでその構造と初期値を見つけることができた 凄いrepo https://github.com/facebookresearch/open_lth Lottery Ticket Hypothesis (ICLR’19 Best Paper) 123 https://www.slideshare.net/YosukeShinya/the-lottery-ticket-hypothesis-finding-small-trainable-neural-networks Jonathan Frankle, Michael Carbin, "The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks," in Proc. of ICLR, 2019.
  • 124. Mobility Technologies Co., Ltd. Structuredなpruning後のネットワークをscratchから学習させても finetuneと同等かそれより良い結果が得られるという主張 つまりpruningは、重要な重みを探索しているのではなく 各レイヤにどの程度のチャネル数を割り当てるかという Neural Architecture Search (NAS) をしているとみなせる Lottery Ticket Hypothesisではunstructuredで、低LRのみ、 実験も小規模ネットワークのみ Network Pruning as Architecture Search 124 Z. Liu, et al., "Rethinking the Value of Network Pruning," in Proc. of ICLR, 2019.
  • 125. Mobility Technologies Co., Ltd. 1モデルだが複数の計算量(精度)で動かせるモデルを学習 • Incremental trainingだと精度が出ない • 同時学習だとBNの統計量が違うため学習できない → 切替可能なモデルごとにBN層だけを個別に持つ! もっと連続的に変化できるモデル**や、そこからgreedyにpruningする(精度 低下が最も小さいレイヤを削っていく)拡張***も Slimmable Neural Networks* 125 * J. Yu, L. Yang, N. Xu, J. Yang, and T. Huang, "Slimmable Neural Networks," in Proc. of ICLR, 2019. ** J. Yu and T. Huang, "Universally Slimmable Networks and Improved Training Techniques," in arXiv:1903.05134, 2019. *** J. Yu and T. Huang, "Network Slimming by Slimmable Networks: Towards One-Shot Architecture Search for Channel Numbers," in arXiv:1903.11728, 2019.
  • 126. Mobility Technologies Co., Ltd. Pruning後のネットワークの重みを 出力するPruningNetを学習 Blockへの入力はNetwork encoding vector 前および対象レイヤのランダムなpruning率 • 全部入れたほうが良さそうな気がするが 著者に聞いたところ効果なし End-to-endで学習できる! 学習が終わると精度vs.速度のトレードオフの 優れたモデルを探索(手法は何でも良い)ここではGA MetaPruning 126 Z. Liu, H. Mu, X. Zhang, Z. Guo, X. Yang, T. Cheng, and J. Sun, "MetaPruning: Meta Learning for Automatic Neural Network Channel Pruning," in Proc. of ICCV’19.
  • 127. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 127
  • 128. Mobility Technologies Co., Ltd. 入力に応じてネットワークの途中で結果を出力し、 それ以降の処理を行わない(早期終了) 入力に応じてネットワークの構造を動的に変える (動的計算グラフ; dynamic computation graph) 「平均処理時間」を削減する 早期終了 (Early termination) 128
  • 129. Mobility Technologies Co., Ltd. ネットワークの途中に結果の出力層を追加 学習時にはすべての出力層に適当なweightをかけて学習 そのsoftmaxのエントロピーが閾値以下の場合にExit BranchyNet 129 S. Teerapittayanon, et al., "BranchyNet: Fast Inference via Early Exiting from Deep Neural Networks," in Proc. of ICPR, 2016.
  • 130. Mobility Technologies Co., Ltd. ACT: 各ResBlockがhalting scoreを出力、合計が1を超えると 以降の処理をスキップ(空間領域でも行うとSACT) Spatially Adaptive Computation Time (SACT) 130 計算量に関する勾配を追加 M. Figurnov, et al., "Spatially Adaptive Computation Time for Residual Networks," in Proc. of CVPR, 2017.
  • 131. Mobility Technologies Co., Ltd. 各レイヤ毎に、直前までの特徴マップを入力とするRNNが 利用する畳み込みフィルタ集合を決定 Keepした畳み込みフィルタ数と元タスクの損失関数(最終層の場合)を負の報 酬としてQ学習でRNNを学習 Runtime Neural Pruning 131 J. Lin, et al., "Runtime Neural Pruning," in Proc. of NIPS, 2017.
  • 132. Mobility Technologies Co., Ltd. Policy networkに画像を入力、どのBlockをスキップするかを出力 KeepとなったResBlockのみをforward 認識が失敗した場合は負の報酬を、成功した場合にはスキップ率に応じた正の 報酬を与えることでpolicy networkを学習 BlockDrop 132 Z. Wu, et al., "BlockDrop: Dynamic Inference Paths in Residual Networks," in Proc. of CVPR, 2018.
  • 133. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 133
  • 134. Mobility Technologies Co., Ltd. 大きなモデルや、複数のネットワークのアンサンブルを 「教師モデル」とし、小さな「生徒モデル」を学習 教師の出力や中間特徴を生徒が模擬するようなロスをかける 蒸留 (Distillation) 134 1. アンサンブルモデルや 大きなモデルを学習 2. 学習済みモデルを利用して 小さなモデルを学習
  • 135. Mobility Technologies Co., Ltd. Distilling the Knowledge in a Neural Network 135 …… 学習画像 学習済みモデル 学習するモデル … 正解ラベル (ハード ターゲッ ト) 通常T = 1のsoftmaxのTを大きくした ソフトターゲットを利用 … ソフトターゲット ソフト ターゲット ハード ターゲット 正解ラベルと 学習モデル出力の 両方を利用 G. Hinton, et al., "Distilling the Knowledge in a Neural Network," in Proc. of NIPS Workshop, 2014.
  • 136. Mobility Technologies Co., Ltd. 教師よりもdeepかつthinな生徒を学習する 生徒のguided layerが、教師のhit layerの出力を 正確に模擬する (regression) ロスを追加 FitNet 136 A. Romero, et al., "FitNets: Hints for Thin Deep Nets," in Proc. of ICLR, 2015.
  • 137. Mobility Technologies Co., Ltd. さいきんの(雑) 137 B. Heo, et al., "A Comprehensive Overhaul of Feature Distillation," in Proc. of ICCV, 2019.
  • 138. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 138
  • 139. Mobility Technologies Co., Ltd. ネットワークのパラメータ等を量子化することで モデルサイズを削減、学習や推論を高速化(e.g. 32/16 bit -> 8 bit) • 量子化対象 • 重み、アクティベーション(特徴マップ)、勾配、エラー • 量子化手法 • 線形、log、非線形 / スカラ、ベクトル、直積量子化 • 量子化ビット • 1bit(バイナリ)、3値 (-1, 0, 1)、8bit、16bit、任意bit 専用ハードがないと恩恵を受けられない事が多い • 半精度*は汎用ハード&フレームワークでもサポート 量子化 139 * https://github.com/NVIDIA/apex
  • 140. Mobility Technologies Co., Ltd. weights (W), activations (A), gradients (G), errors (E) の全てを量子化 WAGE 140 S. Wu, et al., "Training and Inference with Integers in Deep Neural Networks," in Proc. of ICLR, 2018.
  • 141. Mobility Technologies Co., Ltd. weights (W), activations (A), gradients (G), errors (E) WAGE 141 S. Wu, et al., "Training and Inference with Integers in Deep Neural Networks," in Proc. of ICLR, 2018. バイナリ
  • 142. Mobility Technologies Co., Ltd. 推論時にuint8の演算がメインとなるように 学習時に量子化をシミュレーションしながら学習 TensorFlow公式に実装が存在** Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference* 142 * B. Jacob, et al., "Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference," in Proc. of CVPR, 2018. ** https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/quantize/README.md
  • 143. Mobility Technologies Co., Ltd. Post-trainingも Post-Training Integer Quantization 143 https://medium.com/tensorflow/tensorflow-model-optimization-toolkit-post-training-integer- quantization-b4964a1ea9ba
  • 144. Mobility Technologies Co., Ltd. [Tensorflow Lite] Various Neural Network Model quantization methods for Tensorflow Lite (Weight Quantization, Integer Quantization, Full Integer Quantization, Float16 Quantization, EdgeTPU) https://qiita.com/PINTO/items/008c54536fca690e0572 貴重な知見 144
  • 145. Mobility Technologies Co., Ltd. 高速化方針 • まずは軽量なモデルを使ってみる(MobileNetV3あたり) • 性能より速度が欲しい場合は画像サイズやチャネル数を単純に削減 • 更にシビアな性能を求められる場合は真面目に高速化する • Pruning, 量子化が妥当(tfが先行) • 実用上はdevice-awareな高速化(NASのところ参照) 今後 • 単に軽量なバックボーンを利用するだけでなく 各タスクに最適化されたアーキテクチャ(既にあるけど) 小まとめ 145
  • 146. Mobility Technologies Co., Ltd. 146 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 147. Mobility Technologies Co., Ltd. 特徴マップ抽出後の処理を切り替えることで 様々なタスクに対応可能 物体検出、セマンティックセグメンテーション、姿勢推定・ランド マーク検出のモデルを紹介 様々なタスクへの応用 147 クラス分類 用の処理 全結合 特徴マップ特徴抽出 入力画像
  • 148. Mobility Technologies Co., Ltd. クラス分類・セグメンテーション (pixel level) • Cross entropy, binary cross entropy, focal loss 回帰 • MSE (L2), MAE (L1), smooth L1 属性推定 • Binary cross entropy ヒートマップ • MSE (L2), MAE (L1) 距離学習 • Contrastive loss, triplet loss タスクに対応したロスの選択 148
  • 149. Mobility Technologies Co., Ltd. 入力画像 受容野 (receptive field) 特徴マップ 149 特徴抽出 入力画像 特徴マップ 4 4 このあたりの領域の情報が 集約される C
  • 150. Mobility Technologies Co., Ltd. 例えば、 信頼度:1次元 物体の領域:4次元 (x, y, w, h) を出力するように学習すると 1クラスの物体検出が可能 物体検出への応用 150 特徴マップ 4 4 入力画像 w h (x, y) 5
  • 151. Mobility Technologies Co., Ltd. 例えば、 信頼度:1次元 物体の領域:4次元 (x, y, w, h) +クラスらしさ:C次元 を出力するように学習すると Cクラスの物体検出が可能 物体検出への応用 151 特徴マップ 4 4 入力画像 w h (x, y) 車 5+C
  • 152. Mobility Technologies Co., Ltd. Backbone, Neck, Headから構成、複数スケールの特徴マップを出力 物体検出モデルの汎用的な表現 152 A. Bochkovskiy, C. Wang, and H. Liao, "YOLOv4: Optimal Speed and Accuracy of Object Detection," in arXiv:2004.10934, 2020. クラス分類モデル (のFCの手前) 物体検出特有の モジュール 複数スケールの 検出結果(headとも)
  • 153. Mobility Technologies Co., Ltd. 物体検出モデルの汎用的な表現 153 https://github.com/open-mmlab/mmdetection/blob/master/docs/GETTING_STARTED.md#develop-new- components
  • 154. Mobility Technologies Co., Ltd. 出力層付近の特徴を入力層付近の特徴へと徐々に統合することで 特徴の強さと特徴マップの解像度を両立 Feature Pyramid Network (FPN) 154 T. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie, "Feature Pyramid Networks for Object Detection," in Proc. of CVPR, 2017. 特徴の強さ:強 解像度:低 e.g. Faster R- CNN, YOLO 特徴の強さ:弱 解像度:高 e.g. SSD 特徴の強さ:強 解像度:高 FPN Nearest neighbor で解像度調整 1x1でチャネル数調整
  • 155. Mobility Technologies Co., Ltd. エッジ等のlow-levelの情報をネットワーク全体に伝播させる Path Aggregation Network (PANet) 155 S. Liu, L. Qi, H. Qin, J. Shi, and J. Jia, "Path Aggregation Network for Instance Segmentation," in Proc. of CVPR, 2018. Backbone FPN Bottom-up path low-levelの特徴の伝播に 100 layerくらい必要 ‘short cut’ path を作ってあげる
  • 156. Mobility Technologies Co., Ltd. エッジ等のlow-levelの情報をネットワーク全体に伝播させる Path Aggregation Network (PANet) 156 S. Liu, L. Qi, H. Qin, J. Shi, and J. Jia, "Path Aggregation Network for Instance Segmentation," in Proc. of CVPR, 2018. Backbone FPN Bottom-up path low-levelの特徴の伝播に 100 layerくらい必要 ‘short cut’ path を作ってあげる 3x3 conv stride=2 3x3 conv
  • 157. Mobility Technologies Co., Ltd. PANetを簡略化、同一解像度のskip connection、 top-down+bottom-upを1モジュールとして繰り返す (単一モジュールとして考えることで簡略化が可能に) Bi-directional Feature Pyramid Network (BiFPN) 157 M. Tan, R. Pang, and Quoc V. Le, "EfficientDet: Scalable and Efficient Object Detection," in Proc. of CVPR, 2020.
  • 158. Mobility Technologies Co., Ltd. PANetを簡略化、同一解像度のskip connection、 top-down+bottom-upを1モジュールとして繰り返す (単一モジュールとして考えることで簡略化が可能に) Bi-directional Feature Pyramid Network (BiFPN) 158 M. Tan, R. Pang, and Quoc V. Le, "EfficientDet: Scalable and Efficient Object Detection," in Proc. of CVPR, 2020.
  • 159. Mobility Technologies Co., Ltd. L. Liu, W. Ouyang, X. Wang, P. Fieguth, J. Chen, X. Liu, and M. Pietikainen, "Deep Learning for Generic Object Detection: A Survey," in arXiv:1809.02165, 2018. Z. Zou, Z. Shi, Y. Guo, and J. Ye, "Object Detection in 20 Years: A Survey" in arXiv:1905.05055, 2019. X. Wu, D. Sahoo, and S. Hoi, "Recent Advances in Deep Learning for Object Detection," in arXiv:1908.03673, 2019. サーベイとか 159
  • 160. Mobility Technologies Co., Ltd. セグメンテーションへの応用 160 畳み込み 入力画像 画像と同じサイズの クラスらしさ:C次元 を出力するように学習すると Cクラスのセマンティック セグメンテーションが可能 逆畳み込み C 画像引用元: https://www.cityscapes-dataset.com/examples/
  • 161. Mobility Technologies Co., Ltd. skip connectionを持ったencoder-decoderモデル FPNと同様コンテキストと解像度の両立が目的 • Encoderは何でも良い (U-Netは概念) • skipはaddではなくconcat • FPNはチャネル数固定 U-Net 161 O. Ronneberger, P. Fischer, and T. Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation," in Proc. of MICCAI, 2015. concat encoder decoder
  • 162. Mobility Technologies Co., Ltd. FPN for semantic segmentation 162 https://places-coco2017.github.io/#winners http://presentations.cocodataset.org/COCO17-Stuff-FAIR.pdf
  • 163. Mobility Technologies Co., Ltd. U-Netと違い、異なるスケールの特徴を全て利用し最終出力を行う FPN for semantic segmentation 163 https://places-coco2017.github.io/#winners http://presentations.cocodataset.org/COCO17-Stuff-FAIR.pdf backbone FPN 3x3 conv * 2
  • 164. Mobility Technologies Co., Ltd. Semantic segmentation 振り返り https://speakerdeck.com/motokimura/semantic-segmentation-zhen-rifan-ri 進化の歴史が分かりやすい資料 164
  • 165. Mobility Technologies Co., Ltd. 姿勢推定・ランドマーク検出への応用 165 A. Newell, K. Yang, and J. Deng, "Stacked Hourglass Networks for Human Pose Estimation," in Proc. of ECCV, 2016. C個の関節点・ランドマーク毎の ヒートマップ を出力するように学習すると 姿勢推定・ランドマーク検出 が可能 特徴マップ C C
  • 166. Mobility Technologies Co., Ltd. UNetのようなencoder/decoderモジュールを積み重ねる Stacked Hourglass 166 A. Newell, K. Yang, and J. Deng, "Stacked Hourglass Networks for Human Pose Estimation," in Proc. of ECCV, 2016. max pool nearest neighbor upsampling residual module (bottleneck)
  • 167. Mobility Technologies Co., Ltd. 解像度の違う複数の並列パスを持つ たまに全ての解像度の情報を統合するexchange unitが存在する HRNet 167 A. Newell, K. Yang, and J. Deng, "Stacked Hourglass Networks for Human Pose Estimation," in Proc. of ECCV, 2016.
  • 168. Mobility Technologies Co., Ltd. セグメンテーション、姿勢推定、物体検出のバックボーンとしても 利用されている HRNet 168 https://github.com/HRNet クラス分類モデルは pretrain用?
  • 169. Mobility Technologies Co., Ltd. 169 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  • 170. Mobility Technologies Co., Ltd. Kaggle • 「Kaggle」とは、企業や研究者がデータを投稿し、世界中のデータサイエンティストがそ の最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォームですKaggle のシステムはコンペティション方式を採用しており、参加者の提示したモデルは即時に採 点され、順位が表示されます。コンペティションに参加し、最高精度のモデルを提示した データサイエンティストには、コンペティションの主催者から賞金が支払われます。 https://japan.zdnet.com/article/35122924/ 画像系コンペも多く、様々なタスクを経験できる 最新のモデルを含むあらゆる手法(optimizer, 活性化関数, augmentation)が試され、「追試」されている 他の人が作成したKaggle notebook (Jupyter notebook) を すぐ試せる Discussionで有意義な情報が得られる Kaggleのすすめ 170
  • 171. Mobility Technologies Co., Ltd. pretrainモデルを活用する Data augmentationを活用する • 一般的なやつ+random erasing, mixup, cutmix, … 学習率 (learning rate) の調整をちゃんとする • 初期学習率、warmup, スケジューリング(step, cosine decay) Optimizerを変えてみる • Momentum SGD, Adam(, RAdam, AdamW) Test time augmentation (TTA), model ensemble • 実用上は…? うまくいかないとき • 37 Reasons why your Neural Network is not working https://blog.slavv.com/37-reasons-why-your-neural-network-is-not-working- 4020854bd607 • https://twitter.com/karpathy/status/1013244313327681536 良いモデルを作る・精度を上げるためには 171
  • 172. Mobility Technologies Co., Ltd. 長々と話しましたが中身を知るより試すほうが簡単! クラス分類モデル • https://github.com/Cadene/pretrained-models.pytorch • https://github.com/lukemelas/EfficientNet-PyTorch • https://github.com/rwightman/pytorch-image-models セマンティックセグメンテーション • https://github.com/qubvel/segmentation_models.pytorch 物体検出 • https://github.com/facebookresearch/detectron2 • https://github.com/open-mmlab/mmdetection Augmentation • https://github.com/albumentations-team/albumentations おすすめライブラリ 172
  • 173. Mobility Technologies Co., Ltd. ResNetからEfficientNetまでpretrainedモデルが揃っている 入力チャネル数 (1 or 3) や出力クラスが簡単に変えられる 特徴マップの抽出も簡単 pytorch-image-models 173