Los métodos de aprendizaje rápido existentes han demostrado ciertas capacidades en la detección fuera de distribución (OOD), pero su falta de percepción de las imágenes de OOD en el conjunto de datos objetivo puede conducir a desajustes entre las imágenes OOD y las categorías de distribución (ID), lo que lleva a una alta tasa falsa positiva. Para abordar este problema, presentamos un nuevo método de detección de OOD, llamado 'NegPrompt', que está diseñado para aprender un conjunto de indicaciones negativas, cada una que representa una connotación negativa de una etiqueta de clase dada, para delinear los límites entre las imágenes ID y OOD. Aprende tales indicaciones negativas solo con datos de identificación, eliminando su dependencia de los datos externos. Además, los métodos actuales asumen la disponibilidad de muestras de todas las clases de identificación, lo que los hace ineficaces en escenarios de aprendizaje de vocabulario abierto donde la etapa de inferencia puede contener clases de identificación novedosas que no están presentes en los datos de capacitación. Por el contrario, nuestras indicaciones negativas aprendidas son transferibles a nuevas etiquetas de clase. Los experimentos en varios puntos de referencia basados en Imagenet demuestran que NEGPROMPT supera los métodos de detección OOD basados en el aprendizaje de aviso de última generación y mantiene un liderazgo consistente en la detección de OOD en escenarios de clasificación de vocabulario cerrado y abierto. El texto completo está disponible AR ARXIV.

Los entornos para NegPropmt deben estar preparados:
conda create -n NegPrompt python=3.8
conda activate NegPrompt
pip install -r requirements.txtPrimero, haga un nuevo directorio ./data para almacenar el conjunto de datos.
Luego descargue el conjunto de datos como https://github.com/atsumiyai/locoop.
Organice el directorio de datos de esta manera:
NegPrompt
|-- data/
|-- ImageNet1k/
|-- ILSVRC/
|-- Data/
|-- CLS-LOC/
|-- train/
|-- val/
|protocols/
|-- iNaturalist/
|--images/
|-- SUN/
|--images/
|-- Places/
|--images/
|-- dtd/
|--images/
...
Para entrenar el negprompt para la ood convetional:
conda activate NegPrompt
python ./scripts/train_test_ood.pyPara entrenar el Negprompt para Hard Oood:
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 }
}