{"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/learning-to-extrapolate-a-transductive","title":"Learning to Extrapolate: A Transductive Approach","arxiv_id":"2304.14329","date":"2023-04-27","proceeding":null,"authors":["Aviv Netanyahu","Abhishek Gupta","Max Simchowitz","Kaiqing Zhang","Pulkit Agrawal"],"abstract":"Machine learning systems, especially with overparameterized deep neural networks, can generalize to novel test instances drawn from the same distribution as the training data. However, they fare poorly when evaluated on out-of-support test points. In this work, we tackle the problem of developing machine learning systems that retain the power of overparameterized function approximators while enabling extrapolation to out-of-support test points when possible. This is accomplished by noting that under certain conditions, a \"transductive\" reparameterization can convert an out-of-support extrapolation problem into a problem of within-support combinatorial generalization. We propose a simple strategy based on bilinear embeddings to enable this type of combinatorial generalization, thereby addressing the out-of-support extrapolation problem under certain conditions. We instantiate a simple, practical algorithm applicable to various supervised learning and imitation learning tasks.","url_abs":"https://arxiv.org/abs/2304.14329v1","url_pdf":"https://arxiv.org/pdf/2304.14329v1.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":"learning-to-extrapolate-a-transductive","repo_url":"https://github.com/avivne/bilinear-transduction","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"learning-to-extrapolate-a-transductive","repo_url":"https://github.com/learningmatter-mit/matex","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"imitation-learning","task_name":"Imitation Learning"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2304.14329","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.14329"}},"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/avivne/bilinear-transduction","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/learningmatter-mit/matex","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":19},"by_repo_kind":{"official":{"samples":9,"ran":1,"repositories":1},"listed":{"samples":11,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"db00dda8b96201d3","entry":"mlp","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"utils/networks.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/utils/networks.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"db00dda8b96201d3"}},{"code_sha256_prefix":"96ba47411fab30f0","entry":"data_load","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"utils/util.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/utils/util.py","link_basis":"first_harvest_node","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":"96ba47411fab30f0"}},{"code_sha256_prefix":"8fdc56dd2cb6731a","entry":"extract_composition","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"data_modules/data_process.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/data_modules/data_process.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":"8fdc56dd2cb6731a"}},{"code_sha256_prefix":"4612728c27050322","entry":"get_cbfv","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"data_modules/data_utils.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/data_modules/data_utils.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":"4612728c27050322"}},{"code_sha256_prefix":"1378650b374b3a86","entry":"get_prop_labels","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"blt/plot_maker/props_utils.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/blt/plot_maker/props_utils.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":"1378650b374b3a86"}},{"code_sha256_prefix":"cf11fb6095bba44e","entry":"get_prop_rep","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"blt/plot_maker/props_utils.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/blt/plot_maker/props_utils.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":"cf11fb6095bba44e"}},{"code_sha256_prefix":"085dae6797969122","entry":"get_results_filename","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"blt/plot_maker/props_utils.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/blt/plot_maker/props_utils.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":"085dae6797969122"}},{"code_sha256_prefix":"a26982da6e0216ef","entry":"get_split","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"baselines/modnet/aflow_mp.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/baselines/modnet/aflow_mp.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":"a26982da6e0216ef"}},{"code_sha256_prefix":"a655195cd9d3857f","entry":"get_sym_dict","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"data_modules/data_utils.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/data_modules/data_utils.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":"a655195cd9d3857f"}},{"code_sha256_prefix":"99d97d743f9a2aac","entry":"label_with_model_dist","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"render_videos.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/render_videos.py","link_basis":"first_harvest_node","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":"99d97d743f9a2aac"}},{"code_sha256_prefix":"842c29ed353636df","entry":"load_eval_data","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"blt/plot_maker/plots.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/blt/plot_maker/plots.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":"842c29ed353636df"}},{"code_sha256_prefix":"d370d73ba78229f9","entry":"load_pkl","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"envs/adroit_wrapper.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/envs/adroit_wrapper.py","link_basis":"first_harvest_node","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":"d370d73ba78229f9"}},{"code_sha256_prefix":"2b1c0d4b4deb30fb","entry":"load_pkl","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"utils/util.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/utils/util.py","link_basis":"first_harvest_node","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":"2b1c0d4b4deb30fb"}},{"code_sha256_prefix":"ebb5e4d5764029a8","entry":"mlp","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"blt/utils/networks.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/blt/utils/networks.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":"ebb5e4d5764029a8"}},{"code_sha256_prefix":"92bf21f9ae623c70","entry":"models_load","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"utils/util.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/utils/util.py","link_basis":"first_harvest_node","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":"92bf21f9ae623c70"}},{"code_sha256_prefix":"4a1cb87336c382fe","entry":"modnet_preprocess","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"data_modules/data_process.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/data_modules/data_process.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":"4a1cb87336c382fe"}},{"code_sha256_prefix":"c6d7b87034c95886","entry":"parse_formula","repo":"learningmatter-mit/matex","repo_kind":"listed","path":"data_modules/data_utils.py","file_url":"https://github.com/learningmatter-mit/matex/blob/HEAD/data_modules/data_utils.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":"c6d7b87034c95886"}},{"code_sha256_prefix":"475650877c1f12d0","entry":"train_policy","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"utils/trainer.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/utils/trainer.py","link_basis":"first_harvest_node","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":"475650877c1f12d0"}},{"code_sha256_prefix":"a26a458b0dafceb3","entry":"trajectory2vid","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"render_videos.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/render_videos.py","link_basis":"first_harvest_node","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":"a26a458b0dafceb3"}},{"code_sha256_prefix":"91cfe51d6844f3a7","entry":"writer_for","repo":"avivne/bilinear-transduction","repo_kind":"official","path":"render_videos.py","file_url":"https://github.com/avivne/bilinear-transduction/blob/HEAD/render_videos.py","link_basis":"first_harvest_node","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":"91cfe51d6844f3a7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}