diff --git a/research/gflownets/gflowcausal/README.md b/research/gflownets/gflowcausal/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9df7b79427dd805504d16626be987e39c88f475a --- /dev/null +++ b/research/gflownets/gflowcausal/README.md @@ -0,0 +1,51 @@ +# GFlowCausal + +## Paper + +GFlowCausal: Generative Flow Networks for Causal Discovery, NeurIPS 2022 + +## Introduction + +Causal discovery aims to uncover causal structure among a set of variables. Score-based is one primary causal discovery class, which focuses on searching for the best Directed Acyclic Graph (DAG) based on a predefined score function. However, most of them are not applicable on a large scale due to the limited searchability. Inspired by the active learning in generative flow networks, we propose GFlowCausal to convert the graph search problem to a generation problem, in which direct edges are added gradually. GFlowCausal aims to learn the best policy to generate high-reward DAGs by sequential actions with probabilities proportional to predefined rewards. We propose a plug-and-play module based on transitive closure to ensure efficiently sampling. Theoretical analysis shows that this module could guarantee acyclicity properties effectively and the consistency between final states and fully-connected graphs. We conduct extensive experiments on both synthetic and real datasets, and results show the proposed approach to be superior and also performs well in a large-scale setting. + +## Framework + + +Our code will be uploaded here soon after the company review. + +## main function + +main_ms.py + +## Datasets + +ER銆丼F + +## Environment + +language锛歱ython 3.7.0 + +framework锛歁indSpore 1.5.0 + +## Directory + +```test +. +鈹斺攢GFlowCausal + | + 鈹溾攢castle + | 鈹溾攢metrics + | 鈹溾攢datasets + | 鈹斺攢data_loader.py # data + | + 鈹溾攢networl + | 鈹溾攢model_ms.py # ms network model + | + 鈹溾攢README.md + 鈹溾攢requirements.txt + 鈹溾攢env.py # environment + 鈹溾攢lossnetwork.py # mindspore loss function + 鈹溾攢args.py + 鈹溾攢main_ms.py + 鈹斺攢utils.py +```