{"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/finding-order-in-chaos-a-novel-data-1","title":"Finding Order in Chaos: A Novel Data Augmentation Method for Time Series in Contrastive Learning","arxiv_id":"2309.13439","date":"2023-09-23","proceeding":"NeurIPS 2023 11","authors":["Berken Utku Demirel","Christian Holz"],"abstract":"The success of contrastive learning is well known to be dependent on data augmentation. Although the degree of data augmentations has been well controlled by utilizing pre-defined techniques in some domains like vision, time-series data augmentation is less explored and remains a challenging problem due to the complexity of the data generation mechanism, such as the intricate mechanism involved in the cardiovascular system. Moreover, there is no widely recognized and general time-series augmentation method that can be applied across different tasks. In this paper, we propose a novel data augmentation method for quasi-periodic time-series tasks that aims to connect intra-class samples together, and thereby find order in the latent space. Our method builds upon the well-known mixup technique by incorporating a novel approach that accounts for the periodic nature of non-stationary time-series. Also, by controlling the degree of chaos created by data augmentation, our method leads to improved feature representations and performance on downstream tasks. We evaluate our proposed method on three time-series tasks, including heart rate estimation, human activity recognition, and cardiovascular disease detection. Extensive experiments against state-of-the-art methods show that the proposed approach outperforms prior works on optimal data generation and known data augmentation techniques in the three tasks, reflecting the effectiveness of the presented method. Source code: https://github.com/eth-siplab/Finding_Order_in_Chaos","url_abs":"https://arxiv.org/abs/2309.13439v2","url_pdf":"https://arxiv.org/pdf/2309.13439v2.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":"finding-order-in-chaos-a-novel-data-1","repo_url":"https://github.com/eth-siplab/Finding_Order_in_Chaos","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"activity-recognition","task_name":"Activity Recognition"},{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"heart-rate-estimation","task_name":"Heart rate estimation"},{"task_slug":"human-activity-recognition","task_name":"Human Activity Recognition"},{"task_slug":"time-series-1","task_name":"Time Series"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"},{"method_slug":"mixup","method_name":"Mixup"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.13439","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.13439"}},"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/eth-siplab/Finding_Order_in_Chaos","reach":null}],"summary":{"ran_fixture":2,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":5,"ran":3,"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":5,"samples":[{"code_sha256_prefix":"873a5745350cb2c4","entry":"aug_random_zero_out","repo":"eth-siplab/finding_order_in_chaos","repo_kind":"official","path":"augmentations.py","file_url":"https://github.com/eth-siplab/finding_order_in_chaos/blob/HEAD/augmentations.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"873a5745350cb2c4"}},{"code_sha256_prefix":"1bf2eb3ef98071e2","entry":"gen_new_aug","repo":"eth-siplab/Finding_Order_in_Chaos","repo_kind":"official","path":"new_augmentations.py","file_url":"https://github.com/eth-siplab/Finding_Order_in_Chaos/blob/HEAD/new_augmentations.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1bf2eb3ef98071e2"}},{"code_sha256_prefix":"c28d10c26b7b61d0","entry":"shuffle","repo":"eth-siplab/finding_order_in_chaos","repo_kind":"official","path":"augmentations.py","file_url":"https://github.com/eth-siplab/finding_order_in_chaos/blob/HEAD/augmentations.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c28d10c26b7b61d0"}},{"code_sha256_prefix":"ddd56dd5e9633cc7","entry":"gen_aug","repo":"eth-siplab/finding_order_in_chaos","repo_kind":"official","path":"augmentations.py","file_url":"https://github.com/eth-siplab/finding_order_in_chaos/blob/HEAD/augmentations.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddd56dd5e9633cc7"}},{"code_sha256_prefix":"00e7afed539b4897","entry":"set_domains","repo":"eth-siplab/finding_order_in_chaos","repo_kind":"official","path":"runner_function.py","file_url":"https://github.com/eth-siplab/finding_order_in_chaos/blob/HEAD/runner_function.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"00e7afed539b4897"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}