{"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/self-supervised-ppg-representation-learning","title":"Self-Supervised PPG Representation Learning Shows High Inter-Subject Variability","arxiv_id":"2212.04902","date":"2022-12-07","proceeding":null,"authors":["Ramin Ghorbani","Marcel J. T. Reinders","David M. J. Tax"],"abstract":"With the progress of sensor technology in wearables, the collection and analysis of PPG signals are gaining more interest. Using Machine Learning, the cardiac rhythm corresponding to PPG signals can be used to predict different tasks such as activity recognition, sleep stage detection, or more general health status. However, supervised learning is often limited by the amount of available labeled data, which is typically expensive to obtain. To address this problem, we propose a Self-Supervised Learning (SSL) method with a pretext task of signal reconstruction to learn an informative generalized PPG representation. The performance of the proposed SSL framework is compared with two fully supervised baselines. The results show that in a very limited label data setting (10 samples per class or less), using SSL is beneficial, and a simple classifier trained on SSL-learned representations outperforms fully supervised deep neural networks. However, the results reveal that the SSL-learned representations are too focused on encoding the subjects. Unfortunately, there is high inter-subject variability in the SSL-learned representations, which makes working with this data more challenging when labeled data is scarce. The high inter-subject variability suggests that there is still room for improvements in learning representations. In general, the results suggest that SSL may pave the way for the broader use of machine learning models on PPG data in label-scarce regimes.","url_abs":"https://arxiv.org/abs/2212.04902v2","url_pdf":"https://arxiv.org/pdf/2212.04902v2.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":"self-supervised-ppg-representation-learning","repo_url":"https://github.com/Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"activity-recognition","task_name":"Activity Recognition"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"rhythm","task_name":"Rhythm"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"sleep-stage-detection","task_name":"Sleep Stage Detection"},{"task_slug":"high","task_name":"Vocal Bursts Intensity Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2212.04902","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.04902"}},"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/Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"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":"8c7b743a5ae62f56","entry":"SamplePerClass_Index","repo":"Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability","repo_kind":"official","path":"Downstream_Task/Downstream_DataProcess.py","file_url":"https://github.com/Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability/blob/HEAD/Downstream_Task/Downstream_DataProcess.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":"8c7b743a5ae62f56"}},{"code_sha256_prefix":"d3357ead0ebbce02","entry":"split_dataset","repo":"Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability","repo_kind":"official","path":"Downstream_Task/Downstream_DataProcess.py","file_url":"https://github.com/Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability/blob/HEAD/Downstream_Task/Downstream_DataProcess.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":"d3357ead0ebbce02"}},{"code_sha256_prefix":"45ea7baa349b9cdb","entry":"split_dataset","repo":"Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability","repo_kind":"official","path":"Pretext_Task/Pretext_DataProcess.py","file_url":"https://github.com/Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability/blob/HEAD/Pretext_Task/Pretext_DataProcess.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":"45ea7baa349b9cdb"}},{"code_sha256_prefix":"d5158e06d6dbf824","entry":"step_for_epoch","repo":"Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability","repo_kind":"official","path":"Downstream_Task/Downstream_Utils.py","file_url":"https://github.com/Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability/blob/HEAD/Downstream_Task/Downstream_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":"d5158e06d6dbf824"}},{"code_sha256_prefix":"f0d43dad23a1892f","entry":"to_supervised","repo":"Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability","repo_kind":"official","path":"Downstream_Task/Downstream_DataProcess.py","file_url":"https://github.com/Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability/blob/HEAD/Downstream_Task/Downstream_DataProcess.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":"f0d43dad23a1892f"}},{"code_sha256_prefix":"e080ec0b3e828f27","entry":"to_supervised","repo":"Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability","repo_kind":"official","path":"Pretext_Task/Pretext_DataProcess.py","file_url":"https://github.com/Raminghorbanii/Self-Supervised-PPG-Representation-Learning-Shows-High-Inter-Subject-Variability/blob/HEAD/Pretext_Task/Pretext_DataProcess.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":"e080ec0b3e828f27"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}