{"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/retrieval-based-reconstruction-for-time","title":"REBAR: Retrieval-Based Reconstruction for Time-series Contrastive Learning","arxiv_id":"2311.00519","date":"2023-11-01","proceeding":null,"authors":["Maxwell A. Xu","Alexander Moreno","Hui Wei","Benjamin M. Marlin","James M. Rehg"],"abstract":"The success of self-supervised contrastive learning hinges on identifying positive data pairs, such that when they are pushed together in embedding space, the space encodes useful information for subsequent downstream tasks. Constructing positive pairs is non-trivial as the pairing must be similar enough to reflect a shared semantic meaning, but different enough to capture within-class variation. Classical approaches in vision use augmentations to exploit well-established invariances to construct positive pairs, but invariances in the time-series domain are much less obvious. In our work, we propose a novel method of using a learned measure for identifying positive pairs. Our Retrieval-Based Reconstruction (REBAR) measure measures the similarity between two sequences as the reconstruction error that results from reconstructing one sequence with retrieved information from the other. Then, if the two sequences have high REBAR similarity, we label them as a positive pair. Through validation experiments, we show that the REBAR error is a predictor of mutual class membership. Once integrated into a contrastive learning framework, our REBAR method learns an embedding that achieves state-of-the-art performance on downstream tasks across various modalities.","url_abs":"https://arxiv.org/abs/2311.00519v4","url_pdf":"https://arxiv.org/pdf/2311.00519v4.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":"retrieval-based-reconstruction-for-time","repo_url":"https://github.com/maxxu05/rebar","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"time-series-1","task_name":"Time Series"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.00519","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.00519"}},"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":"deterministic:regex_extraction","url":"https://github.com/maxxu05/rebar","reach":null}],"summary":{"ran":8,"ran_fixture":2,"unverified":10},"by_repo_kind":{"official":{"samples":20,"ran":10,"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":"032b67e962be8a73","entry":"ConvBlock","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"032b67e962be8a73"}},{"code_sha256_prefix":"d8ef63e77b9e62e8","entry":"DilatedConvEncoder","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d8ef63e77b9e62e8"}},{"code_sha256_prefix":"5c264d8180b9ea93","entry":"PartialConv1d","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5c264d8180b9ea93"}},{"code_sha256_prefix":"1c9448d608e6c3c8","entry":"REBAR_CrossAttn_Config","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1c9448d608e6c3c8"}},{"code_sha256_prefix":"5682c8bbc83e0654","entry":"RevIN","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5682c8bbc83e0654"}},{"code_sha256_prefix":"cb26426b6abfe2d3","entry":"SamePadConv","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cb26426b6abfe2d3"}},{"code_sha256_prefix":"5ac764d53a53c6ea","entry":"TSEncoder","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5ac764d53a53c6ea"}},{"code_sha256_prefix":"da59efe85eb510fd","entry":"contrastive_loss_imp","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"da59efe85eb510fd"}},{"code_sha256_prefix":"52094c3be8d651d0","entry":"instance_contrastive_loss_imp","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"52094c3be8d651d0"}},{"code_sha256_prefix":"c36a648ab5d202e3","entry":"rebarcrossattn_maskdataset","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c36a648ab5d202e3"}},{"code_sha256_prefix":"bdb1d98d6919b1e5","entry":"BaseModelClass","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"bdb1d98d6919b1e5"}},{"code_sha256_prefix":"6c78dfb252a62051","entry":"Base_ExpConfig","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"6c78dfb252a62051"}},{"code_sha256_prefix":"0c1056dec45ae563","entry":"REBAR","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"0c1056dec45ae563"}},{"code_sha256_prefix":"afef9af0260b617c","entry":"REBARCrossAttn_SSLModel","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"afef9af0260b617c"}},{"code_sha256_prefix":"048bc33d3e7220e9","entry":"REBAR_CrossAttn_Trainer","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"048bc33d3e7220e9"}},{"code_sha256_prefix":"2d001c071ada228b","entry":"REBAR_ExpConfig","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"2d001c071ada228b"}},{"code_sha256_prefix":"043a6f17d3a20a2f","entry":"dilated_conv_block","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"043a6f17d3a20a2f"}},{"code_sha256_prefix":"04d4a41a1d4750ea","entry":"dilated_conv_net","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"04d4a41a1d4750ea"}},{"code_sha256_prefix":"d9a0d378a8f04f69","entry":"printlog","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"d9a0d378a8f04f69"}},{"code_sha256_prefix":"47a35796faef934f","entry":"temporal_contrastive_loss_imp","repo":"maxxu05/rebar","repo_kind":"official","path":"models/REBAR/REBAR_SSLModel.py","file_url":"https://github.com/maxxu05/rebar/blob/HEAD/models/REBAR/REBAR_SSLModel.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":"47a35796faef934f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}