{"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/deep-neural-networks-with-multi-branch","title":"Deep Neural Networks with Multi-Branch Architectures Are Less Non-Convex","arxiv_id":"1806.01845","date":"2018-06-06","proceeding":null,"authors":["Hongyang Zhang","Junru Shao","Ruslan Salakhutdinov"],"abstract":"Several recently proposed architectures of neural networks such as ResNeXt,\nInception, Xception, SqueezeNet and Wide ResNet are based on the designing idea\nof having multiple branches and have demonstrated improved performance in many\napplications. We show that one cause for such success is due to the fact that\nthe multi-branch architecture is less non-convex in terms of duality gap. The\nduality gap measures the degree of intrinsic non-convexity of an optimization\nproblem: smaller gap in relative value implies lower degree of intrinsic\nnon-convexity. The challenge is to quantitatively measure the duality gap of\nhighly non-convex problems such as deep neural networks. In this work, we\nprovide strong guarantees of this quantity for two classes of network\narchitectures. For the neural networks with arbitrary activation functions,\nmulti-branch architecture and a variant of hinge loss, we show that the duality\ngap of both population and empirical risks shrinks to zero as the number of\nbranches increases. This result sheds light on better understanding the power\nof over-parametrization where increasing the network width tends to make the\nloss surface less non-convex. For the neural networks with linear activation\nfunction and $\\ell_2$ loss, we show that the duality gap of empirical risk is\nzero. Our two results work for arbitrary depths and adversarial data, while the\nanalytical techniques might be of independent interest to non-convex\noptimization more broadly. Experiments on both synthetic and real-world\ndatasets validate our results.","url_abs":"http://arxiv.org/abs/1806.01845v2","url_pdf":"http://arxiv.org/pdf/1806.01845v2.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":"deep-neural-networks-with-multi-branch","repo_url":"https://github.com/hongyanz/multibranch","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"depthwise-convolution","method_name":"Depthwise Convolution"},{"method_slug":"depthwise-separable-convolution","method_name":"Depthwise Separable Convolution"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"fire-module","method_name":"Fire Module"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"grouped-convolution","method_name":"Grouped Convolution"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"pointwise-convolution","method_name":"Pointwise Convolution"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"resnext","method_name":"ResNeXt"},{"method_slug":"resnext-block","method_name":"ResNeXt Block"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"squeezenet","method_name":"SqueezeNet"},{"method_slug":"xavier-initialization","method_name":"Xavier Initialization"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1806.01845","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1806.01845"}},"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/hongyanz/multibranch","reach":null}],"summary":{"ran_draft_wrong":3,"ran_honours":1},"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":"2b65c279efcb865c","entry":"get_param_pos","repo":"hongyanz/multibranch","repo_kind":"official","path":"fully_connected.py","file_url":"https://github.com/hongyanz/multibranch/blob/HEAD/fully_connected.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":"2b65c279efcb865c"}},{"code_sha256_prefix":"3e4a08a07567f73b","entry":"load_data","repo":"hongyanz/multibranch","repo_kind":"official","path":"fully_connected.py","file_url":"https://github.com/hongyanz/multibranch/blob/HEAD/fully_connected.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":"3e4a08a07567f73b"}},{"code_sha256_prefix":"87248f2816d50b8e","entry":"to_param_vector","repo":"hongyanz/multibranch","repo_kind":"official","path":"fully_connected.py","file_url":"https://github.com/hongyanz/multibranch/blob/HEAD/fully_connected.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"87248f2816d50b8e"}},{"code_sha256_prefix":"73967fba66d865a1","entry":"vgg_9","repo":"hongyanz/multibranch","repo_kind":"official","path":"VGG.py","file_url":"https://github.com/hongyanz/multibranch/blob/HEAD/VGG.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":"73967fba66d865a1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}