{"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/aloft-a-lightweight-mlp-like-architecture","title":"ALOFT: A Lightweight MLP-like Architecture with Dynamic Low-frequency Transform for Domain Generalization","arxiv_id":"2303.11674","date":"2023-03-21","proceeding":"CVPR 2023 1","authors":["Jintao Guo","Na Wang","Lei Qi","Yinghuan Shi"],"abstract":"Domain generalization (DG) aims to learn a model that generalizes well to unseen target domains utilizing multiple source domains without re-training. Most existing DG works are based on convolutional neural networks (CNNs). However, the local operation of the convolution kernel makes the model focus too much on local representations (e.g., texture), which inherently causes the model more prone to overfit to the source domains and hampers its generalization ability. Recently, several MLP-based methods have achieved promising results in supervised learning tasks by learning global interactions among different patches of the image. Inspired by this, in this paper, we first analyze the difference between CNN and MLP methods in DG and find that MLP methods exhibit a better generalization ability because they can better capture the global representations (e.g., structure) than CNN methods. Then, based on a recent lightweight MLP method, we obtain a strong baseline that outperforms most state-of-the-art CNN-based methods. The baseline can learn global structure representations with a filter to suppress structure irrelevant information in the frequency space. Moreover, we propose a dynAmic LOw-Frequency spectrum Transform (ALOFT) that can perturb local texture features while preserving global structure features, thus enabling the filter to remove structure-irrelevant information sufficiently. Extensive experiments on four benchmarks have demonstrated that our method can achieve great performance improvement with a small number of parameters compared to SOTA CNN-based DG methods. Our code is available at https://github.com/lingeringlight/ALOFT/.","url_abs":"https://arxiv.org/abs/2303.11674v2","url_pdf":"https://arxiv.org/pdf/2303.11674v2.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":"aloft-a-lightweight-mlp-like-architecture","repo_url":"https://github.com/lingeringlight/aloft","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"domain-generalization","task_name":"Domain Generalization"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2303.11674","atlas_url":"https://app.syntology.ai/?focus=2303.11674","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.11674"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lingeringlight/aloft","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/lingeringlight/ALOFT","reach":{"status":"ok"}}],"summary":{"ran":3,"unverified":3},"by_repo_kind":{"official":{"samples":6,"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":6,"samples":[{"code_sha256_prefix":"3ba7e3a20690c1f2","entry":"DownLayer","repo":"lingeringlight/ALOFT","repo_kind":"official","path":"gfnet.py","file_url":"https://github.com/lingeringlight/ALOFT/blob/HEAD/gfnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3ba7e3a20690c1f2"}},{"code_sha256_prefix":"9dc8b6cd5d3f5826","entry":"GlobalFilter","repo":"lingeringlight/ALOFT","repo_kind":"official","path":"gfnet.py","file_url":"https://github.com/lingeringlight/ALOFT/blob/HEAD/gfnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9dc8b6cd5d3f5826"}},{"code_sha256_prefix":"ea201bce50d02a83","entry":"PatchEmbed","repo":"lingeringlight/ALOFT","repo_kind":"official","path":"gfnet.py","file_url":"https://github.com/lingeringlight/ALOFT/blob/HEAD/gfnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ea201bce50d02a83"}},{"code_sha256_prefix":"426bd91e315bf4e9","entry":"Block","repo":"lingeringlight/ALOFT","repo_kind":"official","path":"gfnet.py","file_url":"https://github.com/lingeringlight/ALOFT/blob/HEAD/gfnet.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":"426bd91e315bf4e9"}},{"code_sha256_prefix":"fa066e5cba31c9e8","entry":"BlockLayerScale","repo":"lingeringlight/ALOFT","repo_kind":"official","path":"gfnet.py","file_url":"https://github.com/lingeringlight/ALOFT/blob/HEAD/gfnet.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":"fa066e5cba31c9e8"}},{"code_sha256_prefix":"c53d3e61fd17f5b5","entry":"GFNetPyramid","repo":"lingeringlight/ALOFT","repo_kind":"official","path":"gfnet.py","file_url":"https://github.com/lingeringlight/ALOFT/blob/HEAD/gfnet.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":"c53d3e61fd17f5b5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}