Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

画像認識と深層学習

6,888 views

Published on

日本ロボット学会 ロボット工学セミナー 第126回 ロボットのための画像処理技術 講演資料
https://www.rsj.or.jp/event/seminar/news/2020/s126.html

2012年の画像認識コンペティションILSVRCにおけるAlexNetの登場以降,画像認識においては深層学習,その中でも特に畳み込みニューラルネットワーク (CNN) を用いることがデファクトスタンダードとなった.CNNはクラス分類をはじめとして,物体検出やセグメンテーションなど様々なタスクを解くためのベースネットワークとして広く利用されてきている.本講演では,CNNの発展を振り返るとともに,エッジデバイスで動作させる際に重要となる高速化等,関連する深層学習技術の解説を行う.

1. クラス分類向けモデルについて
1.1. ILSVRCで振り返る進化の歴史
1.2. その他重要なモデル
1.3. モデルの自動設計 (Neural Architecture Search)
2. モデルの高速化について
2.1. 軽量モデル
2.2. その他モデルの高速化手法
3. クラス分類以外のタスクにおけるモデル
4. おまけ

Published in: Technology
  • Be the first to comment

画像認識と深層学習

  1. 1. Mobility Technologies Co., Ltd. 画像認識と深層学習 株式会社Mobility Technologies 内田 祐介 日本ロボット学会 第126回ロボット工学セミナー
  2. 2. Mobility Technologies Co., Ltd. 深層学習が様々な画像認識タスクで活用されるようになった • クラス分類、物体検出、ランドマーク検出、 セマンティックセグメンテーション、姿勢推定、行動認識、属性認識、 顔認証、物体追跡、深度推定、SfM、… • 従来考えられなかったようなタスクまでも応用が広がっている 画像認識と深層学習 2
  3. 3. Mobility Technologies Co., Ltd. 深層学習によるタスクの広がり 3[Liu+, ECCV'16] [He+, ICCV’17] [Viola+, CVPR'01] 顔検出 [Lazebnik+, CVPR'06] マルチクラス物体検出 クラス分類 セグメンテーション ポーズ推定
  4. 4. Mobility Technologies Co., Ltd. 問題・やりたいことを適切なタスクとして定義する 訓練・検証のためのデータセットを構築する モデルを設計(選定)する • タスクに応じた損失関数(ロス)を選定する 学習・検証 • Optimizer選定、学習率スケジューリング、Augmentation 画像認識 4
  5. 5. Mobility Technologies Co., Ltd. 5 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  6. 6. Mobility Technologies Co., Ltd. 最も基本的かつ重要なタスク 入力画像がどのようなクラス(例:猫)に 対応するのかを判定する 畳み込みニューラルネットワーク (CNN) により実現 • 画像を入力とする認識はほぼCNNが利用される • クラス分類タスクで進化したCNNのモデルが 他の様々なタスクで利用される • 画像以外モダリティも画像(3次元テンソル)に変換されてCNNが利用され ることも多い • 音響信号→スペクトログラム、点群→固定サイズの3次元テンソル クラス分類モデルは他のタスクの基礎となっている クラス分類 6
  7. 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. 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. 9. Mobility Technologies Co., Ltd. Image Classification on ImageNet 9 https://paperswithcode.com/sota/image-classification-on-imagenet Top 5 error: 0.013
  10. 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. 11. Mobility Technologies Co., Ltd. この図はKeras風にCNNを定義すると自動的に作れます ちなみに 11 https://github.com/yu4u/convnet-drawer
  12. 12. Mobility Technologies Co., Ltd. 全結合ではないフィードフォワードネットワーク 畳み込み、プーリング演算、活性化関数により構成される 畳み込みニューラルネットワーク 12 畳み込み プーリング 畳み込み プーリング 畳み込み プーリング 全結合 1000 1000クラス の分類入力画像
  13. 13. Mobility Technologies Co., Ltd. 3次元テンソルに対して、畳み込みカーネルを 適用し、認識に重要な特徴を抽出する 個々の出力は入力の一部のみ影響を受け、カーネルは空間座標によ らず共通 畳み込み演算 13 W H N M K K W H 入力テンソル 畳み込み カーネル N 出力テンソル * 和 要素積 × M Conv K×K, M
  14. 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. 15. Mobility Technologies Co., Ltd. テンソルの各要素に(非線形な)活性化関数 φ(x) を適用する 活性化関数 15 W N 入力テンソル 出力テンソル W N φ(x) シグモイド関数 ReLU
  16. 16. Mobility Technologies Co., Ltd. 空間的な特徴を集約(平均値・最大値)し、 位置ずれに不変な特徴を抽出する プーリング演算 16 W W/2 N N H/2 2 2 最大値 Maxpool 2×2 入力テンソル 出力テンソル
  17. 17. Mobility Technologies Co., Ltd. 全結合ではないフィードフォワードネットワーク 畳み込み、プーリング演算、活性化関数により構成される 組み合わせにより様々なモデルが提案されてきた(配線芸) 畳み込みニューラルネットワーク 17 畳み込み プーリング 畳み込み プーリング 畳み込み プーリング 全結合 1000 1000クラス の分類入力画像
  18. 18. Mobility Technologies Co., Ltd. 18 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  19. 19. Mobility Technologies Co., Ltd. ImageNet Large Scale Visual Recognition Challenge (ILSVRC) ImageNetデータセットを利用したコンペ • WordNetをもとにクラスを定義 • 各クラスのデータを大量に収集&アノテーション • 学習データ120万枚、テストデータ10万枚 クラス分類、物体検出、位置特定等のタスクが存在 • 特にクラス分類の精度の推移が画像認識の進化の 指標として参考にされることが多い 2012年に深層学習ベースの手法が優勝して以降、 (畳み込み)ニューラルネットワークの天下一武道会化 • ここでの優勝モデルがデファクトスタンダードとして利用される • セグメンテーション等、他のタスクでも利用される ILSVRCで振り返るCNNの進化 19
  20. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 36. Mobility Technologies Co., Ltd. 通常の畳み込みのパラメータ数=N×M×K2 • N: 入力チャネル数、M: 出力チャネル数、K2: カーネルサイズ (例)グループ化畳み込みのパラメータ数=N×M×K2 / G • G: グループ数 Sparseな畳み込み 36 入力チャネル数 出力チャネル数 カーネルサイズ グループ数2の例 ※簡単のためbiasは無視 KxK畳み込みの パラメータ
  37. 37. Mobility Technologies Co., Ltd. Sparseな畳み込みとしてのInceptionモジュール 37 concat maxpoolconv 1x1 conv 3x3 conv 5x5 Inceptionモジュール(naive) 入力チャネル数 出力チャネル数 カーネルサイズ 5x5 3x3 1x1 5x5の畳み込みを 少数パラメータで近似 ※簡単のためmax poolを無視
  38. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 49. Mobility Technologies Co., Ltd. 49 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  50. 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. 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. 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. 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. 54. Mobility Technologies Co., Ltd. Separable convを多用したモデル Xception(高速化パートで解説) 54 F. Chollet, "Xception: Deep learning with depthwise separable convolutions," in Proc. of CVPR, 2017.
  55. 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. 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. 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. 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. 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. 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. 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. 62. Mobility Technologies Co., Ltd. 62 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  63. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 73. Mobility Technologies Co., Ltd. コントローラーのパラメータθと 巨大なネットワークのパラメータwを交互に学習 wの学習 • θを固定し、サブグラフをサンプリング • サブグラフをforward-backwardしwを更新 θの学習 • wを固定し、サブグラフをサンプリング • validationデータで精度を測定し報酬を取得、REINFORCEでθを更新 ENASの学習 73
  74. 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. 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. 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. 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. 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. 79. Mobility Technologies Co., Ltd. 79 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  80. 80. Mobility Technologies Co., Ltd. 実用上、精度を維持しつつモデルの計算量を削減することが重要 • リアルタイム性 • 計算コスト 主に下記の条件を満たす手法を紹介 • 特定のハードウェアに依存せずに実現可能 • 畳み込みニューラルネットワーク (CNN) が対象 • 推論時の高速化 モデルの高速化 80
  81. 81. Mobility Technologies Co., Ltd. モデルパラメータ数の削減 FLOPs (Floating-point Operations) の削減 モデルファイルサイズの削減 推論時間の削減 訓練時間の削減 微妙に違う 高速化? 81
  82. 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. 83. Mobility Technologies Co., Ltd. 畳み込みとプーリング演算により徐々に高度な特徴を抽出、全結合 層で画像全体の特徴から識別(クラス分類) 必要な計算量のほとんどは畳み込み層の演算 →いかに畳み込み層の演算を削減するかが重要 畳み込みニューラルネットワーク 83 畳み込み プーリング 畳み込み プーリング 畳み込み プーリング 全結合 1000 1000クラス の分類 入力画像
  84. 84. Mobility Technologies Co., Ltd. まずは軽量なモデルを使ってみる 性能より速度が欲しい場合は画像サイズやチャネル数を単純に削減 更にシビアな性能を求められる場合は真面目に高速化する モデルの高速化 84
  85. 85. Mobility Technologies Co., Ltd. 85 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  86. 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. 87. Mobility Technologies Co., Ltd. 畳み込みと空間方向やチャネル方向に分割する =局所的には全結合となっている畳み込みを疎結合にする 軽量モデルの方針 87
  88. 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. 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. 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. 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. 92. Mobility Technologies Co., Ltd. イメージ 空間方向とチャネル方向の分離 92 conv 3x3 conv 1x1 depthwise conv spatial channel in out
  93. 93. Mobility Technologies Co., Ltd. 通常の畳み込み Separable畳み込み Separable畳み込みのパラメータ数 93 入力チャネル数 出力チャネル数 カーネルサイズ Depthwise畳み込み Pointwise畳み込み
  94. 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. 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. 96. Mobility Technologies Co., Ltd. V1は conv1x1 のほうが重い! → depthwiseのチャンネル数を(相対的に)増やす skipコネクションの導入 MobileNetV2 96
  97. 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. 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. 99. Mobility Technologies Co., Ltd. MnasNetをベースに最適化 SEモジュールチャネル数を増加 (h-)swishの利用、実装の最適化 NetAdaptによるPruning(後述) Compactation↓ MobileNetV3 99 swishが入ったMBConvは Kaggleで大活躍のEfficientNetでも 基本モジュールとして採用
  100. 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. 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. 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. 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. 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. 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. 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. 107. Mobility Technologies Co., Ltd. チートシート的なもの 107 https://medium.com/@yu4u/why-mobilenet-and-its-variants-e-g-shufflenet-are-fast-1c7048b9618d
  108. 108. Mobility Technologies Co., Ltd. 108 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  109. 109. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 109
  110. 110. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 110
  111. 111. Mobility Technologies Co., Ltd. 畳み込み層や全結合層の重みの一部を0にすることで パラメータ数・計算量を削減 1. ネットワークを学習 2. 枝刈り(精度低下) 3. ネットワークを再学習(精度をある程度回復) というフローが一般的 枝刈り (Pruning) 111
  112. 112. Mobility Technologies Co., Ltd. Pruning前の畳み込みフィルタ Unstructured pruning Structured pruning(フィルタ(チャネル)pruningが一般的) Unstructured vs. Structured Pruning 112 K K … … … M(出力チャネル)個 計算量vs.精度のtrade-offは優れているが 専用のハードウェアでないと高速化できない 単にチャネル数が減少したネットワークに 再構築が可能で高速化の恩恵を受けやすい
  113. 113. Mobility Technologies Co., Ltd. 損失関数のヘッシアン(対角近似)から重みの重要度を算出 重要度の低い重みをpruning LeNetの60%のパラメータを削除しても精度を維持 Optimal Brain Damage (OBD) 113
  114. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 127. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 127
  128. 128. Mobility Technologies Co., Ltd. 入力に応じてネットワークの途中で結果を出力し、 それ以降の処理を行わない(早期終了) 入力に応じてネットワークの構造を動的に変える (動的計算グラフ; dynamic computation graph) 「平均処理時間」を削減する 早期終了 (Early termination) 128
  129. 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. 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. 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. 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. 133. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 133
  134. 134. Mobility Technologies Co., Ltd. 大きなモデルや、複数のネットワークのアンサンブルを 「教師モデル」とし、小さな「生徒モデル」を学習 教師の出力や中間特徴を生徒が模擬するようなロスをかける 蒸留 (Distillation) 134 1. アンサンブルモデルや 大きなモデルを学習 2. 学習済みモデルを利用して 小さなモデルを学習
  135. 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. 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. 137. Mobility Technologies Co., Ltd. さいきんの(雑) 137 B. Heo, et al., "A Comprehensive Overhaul of Feature Distillation," in Proc. of ICCV, 2019.
  138. 138. Mobility Technologies Co., Ltd. 枝刈り (Pruning) 早期終了 (Early termination) 蒸留 (Distillation) 量子化 (Quantization) モデルの高速化手法 138
  139. 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. 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. 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. 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. 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. 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. 145. Mobility Technologies Co., Ltd. 高速化方針 • まずは軽量なモデルを使ってみる(MobileNetV3あたり) • 性能より速度が欲しい場合は画像サイズやチャネル数を単純に削減 • 更にシビアな性能を求められる場合は真面目に高速化する • Pruning, 量子化が妥当(tfが先行) • 実用上はdevice-awareな高速化(NASのところ参照) 今後 • 単に軽量なバックボーンを利用するだけでなく 各タスクに最適化されたアーキテクチャ(既にあるけど) 小まとめ 145
  146. 146. Mobility Technologies Co., Ltd. 146 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  147. 147. Mobility Technologies Co., Ltd. 特徴マップ抽出後の処理を切り替えることで 様々なタスクに対応可能 物体検出、セマンティックセグメンテーション、姿勢推定・ランド マーク検出のモデルを紹介 様々なタスクへの応用 147 クラス分類 用の処理 全結合 特徴マップ特徴抽出 入力画像
  148. 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. 149. Mobility Technologies Co., Ltd. 入力画像 受容野 (receptive field) 特徴マップ 149 特徴抽出 入力画像 特徴マップ 4 4 このあたりの領域の情報が 集約される C
  150. 150. Mobility Technologies Co., Ltd. 例えば、 信頼度:1次元 物体の領域:4次元 (x, y, w, h) を出力するように学習すると 1クラスの物体検出が可能 物体検出への応用 150 特徴マップ 4 4 入力画像 w h (x, y) 5
  151. 151. Mobility Technologies Co., Ltd. 例えば、 信頼度:1次元 物体の領域:4次元 (x, y, w, h) +クラスらしさ:C次元 を出力するように学習すると Cクラスの物体検出が可能 物体検出への応用 151 特徴マップ 4 4 入力画像 w h (x, y) 車 5+C
  152. 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. 153. Mobility Technologies Co., Ltd. 物体検出モデルの汎用的な表現 153 https://github.com/open-mmlab/mmdetection/blob/master/docs/GETTING_STARTED.md#develop-new- components
  154. 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. 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. 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. 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. 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. 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. 160. Mobility Technologies Co., Ltd. セグメンテーションへの応用 160 畳み込み 入力画像 画像と同じサイズの クラスらしさ:C次元 を出力するように学習すると Cクラスのセマンティック セグメンテーションが可能 逆畳み込み C 画像引用元: https://www.cityscapes-dataset.com/examples/
  161. 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. 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. 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. 164. Mobility Technologies Co., Ltd. Semantic segmentation 振り返り https://speakerdeck.com/motokimura/semantic-segmentation-zhen-rifan-ri 進化の歴史が分かりやすい資料 164
  165. 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. 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. 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. 168. Mobility Technologies Co., Ltd. セグメンテーション、姿勢推定、物体検出のバックボーンとしても 利用されている HRNet 168 https://github.com/HRNet クラス分類モデルは pretrain用?
  169. 169. Mobility Technologies Co., Ltd. 169 1. クラス分類向けモデルについて • ILSVRCで振り返る進化の歴史 • その他重要なモデル • モデルの自動設計 (Neural Architecture Search) 2. モデルの高速化について • 軽量モデル • その他モデルの高速化手法 3. クラス分類以外のタスクにおけるモデル 4. おまけ Agenda
  170. 170. Mobility Technologies Co., Ltd. Kaggle • 「Kaggle」とは、企業や研究者がデータを投稿し、世界中のデータサイエンティストがそ の最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォームですKaggle のシステムはコンペティション方式を採用しており、参加者の提示したモデルは即時に採 点され、順位が表示されます。コンペティションに参加し、最高精度のモデルを提示した データサイエンティストには、コンペティションの主催者から賞金が支払われます。 https://japan.zdnet.com/article/35122924/ 画像系コンペも多く、様々なタスクを経験できる 最新のモデルを含むあらゆる手法(optimizer, 活性化関数, augmentation)が試され、「追試」されている 他の人が作成したKaggle notebook (Jupyter notebook) を すぐ試せる Discussionで有意義な情報が得られる Kaggleのすすめ 170
  171. 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. 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. 173. Mobility Technologies Co., Ltd. ResNetからEfficientNetまでpretrainedモデルが揃っている 入力チャネル数 (1 or 3) や出力クラスが簡単に変えられる 特徴マップの抽出も簡単 pytorch-image-models 173
  174. 174. 文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Mobility Technologies Co., Ltd. 174

×