{"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/pondernet-learning-to-ponder","title":"PonderNet: Learning to Ponder","arxiv_id":"2107.05407","date":"2021-07-12","proceeding":"ICML Workshop AutoML 2021 7","authors":["Andrea Banino","Jan Balaguer","Charles Blundell"],"abstract":"In standard neural networks the amount of computation used grows with the size of the inputs, but not with the complexity of the problem being learnt. To overcome this limitation we introduce PonderNet, a new algorithm that learns to adapt the amount of computation based on the complexity of the problem at hand. PonderNet learns end-to-end the number of computational steps to achieve an effective compromise between training prediction accuracy, computational cost and generalization. On a complex synthetic problem, PonderNet dramatically improves performance over previous adaptive computation methods and additionally succeeds at extrapolation tests where traditional neural networks fail. Also, our method matched the current state of the art results on a real world question and answering dataset, but using less compute. Finally, PonderNet reached state of the art results on a complex task designed to test the reasoning capabilities of neural networks.1","url_abs":"https://arxiv.org/abs/2107.05407v2","url_pdf":"https://arxiv.org/pdf/2107.05407v2.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":"pondernet-learning-to-ponder","repo_url":"https://github.com/EMalagoli92/PonderNet-TensorFlow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"pondernet-learning-to-ponder","repo_url":"https://github.com/lucidrains/ponder-transformer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"pondernet-learning-to-ponder","repo_url":"https://github.com/jankrepl/mildlyoverfitted","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"jax","reach":null},{"paper_slug":"pondernet-learning-to-ponder","repo_url":"https://github.com/labmlai/annotated_deep_learning_paper_implementations","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"question-answering","task_name":"Question Answering"}],"methods":[{"method_slug":"pondernet","method_name":"PonderNet"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2107.05407","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2107.05407"}},"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/jankrepl/mildlyoverfitted","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/EMalagoli92/PonderNet-TensorFlow","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lucidrains/ponder-transformer","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/labmlai/annotated_deep_learning_paper_implementations","reach":null}],"summary":{"ran":5,"ran_draft_wrong":4,"ran_fixture":1},"by_repo_kind":{"listed":{"samples":9,"ran":9,"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":1,"samples":[{"code_sha256_prefix":"2bca9856715b9238","entry":"Attention","repo":"lucidrains/ponder-transformer","repo_kind":"listed","path":"ponder_transformer/ponder_transformer.py","file_url":"https://github.com/lucidrains/ponder-transformer/blob/HEAD/ponder_transformer/ponder_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2bca9856715b9238"}},{"code_sha256_prefix":"b3198dc3cdb01277","entry":"Block","repo":"lucidrains/ponder-transformer","repo_kind":"listed","path":"ponder_transformer/ponder_transformer.py","file_url":"https://github.com/lucidrains/ponder-transformer/blob/HEAD/ponder_transformer/ponder_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b3198dc3cdb01277"}},{"code_sha256_prefix":"a7b572de5bd1ac1d","entry":"FeedForward","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"a7b572de5bd1ac1d"}},{"code_sha256_prefix":"45d2dfbfea2e8b32","entry":"PonderNet","repo":"jankrepl/mildlyoverfitted","repo_kind":"listed","path":"github_adventures/pondernet/utils.py","file_url":"https://github.com/jankrepl/mildlyoverfitted/blob/HEAD/github_adventures/pondernet/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"45d2dfbfea2e8b32"}},{"code_sha256_prefix":"711e802f88faf1ac","entry":"PonderTransformer","repo":"lucidrains/ponder-transformer","repo_kind":"listed","path":"ponder_transformer/ponder_transformer.py","file_url":"https://github.com/lucidrains/ponder-transformer/blob/HEAD/ponder_transformer/ponder_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"711e802f88faf1ac"}},{"code_sha256_prefix":"49d427be2e3ba462","entry":"PreNorm","repo":"lucidrains/ponder-transformer","repo_kind":"listed","path":"ponder_transformer/ponder_transformer.py","file_url":"https://github.com/lucidrains/ponder-transformer/blob/HEAD/ponder_transformer/ponder_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"49d427be2e3ba462"}},{"code_sha256_prefix":"e2bf2cc30c9d48b5","entry":"calc_geometric","repo":"lucidrains/ponder-transformer","repo_kind":"listed","path":"ponder_transformer/ponder_transformer.py","file_url":"https://github.com/lucidrains/ponder-transformer/blob/HEAD/ponder_transformer/ponder_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e2bf2cc30c9d48b5"}},{"code_sha256_prefix":"b8c7ff709eea4738","entry":"exclusive_cumprod","repo":"lucidrains/ponder-transformer","repo_kind":"listed","path":"ponder_transformer/ponder_transformer.py","file_url":"https://github.com/lucidrains/ponder-transformer/blob/HEAD/ponder_transformer/ponder_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b8c7ff709eea4738"}},{"code_sha256_prefix":"a1234fe3bafdaa8f","entry":"pad_to","repo":"lucidrains/ponder-transformer","repo_kind":"listed","path":"ponder_transformer/ponder_transformer.py","file_url":"https://github.com/lucidrains/ponder-transformer/blob/HEAD/ponder_transformer/ponder_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1234fe3bafdaa8f"}},{"code_sha256_prefix":"bd7cfde2fcfc3707","entry":"safe_cumprod","repo":"lucidrains/ponder-transformer","repo_kind":"listed","path":"ponder_transformer/ponder_transformer.py","file_url":"https://github.com/lucidrains/ponder-transformer/blob/HEAD/ponder_transformer/ponder_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd7cfde2fcfc3707"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}