🚀 モデルカード: CLIP
CLIPモデルは、コンピュータビジョンタスクにおけるロバスト性の要因を調査するために開発されました。また、ゼロショットで任意の画像分類タスクに汎化するモデルの能力をテストするためにも開発されました。
tags:
- vision
widget:
- src: https://huggingface.co/datasets/mishig/sample_images/resolve/main/cat-dog-music.png
candidate_labels: playing music, playing sports
example_title: Cat & Dog
免責事項: このモデルカードは、公式のCLIPリポジトリから取得し、修正したものです。元のモデルカードはこちらで確認できます。
📚 詳細ドキュメント
モデルの日付
2021年1月
モデルの種類
ベースモデルは、画像エンコーダとしてViT-B/16 Transformerアーキテクチャを使用し、テキストエンコーダとしてマスク付き自己注意Transformerを使用しています。これらのエンコーダは、対照損失を通じて(画像、テキスト)ペアの類似度を最大化するように訓練されています。
元の実装には2つのバリアントがありました。1つはResNet画像エンコーダを使用し、もう1つはVision Transformerを使用していました。このリポジトリにはVision Transformerを使用したバリアントが含まれています。
関連ドキュメント
Transformersでの使用方法
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch16")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch16")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(text=["a photo of a cat", "a photo of a dog"], images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image # これは画像とテキストの類似度スコアです
probs = logits_per_image.softmax(dim=1) # ソフトマックスを取ることでラベルの確率を得ることができます
💻 使用例
想定される使用方法
このモデルは、研究コミュニティ向けの研究成果として開発されました。研究者がゼロショットでの任意の画像分類をより深く理解し、探求するのに役立つことを期待しています。また、このようなモデルの潜在的な影響に関する学際的な研究にも使用できることを期待しています。CLIPの論文には、このような分析の例として潜在的な下流の影響に関する議論が含まれています。
主な想定ユーザー
このモデルの主な想定ユーザーは、AI研究者です。主に、研究者がコンピュータビジョンモデルのロバスト性、汎化能力、その他の能力、バイアス、制約をより深く理解するために使用することを想定しています。
想定外の使用事例
このモデルのすべての展開された使用事例(商用または非商用)は、現在想定外です。制約された環境での画像検索などの非展開の使用事例も、特定の固定クラス分類法を用いた十分なドメイン内テストが行われていない限り、推奨されません。これは、私たちの安全性評価により、特にCLIPの性能が異なるクラス分類法によって大きく異なることを考慮すると、タスク固有のテストが非常に必要であることが示されているためです。このため、未テストかつ制約のない状態でのモデルの展開は、現在のところ潜在的に有害です。
監視や顔認識の分野に該当する特定の使用事例は、モデルの性能に関係なく、常に想定外です。これは、このようなタスクに人工知能を使用することは、現在、公平な使用を保証するためのテスト基準やチェックが不足しているため、時期尚早である可能性があるためです。
このモデルは英語以外の言語での訓練や評価が行われていないため、その使用は英語の使用事例に限定すべきです。
📊 データ
このモデルは、公開されている画像キャプションデータを使用して訓練されました。これは、いくつかのウェブサイトをクローリングし、YFCC100Mなどの一般的に使用されている既存の画像データセットを組み合わせることで行われました。データの大部分は、インターネットのクローリングから得られています。これは、データがインターネットに最も接続されている人々や社会をより代表しており、先進国、若年層、男性ユーザーに偏っていることを意味します。
データの使命宣言
このデータセットを構築する際の目標は、コンピュータビジョンタスクにおけるロバスト性と汎化能力をテストすることでした。その結果、焦点は、異なる公開されたインターネットデータソースから大量のデータを収集することにありました。データは主に非介入的な方法で収集されました。ただし、過度に暴力的な画像や成人向けの画像に対するポリシーがあり、そのようなコンテンツをフィルタリングできるウェブサイトのみをクローリングしました。このデータセットを商用または展開されたモデルの基礎として使用することは意図しておらず、データセットを公開する予定もありません。
📈 性能と制限
性能
私たちは、OCRからテクスチャ認識、細粒度分類まで、さまざまなコンピュータビジョンデータセットの幅広いベンチマークでCLIPの性能を評価しました。論文では、以下のデータセットでのモデルの性能が記述されています。
- Food101
- CIFAR10
- CIFAR100
- Birdsnap
- SUN397
- Stanford Cars
- FGVC Aircraft
- VOC2007
- DTD
- Oxford-IIIT Pet dataset
- Caltech101
- Flowers102
- MNIST
- SVHN
- IIIT5K
- Hateful Memes
- SST-2
- UCF101
- Kinetics700
- Country211
- CLEVR Counting
- KITTI Distance
- STL-10
- RareAct
- Flickr30
- MSCOCO
- ImageNet
- ImageNet-A
- ImageNet-R
- ImageNet Sketch
- ObjectNet (ImageNet Overlap)
- Youtube-BB
- ImageNet-Vid
制限
CLIPとその分析にはいくつかの制限があります。CLIPは現在、細粒度分類やオブジェクトのカウントなどの特定のタスクに苦戦しています。また、公平性とバイアスに関する問題も提起しており、これについては論文で議論されており、次のセクションでも簡単に触れます。さらに、CLIPのテスト方法にも重要な制限があります。多くの場合、線形プローブを使用してCLIPの性能を評価しており、線形プローブがモデルの性能を過小評価する可能性があるという証拠があります。
バイアスと公平性
私たちは、CLIPの性能とそれが示す特定のバイアスは、クラスの設計と、含めるカテゴリと除外するカテゴリの選択に大きく依存することを発見しました。Fairfaceの人の画像を犯罪関連および非ヒト動物のカテゴリに分類することで、CLIPによる特定の種類の侮辱のリスクをテストしました。人種と性別に関して大きな格差があることがわかりました。さらに、これらの格差は、クラスの構築方法によって変化する可能性があることがわかりました(詳細は論文の広範な影響のセクションに記載されています)。
また、Fairfaceデータセットを使用して、性別、人種、年齢の分類におけるCLIPの性能をテストしました(デフォルトでは、Fairfaceデータセットで構築されている人種カテゴリを使用します)。これは、異なる人口統計学的グループにおける性能の質を評価するためです。性別分類に関しては、すべての人種で精度が96%を超えており、「中東人」が最も高い精度(98.4%)を示し、「白人」が最も低い精度(96.5%)を示しました。さらに、CLIPは人種分類で平均約93%、年齢分類で約63%の精度を示しました。性別、人種、年齢の分類や侮辱的な危害をテストするための評価を使用するのは、単に人々に対するモデルの性能を評価し、潜在的なリスクを明らかにするためであり、そのようなタスクを支持または熱心に推進することを示すものではありません。
💬 フィードバック
モデルに関する質問やコメントの送信先
このGoogleフォームを使用してください。