MBCD
November 26, 2025 · View on GitHub
MBCD
Official pytorch implementation of the paper
Modality-Balanced Collaborative Distillation for Multi-Modal Domain Generalization
Accepted as a Oral at AAAI 2026
Abstract
Weight Averaging (WA) has emerged as a powerful technique for enhancing generalization by promoting convergence to a flat loss landscape, which correlates with stronger out-ofdistribution performance. However, applying WA directly to multi-modal domain generalization (MMDG) is challenging: differences in optimization speed across modalities lead WA to overfit to faster-converging ones in early stages, suppressing the contribution of slower yet complementary modalities, thereby hindering effective modality fusion and skewing the loss surface toward sharper, less generalizable minima. To address this issue, we propose MBCD, a unified collaborative distillation framework that retains WA’s flatness-inducing advantages while overcoming its shortcomings in multi-modal contexts. MBCD begins with adaptive modality dropout in the student model to curb early-stage bias toward dominant modalities. A gradient consistency constraint then aligns learning signals between uni-modal branches and the fused representation, encouraging coordinated and smoother optimization. Finally, a WA-based teacher conducts cross-modal distillation by transferring fused knowledge to each unimodal branch, which strengthens cross-modal interactions and steer convergence toward flatter solutions. Extensive experiments on MMDG benchmarks show that MBCD consistently outperforms existing methods, achieving superior accuracy and robustness across diverse unseen domains.
For more details of our paper, please refer to our AAAI 2026 paper.
Dependency
The code was tested using Python 3.10.4, torch 1.11.0+cu113 and NVIDIA GeForce RTX 4090 D.
Environments:
mmcv-full 1.2.7
mmaction2 0.13.0
learn2learn 0.2.0
EPIC-Kitchens Dataset
Download Pretrained Weights
-
Download Audio model link, rename it as
vggsound_avgpool.pth.tarand place under theEPIC-rgb-flow-audio/pretrained_modelsdirectory -
Download SlowFast model for RGB modality link and place under the
EPIC-rgb-flow-audio/pretrained_modelsdirectory -
Download SlowOnly model for Flow modality link and place under the
EPIC-rgb-flow-audio/pretrained_modelsdirectory
Download EPIC-Kitchens Dataset
Download Video and Optical Flow files
bash download_script.sh
Download Audio files EPIC-KITCHENS-audio.zip.
Unzip all files and the directory structure should be modified to match:
Click for details...
├── MM-SADA_Domain_Adaptation_Splits
├── rgb
| ├── train
| | ├── D1
| | | ├── P08_01
| | | | ├── frame_0000000000.jpg
| | | | ├── ...
| | | ├── P08_02
| | | ├── ...
| | ├── D2
| | ├── D3
| ├── test
| | ├── D1
| | ├── D2
| | ├── D3
├── flow
| ├── train
| | ├── D1
| | | ├── P08_01
| | | | ├── u
| | | | | ├── frame_0000000000.jpg
| | | | | ├── ...
| | | | ├── v
| | | ├── P08_02
| | | ├── ...
| | ├── D2
| | ├── D3
| ├── test
| | ├── D1
| | ├── D2
| | ├── D3
├── audio
| ├── train
| | ├── D1
| | | ├── P08_01.wav
| | | ├── ...
| | ├── D2
| | ├── D3
| ├── test
| | ├── ...
Run MBCD
cd EPIC-rgb-flow-audio
sh single_domain_DG.sh
sh multi_domain_DG.sh
HAC Dataset
Download the pretrained weights similar to EPIC-Kitchens Dataset and put under the HAC-rgb-flow-audio/pretrained_models directory.
This dataset can be downloaded at link.
Unzip all files and the directory structure should be modified to match:
Click for details...
HAC
├── human
| ├── videos
| | ├── ...
| ├── flow
| | ├── ...
| ├── audio
| | ├── ...
├── animal
| ├── videos
| | ├── ...
| ├── flow
| | ├── ...
| ├── audio
| | ├── ...
├── cartoon
| ├── videos
| | ├── ...
| ├── flow
| | ├── ...
| ├── audio
| | ├── ...
Run MBCD
cd HAC-rgb-flow-audio
sh single_domain_DG.sh
sh multi_domain_DG.sh
Contact
If you have any feedback, questions, or proposals for collaboration, please contact me at xiaohanwang@std.uestc.edu.cn.