GeoTTER: Leveraging Local Geometry of Optimal Transport for Zero-Shot Classification
Organizations: SUNY Buffalo · Lawrence Livermore National Lab
Abstract
We present GeoTTER, a novel framework that redefines optimal transport in the realm of zero-shot classification. Conventional methods often suffer from miscalibration and a lack of adaptability, as they rely on fixed cost matrices derived solely from pre-trained model embeddings. In contrast, GeoTTER addresses these limitations by incorporating two key techniques. First, to alleviate high-frequency label jaggedness (sample-level manifold jitter that assigns neighboring embeddings to different classes), GeoTTER integrates local geometric structure into the optimal transport formulation via graph-Laplacian smoothing, a technique grounded in spectral graph theory that enforces neighborhood consistency. Second, to correct coherent angular drift (a low-frequency orientation bias in which large groups of samples share the same angular offset from their true label prototypes), we fuse clustering-guided cost components with a globally adjusted transport cost, achieving a multi-objective optimization that respects both global distribution constraints and latent data structure. With a median improvement of +6.82% compared to zero-shot and +2.13% compared to OTTER, GeoTTER shows robust improvements across a diverse set of benchmarks.
Figures & tables
| N | 128 | 256 | 512 | 1000 | 2000 | 4000 | 8000 | 12000 | 16000 | 22000 | 32000 | 50000 | 75000 |
| EMD (ms, MB) | 0.31 (0.00) | 0.45 (0.00) | 0.78 (0.00) | 1.39 (0.00) | 4.36 (0.00) | 19.95 (0.00) | 46.00 (0.00) | 77.76 (0.00) | 335.11 (0.00) | 214.12 (0.00) | 438.97 (0.00) | 1317.09 (0.00) | 4945.55 (0.00) |
| Sinkhorn (ms, MB) | 1.89 (82.34) | 1.92 (82.37) | 1.98 (82.44) | 2.05 (82.56) | 2.04 (82.81) | 1.90 (83.30) | 3.19 (84.29) | 2.04 (85.29) | 2.06 (86.28) | 2.05 (87.77) | 2.42 (225.76) | 2.55 (298.14) | 3.39 (371.44) |
| Total OTTER (ms) | 0.88 | 1.00 | 1.58 | 1.95 | 4.97 | 20.60 | 47.22 | 79.13 | 336.82 | 216.31 | 442.84 | 1322.84 | 4953.70 |
| Total GeoTTER (ms) | 203.85 | 211.25 | 209.97 | 210.00 | 213.76 | 216.43 | 223.97 | 247.72 | 254.15 | 265.45 | 289.69 | 336.15 | 381.81 |
| Dataset | Standard Baselines | Other Baselines | Our Contribution | |||||
| ZS | PM ( Liusie et al.,, 2023 ) | OTTER ( Shin et al.,, 2024 ) | FPM | Sinkhorn | GeoTTER w/o Label Ratio | GeoTTER w/ Label Ratio | Multi- GeoTTER | |
| CIFAR10 | 88.34 | 28.51 | 91.74 | 88.37 | 91.70 | 91.04 | 92.93 | 93.22 |
| CIFAR100 | 63.82 | 60.97 | 67.94 | 65.16 | 68.12 | 63.92 | 68.88 | 67.73 |
| Caltech101 | 79.75 | 50.66 | 88.73 | 83.57 | 57.81 | 79.55 | 89.01 | 88.31 |
| Caltech256 | 79.80 | 8.74 | 86.99 | 82.48 | 70.81 | 78.30 | 89.62 | 89.23 |
| Food101 | 85.59 | 79.88 | 89.87 | 86.38 | 90.01 | 85.10 | 90.46 | 89.46 |
| Symbol / Notation | Meaning in This Paper |
| Size of the test batch ; the number of unlabeled samples . | |
| Number of classes (dimension of every probability vector). | |
| Unlabeled test-time batch in the target domain. | |
| Frozen backbone classifier that outputs logits for each . | |
| Raw soft-max scores for in probability simplex . | |
| Calibrated probability vector obtained after Test-Time Adaptation (TTA). |
| Dataset | ZS | OTTER(EMD) ( Liusie et al.,, 2023 ) | SK | GeoTTER |
| CIFAR10 | 88.92 | 89.68 | 89.65 | 91.05 |
| CIFAR100 | 58.51 | 64.41 | 64.59 | 65.71 |
| Caltech101 | 80.33 | 88.03 | 88.23 | 88.75 |
| Caltech256 | 78.20 | 84.95 | 85.20 | 86.95 |
| Food101 | 80.19 | 84.98 | 85.08 | 85.40 |
| STL10 | 97.05 | 97.79 | 97.79 | 98.16 |
| Dataset | ZS | OTTER(EMD) ( Liusie et al.,, 2023 ) | SK | GeoTTER |
| CIFAR10 | 95.00 | 95.96 | 96.06 | 96.93 |
| CIFAR100 | 72.34 | 77.67 | 78.03 | 78.25 |
| Caltech101 | 78.23 | 91.72 | 91.85 | 92.18 |
| Caltech256 | 83.41 | 90.65 | 91.06 | 93.06 |
| Food101 | 89.79 | 93.58 | 93.62 | 94.23 |
| STL10 | 99.15 | 99.38 | 99.38 | 99.66 |
| Dataset | ZS | OTTER(EMD) ( Liusie et al.,, 2023 ) | SK | GeoTTER |
| CIFAR10 | 66.51 | 76.78 | 76.99 | 78.57 |
| CIFAR100 | 38.69 | 44.42 | 44.66 | 45.76 |
| Caltech101 | 73.49 | 83.68 | 83.90 | 84.96 |
| Caltech256 | 72.98 | 80.50 | 80.78 | 83.07 |
| Food101 | 76.27 | 81.09 | 81.15 | 81.78 |
| STL10 | 93.11 | 95.53 | 95.56 | 96.35 |
| Dataset | ZS | OTTER(EMD) ( Liusie et al.,, 2023 ) | SK | GeoTTER |
| CIFAR10 | 79.08 | 81.11 | 81.04 | 83.38 |
| CIFAR100 | 46.32 | 50.93 | 50.97 | 51.96 |
| Caltech101 | 81.02 | 89.36 | 89.65 | 89.67 |
| Caltech256 | 76.62 | 83.71 | 83.95 | 86.19 |
| Food101 | 80.90 | 84.36 | 84.45 | 84.97 |
| STL10 | 96.47 | 97.15 | 97.21 | 97.89 |
| Dataset | ZS | OTTER(EMD) ( Liusie et al.,, 2023 ) | SK | GeoTTER |
| amazon | 72.14 | 97.14 | 97.17 | 97.54 |
| gender | 51.08 | 75.89 | 75.93 | 76.14 |
| civilcomments | 56.13 | 82.80 | 83.49 | 85.90 |
| hatexplain | 27.14 | 32.26 | 32.26 | 32.63 |
| Dataset | ZS | OTTER(EMD) ( Liusie et al.,, 2023 ) | SK | GeoTTER |
| amazon | 74.02 | 92.38 | 92.44 | 94.18 |
| gender | 84.02 | 92.38 | 92.38 | 92.37 |
| civilcomments | 48.29 | 82.17 | 82.25 | 85.13 |
| hatexplain | 30.41 | 35.23 | 35.29 | 34.24 |
| Setting | CF | GS | Accuracy (%) |
| Baseline | no | no | 88.61 |
| +CF | yes | no | 88.20 |
| +GS | no | yes | 89.62 |
| +CF+GS | yes | yes | 88.88 |
| Setting | CF | GS | Accuracy (%) |
| Baseline | no | no | 49.05 |
| +CF | yes | no | 50.73 |
| +GS | no | yes | 47.22 |
| +CF+GS | yes | yes | 49.60 |
| Setting | CF | GS | Accuracy (%) |
| Baseline | no | no | 77.07 |
| +CF | yes | no | 77.23 |
| +GS | no | yes | 76.34 |
| +CF+GS | yes | yes | 77.05 |
| Dataset | Min Shot | Max Shot | Total Samples | Num Classes |
| CIFAR10 | 1000 | 1000 | 10000 | 10 |
| CIFAR100 | 100 | 100 | 10000 | 100 |
| Caltech101 | 16 | 785 | 7162 | 101 |
| Caltech256 | 50 | 797 | 22897 | 257 |
| Country211 | 100 | 100 | 21100 | 211 |
| DTD | 40 | 40 | 1880 | 47 |
Zero-Shot Image Classification
Zero-shot image classification uses semantic descriptions and pretrained visual representations to recognize image classes without labeled examples.
See all 49 papers