Skip to content

Baijiong-Lin/FORUM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FORUM

Feiyang Ye, Baijiong Lin, Xiaofeng Cao, Yu Zhang, and Ivor Tsang. A First-Order Multi-Gradient Algorithm for Multi-Objective Bi-Level Optimization. In European Conference on Artificial Intelligence, 2024.

Highlights

  1. FORUM: a more effective and efficient solution for multi-objective bi-level optimization problems;

  2. A more efficient implementation for MOML (Hint: it is only applicable to multi-task learning with lower-level update iteration T=1).

Installation

  1. Create a virtual environment

    conda create -n forum python=3.8
    conda activate forum
    pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
  2. Clone the repository

    git clone https://github.com/Baijiong-Lin/FORUM.git
  3. Install LibMTL

    cd FORUM
    pip install -r requirements.txt
    pip install -e .

Training

  1. NYUv2 dataset: download the data from here, and then run the following command for training,

    cd examples/nyu
    python train_nyu.py --dataset_path /path/to/ --scheduler step --method FORUM --rho 0.1 --eta 0.1 --inner_step 5 ## FORUM
    python train_nyu.py --dataset_path /path/to/ --scheduler step --method MOML --weighting MGDA --eta 0.1 ## MOML
  2. Office-31 and Office-Home datasets: download the data from Office-31 and Office-Home, and then run the following command for training,

    cd examples/office
    python train_office.py --dataset office-31 --dataset_path /path/to/ --multi_input --method FORUM --rho 0.1 --eta 0.1 --inner_step 5 ## FORUM, Office-31
    python train_office.py --dataset office-31 --dataset_path /path/to/ --multi_input --method MOML --weighting MGDA --eta 0.1 ## MOML, Office-31
  3. QM9 dataset: the data will be downloaded automatically, thus directly running the following command for training,

    cd examples/qm9
    python train_qm9.py --dataset_path /path/to/ --method FORUM --rho 0.1 --inner_step 5 --eta 0.01 --lr 0.001 --weight_decay 0 ## FORUM
    python train_qm9.py --dataset_path /path/to/ --method MOML --weighting MGDA --eta 0.01 --lr 0.001 --weight_decay 0 ## MOML

Acknowledgement

This code is heavily based on LibMTL.

Citation

If you find this work/code useful for your research, please cite the following:

@inproceedings{ye2024forum,
  title={A First-Order Multi-Gradient Algorithm for Multi-Objective Bi-Level Optimization},
  author={Ye, Feiyang and Lin, Baijiong and Cao, Xiaofeng and Zhang, Yu and Tsang, Ivor},
  booktitle={European Conference on Artificial Intelligence},
  year={2024}
}

@article{lin2023libmtl,
  title={{LibMTL}: A {P}ython Library for Multi-Task Learning},
  author={Baijiong Lin and Yu Zhang},
  journal={Journal of Machine Learning Research},
  volume={24},
  number={209},
  pages={1--7},
  year={2023}
}

About

[ECAI 2024] A First-Order Multi-Gradient Algorithm for Multi-Objective Bi-Level Optimization

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages