{"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/lightweight-learner-for-shared-knowledge","title":"Lightweight Learner for Shared Knowledge Lifelong Learning","arxiv_id":"2305.15591","date":"2023-05-24","proceeding":null,"authors":["Yunhao Ge","Yuecheng Li","Di wu","Ao Xu","Adam M. Jones","Amanda Sofie Rios","Iordanis Fostiropoulos","Shixian Wen","Po-Hsuan Huang","Zachary William Murdock","Gozde Sahin","Shuo Ni","Kiran Lekkala","Sumedh Anand Sontakke","Laurent Itti"],"abstract":"In Lifelong Learning (LL), agents continually learn as they encounter new conditions and tasks. Most current LL is limited to a single agent that learns tasks sequentially. Dedicated LL machinery is then deployed to mitigate the forgetting of old tasks as new tasks are learned. This is inherently slow. We propose a new Shared Knowledge Lifelong Learning (SKILL) challenge, which deploys a decentralized population of LL agents that each sequentially learn different tasks, with all agents operating independently and in parallel. After learning their respective tasks, agents share and consolidate their knowledge over a decentralized communication network, so that, in the end, all agents can master all tasks. We present one solution to SKILL which uses Lightweight Lifelong Learning (LLL) agents, where the goal is to facilitate efficient sharing by minimizing the fraction of the agent that is specialized for any given task. Each LLL agent thus consists of a common task-agnostic immutable part, where most parameters are, and individual task-specific modules that contain fewer parameters but are adapted to each task. Agents share their task-specific modules, plus summary information (\"task anchors\") representing their tasks in the common task-agnostic latent space of all agents. Receiving agents register each received task-specific module using the corresponding anchor. Thus, every agent improves its ability to solve new tasks each time new task-specific modules and anchors are received. On a new, very challenging SKILL-102 dataset with 102 image classification tasks (5,033 classes in total, 2,041,225 training, 243,464 validation, and 243,464 test images), we achieve much higher (and SOTA) accuracy over 8 LL baselines, while also achieving near perfect parallelization. Code and data can be found at https://github.com/gyhandy/Shared-Knowledge-Lifelong-Learning","url_abs":"https://arxiv.org/abs/2305.15591v1","url_pdf":"https://arxiv.org/pdf/2305.15591v1.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":"lightweight-learner-for-shared-knowledge","repo_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"CC0-1.0"}}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"lifelong-learning","task_name":"Lifelong learning"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[{"slug":"skill-102","name":"SKILL-102","full_name":"SKILL 102 Lifelong Learning Dataset"}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2305.15591","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.15591"}},"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/gyhandy/shared-knowledge-lifelong-learning","reach":{"status":"ok","spdx":"CC0-1.0"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"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":"4282260231fa7ef3","entry":"add_ConvBP_prototype","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"Xception_src/classifiers.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/Xception_src/classifiers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4282260231fa7ef3"}},{"code_sha256_prefix":"41da5de55ee50765","entry":"add_Convbias","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"Xception_src/classifiers.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/Xception_src/classifiers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"41da5de55ee50765"}},{"code_sha256_prefix":"70f84ab52aeeb9a4","entry":"add_parameters","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"70f84ab52aeeb9a4"}},{"code_sha256_prefix":"3bbd71265901933c","entry":"check_acc","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"maha_src/mahalanobis.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/maha_src/mahalanobis.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3bbd71265901933c"}},{"code_sha256_prefix":"5b28adad6b32bc61","entry":"compute_mabalanobis_stats","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"maha_src/mahalanobis.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/maha_src/mahalanobis.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5b28adad6b32bc61"}},{"code_sha256_prefix":"832efc4034950ad3","entry":"eval","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"832efc4034950ad3"}},{"code_sha256_prefix":"c6d1cdfbbcfa0198","entry":"extract_features","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"gmmc_grid_search/feature_extraction.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/gmmc_grid_search/feature_extraction.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c6d1cdfbbcfa0198"}},{"code_sha256_prefix":"537c311cdbe01e19","entry":"run_mahalanobis","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"maha_src/mahalanobis.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/maha_src/mahalanobis.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"537c311cdbe01e19"}},{"code_sha256_prefix":"7e3826ed60e1594a","entry":"train","repo":"gyhandy/shared-knowledge-lifelong-learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/gyhandy/shared-knowledge-lifelong-learning/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC0-1.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7e3826ed60e1594a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}