{"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/how-does-batch-normalization-help","title":"How Does Batch Normalization Help Optimization?","arxiv_id":"1805.11604","date":"2018-05-29","proceeding":"NeurIPS 2018 12","authors":["Shibani Santurkar","Dimitris Tsipras","Andrew Ilyas","Aleksander Madry"],"abstract":"Batch Normalization (BatchNorm) is a widely adopted technique that enables\nfaster and more stable training of deep neural networks (DNNs). Despite its\npervasiveness, the exact reasons for BatchNorm's effectiveness are still poorly\nunderstood. The popular belief is that this effectiveness stems from\ncontrolling the change of the layers' input distributions during training to\nreduce the so-called \"internal covariate shift\". In this work, we demonstrate\nthat such distributional stability of layer inputs has little to do with the\nsuccess of BatchNorm. Instead, we uncover a more fundamental impact of\nBatchNorm on the training process: it makes the optimization landscape\nsignificantly smoother. This smoothness induces a more predictive and stable\nbehavior of the gradients, allowing for faster training.","url_abs":"http://arxiv.org/abs/1805.11604v5","url_pdf":"http://arxiv.org/pdf/1805.11604v5.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":"how-does-batch-normalization-help","repo_url":"https://github.com/AchintyaX/Brain_tumor_segmentation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/abhi134/Brain_Tumor_Segmentation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/agusgun/understandinggroupnorm","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/ajinas-ibrahim/brain_tumor","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/jadevaibhav/Brain-Tumor-Segmentation-using-Deep-Neural-networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/peteraugustine/seg3","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/sauravmishra1710/Batch-Normalization-Accelerate-Training-by-Reducing-Internal-Covariate-Shift","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/sauravmishra1710/Batch-Normalization-and-Internal-Covariate-Shift","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/utsawk/CarND-Traffic-Sign-Classifier-Project","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"how-does-batch-normalization-help","repo_url":"https://github.com/yaoshiang/MobileNetV2-CIFAR-Cleverhans","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1805.11604","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1805.11604"}},"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/jadevaibhav/Brain-Tumor-Segmentation-using-Deep-Neural-networks","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AchintyaX/Brain_tumor_segmentation","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/abhi134/Brain_Tumor_Segmentation","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ajinas-ibrahim/brain_tumor","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/utsawk/CarND-Traffic-Sign-Classifier-Project","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sauravmishra1710/Batch-Normalization-and-Internal-Covariate-Shift","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yaoshiang/MobileNetV2-CIFAR-Cleverhans","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sauravmishra1710/Batch-Normalization-Accelerate-Training-by-Reducing-Internal-Covariate-Shift","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/agusgun/understandinggroupnorm","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/peteraugustine/seg3","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"listed":{"samples":2,"ran":1,"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":2,"samples":[{"code_sha256_prefix":"a64c815792760202","entry":"get_norm_layer","repo":"agusgun/understandinggroupnorm","repo_kind":"listed","path":"src/norm/norm_layer.py","file_url":"https://github.com/agusgun/understandinggroupnorm/blob/HEAD/src/norm/norm_layer.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a64c815792760202"}},{"code_sha256_prefix":"b7b74a74c5b90038","entry":"replace_norm_layer","repo":"agusgun/understandinggroupnorm","repo_kind":"listed","path":"src/norm/norm_layer.py","file_url":"https://github.com/agusgun/understandinggroupnorm/blob/HEAD/src/norm/norm_layer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b7b74a74c5b90038"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}