cjj19970505 / FedDAG

FedDAG: Federated DAG Structure Learning

Home Page:https://arxiv.org/abs/2112.03555

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FedDAG: Federated DAG Structure Learning

This repository contains an implementation of the federated DAG structure learning methods described in "FedDAG: Federated DAG Structure Learning".

If you find it useful, please consider citing:

@article{gao2021federated,
  title={Federated Causal Discovery},
  author={Gao, Erdun and Chen, Junjia and Shen, Li and Liu, Tongliang and Gong, Mingming and Bondell, Howard},
  journal={arXiv preprint arXiv:2112.03555},
  year={2021}
}

Requirements

  • CUDA 10.0
  • cuDNN 7.4
  • Anaconda

Use conda env create -f environment.yml to create a feddag_test_env conda environment.

Use 10.0-cudnn7-devel-ubuntu18.04 to create a container if running from docker.

Acknowledgments

  • Our implementation is highly based on the existing Tool-chain named gcastle pip link and paper link, which includes many gradient-based DAG structure learning methods.
  • Our implementation is also highly based on NOTEARS-tensorflow and MCSL.

Recommendations

  • Notice that NOTEARS-ADMM is a concurrent and interesting work that also considers the same problem with our FedDAG. In NOTEARS-ADMM, ADMM is leveraged to jointly learn the graph.
  • The baseline method of our FedDAG is MCSL. Please read this paper if you have concerns about the basic modules of FedDAG.

You are highly recommended to read these two papers and to cite them.

@inproceedings{Ng2022federated,
  author = {Ng, Ignavier and Zhang, Kun},
  title = {Towards Federated Bayesian Network Structure Learning with Continuous Optimization},
  booktitle = {International Conference on Artificial Intelligence and Statistics},
  year = {2022},
}

@inproceedings{ng2022masked,
  title={Masked gradient-based causal structure learning},
  author={Ng, Ignavier and Zhu, Shengyu and Fang, Zhuangyan and Li, Haoyang and Chen, Zhitang and Wang, Jun},
  booktitle={Proceedings of the 2022 SIAM International Conference on Data Mining (SDM)},
  pages={424--432},
  year={2022},
  organization={SIAM}
}

About

FedDAG: Federated DAG Structure Learning

https://arxiv.org/abs/2112.03555


Languages

Language:Python 98.2%Language:Shell 1.8%