Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AlexNet前夜

 AlexNet前夜

画像の認識・理解シンポジウム (MIRU) 30周年&25回記念 特別企画
「過去を知り、未来を想う」で、AlexNetについて語るというお題で行った講演の資料です。

AlexNet自体は多くの方々が良くご存じだと思ったので、AlexNetが席巻する直前の様子を振り返り、未来を想うためのポイントを少しお伝えできればと思います。

Yoshitaka Ushiku
PRO

July 28, 2022
Tweet

More Decks by Yoshitaka Ushiku

Other Decks in Technology

Transcript

  1. AlexNet前夜
    オムロンサイニックエックス株式会社
    牛久 祥孝

    View Slide

  2. 自己紹介
    2013.6~2013.8 Microsoft Research Intern
    2014.3 博士(情報理工学)、東京大学
    2014.4~2016.3 NTT CS研 研究員
    2016.4~2018.9 東京大学 講師 (原田牛久研究室)
    2018.10~ オムロンサイニックエックス株式会社 Principal Investigator
    2019.1~ 株式会社 Ridge-i Chief Research Officer
    2022.1~ 合同会社ナインブルズ 代表
    主な研究プロジェクト
    2021-2025 マテリアル探索空間拡張プラットフォームの構築 JST 未来社会創造事業(代表:長藤圭介)
    2017-2020 多様なデータへのキャプションを自動で生成する技術の創出 JST ACT-I(代表:牛久祥孝)
    2017-2021 機械可読時代における文字科学の創成と応用展開 JSPS 基盤研究(S)(代表:内田誠一)
    [Ushiku+, ACMMM 2012]
    [Ushiku+, ICCV 2015]
    画像キャプション生成 料理動画からの
    レシピ生成
    [Nishimura+, ACMMM 2021]
    Add flour, eggs, baking soda, salt,
    and pepper to the bowl and stir.
    A yellow train on the tracks
    near a train station.

    View Slide

  3. 2011
    2012
    2014
    電話音声認識のエラー率が
    30%程度→20%以下に
    大規模画像分類のエラー率が
    25%程度→15%程度に
    英仏翻訳の精度が
    複雑なシステムと同等に

    View Slide

  4. View Slide

  5. 「AlexNetについて話します」
    確実に全員知っている
    [Krizhevsky+, NIPS 2012]

    View Slide

  6. では何を話すか
    1. 線画の認識
    [Clowes, 1971]
    2. ルール/モデルの導入
    [Ohta, 1985][Basri, IJCV 1996]
    3. 機械学習
    [Duygulu+, ECCV 2002][Csurka+, 2004]
    4. 大規模機械学習
    [Perronnin+, ECCV 2010]
    5. 畳込み演算による深層学習
    [Krizhevsky+, NIPS 2012]
    6. Transformer&MLP
    [Dosovitskiy+, ICLR 2021]

    View Slide

  7. AlexNet前夜
    オムロンサイニックエックス株式会社
    牛久 祥孝

    View Slide

  8. AlexNet前夜
    オムロンサイニックエックス株式会社
    牛久 祥孝

    View Slide

  9. AlexNet前夜の画像認識
    • 特徴量計算(人が設計)+識別器学習(機械が学習)
    • 深層学習では
    – End-to-end学習(特徴量抽出と識別器の学習を同時に実行)
    – 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)
    𝒚𝒚 = 𝑓𝑓(𝒙𝒙)
    Cat
    Camera
    特徴量
    計算
    識別器
    学習
    Cat
    Camera 𝒙𝒙𝑘𝑘
    𝒙𝒙𝑗𝑗
    𝒙𝒙𝑖𝑖

    View Slide

  10. AlexNet前夜の画像認識
    • 特徴量計算(人が設計)+識別器学習(機械が学習)
    • 深層学習では
    – End-to-end学習(特徴量抽出と識別器の学習を同時に実行)
    – 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)
    𝒚𝒚 = 𝑓𝑓(𝒙𝒙)
    Cat
    Camera
    特徴量
    計算
    識別器
    学習
    Cat
    Camera 𝒙𝒙𝑘𝑘
    𝒙𝒙𝑗𝑗
    𝒙𝒙𝑖𝑖

    View Slide

  11. 自然言語処理からインスピレーションを受けた流れ
    2000年代:画像認識へ統計的機械学習を適用
    • 領域ベース
    – word-image-translation model [Duygulu+, ECCV 2002]
    – 画像の各領域とラベルとの対応を学習
    – 機械翻訳における自動対応付けから着想
    機械翻訳における単語の対応([永田ら、2008]より)
    sun, sea, sky sun, sea, sky

    View Slide

  12. 自然言語処理からインスピレーションを受けた流れ
    2000年代:画像認識へ統計的機械学習を適用
    • 局所特徴量ベース
    Bag of Visual Words [Csurka+, 2004][Fei-Fei+Perona, CVPR 2005]
    – 文書分類における Bag of Words モデルから着想
    – 似た局所特徴を同一の単語とみなす

    View Slide

  13. AlexNet前夜の特徴量計算
    1. 特徴点を検出
    2. 局所特徴量を計算
    3. 局所特徴量の分布を教師なし学習
    4. 画像全体の特徴量(大域的特徴量)を計算

    View Slide

  14. 特徴点検出
    • 特徴的な点の検出…?
    • 目的によって異なる
    – 画像同士でマッチングをとりたい:
    コーナー検出(cf. Harris、DoG)
    – 物体の名前を認識したい:格子状に検出(複数のベクトル)
    ステレオマッチング
    [Martull+, 2012]
    𝒅𝒅𝑖𝑖
    𝒅𝒅𝑘𝑘
    𝒅𝒅𝑗𝑗
    𝒅𝒅𝑖𝑖
    𝒅𝒅𝑘𝑘
    𝒅𝒅𝑗𝑗
    𝒙𝒙
    局所特徴
    抽出 統合

    View Slide

  15. 局所特徴量の計算(SIFTの場合)
    • キーポイントの勾配向き(オリエンテーション)
    • 特徴量記述
    矢印の向き:勾配方向
    矢印の長さ:勾配強度
    キーポイント
    勾配方向(36bin)
    オリエンテーション
    キーポイント
    ガウス窓
    (半径=スケール)
    [藤吉 08]
    キーポイント
    8方向
    4分割
    4分割

    View Slide

  16. 局所特徴量の分布を学習(コードブックの作成)
    Bag of Visual Wordsによる画像分類 [Csurka+, 2004][Fei-Fei+Perona, CVPR 2005]
    • 自然言語における「単語」に相当するものが必要
    • データセットから局所特徴量を収集してクラスタリング
    • Spatial Pyramid [Lazebnik+, CVPR 2006]
    – ピラミッド状に領域を設定
    – 領域ごとに平均値プーリング
    – 領域ごとの Bag of Visual Words (BoVW) を直列

    View Slide

  17. AlexNet前夜の画像認識
    • 特徴量計算(人が設計)+識別器学習(機械が学習)
    • 深層学習では
    – End-to-end学習(特徴量抽出と識別器の学習を同時に実行)
    – 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)
    𝒚𝒚 = 𝑓𝑓(𝒙𝒙)
    Cat
    Camera
    特徴量
    計算
    識別器
    学習
    Cat
    Camera 𝒙𝒙𝑘𝑘
    𝒙𝒙𝑗𝑗
    𝒙𝒙𝑖𝑖

    View Slide

  18. AlexNet前夜の画像認識
    • 特徴量計算(人が設計)+識別器学習(機械が学習)
    • 深層学習では
    – End-to-end学習(特徴量抽出と識別器の学習を同時に実行)
    – 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)
    𝒚𝒚 = 𝑓𝑓(𝒙𝒙)
    Cat
    Camera
    特徴量
    計算
    識別器
    学習
    Cat
    Camera 𝒙𝒙𝑘𝑘
    𝒙𝒙𝑗𝑗
    𝒙𝒙𝑖𝑖

    View Slide

  19. 元祖Bag of Visual Words表現を用いた機械学習
    • [Csurka+, 2004]
    – Naïve Bayes
    – カーネルSVM
    • [Fei-Fei+Perona, CVPR 2005]
    – トピックモデル
    ✓ 同様のアプローチの画像認識を用いた研究が流行した
    × そのうち精度が頭打ちになった
    × カーネルSVMはスケーラビリティが課題だった

    View Slide

  20. AlexNet前夜の画像認識
    • 特徴量計算(人が設計)+識別器学習(機械が学習)
    • 深層学習では
    – End-to-end学習(特徴量抽出と識別器の学習を同時に実行)
    – 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)
    𝒚𝒚 = 𝑓𝑓(𝒙𝒙)
    Cat
    Camera
    特徴量
    計算
    識別器
    学習
    Cat
    Camera 𝒙𝒙𝑘𝑘
    𝒙𝒙𝑗𝑗
    𝒙𝒙𝑖𝑖

    View Slide

  21. AlexNet前夜の画像認識
    • 特徴量計算(人が設計)+識別器学習(機械が学習)
    • 深層学習では
    – End-to-end学習(特徴量抽出と識別器の学習を同時に実行)
    – 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)
    𝒚𝒚 = 𝑓𝑓(𝒙𝒙)
    Cat
    Camera
    特徴量
    計算
    識別器
    学習
    Cat
    Camera 𝒙𝒙𝑘𝑘
    𝒙𝒙𝑗𝑗
    𝒙𝒙𝑖𝑖

    View Slide

  22. Bag of Visual Words表現を考え直す
    一つのクラスタに割当(ハードアサイメント)
    𝐶𝐶1
    𝐶𝐶2
    𝐶𝐶3
    𝐶𝐶4
    𝐶𝐶5
    0
    0
    1
    0
    0
    0/1でよいのか?
    BoVW=

    View Slide

  23. Bag of Visual Words表現を考え直す
    𝐺𝐺1
    𝐺𝐺2
    𝐺𝐺3
    𝐺𝐺4
    𝐺𝐺5
    3番目のクラスタだけでなく、
    4/5番目のクラスタにも近い。
    だが、これをどう表現するか?
    複数のクラスタに割当(ソフトアサイメント)

    View Slide

  24. 多様体学習的な表現方法
    本質的に局所特徴量は多様体を形成するはず
    • Sparse Coding [Yang+, CVPR 2009]
    – スパース正則化を活用してソフトアサイメントを計算
    – 平均値プーリング→最大値プーリング(その後の主流に)
    • Local Coordinate Coding [Yu+, NIPS 2009]
    / Locality-constrained
    Linear Coding [Wang+, CVPR 2010]
    – 多様体上の近傍での線形性を仮定してソフトアサイメントを計算

    View Slide

  25. 混合分布モデル的な表現方法
    局所特徴量を混合分布モデルで表現してパラメータを利用
    • Super Vector Coding
    – 局所特徴量と各クラスタで ①負担率②クラスタ中心からの差
    を計算
    • Fisher Vector
    – 情報幾何学による定式化
    – 局所特徴量と各クラスタで ①負担率②クラスタ中心からの差③
    その分散 を計算
    𝐺𝐺1
    𝐺𝐺2
    𝐺𝐺3
    𝐺𝐺4
    𝐺𝐺5

    View Slide

  26. AlexNet前夜の画像認識
    • 特徴量計算(人が設計)+識別器学習(機械が学習)
    • 深層学習では
    – End-to-end学習(特徴量抽出と識別器の学習を同時に実行)
    – 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)
    𝒚𝒚 = 𝑓𝑓(𝒙𝒙)
    Cat
    Camera
    特徴量
    計算
    識別器
    学習
    Cat
    Camera 𝒙𝒙𝑘𝑘
    𝒙𝒙𝑗𝑗
    𝒙𝒙𝑖𝑖

    View Slide

  27. AlexNet前夜の画像認識
    • 特徴量計算(人が設計)+識別器学習(機械が学習)
    • 深層学習では
    – End-to-end学習(特徴量抽出と識別器の学習を同時に実行)
    – 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)
    𝒚𝒚 = 𝑓𝑓(𝒙𝒙)
    Cat
    Camera
    特徴量
    計算
    識別器
    学習
    Cat
    Camera 𝒙𝒙𝑘𝑘
    𝒙𝒙𝑗𝑗
    𝒙𝒙𝑖𝑖

    View Slide

  28. 識別器の学習方法
    • BoVWが改善された結果
    – BoVW + カーネルSVM < 改良されたBoVW + 線形分類器
    – 線形分類器なら大量の画像でも学習可能!
    • これで解決…と思いきや
    – 大域的特徴量が巨大すぎてメモリに収まらない問題
    • Fisher Vectorの典型的な設定例だと26万次元のベクトルになる
    • もちろん、精度向上を狙って複数の特徴量を直列することもある
    →100万次元の特徴量?!
    – 100万枚の画像の100万次元の特徴量をメモリ上にロード=無理

    View Slide

  29. オンライン学習による線形分類器の獲得
    • オンライン学習
    – バッチ学習と異なり、データを1つ1つロードして推論+学習
    – 学習データ全体をロードする必要がない
    • オンライン学習手法の改良
    – 線形SVMを確率的勾配降下で学習
    – 学習率を自動で決定できるオンライン学習
    • 1次統計量に基づく手法 [Crammer+, JMLR 2006]
    • 2次統計量に基づく手法 [Wang+, ICML 2012]
    • ついにやったか…?!
    – まだI/Oの課題がある
    – ストレージから学習データを都度読み込む=とても遅い

    View Slide

  30. 直積量子化による特徴量の圧縮
    • 直積量子化 (Product Quantization) [Jegou+, TPAMI 2010]
    – ベクトルを分割
    – それぞれの分割されたベクトルをk-meansなどでクラスタリング
    – ベクトルの値をクラスタのIDに置き換え
    • オンライン学習への利用
    – 量子化済みのデータセットをロード
    – クラスタIDをクラスタ中心に変換
    × 量子化誤差が生じる
    ✓ メモリにデータセットが載る
    [https://miro.medium.com/max/922/1*B4IILxmKmtOAyJrqz5Pg_g.png]

    View Slide

  31. ここまでのまとめ
    1. 線画の認識
    [Clowes, 1971]
    2. ルール/モデルの導入
    [Ohta, 1985][Basri, IJCV 1996]
    3. 機械学習
    [Duygulu+, ECCV 2002][Csurka+, 2004]
    4. 大規模機械学習
    [Perronnin+, ECCV 2010]
    5. 畳込み演算による深層学習
    [Krizhevsky+, NIPS 2012]
    6. Transformer&MLP
    [Dosovitskiy+, ICLR 2021]
    • SIFT
    • BoVW
    • カーネルSVM
    • SIFT
    • Fisher Vector
    • 直積量子化
    • 線形識別器の
    オンライン学習

    View Slide

  32. そして、AlexNet(とその後のCNN)に席巻される

    View Slide

  33. AlexNet前夜の画像認識技術は死んだのか
    モジュールごとに生きているものも多い
    • 局所特徴量
    • 局所特徴量のCoding
    – Fisher Vectorと深層学習の融合 [Perronnin+Larlus, CVPR 2015]
    • 直積量子化
    – もともと検索用途
    – 最近ではPQVAEやPQGANも活躍中
    • オンライン学習
    – そもそも深層学習もオンライン学習(ミニバッチ学習)

    View Slide

  34. 実は…
    我々もAlexNet前夜にGPUの活用を検討していた

    View Slide

  35. 実は…
    我々もAlexNet前夜にGPUの活用を検討していた
    [濱口 2009]

    View Slide

  36. おわりに
    • 本講演:AlexNet前夜のお話
    – 機械学習による画像認識のごく簡単な紹介
    – AlexNetの次のお話はTransformerチュートリアルなどを参照
    • いくつかのポイント
    – 有名な話として:AlexNetがイノベーションを起こしたのは
    • 深層学習そのものの進歩だけでなく
    • データ(ImageNet)と計算機(GPU)が揃ったという時代背景が大きい
    – 過去の技術だからと言って聞き流していると、時代背景の変化に
    よってなし得たイノベーションを逃すかも
    • 例:(AlexNet前夜の)ニューラルネットワーク
    – 現時点のアプローチにとらわれ過ず未来を想うのが大事

    View Slide