🚀 モデルカード: CLIP
このモデルは、コンピュータビジョンタスクにおけるロバスト性の要因を調査するために開発されました。また、ゼロショットで任意の画像分類タスクに汎化するモデルの能力をテストするためにも開発されました。
🚀 クイックスタート
このモデルは研究コミュニティ向けの研究成果として意図されています。研究者がゼロショット、任意の画像分類をよりよく理解し、探索するのを可能にすることを期待しています。
✨ 主な機能
- コンピュータビジョンタスクにおけるロバスト性の研究
- ゼロショットでの任意の画像分類タスクへの汎化能力のテスト
📦 インストール
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("openai/clip-vit-large-patch14")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-large-patch14")
💻 使用例
基本的な使用法
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("openai/clip-vit-large-patch14")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-large-patch14")
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)
📚 ドキュメント
🔧 技術詳細
モデルの日付
2021年1月
モデルの種類
ベースモデルは、画像エンコーダとしてViT-L/14 Transformerアーキテクチャを使用し、テキストエンコーダとしてマスクされた自己注意Transformerを使用します。これらのエンコーダは、対照損失を通じて(画像、テキスト)ペアの類似度を最大化するように訓練されています。
元の実装には2つのバリアントがありました:1つはResNet画像エンコーダを使用し、もう1つはVision Transformerを使用しました。このリポジトリにはVision Transformerを使用したバリアントがあります。
データ
モデルは、公開されている画像キャプションデータで訓練されました。これは、少数のウェブサイトをクロールし、YFCC100Mなどの一般的に使用されている既存の画像データセットを使用することで行われました。データの大部分は、インターネットのクロールから得られています。これは、データがインターネットに最も接続されている人々と社会をより代表しており、先進国や若い男性ユーザーに偏っていることを意味します。
データの使命宣言
このデータセットを構築する目的は、コンピュータビジョンタスクにおけるロバスト性と汎化性をテストすることでした。その結果、焦点は、異なる公開されているインターネットデータソースから大量のデータを収集することにありました。データは、ほとんど介入しない方法で収集されました。ただし、過度に暴力的な画像や成人向けの画像に反対するポリシーがあり、そのようなコンテンツをフィルタリングできるウェブサイトのみをクロールしました。このデータセットを商業モデルや展開モデルの基礎として使用することを意図しておらず、データセットを公開する予定もありません。
性能と制限
性能
CLIPの性能は、OCRからテクスチャ認識、細粒度分類まで、さまざまなコンピュータビジョンデータセットの幅広いベンチマークで評価されています。論文では、以下のデータセットでのモデルの性能が記述されています:
- 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の性能を評価するために線形プローブを使用しており、線形プローブがモデルの性能を過小評価する可能性があるという証拠があります。
バイアスと公平性
CLIPの性能 - およびそれが示す特定のバイアス - は、クラスの設計と、含めるカテゴリと除外するカテゴリの選択に大きく依存することがわかりました。Fairfaceの人の画像を犯罪関連および非ヒト動物のカテゴリに分類することで、CLIPによる特定の種類の侮辱のリスクをテストしました。人種と性別に関して大きな格差があることがわかりました。さらに、これらの格差は、クラスの構築方法によって変化する可能性があることがわかりました。(詳細は論文の「広範な影響」セクションに記載されています)
また、Fairfaceデータセットを使用して、性別、人種、年齢の分類におけるCLIPの性能をテストしました(デフォルトでは、Fairfaceデータセットで構築されている人種カテゴリを使用します)。これは、異なる人口統計学的グループにおける性能の質を評価するためです。性別分類では、すべての人種で精度が96%を超えており、「中東人」が最も高い精度(98.4%)を示し、「白人」が最も低い精度(96.5%)を示しました。さらに、CLIPは人種分類で平均約93%、年齢分類で約63%の精度を示しました。性別、人種、年齢の分類や侮辱の害をテストするための評価を使用するのは、単に人々におけるモデルの性能を評価し、潜在的なリスクを明らかにするためであり、そのようなタスクに対する支持/熱意を示すためではありません。
📄 ライセンス
免責事項: このモデルカードは、公式のCLIPリポジトリから取得され、修正されたものです。こちらで確認できます。
フィードバック
モデルに関する質問やコメントを送る場所
このGoogleフォームを使用してください。