最新AI論文をキャッチアップ

互換性を考慮したニューラルアーキテクチャサーチ「CMP-NAS」

互換性を考慮したニューラルアーキテクチャサーチ「CMP-NAS」

vector search

3つの要点
✔️ 互換性を考慮したニューラルアーキテクチャサーチ(NAS)手法を提案
✔️ アーキテクチャの互換性への影響と提案手法の有効性を示した
✔️ 画像検索システムにおいて精度低下を最低限に抑えて効率を最大化 

Compatibility-aware Heterogeneous Visual Search
written by Rahul DuggalHao ZhouShuo YangYuanjun XiongWei XiaZhuowen TuStefano Soatto
(Submitted on 13 May 2021)
Comments: Accepted by CVPR 2021.

Subjects: Computer Vision and Pattern Recognition (cs.CV); Artificial Intelligence (cs.AI); Machine Learning (cs.LG)

code: 

本記事で使用している画像は論文中のもの、またはそれを参考に作成したものを使用しております。

はじめに

CVPR2021の採択論文になります。画像検索システムは、実サービスを考慮するとギャラリーセットとクエリはそれぞれ埋め込みにおいて異なる要件を持つことが一般であり、クエリは通常リソース制約があります。その上で、基本的にリアルタイム(そうでなくともより早く)に捌く必要があります。しかし、一般的に画像検索システムではギャラリーセットとクエリで同じ埋め込みモデルを使用するHomogeneousなシステムを構成するのが現状です。

このケースには二つの設計が考えられ、ギャラリーセットに合わせて大きなモデルを使う場合(上図のオレンジ)は、高い精度を得る代わりに効率を犠牲にします。反対に、クエリに合わせて小さいモデルを使用する場合(上図の緑)は、精度を犠牲にし、高い効率を得ます。このように、画像検索システムを構成する上で精度と効率はトレードオフの関係になってしまいます。

ここで、著者らはギャラリーセットは大きなモデルで、クエリはコンパクトなモデルで推論を行うという、異なる埋め込みモデルから構成されるHeterogeneousなシステムの実現を目指します。この構成になれば、精度と効率の両方をとることができます。これを実現するためには、それぞれの埋め込みモデルに互換性がなければなりませんが、ここで著者らの先行研究であるBackward-Compatible Training(BCT)が活用されます。加えて、著者らはBCTをニューラルアーキテクチャサーチ(NAS)と組み合わせることで、最先端の互換性精度を達成するアーキテクチャを発見できることを示しています。

Backward-Compatible Training

本手法の基礎技術となる、後方互換性のある表現学習を実現する手法となります。以前こちらの記事で紹介しているので、まずはそちらを読んでいただけると理解がしやすいと思います。

課題背景としては、画像(ベクトル)検索システムにおいて埋め込みモデルを更新する際、別々にトレーニングされたモデルは通常互換性がなく、埋め込み空間を共有するとは限らない(通常全く異なる)ため、下図のように更新前後で埋め込み表現同士の比較がなり立たなくなってしまうという問題の解決を目指した手法になります。埋め込みに互換性があるように表現学習を行う手法を提案しています。詳細はここでは略します。

この問題はギャラリーセット用の大きな埋め込みモデルから、クエリ用のコンパクトな埋め込みモデルを作る際にも該当しますが、本論文でもこのBCTを基礎技術として活用することでクリアします。また、以降では互換性基準についてはBCTの論文と同様の基準のもと議論を進めています。

提案手法:CMP-NAS

では、前述の先行研究からの提案手法の新規性の部分を紹介していきます。著者らはBCTのさらなる活用として、ここまで話したような画像検索のHeterogeneousな構成のシステムを実現するアイデアを示し、加えて、BCTをニューラルアーキテクチャサーチ(NAS)に応用するアイデアを提案しています。これにより、モデルをコンパクトにしつつ出来るだけ精度低下を抑えることができるようになります。

このアーキテクチャの最適化において互換性の概念を考慮し、検証を行った部分が本論文の新規性であり、大きな貢献部分になります。アーキテクチャにおける互換性とはなんなのかとなると思いますので、以下ではまず、互換性の2つのレベルについて著者らが言及しているものを解説します。

Weight-level compatibility

ギャラリーセットの埋め込みモデル$\phi_g$とその分類器$K_g$が与えられたとき、Weight-levelの互換性は、互換性ルールが満たされるようなクエリモデル$\phi_q$の重み$w_q$を学習することを目的とします。この場合、目的関数としては以下のものが考えられます。イメージとしてはギャラリーセットの埋め込みベクトル用の分類器$K_g$の損失を加える感じになります。

こちらはすでに話した通り、BCTを使うことで最も優れた互換性性能が達成されます。他にも、古いモデルからFine-tuningすることである程度Weight-levelの互換性を達成することもできますが、こちらはクエリモデルのアーキテクチャに対してより強い制約を持つという欠点も持ちます。 

Architecture-level compatibility

次に、Architecture-levelの互換性ですが、こちらはギャラリーモデル$\phi_g$と分類器$K_g$が与えられたとき、クエリモデル$\phi_q$に対して、固定されたギャラリーモデルと最も互換性のあるアーキテクチャ$a_q$を探索することを目的としています。

Architecture-levelの互換性の必要性については、以下の2つの疑問と実験からの結論によってどう気付けられています。

  • Q1:アーキテクチャは互換性にどの程度影響するのか?
  • Q2:従来のNASは互換性のあるアーキテクチャを見つけることができるのか

これらの疑問の回答を得るために、著者らはShuffleNet探索空間から、約3億フロップの規模を持つアーキテクチャをランダムに40種抽出し、実験を行いました。実験からの結論は以下になります。

  • A1:上図(a)には、これらのアーキテクチャをBCTで学習した時のHeterogeneous設定の精度をフロップ数の軸で分けてプロットしています。同フロップ数においても精度に大きく差が出ていることから、アーキテクチャが実際に精度に測定可能な影響を持っていることを示しています
  • A2:上図(b)は、同じアーキテクチャを利用して通常の学習を行うパターンとBCTで学習を行うパターンを比較しています。Homogeneous設定の精度とHeterogeneous設定の精度をプロットしていますが、図から二つの精度の相関が低く、従来のNASでは最も互換性のあるアーキテクチャの探索に成功していない可能性を示しています

また、上図(c)からはBCTを利用した方がHomogeneousとHeterogeneous設定の精度の相関が高まることもわかっています。このことから、従来のNASにBCTを適用することで、互換性のあるアーキテクチャ探索が可能になると予想することができると思います。

CMP-NASのアルゴリズム

ここまで述べたように、クエリ用のコンパクトなモデルを作る際、Weight-levelとArchitecture-levelの両方の互換性を確保できるのが望ましいことになります。通常のNASおよびモデルの軽量化に用いられる蒸留では、どちらの互換性においても確保できていませんが、著者らはNASにBCTを組み合わせることで解決しています。以下ではCMP-NASの詳細を説明していきますが、アルゴリズム自体はシンプルになります。

  • 第一段階:クエリアーキテクチャ$a_q$に対して、トレーニングセット$T$を使用し、BCTによるトレーニングを実行し、最適化した重み$w^*_q$と分類器$K^*_q$を求める
    •  
  • 第二段階:第一段階で求まった$w^*_q$と$K^*_q$を利用して、検証セットで評価された報酬$R$を最大化することで、探索空間$\omega$において最適なクエリアーキテクチャを見つける
    •  

なお、報酬関数$R$としては以下の3つを検証しています。

$M(クエリ埋め込みに利用するモデル, ギャラリー埋め込みに利用するモデル)$を表しています。$R_1$はHomogeneous設定でベースラインの報酬であり、$R_2$はHeterogeneous設定での精度を、$R_3$は両方の精度を含めて設計されています。

ちなみに著者らの実験結果からは、$R_3$が最も優れていることがわかっています。また、探索空間にはShuffleNetベースのスーパーネットワークを対象とし、探索戦略としてはEAを使用しています。詳細は論文の方を参照してください。

実験

それでは、著者らの行った実験を簡単に紹介していきます。顔の検索とファッションアイテムの検索の二つのタスクで、著者らの提案しているHeterogeneousなシステムの有効性を示すための実験を行っています。

まず、下図(a)は顔検索において、CMP-NASで求めたアーキテクチャと他の軽量アーキテクチャを比較したものになります。Paragon設定は制約のない巨大なモデル(本論文ではResNet-101を使用している)でギャラリーとクエリを埋め込んだケースの精度で、Homogeneous設定は下軸で表示されているアーキテクチャをギャラリーとクエリの両方に使用したケース、Heterogeneous設定はギャラリーセットをResNet-101で、クエリを下軸のアーキテクチャで埋め込むケースになります。

この結果から、CMP-NASで求めたアーキテクチャが最もParagonに近く、アーキテクチャの互換性が精度を大幅に向上させることを示しています。また、どのアーキテクチャのケースでもHomogeneousシステムを上回っていることから、Heterogeneousシステムの有効性もわかります。

上図(b)はファッションアイテム検索での実験結果ですが、こちらも同様に提案手法が最も良い性能を示しています。

推論コスト面も含めると、下記に顔検索タスクでの指標で示していますが、結果としてベースライン(MobileNetV2)と比較して大幅に精度向上を達成しつつ、ベースラインと同等の効率を得るアーキテクチャの獲得に成功しています。

まとめ

ここまで述べたように、ベクトル検索システムにおいて従来トレードオフとなっていた精度と効率の問題に対処した、非常に有効な手法となっています。個人的にこういったトレードオフを解決していくアイデアは非常に面白く、実応用によるメリットも大きいので、面白い論文だなと感じました。

宣伝

cvpaper.challenge主催でComputer Visionの分野動向調査,国際発展に関して議論を行うシンポジウム(CCC2021)を開催します.
世界で活躍している研究者が良い研究を行うための講演や議論が聴ける貴重な機会が無料なので,みなさん貴重な機会を逃さないように!!

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!
tonouchi avatar
MLエンジニア。画像系の研究開発やML基盤構築をやってます。 Twitterアカウント: @tono2700

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする