Large-scale pre-trained Vision Language Models (VLMs) have proven effective for zero-shot classification. Despite the success, most traditional VLMs-based methods are restricted by the assumption of partial source supervision or ideal vocabularies, which rarely satisfy the open-world scenario. In this paper, we aim at a more challenging setting, Realistic Zero-Shot Classification, which assumes no annotation but instead a broad vocabulary. To address this challenge, we propose the Self Structural Semantic Alignment (S^3A) framework, which extracts the structural semantic information from unlabeled data while simultaneously self-learning. Our S^3A framework adopts a unique Cluster-Vote-Prompt-Realign (CVPR) algorithm, which iteratively groups unlabeled data to derive structural semantics for pseudo-supervision. Our CVPR process includes iterative clustering on images, voting within each cluster to identify initial class candidates from the vocabulary, generating discriminative prompts with large language models to discern confusing candidates, and realigning images and the vocabulary as structural semantic alignment. Finally, we propose to self-learn the CLIP image encoder with both individual and structural semantic alignment through a teacher-student learning strategy. Our comprehensive experiments across various generic and fine-grained benchmarks demonstrate that the S^3A method offers substantial improvements over existing VLMs-based approaches, achieving a more than 15% accuracy improvement over CLIP on average. Our codes, models, and prompts are publicly released at https://github.com/sheng-eatamath/S3A.
翻译:大规模预训练视觉语言模型(VLMs)已被证明能有效用于零样本分类。尽管取得了成功,但大多数基于VLMs的传统方法受限于部分源监督或理想词汇表的假设,难以满足开放世界场景。本文针对更具挑战性的场景——真实零样本分类,该场景假设无标注数据,但提供广泛词汇表。为解决这一挑战,我们提出自结构语义对齐(S^3A)框架,该框架在从未标注数据提取结构语义信息的同时进行自学习。我们的S^3A框架采用独特的聚类-投票-提示-重对齐(CVPR)算法,通过迭代对未标注数据进行分组以获取结构语义,从而生成伪监督。CVPR流程包括:对图像进行迭代聚类、在聚类内部投票以从词汇表中识别初始候选类别、利用大语言模型生成区分性提示以识别易混淆候选类别,以及将图像与词汇表重对齐作为结构语义对齐。最后,我们提出通过师生学习策略对CLIP图像编码器进行个体与结构语义对齐的自学习。在多种通用与细粒度基准上的全面实验表明,S^3A方法相较于现有基于VLMs的方法有显著提升,平均准确率比CLIP提升超过15%。我们的代码、模型与提示已公开于https://github.com/sheng-eatamath/S3A。