{"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/neural-architecture-search-using-bayesian","title":"Interpretable Neural Architecture Search via Bayesian Optimisation with Weisfeiler-Lehman Kernels","arxiv_id":"2006.07556","date":"2020-06-13","proceeding":"ICLR 2021 1","authors":["Binxin Ru","Xingchen Wan","Xiaowen Dong","Michael Osborne"],"abstract":"Current neural architecture search (NAS) strategies focus only on finding a single, good, architecture. They offer little insight into why a specific network is performing well, or how we should modify the architecture if we want further improvements. We propose a Bayesian optimisation (BO) approach for NAS that combines the Weisfeiler-Lehman graph kernel with a Gaussian process surrogate. Our method optimises the architecture in a highly data-efficient manner: it is capable of capturing the topological structures of the architectures and is scalable to large graphs, thus making the high-dimensional and graph-like search spaces amenable to BO. More importantly, our method affords interpretability by discovering useful network features and their corresponding impact on the network performance. Indeed, we demonstrate empirically that our surrogate model is capable of identifying useful motifs which can guide the generation of new architectures. We finally show that our method outperforms existing NAS approaches to achieve the state of the art on both closed- and open-domain search spaces.","url_abs":"https://arxiv.org/abs/2006.07556v2","url_pdf":"https://arxiv.org/pdf/2006.07556v2.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":"neural-architecture-search-using-bayesian","repo_url":"https://github.com/xingchenwan/nasbowl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"bayesian-optimisation","task_name":"Bayesian Optimisation"},{"task_slug":"architecture-search","task_name":"Neural Architecture Search"}],"methods":[{"method_slug":"gaussian-process","method_name":"Gaussian Process"},{"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=2006.07556","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.07556"}},"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":"deterministic:regex_extraction","url":"https://github.com/google-research/nasbench","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/D-X-Y/NAS-Bench-201","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/automl/nas_benchmarks","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xingchenwan/nasbowl","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran_honours":1,"unverified":17},"by_repo_kind":{"listed":{"samples":12,"ran":0,"repositories":1},"found_in_text":{"samples":7,"ran":2,"repositories":2}},"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":"a6de71afa55f4f9b","entry":"hash_module","repo":"google-research/nasbench","repo_kind":"found_in_text","path":"nasbench/lib/graph_util.py","file_url":"https://github.com/google-research/nasbench/blob/HEAD/nasbench/lib/graph_util.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a6de71afa55f4f9b"}},{"code_sha256_prefix":"17e87ce4fcceba76","entry":"train_and_eval","repo":"automl/nas_benchmarks","repo_kind":"found_in_text","path":"experiment_scripts/run_regularized_evolution.py","file_url":"https://github.com/automl/nas_benchmarks/blob/HEAD/experiment_scripts/run_regularized_evolution.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"17e87ce4fcceba76"}},{"code_sha256_prefix":"202d26d511c5371d","entry":"add_color","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"bayesopt/utils.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/bayesopt/utils.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":"202d26d511c5371d"}},{"code_sha256_prefix":"2a97c65c41cd8219","entry":"build_graph","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"loader.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/loader.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":"2a97c65c41cd8219"}},{"code_sha256_prefix":"3d48c1d48f8af9a9","entry":"create_nasbench201_graph","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"bayesopt/generate_test_graphs.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/bayesopt/generate_test_graphs.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":"3d48c1d48f8af9a9"}},{"code_sha256_prefix":"1744de6273e76dc3","entry":"encoding_to_nx","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"bayesopt/utils.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/bayesopt/utils.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":"1744de6273e76dc3"}},{"code_sha256_prefix":"82c1defce60e94b6","entry":"fix","repo":"automl/nas_benchmarks","repo_kind":"found_in_text","path":"data_collection/train_fcnet.py","file_url":"https://github.com/automl/nas_benchmarks/blob/HEAD/data_collection/train_fcnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"82c1defce60e94b6"}},{"code_sha256_prefix":"25eb8182e13b6c57","entry":"get_data","repo":"automl/nas_benchmarks","repo_kind":"found_in_text","path":"data_collection/train_fcnet.py","file_url":"https://github.com/automl/nas_benchmarks/blob/HEAD/data_collection/train_fcnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"25eb8182e13b6c57"}},{"code_sha256_prefix":"3f165eea0619d62c","entry":"get_grad","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"bayesopt/gp.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/bayesopt/gp.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":"3f165eea0619d62c"}},{"code_sha256_prefix":"b7eaf69387d2ac0c","entry":"load_from_pickle","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"loader.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/loader.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":"b7eaf69387d2ac0c"}},{"code_sha256_prefix":"3e9dfc4b41d4c9db","entry":"mean_squared_err","repo":"automl/nas_benchmarks","repo_kind":"found_in_text","path":"data_collection/train_fcnet.py","file_url":"https://github.com/automl/nas_benchmarks/blob/HEAD/data_collection/train_fcnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3e9dfc4b41d4c9db"}},{"code_sha256_prefix":"9c64a2257fd875c5","entry":"mutate_arch","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"bayesopt/generate_test_graphs.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/bayesopt/generate_test_graphs.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":"9c64a2257fd875c5"}},{"code_sha256_prefix":"764c6062e2d15820","entry":"nll","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"perf_metrics.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/perf_metrics.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":"764c6062e2d15820"}},{"code_sha256_prefix":"cca2009ba2f2a630","entry":"normalize_y","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"bayesopt/utils.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/bayesopt/utils.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":"cca2009ba2f2a630"}},{"code_sha256_prefix":"47abffc5ae4aba3f","entry":"objective_function","repo":"automl/nas_benchmarks","repo_kind":"found_in_text","path":"experiment_scripts/run_smac.py","file_url":"https://github.com/automl/nas_benchmarks/blob/HEAD/experiment_scripts/run_smac.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"47abffc5ae4aba3f"}},{"code_sha256_prefix":"43444e233e672713","entry":"prune","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"bayesopt/generate_test_graphs.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/bayesopt/generate_test_graphs.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":"43444e233e672713"}},{"code_sha256_prefix":"fd1cb5746c3cdd8b","entry":"rmse","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"perf_metrics.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/perf_metrics.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":"fd1cb5746c3cdd8b"}},{"code_sha256_prefix":"992e40612fd29072","entry":"scan_top_valid","repo":"automl/nas_benchmarks","repo_kind":"found_in_text","path":"experiment_scripts/run_rl.py","file_url":"https://github.com/automl/nas_benchmarks/blob/HEAD/experiment_scripts/run_rl.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"992e40612fd29072"}},{"code_sha256_prefix":"e7c0e64cbd04d215","entry":"spearman","repo":"xingchenwan/nasbowl","repo_kind":"listed","path":"perf_metrics.py","file_url":"https://github.com/xingchenwan/nasbowl/blob/HEAD/perf_metrics.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":"e7c0e64cbd04d215"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}