Compositional zero-shot learning (CZSL) aims to recognize unseen attribute-object compositions by recombining primitives learned from seen pairs. Recent CZSL methods built on vision-language models (VLMs) typically adopt parameter-efficient fine-tuning (PEFT). They apply visual disentanglers for decomposition and manipulate token-level prompts or prefixes to encode compositions. However, such PEFT-based designs suffer from two fundamental limitations: (1) Implicit Composition Construction, where composition is realized only via token concatenation or branch-wise prompt tuning rather than an explicit operation in the embedding space; (2) Remained Feature Entanglement, where imperfect disentanglement leaves attribute, object, and composition features mutually contaminated. Together, these issues limit the generalization ability of current CZSL models. In this paper, we are the first to systematically study flow matching for CZSL and introduce FlowComposer, a model-agnostic framework that learns two primitive flows to transport visual features toward attribute and object text embeddings, and a learnable Composer that explicitly fuses their velocity fields into a composition flow. To exploit the inevitable residual entanglement, we further devise a leakage-guided augmentation scheme that reuses leaked features as auxiliary signals. We thoroughly evaluate FlowComposer on three public CZSL benchmarks by integrating it as a plug-and-play component into various baselines, consistently achieving significant improvements.
Figures & tables
Figure 1: (a) Humans recognize new concepts by recombining familiar primitives. (b) Prior CZSL methods compose only at the token level, which may not yield valid unseen compositions in the embedding space. (c) We perform explicit composition in the embedding space via learned attribute and object flows.
Figure 2: Training dynamics and performance comparison with baseline - Troika [ 15 ] . Our method yields a more balanced seen/unseen accuracy trajectory and consistently improves HM and AUC over the baseline on all three datasets.
Figure 3: Overall framework for FlowComposer . (a) Primitive flows: Two flow models learn time–conditioned velocities to transport primitive visual embeddings to their corresponding text embeddings. (b) Composer: the network to predict the combination coefficients supervised by least-squares targets. (c) Leakage-Guided Augmentation: To exploit residual cross-branch cues, each primitive flow is also trained to transport leaked features from the counterpart (or composition) branch to its own text target.
MIT-States [ 17 ]
UT-Zappos [ 52 ]
C-GQA [ 39 ]
Method
Seen
Unseen
HM
AUC
Seen
Unseen
HM
AUC
Seen
Unseen
HM
AUC
Closed-world Results
CLIP [ 45 ] [ICML21]
30.2
46.0
26.1
11.0
15.8
49.1
15.6
5.0
7.5
25.0
8.6
1.4
CoOP [ 55 ] [IJCV22]
34.4
47.6
29.8
13.5
52.1
49.3
34.6
18.8
20.5
26.8
17.1
4.4
DFSP(i2t) [ 36 ] [CVPR23]
47.4
52.4
37.2
20.7
64.2
66.4
45.1
32.1
35.6
29.3
24.3
8.7
DFSP(BiF) [ 36 ] [CVPR23]
47.1
52.8
37.7
20.8
63.3
69.2
47.1
33.5
36.5
32.0
26.2
9.9
Table 1: Quantitative comparison (§ 5.2 ) on three benchmarks within closed-world and open-world setting. * denotes results from our implementation. ‡ represents the methods leveraging the LLM’s knowledge.
Flows
Composer
LG-Aug
MIT-States [ 17 ]
UT-Zappos [ 52 ]
(§ 4.1 )
(§ 4.2 )
(§ 4.3 )
Seen
Unseen
HM
AUC
Seen
Unseen
HM
AUC
Baseline
✗
✗
✗
49.3
52.5
39.2
22.1
66.3
73.4
55.4
41.8
(1)
✓
✗
✗
51.3
52.1
39.4
22.6
68.8
74.8
55.1
43.0
(2)
✓
✗
✓
51.3
53.0
40.3
23.3
69.2
74.9
56.3
44.0
(3)
✓
✓
✗
51.0
53.0
40.1
23.3
69.7
74.9
58.5
45.8
Ours
✓
✓
✓
51.5
53.2
40.2
23.5
71.1
74.9
58.6
46.8
Table 2: Ablations. The results regarding the different components in our FlowComposer on MIT-States [ 17 ] and UT-Zappos [ 52 ] .
MIT-States
UT-Zappos
S
U
H
A
S
U
H
A
N/A
49.3
52.5
39.2
22.1
66.3
73.4
55.4
41.8
c
50.9
48.0
36.9
20.0
70.0
60.1
44.6
37.2
c+a+o
51.0
48.7
37.4
20.5
70.1
60.6
44.9
37.6
FlowComposer
51.5
53.2
40.2
23.5
71.1
74.9
58.6
46.8
Table 3: Analysis on flows (§ 4.1 ) on the MIT-States [ 17 ] and UT-Zappos [ 52 ] under closed-world setting.
Figure 4: Visual comparisons between CSP [ 41 ] , Troika [ 15 ] and our FlowComposer on three datasets. Red represents the wrong prediction, and Green represents the right prediction.
MIT-States
UT-Zappos
C-GQA
HM
AUC
HM
AUC
HM
AUC
Predictor
39.9
23.3
58.6
45.2
33.9
15.7
Composer
40.2
23.5
58.6
46.8
34.0
15.9
Table 4: Comparison between Predictor and Composer in MIT-States [ 17 ] , UT-Zappos [ 52 ] and C-GQA [ 39 ] on HM and AUC under the closed-world setting.
MIT-States
UT-Zappos
C-GQA
HM
AUC
HM
AUC
HM
AUC
Regressor
39.6
22.5
55.2
42.8
30.0
12.9
FM
40.2
23.5
58.6
46.8
34.0
15.9
Table 5: Comparison between regressor and our FM on HM and AUC under the closed-world setting.
Training
Validation
Test
Dataset
S
O
Cse
X
Cse
Cus
X
Cse
Cus
X
MIT-States [ 17 ]
115
245
1262
30k
300
300
10k
400
400
13k
UT-Zappos [ 52 ]
16
12
83
23k
15
15
3k
18
18
3k
C-GQA [ 39 ]
413
674
5592
27k
1252
1040
7k
888
923
5k
Table 6: Statistics of three datasets in our experiments. The number of elements in each set is reported.
Network
# Params (M) ↓
GFLOPs ↓
FM
74.06
0.07
Composer
25.97
0.03
Table 7: Model size and computational cost of our networks.
MIT-States
UT-Zappos
C-GQA
Acc ( % )
Attr
Obj
Attr
Obj
Attr
Obj
Random
1.13
0.47
5.74
8.14
0.25
0.05
Attr Branch
26.3
3.87
22.3
14.9
3.64
2.36
Obj Branch
6.3
45.2
7.69
63.2
2.12
17.3
Comp Branch
21.3
51.3
21.6
58.9
9.72
39.8
Table 8: Comparison between random prediction and predictions from Attribute , Object and Composition branches on class-balanced accuracy ( Acc ) for attributes and objects.
MIT-States
UT-Zappos
C-GQA
Disentangler
HM
AUC
HM
AUC
HM
AUC
w
39.2
22.1
55.4
41.8
29.7
12.5
w/o
36.8
20.4
51.4
37.5
28.0
11.2
Table 9: Comparison between Troika and Troika without disentangler in MIT-States [ 17 ] , UT-Zappos [ 52 ] and C-GQA [ 39 ] on HM and AUC under the closed-world setting.
Flows
Composer
LG-Aug
MIT-States [ 17 ]
UT-Zappos [ 52 ]
C-GQA [ 39 ]
(§ 4.1)
(§ 4.2)
(§ 4.3)
Seen
Unseen
HM
AUC
Seen
Unseen
HM
AUC
Seen
Unseen
HM
AUC
Baseline
✗
✗
✗
50.3
17.5
19.0
6.8
65.8
61.0
46.6
32.7
40.8
8.6
11.7
2.9
(1)
✓
✗
✗
50.1
18.0
19.6
7.0
68.5
60.8
49.3
33.8
41.2
9.0
12.0
3.2
(2)
✓
✗
✓
49.7
18.9
20.2
7.3
69.1
61.5
50.1
34.7
42.2
10.0
12.3
3.3
(3)
✓
✓
✗
49.6
18.8
20.0
7.2
69.8
61.1
50.7
34.9
41.9
10.3
12.2
3.2
Ours
✓
✓
✓
50.4
19.0
20.3
7.5
70.1
61.2
51.0
35.5
43.5
10.2
12.6
3.5
Table 10: Ablations. The results regarding the different components in our FlowComposer on MIT-States [ 17 ] , UT-Zappos [ 52 ] and C-GQA [ 39 ] under the open-world setting.
Method
MIT-States
UT-Zappos
C-GQA
CSP
6.6
10.3
20.2
+ Ours
9.3
12.5
24.6
Troika
17.6
11.0
69.8
+ Ours
19.2
12.7
74.4
Table 11: Inference time (ms/image) comparison between two baselines and ours.
Validation
Test
h
S
U
H
A
S
U
H
A
0.1
44.6
40.6
32.9
15.5
44.8
40.7
34.0
15.9
0.5
44.6
39.9
32.6
15.2
43.8
40.0
32.9
15.1
1.0
42.0
36.7
29.8
13.0
40.3
36.9
29.7
12.7
Table 12: Results regarding stepsize h (§ 4.2) on the validation and test set under the closed-world setting for C-GQA [ 39 ] .
MIT-States [ 17 ]
UT-Zappos [ 52 ]
C-GQA [ 39 ]
Method
Seen
Unseen
HM
AUC
Seen
Unseen
HM
AUC
Seen
Unseen
HM
AUC
CSP ∗ [ 41 ] [ICLR23]
46.6 ±0.1
49.9 ±0.1
36.3 ±0.1
19.4 ±0.1
64.2 ±0.7
66.2 ±1.2
46.6 ±1.2
33.0 ±1.3
28.8 ±0.1
26.8 ±0.1
20.5 ±0.1
6.2 ±0.0
+FlowComposer
48.4 ±0.2
50.4 ±0.1
37.8 ±0.2
20.7 ±0.1
66.9 ±0.4
68.0 ±0.7
51.4 ±0.7
38.2 ±0.8
29.0 ±0.1
31.0 ±0.2
23.1 ±0.2
7.8 ±0.2
Troika ∗ [ 15 ] [CVPR24]
49.0 ±0.4
53.0 ±0.2
39.3 ±0.2
22.1 ±0.1
66.8 ±1.1
73.8 ±0.6
54.6 ±0.5
41.7 ±0.7
41.0 ±0.2
35.7 ±0.3
29.7 ±0.2
12.4 ±0.1
+FlowComposer
51.7 ±0.3
53.1 ±0.1
40.2 ±0.1
23.4 ±0.1
71.5 ±0.6
75.0 ±0.3
58.8 ±0.4
46.7 ±0.3
44.8 ±0.1
40.6 ±0.1
34.1 ±0.1
15.9 ±0.1
Table 13: Performance on MIT-States [ 17 ] , UT-Zappos [ 52 ] , and C-GQA [ 39 ] , averaged over 5 random seeds with corresponding standard deviations. * marks results taken from the respective original publications.
Figure 5: The purple bar denotes the value of a^ and the green bar denotes the value of b^ , which are the coefficients for attribute and object velocities respectively.
Zero-shot learning lets models recognize classes or solve tasks absent from task-specific training examples by using semantic descriptions or pretrained knowledge.