{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/d-vae-a-variational-autoencoder-for-directed","title":"D-VAE: A Variational Autoencoder for Directed Acyclic Graphs","arxiv_id":"1904.11088","date":"2019-04-24","proceeding":"NeurIPS 2019 12","authors":["Muhan Zhang","Shali Jiang","Zhicheng Cui","Roman Garnett","Yixin Chen"],"abstract":"Graph structured data are abundant in the real world. Among different graph types, directed acyclic graphs (DAGs) are of particular interest to machine learning researchers, as many machine learning models are realized as computations on DAGs, including neural networks and Bayesian networks. In this paper, we study deep generative models for DAGs, and propose a novel DAG variational autoencoder (D-VAE). To encode DAGs into the latent space, we leverage graph neural networks. We propose an asynchronous message passing scheme that allows encoding the computations on DAGs, rather than using existing simultaneous message passing schemes to encode local graph structures. We demonstrate the effectiveness of our proposed DVAE through two tasks: neural architecture search and Bayesian network structure learning. Experiments show that our model not only generates novel and valid DAGs, but also produces a smooth latent space that facilitates searching for DAGs with better performance through Bayesian optimization.","url_abs":"https://arxiv.org/abs/1904.11088v4","url_pdf":"https://arxiv.org/pdf/1904.11088v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"d-vae-a-variational-autoencoder-for-directed","repo_url":"https://github.com/muhanzhang/D-VAE","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"d-vae-a-variational-autoencoder-for-directed","repo_url":"https://github.com/muhanzhang/DVAE","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"bayesian-optimization","task_name":"Bayesian Optimization"},{"task_slug":"architecture-search","task_name":"Neural Architecture Search"},{"task_slug":null,"task_name":"valid"}],"methods":[{"method_slug":"lstm","method_name":"LSTM"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.11088","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.11088"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/muhanzhang/DVAE","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/muhanzhang/D-VAE","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":2,"unverified":6},"by_repo_kind":{"official":{"samples":8,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"266925fcd482144b","entry":"lstm","repo":"muhanzhang/D-VAE","repo_kind":"official","path":"software/enas/src/common_ops.py","file_url":"https://github.com/muhanzhang/D-VAE/blob/HEAD/software/enas/src/common_ops.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"266925fcd482144b"}},{"code_sha256_prefix":"19717b48f9cb0a9a","entry":"stack_lstm","repo":"muhanzhang/D-VAE","repo_kind":"official","path":"software/enas/src/common_ops.py","file_url":"https://github.com/muhanzhang/D-VAE/blob/HEAD/software/enas/src/common_ops.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"19717b48f9cb0a9a"}},{"code_sha256_prefix":"6c74edc2c0dc695e","entry":"compute_kernel_numpy","repo":"muhanzhang/D-VAE","repo_kind":"official","path":"bayesian_optimization/gauss.py","file_url":"https://github.com/muhanzhang/D-VAE/blob/HEAD/bayesian_optimization/gauss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6c74edc2c0dc695e"}},{"code_sha256_prefix":"f2a563259f2890ae","entry":"create_weight","repo":"muhanzhang/D-VAE","repo_kind":"official","path":"software/enas/src/common_ops.py","file_url":"https://github.com/muhanzhang/D-VAE/blob/HEAD/software/enas/src/common_ops.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f2a563259f2890ae"}},{"code_sha256_prefix":"b877cbe6c942ca45","entry":"get_highest_over_time","repo":"muhanzhang/D-VAE","repo_kind":"official","path":"bayesian_optimization/summarize.py","file_url":"https://github.com/muhanzhang/D-VAE/blob/HEAD/bayesian_optimization/summarize.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b877cbe6c942ca45"}},{"code_sha256_prefix":"41d695892acdddd6","entry":"load_ENAS_graphs","repo":"muhanzhang/D-VAE","repo_kind":"official","path":"util.py","file_url":"https://github.com/muhanzhang/D-VAE/blob/HEAD/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"41d695892acdddd6"}},{"code_sha256_prefix":"efe304eb2d1e874e","entry":"load_object","repo":"muhanzhang/D-VAE","repo_kind":"official","path":"util.py","file_url":"https://github.com/muhanzhang/D-VAE/blob/HEAD/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"efe304eb2d1e874e"}},{"code_sha256_prefix":"7aa8d3508c19b8f6","entry":"one_hot","repo":"muhanzhang/D-VAE","repo_kind":"official","path":"util.py","file_url":"https://github.com/muhanzhang/D-VAE/blob/HEAD/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7aa8d3508c19b8f6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}