{"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/neuro-gpt-developing-a-foundation-model-for","title":"Neuro-GPT: Towards A Foundation Model for EEG","arxiv_id":"2311.03764","date":"2023-11-07","proceeding":null,"authors":["Wenhui Cui","Woojae Jeong","Philipp Thölke","Takfarinas Medani","Karim Jerbi","Anand A. Joshi","Richard M. Leahy"],"abstract":"To handle the scarcity and heterogeneity of electroencephalography (EEG) data for Brain-Computer Interface (BCI) tasks, and to harness the power of large publicly available data sets, we propose Neuro-GPT, a foundation model consisting of an EEG encoder and a GPT model. The foundation model is pre-trained on a large-scale data set using a self-supervised task that learns how to reconstruct masked EEG segments. We then fine-tune the model on a Motor Imagery Classification task to validate its performance in a low-data regime (9 subjects). Our experiments demonstrate that applying a foundation model can significantly improve classification performance compared to a model trained from scratch, which provides evidence for the generalizability of the foundation model and its ability to address challenges of data scarcity and heterogeneity in EEG. The code is publicly available at github.com/wenhui0206/NeuroGPT.","url_abs":"https://arxiv.org/abs/2311.03764v4","url_pdf":"https://arxiv.org/pdf/2311.03764v4.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":"neuro-gpt-developing-a-foundation-model-for","repo_url":"https://github.com/wenhui0206/neurogpt","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[{"task_slug":"brain-computer-interface","task_name":"Brain Computer Interface"},{"task_slug":"eeg-1","task_name":"EEG"},{"task_slug":"motor-imagery","task_name":"Motor Imagery"},{"task_slug":"model","task_name":"model"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"attention-dropout","method_name":"Attention Dropout"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"cosine-annealing","method_name":"Cosine Annealing"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"discriminative-fine-tuning","method_name":"Discriminative Fine-Tuning"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"gpt","method_name":"GPT"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"linear-warmup-with-cosine-annealing","method_name":"Linear Warmup With Cosine Annealing"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"set","method_name":"SET"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"weight-decay","method_name":"Weight Decay"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2311.03764","atlas_url":"https://app.syntology.ai/?focus=2311.03764","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.03764"}},"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/wenhui0206/neurogpt","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":4,"unverified":2},"by_repo_kind":{"official":{"samples":6,"ran":4,"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":"326d2ac9f734d489","entry":"load_pickle","repo":"wenhui0206/neurogpt","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/wenhui0206/neurogpt/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"326d2ac9f734d489"}},{"code_sha256_prefix":"cad809127fa7dde5","entry":"load_tuh_all","repo":"wenhui0206/neurogpt","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/wenhui0206/neurogpt/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"cad809127fa7dde5"}},{"code_sha256_prefix":"ba0291223aa32005","entry":"make_unembedder","repo":"wenhui0206/neurogpt","repo_kind":"official","path":"src/decoder/unembedder.py","file_url":"https://github.com/wenhui0206/neurogpt/blob/HEAD/src/decoder/unembedder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"ba0291223aa32005"}},{"code_sha256_prefix":"1f8527c70735621f","entry":"read_threshold_sub","repo":"wenhui0206/neurogpt","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/wenhui0206/neurogpt/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1f8527c70735621f"}},{"code_sha256_prefix":"1a5d22f549298862","entry":"get_config","repo":"wenhui0206/neurogpt","repo_kind":"official","path":"src/train_gpt.py","file_url":"https://github.com/wenhui0206/neurogpt/blob/HEAD/src/train_gpt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1a5d22f549298862"}},{"code_sha256_prefix":"99d0cd63f077a73f","entry":"make_decoder","repo":"wenhui0206/neurogpt","repo_kind":"official","path":"src/decoder/make_decoder.py","file_url":"https://github.com/wenhui0206/neurogpt/blob/HEAD/src/decoder/make_decoder.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"99d0cd63f077a73f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}