既存の迅速な学習方法により、分散除外(OOD)検出の特定の機能が実証されていますが、ターゲットデータセットにおけるOOD画像の認識の欠如は、OOD画像と分散貢献(ID)カテゴリ間の不一致につながり、高い誤った陽性率につながります。この問題に対処するために、ID画像とOOD画像の境界を描写するために、それぞれが特定のクラスラベルの否定的な意味合いを表す一連のネガティブプロンプトを学習するように設計された「Negprompt」という名前の新しいOOD検出方法を紹介します。 IDデータのみでこのようなネガティブプロンプトを学習し、外部データへの依存を排除します。さらに、現在の方法では、すべてのIDクラスのサンプルの可用性を想定しているため、推論段階にトレーニングデータに存在しない新しいIDクラスを含めることができるオープンボキャブラリー学習シナリオでは効果がありません。対照的に、学習したネガティブプロンプトは、新しいクラスラベルに転送可能です。さまざまなイメージネットベースのベンチマークでの実験は、Negpromptが最先端のプロンプトラーニングベースのOOD検出方法を上回り、閉じたおよびオープンボカリの分類シナリオでハードOOD検出において一貫したリードを維持することを示しています。全文はAr arxivを利用できます。

NegPropMTの環境を準備する必要があります。
conda create -n NegPrompt python=3.8
conda activate NegPrompt
pip install -r requirements.txtまず、データセットを保存するために新しいディレクトリ./Dataを作成します。
次に、https://github.com/atsumiyai/locoopのようなデータセットをダウンロードしました。
このようなデータディレクトリを配置します。
NegPrompt
|-- data/
|-- ImageNet1k/
|-- ILSVRC/
|-- Data/
|-- CLS-LOC/
|-- train/
|-- val/
|protocols/
|-- iNaturalist/
|--images/
|-- SUN/
|--images/
|-- Places/
|--images/
|-- dtd/
|--images/
...
換気のためのネグプロムプトを訓練するために:
conda activate NegPrompt
python ./scripts/train_test_ood.pyハードOODのためにネットプロムプトを訓練する:
conda activate NegPrompt
python ./scripts/train_test_openset.py @inproceedings { li2024learning ,
title = { Learning Transferable Negative Prompts for Out-of-Distribution Detection } ,
author = { Li, Tianqi and Pang, Guansong and Bai, Xiao and Miao, Wenjun and Zheng, Jin } ,
booktitle = { Proceedings of the IEEE/CVF conference on computer vision and pattern recognition } ,
year = { 2024 }
}