{"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/arxiv-2602-08638","title":"LEFT: Learnable Fusion of Tri-view Tokens for Unsupervised Time Series Anomaly Detection","arxiv_id":"2602.08638","date":"2026-02-09","proceeding":null,"authors":["Dezheng Wang","Tong Chen","Guansong Pang","Congyan Chen","Shihua Li","Hongzhi Yin"],"abstract":"As a fundamental data mining task, unsupervised time series anomaly detection (TSAD) aims to build a model for identifying abnormal timestamps without assuming the availability of annotations. A key challenge in unsupervised TSAD is that many anomalies are too subtle to exhibit detectable deviation in any single view (e.g., time domain), and instead manifest as inconsistencies across multiple views like time, frequency, and a mixture of resolutions. However, most cross-view methods rely on feature or score fusion and do not enforce analysis-synthesis consistency, meaning the frequency branch is not required to reconstruct the time signal through an inverse transform, and vice versa. In this paper, we present Learnable Fusion of Tri-view Tokens (LEFT), a unified unsupervised TSAD framework that models anomalies as inconsistencies across complementary representations. LEFT learns feature tokens from three views of the same input time series: frequency domain tokens that embed periodicity information, time domain tokens that capture local dynamics, and multi-scale tokens that learn abnormal patterns at varying time series granularities. By learning a set of adaptive Nyquist-constrained spectral filters, the original time series is rescaled into multiple resolutions and then encoded, allowing these multi-scale tokens to complement the extracted frequency and time domain information. When generating the fused representation, we introduce a novel objective that reconstructs fine-grained targets from coarser multi-scale structure, and put forward an innovative time-frequency cycle consistency constraint to explicitly regularize cross-view agreement. As cross-view agreement is explicitly regularized during training, LEFT can adopt lightweight tri-view encoders while maintaining effective coordination among the three views.","url_abs":"https://arxiv.org/abs/2602.08638","url_pdf":"https://arxiv.org/pdf/2602.08638","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2602.08638","atlas_url":"https://app.syntology.ai/?focus=2602.08638","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.08638"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/DezhengWang/Left","reach":null}],"summary":{"ran":16,"ran_draft_wrong":2,"ran_fixture":1,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":21,"ran":19,"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":21,"samples":[{"code_sha256_prefix":"2e1aa8ed829e455e","entry":"AttentionLayer","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2e1aa8ed829e455e"}},{"code_sha256_prefix":"7064cd2fd0fa7faa","entry":"CrossAttnFFNBlock","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7064cd2fd0fa7faa"}},{"code_sha256_prefix":"a2070ad9d3cca7d3","entry":"Encoder","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a2070ad9d3cca7d3"}},{"code_sha256_prefix":"bf3cb2b55df8f934","entry":"EncoderLayer","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bf3cb2b55df8f934"}},{"code_sha256_prefix":"85c6701216395bf7","entry":"FreqDecoder","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"85c6701216395bf7"}},{"code_sha256_prefix":"aefc6b5e552b670f","entry":"FreqEncoderSeq","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aefc6b5e552b670f"}},{"code_sha256_prefix":"d98613dc4f0bbba0","entry":"MS_Utils","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d98613dc4f0bbba0"}},{"code_sha256_prefix":"3a98ac6e441e4a65","entry":"MsDecoder","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3a98ac6e441e4a65"}},{"code_sha256_prefix":"7e10a02823ed5663","entry":"MultiViewFusion","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7e10a02823ed5663"}},{"code_sha256_prefix":"68edd3ab899d4d7e","entry":"PatchEmbedding","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"68edd3ab899d4d7e"}},{"code_sha256_prefix":"2a277f0e68bcd490","entry":"PositionalEmbedding","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2a277f0e68bcd490"}},{"code_sha256_prefix":"4dca7fc9991d4e45","entry":"PrototypeBank","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4dca7fc9991d4e45"}},{"code_sha256_prefix":"9be52135ef3cda51","entry":"TFTransform","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9be52135ef3cda51"}},{"code_sha256_prefix":"172c995c02f40ea5","entry":"TimeDecoder","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"172c995c02f40ea5"}},{"code_sha256_prefix":"836b17bd1caa6440","entry":"TimeEncoderSeq","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"836b17bd1caa6440"}},{"code_sha256_prefix":"2a02ed544144398a","entry":"Transpose","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2a02ed544144398a"}},{"code_sha256_prefix":"8ed59642600d323d","entry":"_get_activation","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8ed59642600d323d"}},{"code_sha256_prefix":"ab2f7ac61691ad9a","entry":"js_divergence","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ab2f7ac61691ad9a"}},{"code_sha256_prefix":"ecf492d54a45be2e","entry":"moving_average_1d","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ecf492d54a45be2e"}},{"code_sha256_prefix":"0a7891a295b0e00a","entry":"Left","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.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":"0a7891a295b0e00a"}},{"code_sha256_prefix":"c7e1801193895bdc","entry":"ScaledDotProductAttention","repo":"DezhengWang/Left","repo_kind":"found_in_text","path":"models/Left/LEFT.py","file_url":"https://github.com/DezhengWang/Left/blob/HEAD/models/Left/LEFT.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":"c7e1801193895bdc"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}