{"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/understanding-the-role-of-individual-units-in","title":"Understanding the Role of Individual Units in a Deep Neural Network","arxiv_id":"2009.05041","date":"2020-09-10","proceeding":null,"authors":["David Bau","Jun-Yan Zhu","Hendrik Strobelt","Agata Lapedriza","Bolei Zhou","Antonio Torralba"],"abstract":"Deep neural networks excel at finding hierarchical representations that solve complex tasks over large data sets. How can we humans understand these learned representations? In this work, we present network dissection, an analytic framework to systematically identify the semantics of individual hidden units within image classification and image generation networks. First, we analyze a convolutional neural network (CNN) trained on scene classification and discover units that match a diverse set of object concepts. We find evidence that the network has learned many object classes that play crucial roles in classifying scene classes. Second, we use a similar analytic method to analyze a generative adversarial network (GAN) model trained to generate scenes. By analyzing changes made when small sets of units are activated or deactivated, we find that objects can be added and removed from the output scenes while adapting to the context. Finally, we apply our analytic framework to understanding adversarial attacks and to semantic image editing.","url_abs":"https://arxiv.org/abs/2009.05041v2","url_pdf":"https://arxiv.org/pdf/2009.05041v2.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":"understanding-the-role-of-individual-units-in","repo_url":"https://github.com/davidbau/dissect","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"understanding-the-role-of-individual-units-in","repo_url":"https://github.com/MorningStarOvO/dissect","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":null,"task_name":"Generative Adversarial Network"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"scene-classification","task_name":"Scene Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2009.05041","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2009.05041"}},"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/davidbau/dissect","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MorningStarOvO/dissect","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_honours":1,"ran_draft_wrong":3},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":4,"samples":[{"code_sha256_prefix":"e6e2771a0de59277","entry":"apply_ablation_replacement","repo":"davidbau/dissect","repo_kind":"official","path":"netdissect/nethook.py","file_url":"https://github.com/davidbau/dissect/blob/HEAD/netdissect/nethook.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e6e2771a0de59277"}},{"code_sha256_prefix":"298373443b85a0c0","entry":"instrumented_layername","repo":"davidbau/dissect","repo_kind":"official","path":"experiment/dissect_experiment.py","file_url":"https://github.com/davidbau/dissect/blob/HEAD/experiment/dissect_experiment.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":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"298373443b85a0c0"}},{"code_sha256_prefix":"0a92af765d5132e3","entry":"make_matching_tensor","repo":"davidbau/dissect","repo_kind":"official","path":"netdissect/nethook.py","file_url":"https://github.com/davidbau/dissect/blob/HEAD/netdissect/nethook.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0a92af765d5132e3"}},{"code_sha256_prefix":"aa2af4041a7e30bc","entry":"subsequence","repo":"davidbau/dissect","repo_kind":"official","path":"netdissect/nethook.py","file_url":"https://github.com/davidbau/dissect/blob/HEAD/netdissect/nethook.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":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"aa2af4041a7e30bc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}