{"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/an-intriguing-failing-of-convolutional-neural","title":"An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution","arxiv_id":"1807.03247","date":"2018-07-09","proceeding":"NeurIPS 2018 12","authors":["Rosanne Liu","Joel Lehman","Piero Molino","Felipe Petroski Such","Eric Frank","Alex Sergeev","Jason Yosinski"],"abstract":"Few ideas have enjoyed as large an impact on deep learning as convolution.\nFor any problem involving pixels or spatial representations, common intuition\nholds that convolutional neural networks may be appropriate. In this paper we\nshow a striking counterexample to this intuition via the seemingly trivial\ncoordinate transform problem, which simply requires learning a mapping between\ncoordinates in (x,y) Cartesian space and one-hot pixel space. Although\nconvolutional networks would seem appropriate for this task, we show that they\nfail spectacularly. We demonstrate and carefully analyze the failure first on a\ntoy problem, at which point a simple fix becomes obvious. We call this solution\nCoordConv, which works by giving convolution access to its own input\ncoordinates through the use of extra coordinate channels. Without sacrificing\nthe computational and parametric efficiency of ordinary convolution, CoordConv\nallows networks to learn either complete translation invariance or varying\ndegrees of translation dependence, as required by the end task. CoordConv\nsolves the coordinate transform problem with perfect generalization and 150\ntimes faster with 10--100 times fewer parameters than convolution. This stark\ncontrast raises the question: to what extent has this inability of convolution\npersisted insidiously inside other tasks, subtly hampering performance from\nwithin? A complete answer to this question will require further investigation,\nbut we show preliminary evidence that swapping convolution for CoordConv can\nimprove models on a diverse set of tasks. Using CoordConv in a GAN produced\nless mode collapse as the transform between high-level spatial latents and\npixels becomes easier to learn. A Faster R-CNN detection model trained on MNIST\nshowed 24% better IOU when using CoordConv, and in the RL domain agents playing\nAtari games benefit significantly from the use of CoordConv layers.","url_abs":"http://arxiv.org/abs/1807.03247v2","url_pdf":"http://arxiv.org/pdf/1807.03247v2.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":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/uber-research/coordconv","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/Lamikins/public_exp","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/TooTouch/3D_CoordConv_Segmentation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/Wizaron/coord-conv-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/ZwX1616/mxnet-CoordConv","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/bllfpc/TTokDak","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/czero69/acomoeye-NN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/felixriese/CNN-SoilTextureClassification","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/gnouhp/PyTorch-CoordConv","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/iankuoli/DFNet_TF2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/mkocabas/CoordConv-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/mng827/curve-gcn-cardiac-mr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/pauldebryas/SND_trackers_My_data","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/pskugit/custom-conv2d","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/tlikhomanenko/optimize-coordconv","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/uam-biometrics/Transformer-Networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/vicsesi/PyTorch-STN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/vkumaresan/Rotational-CoordConv","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/walsvid/CoordConv","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/woans0104/project_review","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/woans0104/sk_project","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/MindCode-4/code-8/tree/main/optimize-coordconv","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/MindSpore-scientific/code-5/tree/main/optimize-coordconv","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"an-intriguing-failing-of-convolutional-neural","repo_url":"https://github.com/pipiPdesu/optimize-coordconv","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok"}}],"tasks":[{"task_slug":"atari-games","task_name":"Atari Games"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"translation","task_name":"Translation"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"a2c","method_name":"A2C"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"ape-x","method_name":"Ape-X"},{"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":"coordconv","method_name":"CoordConv"},{"method_slug":"dcgan","method_name":"DCGAN"},{"method_slug":"faster-r-cnn","method_name":"Faster R-CNN"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"prioritized-experience-replay","method_name":"Prioritized Experience Replay"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"roipool","method_name":"RoIPool"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"step-decay","method_name":"Step Decay"},{"method_slug":"weight-decay","method_name":"Weight Decay"}],"datasets_introduced":[],"methods_introduced":[{"slug":"coordconv","name":"CoordConv","full_name":"CoordConv"}],"results":[{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"CoordConv ResNet-50","rank_in_archive_order":936,"of":1060,"metrics":{"Top 1 Accuracy":"75.74%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1807.03247","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1807.03247"}},"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/Wizaron/coord-conv-pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mng827/curve-gcn-cardiac-mr","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/walsvid/CoordConv","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/TooTouch/3D_CoordConv_Segmentation","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/iankuoli/DFNet_TF2","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mkocabas/CoordConv-pytorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vicsesi/PyTorch-STN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/woans0104/sk_project","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pskugit/custom-conv2d","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindCode-4/code-8/tree/main/optimize-coordconv","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/czero69/acomoeye-NN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/uber-research/coordconv","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vkumaresan/Rotational-CoordConv","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Lamikins/public_exp","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ZwX1616/mxnet-CoordConv","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pipiPdesu/optimize-coordconv","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tlikhomanenko/optimize-coordconv","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gnouhp/PyTorch-CoordConv","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/woans0104/project_review","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pauldebryas/SND_trackers_My_data","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/felixriese/CNN-SoilTextureClassification","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-scientific/code-5/tree/main/optimize-coordconv","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bllfpc/TTokDak","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/uam-biometrics/Transformer-Networks","reach":{"status":"ok"}}],"summary":{"ran_fixture":2,"ran_honours":2,"unverified":1},"by_repo_kind":{"listed":{"samples":5,"ran":4,"repositories":3}},"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":"6e54892b8ee65a9b","entry":"conv2d_xy","repo":"pskugit/custom-conv2d","repo_kind":"listed","path":"models/customconv.py","file_url":"https://github.com/pskugit/custom-conv2d/blob/HEAD/models/customconv.py","link_basis":"first_harvest_node","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":"6e54892b8ee65a9b"}},{"code_sha256_prefix":"e87d38f37b0003c5","entry":"cross_entropy_one_hot","repo":"walsvid/CoordConv","repo_kind":"listed","path":"experiments/train_and_test.py","file_url":"https://github.com/walsvid/CoordConv/blob/HEAD/experiments/train_and_test.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e87d38f37b0003c5"}},{"code_sha256_prefix":"94048a250871edde","entry":"get_xy_map","repo":"pskugit/custom-conv2d","repo_kind":"listed","path":"models/customconv.py","file_url":"https://github.com/pskugit/custom-conv2d/blob/HEAD/models/customconv.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"94048a250871edde"}},{"code_sha256_prefix":"27b1d77123c49fc4","entry":"myconv2d","repo":"pskugit/custom-conv2d","repo_kind":"listed","path":"models/customconv.py","file_url":"https://github.com/pskugit/custom-conv2d/blob/HEAD/models/customconv.py","link_basis":"first_harvest_node","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":"27b1d77123c49fc4"}},{"code_sha256_prefix":"b9863b731d3a7ef3","entry":"getKerasModel","repo":"felixriese/CNN-SoilTextureClassification","repo_kind":"listed","path":"cnn_models.py","file_url":"https://github.com/felixriese/CNN-SoilTextureClassification/blob/HEAD/cnn_models.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":"b9863b731d3a7ef3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}