リモートセンシング(衛星)画像とキャプションを使用してCLIPの微調整
CLIPの微調整には、リモートセンシング(衛星)画像とキャプションを使用します
リモートセンシング(衛星)画像とキャプションを使用したCLIPの微調整
今年の7月、Hugging FaceはFlax/JAXコミュニティウィークを開催し、自然言語処理(NLP)とコンピュータビジョン(CV)の分野でHugging Faceトランスフォーマーモデルを訓練するプロジェクトの提出をコミュニティに呼びかけました。
参加者はFlaxとJAXを使用したTensor Processing Units(TPUs)を使用しました。JAXは線形代数ライブラリ(numpy
のような)で、自動微分(Autograd)を行い、XLAにコンパイルできます。また、FlaxはJAX用のニューラルネットワークライブラリであり、エコシステムです。TPUの計算時間は、共同スポンサーであるGoogle Cloudが無料で提供しました。
その後の2週間で、チームはHugging FaceとGoogleの講義に参加し、JAX/Flaxを使用して1つ以上のモデルを訓練し、それらをコミュニティと共有し、モデルの機能を示すHugging Face Spacesデモを提供しました。約100チームが参加し、170のモデルと36のデモが生まれました。
私たちのチームは、おそらく他の多くのチームと同様に、12のタイムゾーンにまたがる分散型のチームです。私たちの共通点は、TWIML Slackチャンネルに所属していることであり、そこでは人工知能(AI)と機械学習(ML)のトピックに関心を持つメンバーが集まっています。
私たちは、OpenAIのCLIPネットワークをRSICDデータセットの衛星画像とキャプションで微調整しました。CLIPネットワークは、インターネット上で見つかる画像とキャプションのペアを使用して、自己教師ありの方法で視覚的な概念を学習します。推論中、モデルはテキストの説明に基づいて最も関連性の高い画像を予測するか、画像に基づいて最も関連性の高いテキストの説明を予測することができます。CLIPは、普段の画像に対してゼロショットで使用するには十分なパワフルです。しかし、衛星画像は普段の画像とは異なるため、CLIPを微調整することが有益であると考えました。私たちの直感は正しかったようで、評価結果(後述)が示すようになりました。この記事では、私たちのトレーニングと評価プロセスの詳細、およびこのプロジェクトへの今後の取り組みについて説明します。
私たちのプロジェクトの目標は、有用なサービスを提供し、CLIPを実用的なユースケースに使用する方法を示すことでした。私たちのモデルは、テキストクエリを使用して大規模な衛星画像のコレクションを検索するためにアプリケーションによって使用することができます。そのようなクエリは、画像全体を記述することができます(例:ビーチ、山、空港、野球場など)、またはこれらの画像内の特定の地理的または人工的な特徴を検索または言及することができます。CLIPは、他のドメインでも同様に微調整することができます。これは、医療画像のメディカルチームによって示されています。
テキストクエリを使用して大規模な画像コレクションを検索する能力は、非常に強力な機能であり、社会的な善だけでなく、悪意のある目的にも使用することができます。国家防衛や反テロ活動、気候変動の影響を管理可能な状態になる前に発見し対処する能力など、様々な応用が考えられます。ただし、この力は、権威主義的な国家による軍事や警察の監視などの目的で誤用される可能性もあるため、倫理的な問題も提起されます。
プロジェクトについては、プロジェクトページで詳細を読むことができます。また、独自のデータで推論に使用するために、トレーニング済みモデルをダウンロードすることもできます。デモでも実際の動作を確認することができます。
トレーニング
データセット
私たちは、主にRSICDデータセットを使用してCLIPモデルを微調整しました。このデータセットは、Google Earth、Baidu Map、MapABC、Tiandituから収集された約10,000枚の画像から構成されています。このデータセットは、Exploring Models and Data for Remote Sensing Image Caption Generation(Lu et al, 2017)を通じて、リモートセンシングキャプショニングの進歩を促進するために研究コミュニティに無償で提供されています。画像は(224, 224)のRGB画像で、さまざまな解像度で提供され、各画像には最大5つのキャプションが関連付けられています。
RSICDデータセットからの画像の例
さらに、UCMデータセットとシドニーデータセットも使用しました。UCMデータセットはUC Merced Land Useデータセットに基づいています。21のクラス(クラスごとに100枚の画像)に属する2100枚の画像が含まれており、各画像には5つのキャプションがあります。シドニーデータセットには、Google Earthからのシドニー、オーストラリアの画像が含まれています。613枚の画像が含まれており、7つのクラスに属しています。画像は(500, 500)のRGBで、各画像には5つのキャプションが提供されています。これらの追加のデータセットを使用したのは、RSICDデータセットがCLIPを微調整するのに十分な大きさかどうか確信が持てなかったためです。
モデル
私たちのモデルは、以下に示す元のCLIPモデルの微調整版です。モデルへの入力は、キャプションのバッチと画像のバッチであり、それぞれCLIPテキストエンコーダーと画像エンコーダーを介して渡されます。トレーニングプロセスでは、対照的な学習を使用して、画像とキャプションの共有埋め込み表現を学習します。この埋め込み空間では、画像とそれに対応するキャプションが近くに配置され、類似した画像と類似したキャプションも同様に近くに配置されます。逆に、異なる画像の画像とキャプション、または似ていない画像とキャプションは、お互いから遠ざけられる可能性があります。
CLIPのトレーニングと推論(画像提供:CLIP: テキストと画像をつなげる (https://openai.comclip/))
データ拡張
データセットの正則化とデータセットの大きさに起因する過学習の防止のために、画像とテキストの両方に拡張を使用しました。
画像の拡張は、PyTorchのTorchvisionパッケージの組み込み変換を使用してインラインで行いました。使用された変換は、ランダムクロッピング、ランダムリサイズとクロッピング、カラージッター、ランダムな水平および垂直の反転です。
テキストはバックトランスレーションを使用して拡張し、画像ごとに5つ未満のユニークなキャプションを生成しました。Hugging FaceのMarian MTファミリーのモデルを使用して、既存のキャプションをフランス語、スペイン語、イタリア語、ポルトガル語に翻訳し、英語に戻してこれらの画像のキャプションを補完しました。
以下の損失プロットに示されているように、画像の拡張は過学習を大幅に減少させ、テキストと画像の拡張はさらに過学習を減少させました。
拡張なし対画像拡張(上)および画像拡張対テキスト+画像拡張(下)の評価およびトレーニングの損失プロットの比較
評価
メトリクス
評価には、RSICDテストセットのサブセットが使用されました。このサブセットには30のカテゴリの画像が含まれています。評価は、各画像を「{category}の空中写真」という形式の30のキャプション文と比較することで行われました。モデルは、最も関連性の高いものから最も関連性の低いものまでの30のキャプションのランク付けリストを生成しました。k=1、3、5、および10に対して、上位kスコアに対応するカテゴリを、画像ファイル名で提供されたカテゴリと比較しました。スコアは評価に使用されたすべての画像セットに対して平均化され、kのさまざまな値について報告されました。
baseline
モデルは、事前学習済みのopenai/clip-vit-base-patch32
CLIPモデルを表しています。このモデルは、RSICDデータセットからのキャプションと画像で微調整され、以下に示すように性能が大幅に向上しました。
私たちのベストモデルは、画像とテキストの拡張を使用してトレーニングされ、バッチサイズ1024(8つのTPUコアの各128)および学習率5e-6のAdamオプティマイザーを使用してトレーニングされました。2番目のベースモデルは、同じハイパーパラメータを使用してトレーニングされましたが、学習率1e-4のAdafactorオプティマイザーを使用しました。以下の表にリンクされているモデルリポジトリから、どちらのモデルもダウンロードできます。
1 – 私たちのベストモデル、2 – 私たちの2番目のモデル
デモ
CLIP-RSICDデモには、以下の機能が備わっています。私たちの微調整済みCLIPモデルを使用して次の機能を提供します:
- テキストから画像の検索
- 画像から画像の検索
- 画像中のテキスト特徴の検索
最初の2つの機能は、RSICDテストセットを画像コーパスとして使用します。それらは、私たちの最良の微調整済みCLIPモデルを使用してエンコードされ、近似最近傍ベースの検索を可能にするNMSLibインデックスに格納されます。テキストから画像検索および画像から画像検索では、クエリのテキストまたは画像がモデルでエンコードされ、コーパスの画像ベクトルと一致させられます。3番目の機能では、着信画像をパッチに分割し、それらをエンコードし、問い合わせられたテキスト特徴をエンコードし、テキストベクトルを各画像パッチベクトルと一致させ、各パッチで特徴を見つける確率を返します。
今後の課題
私たちのモデルをさらに改良する機会を与えていただき、感謝しています。今後の課題のいくつかのアイデアは以下の通りです:
- CLIP エンコーダと GPT-3 デコーダを使用してシーケンスツーシーケンスモデルを構築し、画像キャプションのためにトレーニングします。
- 他のデータセットからのより多くの画像キャプションペアでモデルを微調整し、パフォーマンスを改善できるか調査します。
- 非 RSICD 画像キャプションペアにおけるモデルのパフォーマンスに微調整が与える影響を調査します。
- 微調整されたモデルが微調整されたカテゴリ以外の分類を行う能力を調査します。
- 画像分類など、他の基準を使用してモデルを評価します。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles