FGVCの深化:リアルタイム自動車分類器構築の教訓

Towardsdatascience

過去1年間、Multitelの研究者たちは、細粒度画像分類(FGVC)の複雑さに深く踏み込んできました。彼らの主要な目標は、単なる大まかなメーカーだけでなく、特定の自動車モデルや年式を識別できる堅牢な自動車分類器を開発し、さらに重要なことに、リソースが限られたエッジデバイス上で他のAIモデルと並行してリアルタイムで動作させることでした。この野心的な取り組みには、学術的な厳密さと実世界での展開における実用的な要求を融合させる必要がありました。

FGVCの課題は多岐にわたります。車と猫を区別する一般的な画像分類とは異なり、FGVCは非常に類似したオブジェクト間の微妙な視覚的差異を識別することを要求します。例えば、様々なBMWモデルや特定の製造年を区別するような場合です。このタスクは、いくつかの要因により本質的に困難です。第一に、クラス間の差異がごくわずかであることが多く、カテゴリを区別する視覚的な手がかりが信じられないほど微妙である可能性があります。同時に、クラス内の差異は大きく、同じカテゴリ内のインスタンスでも、照明、視点、背景の乱雑さの変化により、見た目が大きく異なる場合があり、これらの微妙な区別を容易に圧倒してしまいます。さらに、実世界のデータセットは、一部の一般的なカテゴリには豊富な例がある一方で、多くの稀なカテゴリはごく少数の画像でしか表現されていないというロングテール分布を示すことが多く、モデルがすべてのクラスで均等にうまく学習することを困難にしています。

この問題に対処するにあたり、Multitelチームはまず、FGVCに関する広範な学術文献をレビューしました。長年の研究により、ますます複雑なアーキテクチャとパイプラインが多数生み出されてきました。初期のアプローチでは、しばしば多段階モデルが用いられ、あるサブネットワークがオブジェクトの判別部分を特定した後、別のサブネットワークがそれを分類していました。その他の方法では、カスタム損失関数、高次特徴の相互作用、あるいは階層的なラベル依存関係が探求されました。最新の最先端ソリューションの多く、特にTransformerアーキテクチャに基づくものは、Stanford Carsのようなデータセットで97%を超える印象的なベンチマーク精度を達成しましたが、推論時間やデプロイ制約に関する議論が不足していることがよくありました。Multitelのリアルタイムエッジデバイスアプリケーションにとって、そのようなモデルは非実用的と見なされました。

最も複雑または特殊なソリューションを追求する代わりに、Multitelは直感に反する戦略を採用しました。それは、既知の効率的な汎用モデルが、最適に訓練された場合、より重く特殊化されたアーキテクチャに匹敵する性能を達成できるか、というものです。この探求は、多くの新しいAIアーキテクチャが、時代遅れのプロシージャで訓練された古いベースラインと比較される際に不公平であるという研究に触発されました。その前提は、ResNet-50のような確立されたモデルが、最新の訓練進歩の恩恵を受けることで、困難なFGVCベンチマークにおいても驚くほど強力な結果で「反撃」できるというものでした。

この哲学のもと、チームはアーキテクチャ固有の変更に頼ることなく、FGVCタスクで高性能を発揮できる強力で再利用可能な訓練手順を構築することに着手しました。中心となるアイデアは、ResNet-50のような効率的なバックボーンから始め、訓練パイプラインの洗練に完全に焦点を当てることで、その「レシピ」が最小限の調整で他のアーキテクチャにも広く適用できるようにすることでした。彼らは、「Bag of Tricks for Image Classification」、「Compounding Performance Improvements」、そしてWightmanの「ResNet Strikes Back」の論文を含む、いくつかの影響力のある論文からベストプラクティスを細心の注意を払って収集し、組み合わせました。

進化する訓練パイプラインを検証するため、研究者たちはStanford Carsデータセットを利用しました。これは、196の自動車カテゴリと16,000枚以上の画像を特徴とする、広く受け入れられているFGVCベンチマークであり、すべてバウンディングボックスに切り抜かれ、後続の分類シナリオをシミュレートしています。ImageNetで事前訓練されたResNet-50モデルを使用し、Nesterov加速勾配最適化、学習率0.01、バッチサイズ32で600エポック訓練した初期ベースラインでは、88.22%の精度を達成しました。

その後、チームは体系的に改善を導入しました。大規模バッチ学習(バッチサイズ128、学習率0.1)と線形学習率ウォームアップ戦略を組み合わせることで、精度は即座に89.21%に向上しました。TrivialAugmentの採用により、大きな飛躍がありました。これは、ランダムにデータ拡張をサンプリングして適用する、非常にシンプルでありながら効果的なパラメーターフリーのデータ拡張技術です。これだけで精度は92.66%に達しました。さらなる改良には、コサイン学習率減衰への切り替えが含まれ、精度は93.22%に向上し、ラベルスムージングも導入されました。この技術は、モデルの過信を減らすために正解ラベルを軟化させるもので、正則化を改善しただけでなく、より高い初期学習率(0.4)を可能にし、最終的に堅牢な94.5%の精度を達成しました。追加の正則化は、画像の一部をランダムに隠すRandom Erasingからもたらされ、精度は94.93%に向上しました。最後に、指数移動平均(EMA)が組み込まれました。EMAは単独のテストでは安定性と汎化性能を一貫して向上させましたが、既に最適化された完全なパイプラインへの統合では、さらなる増分的な改善は見られませんでした。しかし、その全体的な利点と低いオーバーヘッドのため、汎用性の観点から最終的なレシピに保持されました。

チームはまた、最終的にこの特定のタスクでは改善をもたらさなかった他の一般的な最適化技術も探求しました。ウェイト減衰(Weight decay)は一貫して性能を低下させ、CutmixやMixupのような高度な拡張方法も有害であることが判明しました。AutoAugmentは強力な結果をもたらしましたが、TrivialAugmentはその優れた性能とパラメーターフリーの性質により、チューニングプロセスを簡素化するため、より好まれました。テストされた様々なオプティマイザと学習率スケジューラの中で、Nesterov加速勾配とコサインアニーリングは一貫して最良の結果をもたらしました。

結論として、Multitelは標準的なResNet-50アーキテクチャに現代の訓練ベストプラクティスを体系的に適用し、組み合わせることで、Stanford Carsデータセットにおいて強力な性能を達成し、精度を95%近くまで押し上げました。これは、確立された技術を注意深く調整することで、汎用モデルの細粒度分類における能力を大幅に向上させることができることを示しています。しかし、このようなベンチマークの限界を認識することは極めて重要です。Stanford Carsデータセットはほぼクラスバランスが取れており、高品質でほとんどが正面からの画像を特徴とし、顕著なオクルージョンや実世界のノイズがありません。ロングテール分布、ドメインシフト、未見クラスの認識といった、実際のアプリケーションで広範に存在する課題には完全には対処していません。この研究は堅牢なベースラインと概念実証を提供するものですが、実世界のデータの固有の複雑さに対処できる真に実用的なシステムを構築することは、継続的な努力が必要です。