画像の認識・理解シンポジウム (MIRU) 30周年&25回記念 特別企画 「過去を知り、未来を想う」で、AlexNetについて語るというお題で行った講演の資料です。
AlexNet自体は多くの方々が良くご存じだと思ったので、AlexNetが席巻する直前の様子を振り返り、未来を想うためのポイントを少しお伝えできればと思います。
AlexNet前夜オムロンサイニックエックス株式会社牛久 祥孝
View Slide
自己紹介2013.6~2013.8 Microsoft Research Intern2014.3 博士(情報理工学)、東京大学2014.4~2016.3 NTT CS研 研究員2016.4~2018.9 東京大学 講師 (原田牛久研究室)2018.10~ オムロンサイニックエックス株式会社 Principal Investigator2019.1~ 株式会社 Ridge-i Chief Research Officer2022.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 tracksnear a train station.
201120122014電話音声認識のエラー率が30%程度→20%以下に大規模画像分類のエラー率が25%程度→15%程度に英仏翻訳の精度が複雑なシステムと同等に
「AlexNetについて話します」確実に全員知っている[Krizhevsky+, NIPS 2012]
では何を話すか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]
AlexNet前夜の画像認識• 特徴量計算(人が設計)+識別器学習(機械が学習)• 深層学習では– End-to-end学習(特徴量抽出と識別器の学習を同時に実行)– 事前学習/転移学習(特徴量抽出の学習と識別器の学習が別)𝒚𝒚 = 𝑓𝑓(𝒙𝒙)CatCamera特徴量計算識別器学習CatCamera 𝒙𝒙𝑘𝑘𝒙𝒙𝑗𝑗𝒙𝒙𝑖𝑖
自然言語処理からインスピレーションを受けた流れ2000年代:画像認識へ統計的機械学習を適用• 領域ベース– word-image-translation model [Duygulu+, ECCV 2002]– 画像の各領域とラベルとの対応を学習– 機械翻訳における自動対応付けから着想機械翻訳における単語の対応([永田ら、2008]より)sun, sea, sky sun, sea, sky
自然言語処理からインスピレーションを受けた流れ2000年代:画像認識へ統計的機械学習を適用• 局所特徴量ベースBag of Visual Words [Csurka+, 2004][Fei-Fei+Perona, CVPR 2005]– 文書分類における Bag of Words モデルから着想– 似た局所特徴を同一の単語とみなす
AlexNet前夜の特徴量計算1. 特徴点を検出2. 局所特徴量を計算3. 局所特徴量の分布を教師なし学習4. 画像全体の特徴量(大域的特徴量)を計算
特徴点検出• 特徴的な点の検出…?• 目的によって異なる– 画像同士でマッチングをとりたい:コーナー検出(cf. Harris、DoG)– 物体の名前を認識したい:格子状に検出(複数のベクトル)ステレオマッチング[Martull+, 2012]𝒅𝒅𝑖𝑖𝒅𝒅𝑘𝑘𝒅𝒅𝑗𝑗𝒅𝒅𝑖𝑖𝒅𝒅𝑘𝑘𝒅𝒅𝑗𝑗𝒙𝒙局所特徴抽出 統合
局所特徴量の計算(SIFTの場合)• キーポイントの勾配向き(オリエンテーション)• 特徴量記述矢印の向き:勾配方向矢印の長さ:勾配強度キーポイント勾配方向(36bin)オリエンテーションキーポイントガウス窓(半径=スケール)[藤吉 08]キーポイント8方向4分割4分割
局所特徴量の分布を学習(コードブックの作成)Bag of Visual Wordsによる画像分類 [Csurka+, 2004][Fei-Fei+Perona, CVPR 2005]• 自然言語における「単語」に相当するものが必要• データセットから局所特徴量を収集してクラスタリング• Spatial Pyramid [Lazebnik+, CVPR 2006]– ピラミッド状に領域を設定– 領域ごとに平均値プーリング– 領域ごとの Bag of Visual Words (BoVW) を直列
元祖Bag of Visual Words表現を用いた機械学習• [Csurka+, 2004]– Naïve Bayes– カーネルSVM• [Fei-Fei+Perona, CVPR 2005]– トピックモデル✓ 同様のアプローチの画像認識を用いた研究が流行した× そのうち精度が頭打ちになった× カーネルSVMはスケーラビリティが課題だった
Bag of Visual Words表現を考え直す一つのクラスタに割当(ハードアサイメント)𝐶𝐶1𝐶𝐶2𝐶𝐶3𝐶𝐶4𝐶𝐶5001000/1でよいのか?BoVW=
Bag of Visual Words表現を考え直す𝐺𝐺1𝐺𝐺2𝐺𝐺3𝐺𝐺4𝐺𝐺53番目のクラスタだけでなく、4/5番目のクラスタにも近い。だが、これをどう表現するか?複数のクラスタに割当(ソフトアサイメント)
多様体学習的な表現方法本質的に局所特徴量は多様体を形成するはず• Sparse Coding [Yang+, CVPR 2009]– スパース正則化を活用してソフトアサイメントを計算– 平均値プーリング→最大値プーリング(その後の主流に)• Local Coordinate Coding [Yu+, NIPS 2009]/ Locality-constrainedLinear Coding [Wang+, CVPR 2010]– 多様体上の近傍での線形性を仮定してソフトアサイメントを計算
混合分布モデル的な表現方法局所特徴量を混合分布モデルで表現してパラメータを利用• Super Vector Coding– 局所特徴量と各クラスタで ①負担率②クラスタ中心からの差を計算• Fisher Vector– 情報幾何学による定式化– 局所特徴量と各クラスタで ①負担率②クラスタ中心からの差③その分散 を計算𝐺𝐺1𝐺𝐺2𝐺𝐺3𝐺𝐺4𝐺𝐺5
識別器の学習方法• BoVWが改善された結果– BoVW + カーネルSVM < 改良されたBoVW + 線形分類器– 線形分類器なら大量の画像でも学習可能!• これで解決…と思いきや– 大域的特徴量が巨大すぎてメモリに収まらない問題• Fisher Vectorの典型的な設定例だと26万次元のベクトルになる• もちろん、精度向上を狙って複数の特徴量を直列することもある→100万次元の特徴量?!– 100万枚の画像の100万次元の特徴量をメモリ上にロード=無理
オンライン学習による線形分類器の獲得• オンライン学習– バッチ学習と異なり、データを1つ1つロードして推論+学習– 学習データ全体をロードする必要がない• オンライン学習手法の改良– 線形SVMを確率的勾配降下で学習– 学習率を自動で決定できるオンライン学習• 1次統計量に基づく手法 [Crammer+, JMLR 2006]• 2次統計量に基づく手法 [Wang+, ICML 2012]• ついにやったか…?!– まだI/Oの課題がある– ストレージから学習データを都度読み込む=とても遅い
直積量子化による特徴量の圧縮• 直積量子化 (Product Quantization) [Jegou+, TPAMI 2010]– ベクトルを分割– それぞれの分割されたベクトルをk-meansなどでクラスタリング– ベクトルの値をクラスタのIDに置き換え• オンライン学習への利用– 量子化済みのデータセットをロード– クラスタIDをクラスタ中心に変換× 量子化誤差が生じる✓ メモリにデータセットが載る[https://miro.medium.com/max/922/1*B4IILxmKmtOAyJrqz5Pg_g.png]
ここまでのまとめ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• 直積量子化• 線形識別器のオンライン学習
そして、AlexNet(とその後のCNN)に席巻される
AlexNet前夜の画像認識技術は死んだのかモジュールごとに生きているものも多い• 局所特徴量• 局所特徴量のCoding– Fisher Vectorと深層学習の融合 [Perronnin+Larlus, CVPR 2015]• 直積量子化– もともと検索用途– 最近ではPQVAEやPQGANも活躍中• オンライン学習– そもそも深層学習もオンライン学習(ミニバッチ学習)
実は…我々もAlexNet前夜にGPUの活用を検討していた
実は…我々もAlexNet前夜にGPUの活用を検討していた[濱口 2009]
おわりに• 本講演:AlexNet前夜のお話– 機械学習による画像認識のごく簡単な紹介– AlexNetの次のお話はTransformerチュートリアルなどを参照• いくつかのポイント– 有名な話として:AlexNetがイノベーションを起こしたのは• 深層学習そのものの進歩だけでなく• データ(ImageNet)と計算機(GPU)が揃ったという時代背景が大きい– 過去の技術だからと言って聞き流していると、時代背景の変化によってなし得たイノベーションを逃すかも• 例:(AlexNet前夜の)ニューラルネットワーク– 現時点のアプローチにとらわれ過ず未来を想うのが大事