新春特別企画

コンピュータビジョン(CV)動向 2021

はじめに

国立研究開発法人 産業技術総合研究所の人工知能研究センターに所属している、片岡裕雄と申します。研究者としてコンピュータビジョン(CV)やパターン認識に関する研究を行う一方で、研究コミュニティcvpaper.challengeを主宰して「CV分野の今を映し、トレンドを創り出す」ことにも挑戦しています。cvpaper.challengeには最新動向の日本語サーベイ資料や研究メンバーによる研究成果も載せています。今回の記事に書ききれない、より詳細な情報はぜひそちらをご覧ください。

今回の記事については、出身大学の大先輩・皆川卓也氏から話を受けて実現しました。皆川氏は2010年にコンピュータビジョンの業界動向を寄稿されているのですが、今回恐れ多くもその企画を受け継ぐことになりました。

それから11年、深層学習の隆盛とともに発展してきたCV分野の動向を述べるにはあまりにも紙面が限られていますが、私なりに最近の動向をまとめてみたいと思います。一方で、昨今のAIブームにつき多くの皆様にとって既知のことも多いでしょう。少しでも退屈にならないよう、豆知識や舞台裏の話なども織り交ぜながら紹介していきます。

第3次AIブーム

2010年代くらいから続くAI分野の激動は第3次AIブームと言われています。今回の第3次AIブームの目玉はなんといっても深層学習(ディープラーニング)による革新でした。

第1次〜第3次AIブームまでの大まかな流れ
AIブーム

第3次AIブームの始まりは各画像に1種類ずつ映る合計1,000カテゴリの一般物体(犬猫の種類や人工物など)を認識する世界的コンペティションILSVRC(ImageNet Large-Scale Visual Recognition Challenge)の2012年大会でした。この話は専門家の間ではもはや説明不要なくらい有名なのですが、カナダ・トロント大学のチームが当時主流だった手法とは異なる深層学習によるモデルを用いて、2位に約10%の差をつけて圧倒したことがビッグニュースになりました。それまでの数年間は大会ごとに1%前後の向上を続けていたので、実に10年分くらいの進展をたったの一年で実現したことに相当します。トロント大学のチームはのちにAI業界のゴッドファーザーと呼ばれるジェフリー・ヒントン氏が指揮しており、AlexNetの由来ともなったアレックス・クリジェフスキー氏、現在OpenAIにて活躍するAIスターのイリヤ・スツケヴェル氏というドリームチームでした。ちなみに、私はNewsPicks社の取材でクリジェフスキー氏のより詳細な情報を知りました。

なお、2012年大会第2位のチームは東京大学の(現在)原田研究室のメンバーにより構成されており、当時博士課程学生(2021年1月現在、オムロンサイニックエックス株式会社 リサーチアドミニストレイティブディビジョン プリンシパルインベスティゲーター)として中心的な役割を果たしていた牛久祥孝氏は日経新聞社の取材2019年9月1日付記事以降「ヒントンに敗れた男」として知られるようになりました。

何年も後に語り継がれるくらいにはILSVRCによる深層学習登場は鮮烈な印象を残していきました。この深層学習隆盛の背景には大規模データセットや計算リソースが充実してきたことが挙げられます。大規模データセットについては先のImageNetデータセットが代表的な例です。ImageNetデータセットは合計約1,400万枚、2万カテゴリのデータセットですが、標準的に用いられるのは、ILSVRCで用いられた1,000カテゴリの物体ラベルが各画像に付与された学習データ約128万枚、評価用データ5万枚のデータセットです。クラウドソーシングにより約2年間の歳月をかけ、約5万人が参加して画像データ収集・画像の厳選・ラベル付け・ラベルチェックを経てデータセットが完成されています。計算リソースについても、大規模並列計算に向けて作られたGraphics Processing Unit(GPU)を使用しています。AIブームが訪れる当時は「ゲームくらいにしか使用できない」とまで言われていたGPUですが、深層学習のブレイクにより市場規模が大きく拡大しました。

かくして、第3次AIブームの火蓋は切られました。私は博士課程学生としてこの時代を迎えた(ILSVRC 2012時に博士課程2年目)わけですが、最初は体力のある研究者が深層学習に取り掛かり、次に大部分の研究者が取り掛かり始めたのは2014年くらいからだったように思います。背景にはUC BerkeleyからリリースされたCaffeと呼ばれる深層学習フレームワークが登場したことで、すぐに試せるようになりました。その後、日本で一般的に広くAIという言葉をよく聞くようになったのは2016年以降だったと思います。現在ではFacebook社のPyTorchやGoogle社のTensorFlowなどが広く用いられ、研究者や技術者のみならず、学生や日曜プログラマでも比較的簡単に深層学習を用いたコンピュータビジョンのプログラムを扱えるようになってきました。

逆に言えば、コンピュータビジョンにあまり詳しくなくてもResNetGANなどのコードを扱って改良することができるため、研究者としては単なるモジュールの改善に止まらず「本質を捉えて見直す」⁠今までできなかったことができるようになる」などの研究に取り組みたいとは常に思います。誰でも技術実装をできるようになった(なってしまった)ことで比較的研究に対する参入障壁が下がり、研究者顔負けの研究をできる人が増えたことは辛いところではあります。しかし、私が学生だった頃は「CVの認識精度は信用ならない」と言われるくらいだったのが、最近では社会的にも注目を集めるくらいになり、市民権を得てきた中で研究できるのはとても幸せなことですね。

深層学習の性能向上と汎用性

前述のILSVRCは2012年以降も続けられ、2017年まで研究者コミュニティの中で続いていました。前述のCaffeが登場したことで深層学習による改善は熾烈を極めていくことになりますが、その後数年間は深層学習の層数を増やす、つまりよりモデルを深くすることでの改善がセオリーとなっていました。

ILSVRCに見る、深層学習構造の変遷
ILSVRCの変遷

2013年大会ではAlexNetの中間層を可視化し、その構造を見直すことで精度向上を図る手法が優勝しましたが、2014年大会ではオックスフォード大学からVGGNetが、Google社からGoogLeNetが提案され、1、2位を争いました。VGGNetやGoogLeNetは2021年現在も使用されることもあるアーキテクチャとして残されています。GoogLeNetはもちろん会社名から名付けられているのですが、VGGNetも研究室名のVisual Geometry Group(VGG)が由来です。ポイントとしては、GoogLeNetは畳み込みのサイズを数種類用意して統合するモジュールを用意して積み上げることで層を増やし、VGGNetは比較的小さなサイズ(3x3)の畳み込みカーネルを用意して数段回組み合わせて行くことで層数を増やしています。

2015年大会では今でも多くの研究者が用いることになるResNet(Residual Network)が提案されます。ResNetの登場は衝撃的でした。まず結果は投稿したタスクすべてで1位を獲得、ILSVRCのプレゼンでも印象的なスライドを残しています。また、ラスベガスで開催されたCVPR 2016の口頭発表前にはResNetの発表だけ拍手が起こり、その後のアワードセレモニーでは大方の予想通りベストペーパーを獲得していました。2021年1月現在では6万以上の論文にて引用されるなど、間違いなくCV分野の発展に貢献しています。

ResNetは入力とその入力に対し畳み込み処理を施した特徴マップの残差(Residual)を計算する基本ユニットを積み上げることでモデルを構成しています。CV分野において残差は、カメラ幾何や特徴抽出などの文脈でも古くから使用されてきましたが、深層学習の構造に取り入れるというアイディアはシンプルながら「層を深くすると性能が向上する」という定説に対して効果を最大限に発揮したようです。

ResNetの著者であるカイミン・フゥ氏[1]はいつも他の研究者が「これやっておけば良かった」⁠なぜ今まで思いつかなかったのか」というくらいシンプルな改善案で最大限の効果を発揮する手法を提案してくれるため、CV分野の研究者から一目置かれる存在です。分かりやすい・理にかなった方法で一気に精度を向上させる論文がCV分野では注目を集める傾向にあり、フゥ氏は何度もメジャー会議の舞台にてベストペーパーを獲得しています。

その後の2016, 2017年大会はResNetベースの改善になりました。特筆すべきはアテンション構造を導入したSqueeze-and-Excitation Network(SENet)でしょうか。パラメータ数と計算量の削減を同時に達成しつつも精度を向上させています。SENetが研究者コミュニティで開催されたILSVRCの最後の勝者となりました。

ResNet提案以降の構造。NAS/EfficientNetなどAutoML含む
構造の複雑化・自動化

深層学習構造を巡る競争はその後、NAS(Neural Architecture Search)が登場して効率的にパラメータを探索するEfficientNetに繋がり、人間が構造を探索する時代から「いかに(コンピュータに)構造を探索させるか」の時代に突入しました。ハイパーパラメータやデータ拡張などの部分においても自動化するAutoML(MLはMachine Learning)なる分野も大きくなり、あらゆることが自動化されつつあります。

画像識別のみならず、深層学習は物体検出、領域分割、画像説明文、動画認識などに応用された
他タスクへの応用

その間、他タスクへの応用がImageNetデータセットで扱っていた画像識別(Image Classification)に近いタスクから進んでいきました。画像識別は1枚の画像の入力に対して1つ以上のラベルを返却する問題設定であるため、周辺のタスクである物体検出(Object Detection; ラベルに追加して検出枠を出力⁠⁠、領域分割(Semantic Segmentation; 画像内の領域を意味ごとに塗り分ける)に対して適用されています。

ここで、機械学習には学習済みモデルを再利用して追加のタスクを行う転移学習という概念があります。転移学習は割と広い概念で色々方法論が確立されているのですが、深層学習、特に画像認識周りではあるデータセット(この場合にはImageNet)で事前に学習しておいて、異なるデータセットに対して追加で学習することを指します。物体検出であれば検出枠を推定するモジュールを挿入して追加学習、領域分割であればピクセルごとに色を塗り分ける構造を挿入して追加学習という具合に変更を加えます。

本当は、物体検出や領域分割、動画認識のモデルの変遷などを詳細に説明したかったのですが、そちらは既発表の参考資料に譲り、次に進みます。余談として、物体検出にておいてデファクトスタンダードとして扱われているFaster R-CNNというモデルがMicrosoft社から2015年に提案され、現在米国特許が取得されています[2]⁠。

生成モデルの登場と過熱ぶり

画像生成の鮮明さを競う敵対的生成ネットワーク(Generative Adversarial Network; GAN)も非常に活発に議論されていました。GANはGenerator(G; 生成器)とDiscriminator(D; 識別器)からそのモデルが構成されています。学習対象の画像データセットに対して、Gはできる限り綺麗な画像を生成する、Dは生成器により生成された画像なのかデータセットから(そのまま)入力された画像なのかを見分ける、というGとDの目的関数のMin-Max最適化(GはDを大きく騙したい、Gは画像データセットの分布にフィットさせたい)を解くことで両者の学習が進みます。

GANの詳細や大まかな流れは私が以前に作成した資料敵対的生成ネットワーク(GAN)にて説明していますが、オリジナルのGANが2014年に提案されてからは、以下のように発展していきました。

  • DCGAN(Deep Convolutional GAN⁠⁠:畳み込み層を構造内に導入。
  • Pix2Pix(Pixel-to-Pixel⁠⁠:画像のピクセル同士が対応付くという意味で条件付けられたGAN。ある画像からある画像への対応関係を学習する。この枠組みの中で例えばグレースケール画像からRGB画像、線画からイラストなどの変換が可能となる。さらに双方向の変換も可能。
  • CycleGAN:Pix2Pixの教師なし版。Pix2Pixの特徴でもある画像同士の双方向変換を利用して、ドメインを行き来する際の一貫性を学習する。
  • ACGAN:カテゴリ識別も同時に実施して条件付けることで、多様なカテゴリの学習を可能とした。生成画像の解像度をそれまでの64ピクセル四方から128ピクセル四方に拡張することにも成功し、データセットとしてImageNetを初めて使用したとして知られている。
  • WGAN/SNGAN(Wasserstein GAN / Spectral Normalization GAN⁠⁠:両者とも学習安定化を実現した。GANはもともと学習が不安定でパラメータに依存する側面があったが、WGANではEarth Mover Distance(EMD)を、SNGANではリプシッツ制約をDの学習安定化のための正則化として使用した。
  • PGGAN(Progressive Growing GAN⁠⁠:学習時にモデルの構造を変化させながら学習することで、徐々に生成の解像度を高くしていく方法論を提案した。
  • SAGAN(Self-Attention GAN⁠⁠:アテンション機構を採用。前景の物体をより鮮明に生成してから背景を描写するなどができるようになった。
  • BigGAN:超高精細なGANを生成。学習した画像データセット(3億枚画像を含むJFT-300M)や使用したグラフィックボードの枚数(512GPU⁠⁠、バッチサイズ(2048)などを比較的大きくすることで鮮明な画像を生成した。

GANの性能評価は、生成した画像が「物体カテゴリとして識別しやすいか」「物体カテゴリが多様な出力となっているか」について評価されます。ImageNetにて学習済みのInception(GoogLeNet)に生成画像xを入力して、出力のカテゴリyの確率分布p(y|x)を用いています。p(y)との類似度(正確にはKL Divergenceを用いた情報量同士の近さ)を計算し、すべてのxiに対して正規化してexpを計算したものがInception Score(IS)です。

クラウドソーシングにより人間のスコア付とISを比較した結果、相関があったとのことでISが使われるようになったようです。また、個別に計算するのみならず、正解画像群と生成画像群の分布間の距離を算出するFrechet Inception Distance(FID)も適用されています。ISで指摘されていた、識別器による事後確率はノイズの影響を多分に受けてしまう問題を緩和しています。

少し意外だったのが、グラフィクス系や機械学習系の国際会議のみならず、CV系の国際会議でGANを用いた画像の鮮明さが競われていたことです。元々は画像や動画、3次元系の認識率やエラー値を競っていたのですが、おそらくIS/FIDというスコアの提案により明確な評価ができるようになったという要因もあるように思います。

生成モデルについては鮮明な画像を生成できるということで期待度が非常に高く、当時競争の過熱ぶりを確認できました。学習が不安定であり初期パラメータ探索が重要であること、研究が進むたびに徐々にモデルのサイズが大きくなるという傾向もあり、計算リソースの量がそのまま業績の量に直結していきました。実は多少のIS/FIDの差がどの程度画像の鮮明さに直結するかは現在でも定かではないこともあり、各々の技術の宣伝に力が入ることも多かったように思います。その過程で、馬をシマウマに変換するという謎技術も駆使されましたが、これも論文を読んでもらうための宣伝だと言えます。

少量の教師により学習される深層学習

教師なし及び少量教師あり学習に対しても説明が必要でしょう。深層学習初期の発展は、人間が画像や動画などに対して教師ラベルを与え、教師ラベルと画像の対応関係をニューラルネットが学習していました。徐々にその教師ラベルは人間が新しく与えなくても既存のラベルから間接的に学習したり、自ら教師ラベルを生成して学習できることが明らかになってきました。

すべての概念を完璧に整理して区分けすることは難しいですが、学習戦略についてキーワードだけでもここで示しておきます。

  • Unsupervised Learning:教師なし学習。アノテーションが一切ないデータで学習。
  • Weak-supervised Learning:弱教師あり学習。文字通り弱いラベルのみで学習する。例として、画像識別のラベルのみを用いて間接的に領域分割の学習を実施するなど。
  • Semi-Supervised Learning:教師ラベルを持つデータと持たないデータで学習。通常は少量の教師ラベル付き画像と大量の教師なし画像により学習する問題設定。
  • Self-Supervised Learning:自己教師学習。自ら教師を作成して学習。CVの場合には追加学習を行う前の特徴表現を獲得する際に用いられる。
  • {Zero, One, Few}-shot Learning:0/1枚、もしくは数枚の画像のみで学習する枠組み。
  • Transfer Learning:転移学習。
  • Domain Adaptation:ドメイン適応。環境Aで学習したモデルをいかに環境Bにて使用するか、という枠組み。シミュレーション環境にて生成したデータを如何に実環境にて使用するかを検討するなど。
  • Reinforcement Learning:強化学習。

このすべてについて解説するのは紙面の関係で適切ではないため、もっとも勢いのあると言われる学習戦略である、自己教師学習(Self-Supervised Learning)について主に取り上げることにします。

自己教師学習とは、教師がないデータに対して自ら教師を作成し、その問題設定において良好な特徴表現を獲得することです。詳細については我々で作成した自己教師学習に関する資料の中で言及していますが、重要なポイントのみを説明します。

特徴表現の良さについては、ある解決したい特定のタスク(Target task)に有効なデータの特徴表現(Pretext task)を事前に解くことで獲得しておきます。自己教師については自動で生成できる教師信号を用いてPretext taskが定義されます。ここで、画像認識における自己教師学習の学習及び評価方法について以下に示します。

特徴表現学習
特徴表現学習
  • 特徴表現学習:教師ラベルなしの画像データセットを使用。画像の各画像に対して自己教師を生成、画像と自己教師をペアとして画像認識の学習を実施する。
  • 転移学習:特徴表現学習(Pretext task)で学習したモデルを初期値として、重み固定の特徴抽出器として用いる。転移学習用のデータセットに対して、最終の全結合層のみを更新して識別を実施する。

代表的なPretext taskには、例えば3x3の画像局所領域をシャッフルして整列問題を解くJigsaw Puzzle、グレースケール画像をカラー画像化するColorization、画像を回転させて回転角を推定するRotationなどがあります。2020年最初の頃に注目を集めたのが対比学習(Contrastive Learning)による自己教師であり、特にSimCLR(Simple Framework for Contrastive Learning of Visual Representations)においては自己教師学習と数%の教師のみで既存の教師あり学習に近接する精度を達成しました。

パラメータを増やした状態でSimCLRを適用すると、教師あり学習とほぼ同等の精度まで到達できることも明らかにしています。下図はSimCLRの論文中にて紹介された、教師あり学習、SimCLR、その他自己教師学習との比較を示したグラフです。Supervised(教師あり学習)は50層のResNet-50を用いてImageNetを学習した例です。SimCLRではPretext taskにてラベルなしのImageNetを学習し、転移学習時にはImageNetの中でも数%のラベルのみを用いて学習を実施しました。SimCLR(2x, 4x)という数字はResNet-50の特徴パラメータ数の増加を示しています。下図では教師あり学習のResNet-50とパラメータをおおよそ4倍にしたResNet-50 + SimCLRが同等の精度にまで到達したことを示します。

教師あり学習の精度に迫る自己教師学習
教師あり学習の精度に迫る自己教師学習

我々が2020年4月に資料を公開した当時のPretext taskの分類が下図です。自己教師学習はアイディアベースなところもあり分類が難しい部分もありますが、代表的な識別系(前述のJigsaw, Rotationなど⁠⁠、再構成系(前述のColorizationなど⁠⁠、現在精度の面で主流の対比系(Contrastive Learning)を始めあらゆる取り組みがなされています。

自己教師学習(Pretext task)の分類
自己教師学習(Pretext task)の分類

自己教師学習の話題から離れる前に、自己教師学習における有意義な取り組みを紹介します。ICCV 2019で提案されたこの論文はそれまで凝り固まってしまった自己教師学習のルール(例えばAlexNetのみしか使ってはいけない)を少し見直そう、さらにはより広いタスクで自己教師を使用していこう、という取り組みを実施していました(下図参照⁠⁠。さらには、Pretext taskで使用するデータセットのサイズもImageNetレベルの100万枚から最大でYFCC100Mデータセットの1億枚まで拡張しました。タスクにおいても、画像識別のみならず物体検出、法線推定、Few-shot画像識別や視覚的ナビゲーションにまで及びます。特に深層学習の時代になってから同一環境・同一パラメータ下での構造比較実験などは非常に貴重です。新しいアーキテクチャで分野を開拓するのと同様に、この手の一度基本に立ち返って分野自体を見直す論文も非常に貴重な取り組みであると言えます。

自己教師学習(Pretext task)の分類
自己教師学習(Pretext task)の分類

最近(2020〜2021年)の話題

最近の話として、すでに流行っている/これからの数年間はホットになるであろうトピックを取り上げます。CVPR 2020にて特に目立ったトピックは下図のとおりです。学習戦略は前述の「少量の教師により学習される深層学習」とほぼ同様なので、それ以外の4トピックについて説明します。

CVPR 2020において「特に」目立つトレンド
CVPR 2020において「特に」目立つトレンド

まずは深層学習による3D研究です。実際には3Dと言ってもメッシュや点群、ボクセルなど多様な表現があるため、分ける必要があります。CVPR 2020においてはBest Paperを始め、いくつもの論文がBest Paperとしてノミネートされていました。この背景には、3Dのデータセットの整備はもちろん、ベースとなる深層学習の構造や2D画像から取得できる情報の確立なども要因として挙げられます。深層学習の発展に伴い、単一から現実世界の情報をいかに引き出して表現するか、という研究は今後も増えてくると予想されます。

深層学習による3D研究
深層学習による3D研究

AIの説明性や倫理という面ではXAI(eXplainable AI)やFATE(Fairness, Accountability, Transparency, and Ethics)も見逃せません。実際に画像認識を実世界の問題に適用する際には、⁠なぜ、その結果が導かれたのか?(XAI⁠⁠」や「ある特定の人々に不利な出力をしてはならない(Fairness⁠⁠」という側面もあるため、今後対策されないと(いわゆる)AIは結局使えない、と言われかねません。CVの国際会議においてもFATEやXAIを主として議論するセッションを設けるなど、注目度が上がってきています。

XAI/FATE研究
XAI/FATE研究

学習効率化では、機械学習の取り組み自体をさらに自動化しようとする、いわゆるAutoMLに関する議論が行われています。高精度な画像認識を達成するため、学習の過程で構造自体を自動で探索するNeural Architecture Search(NAS)やパラメータ探索を徐々に大きくし効率的な構造を探索するEfficientNetなどがCV分野では中心的に議論されています。その他、データ拡張やハイパーパラメータ探索なども議論されているところをみかけます。

学習効率化
学習効率化

動画認識は以前から議論されていた内容ですが、最近では未解決問題を提供して、さらに盛り上がりを見せようとしています。例えば、深層学習による初期の人物行動認識では明らかな行動の違い(歩くと走るなど)を見分けるに止まっていたのですが、僅かな差の行動を見分ける詳細行動認識に関しても議論が進んでいます。わずかな顔の表情の違いにより心理状態を読み取ったり、人間の目でも分かりづらい疑わしい行動(万引きなど)も動画認識によりできる日が来るかもしれません。

動画認識
動画認識

上記のトレンド以外では、自然言語処理にて大注目のTransformerがCV分野でも適用されていることも見逃せない視点です。Vision Transformer(ViT)Data-efficient image Transformer(DeiT)なる枠組みも登場していて、来年にはさらに多くのタスクにて適用されそうな予感があります。BERT(NAACL 2019 Best Paper)GPT-3(NeurIPS 2020 Best Paper)などが爆発的に自然言語処理にて用いられているように、CVにおいても画像認識の主力となっている畳み込みニューラルネットを置き換えるかどうか、今後に注目です。

結びに

最後に、大変恐縮ながら我々の取り組みを紹介してこの記事の結びとしたいと思います。

我々の研究グループでは2020年、Pre-training without Natural Images(自然画像を用いない事前学習)というタイトルで論文を提案しました。これは、自然画像を用いずにできる限り良好な深層学習の特徴表現を獲得しようという取り組みです。ImageNetの公平性やプライバシー問題により商用利用が禁止されていることが背景にあります。教師ラベルなしのImageNetを用いる自己教師学習でも、結局は自然画像を用いていて画像ダウンロードや権利関係も含め完全にはクリアにはできていない状態です。この状況において我々は、画像パターンとその画像ラベルを自動で生成する数式ドリブン教師あり学習(Formula-driven Supervised Learning)を提案しました。画像パターンをある数式や自然法則などにより生成し、そのパラメータ区間により画像カテゴリ分けができるのであればいかなる方法でも事前学習用の大規模画像データセットが自動で構築可能とした点に貢献があります。論文中ではフラクタル幾何が最も良好な事前学習効果が得られることを示しています。現実世界の自然物などにフラクタル性が見られることを鑑みても、理にかなった手法であると言えます。当プロジェクトは画像識別のみならず、あらゆるタスクのための事前学習を提供していきたいと思います。

Pre-training without Natural Images

参考資料

おすすめ記事

記事・ニュース一覧