{"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/learning-without-forgetting","title":"Learning without Forgetting","arxiv_id":"1606.09282","date":"2016-06-29","proceeding":null,"authors":["Zhizhong Li","Derek Hoiem"],"abstract":"When building a unified vision system or gradually adding new capabilities to\na system, the usual assumption is that training data for all tasks is always\navailable. However, as the number of tasks grows, storing and retraining on\nsuch data becomes infeasible. A new problem arises where we add new\ncapabilities to a Convolutional Neural Network (CNN), but the training data for\nits existing capabilities are unavailable. We propose our Learning without\nForgetting method, which uses only new task data to train the network while\npreserving the original capabilities. Our method performs favorably compared to\ncommonly used feature extraction and fine-tuning adaption techniques and\nperforms similarly to multitask learning that uses original task data we assume\nunavailable. A more surprising observation is that Learning without Forgetting\nmay be able to replace fine-tuning with similar old and new task datasets for\nimproved new task performance.","url_abs":"http://arxiv.org/abs/1606.09282v3","url_pdf":"http://arxiv.org/pdf/1606.09282v3.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":"learning-without-forgetting","repo_url":"https://github.com/g-u-n/pycil","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/geox-lab/cmn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/ivclab/cvs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/kibok90/iccv2019-inc","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/ngailapdi/LWF","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/panagiotamoraiti/continual-learning-challenge-2024","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/wannabeOG/ExpertNet-Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/yaoyao-liu/mnemonics","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/ContinualAI/avalanche","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/GMvandeVen/continual-learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/aimagelab/mammoth","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"learning-without-forgetting","repo_url":"https://github.com/mmasana/FACIL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"class-incremental-learning","task_name":"Class Incremental Learning"},{"task_slug":"continual-learning","task_name":"Continual Learning"},{"task_slug":"disjoint-10-1","task_name":"Disjoint 10-1"},{"task_slug":"disjoint-15-1","task_name":"Disjoint 15-1"},{"task_slug":"disjoint-15-5","task_name":"Disjoint 15-5"},{"task_slug":"domain-1-1","task_name":"Domain 1-1"},{"task_slug":"domain-11-1","task_name":"Domain 11-1"},{"task_slug":"domain-11-5","task_name":"Domain 11-5"},{"task_slug":"incremental-learning","task_name":"Incremental Learning"},{"task_slug":"overlapped-10-1","task_name":"Overlapped 10-1"},{"task_slug":"overlapped-15-1","task_name":"Overlapped 15-1"},{"task_slug":"overlapped-15-5","task_name":"Overlapped 15-5"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/continual-learning-on-visual-domain-decathlon","task":"Continual Learning","dataset":"visual domain decathlon (10 tasks)","model":"LwF","rank_in_archive_order":11,"of":14,"metrics":{"Avg. Accuracy":"76.93","decathlon discipline (Score)":"2515"},"uses_additional_data":false},{"leaderboard":"/sota/disjoint-10-1-on-pascal-voc-2012","task":"Disjoint 10-1","dataset":"PASCAL VOC 2012","model":"LWF","rank_in_archive_order":8,"of":8,"metrics":{"mIoU":"4.3"},"uses_additional_data":false},{"leaderboard":"/sota/disjoint-15-1-on-pascal-voc-2012","task":"Disjoint 15-1","dataset":"PASCAL VOC 2012","model":"LWF","rank_in_archive_order":9,"of":9,"metrics":{"mIoU":"5.3"},"uses_additional_data":false},{"leaderboard":"/sota/disjoint-15-5-on-pascal-voc-2012","task":"Disjoint 15-5","dataset":"PASCAL VOC 2012","model":"LWF","rank_in_archive_order":9,"of":9,"metrics":{"Mean IoU":"54.9"},"uses_additional_data":false},{"leaderboard":"/sota/overlapped-10-1-on-pascal-voc-2012","task":"Overlapped 10-1","dataset":"PASCAL VOC 2012","model":"LWF","rank_in_archive_order":13,"of":13,"metrics":{"mIoU":"4.8"},"uses_additional_data":false},{"leaderboard":"/sota/overlapped-15-1-on-pascal-voc-2012","task":"Overlapped 15-1","dataset":"PASCAL VOC 2012","model":"LWF","rank_in_archive_order":13,"of":13,"metrics":{"mIoU":"5.5"},"uses_additional_data":false},{"leaderboard":"/sota/overlapped-15-5-on-pascal-voc-2012","task":"Overlapped 15-5","dataset":"PASCAL VOC 2012","model":"LWF","rank_in_archive_order":13,"of":13,"metrics":{"Mean IoU (val)":"55.0"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1606.09282","atlas_url":"https://app.syntology.ai/?focus=1606.09282","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1606.09282"}},"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/aimagelab/mammoth","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/GMvandeVen/continual-learning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/panagiotamoraiti/continual-learning-challenge-2024","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wannabeOG/ExpertNet-Pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ivclab/cvs","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yaoyao-liu/mnemonics","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kibok90/iccv2019-inc","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ContinualAI/avalanche","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/geox-lab/cmn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mmasana/FACIL","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/g-u-n/pycil","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ngailapdi/LWF","reach":null}],"summary":{"ran":3,"ran_honours":1,"ran_fixture":4,"ran_draft_wrong":1,"unverified":6},"by_repo_kind":{"listed":{"samples":15,"ran":9,"repositories":8}},"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":1,"samples":[{"code_sha256_prefix":"a65368ea6628ffd0","entry":"Appr","repo":"mmasana/FACIL","repo_kind":"listed","path":"src/approach/lwf.py","file_url":"https://github.com/mmasana/FACIL/blob/HEAD/src/approach/lwf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a65368ea6628ffd0"}},{"code_sha256_prefix":"686c76397b75be4d","entry":"Inc_Learning_Appr","repo":"mmasana/FACIL","repo_kind":"listed","path":"src/approach/lwf.py","file_url":"https://github.com/mmasana/FACIL/blob/HEAD/src/approach/lwf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"686c76397b75be4d"}},{"code_sha256_prefix":"28946d6ab7de665b","entry":"KDLoss","repo":"ivclab/cvs","repo_kind":"listed","path":"kdloss.py","file_url":"https://github.com/ivclab/cvs/blob/HEAD/kdloss.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"28946d6ab7de665b"}},{"code_sha256_prefix":"68bc5e317dccf467","entry":"LearningWithoutForgetting","repo":"ContinualAI/avalanche","repo_kind":"listed","path":"avalanche/training/regularization.py","file_url":"https://github.com/ContinualAI/avalanche/blob/HEAD/avalanche/training/regularization.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"68bc5e317dccf467"}},{"code_sha256_prefix":"b43737d7d32870ed","entry":"MultiClassCrossEntropy","repo":"ngailapdi/LWF","repo_kind":"listed","path":"model.py","file_url":"https://github.com/ngailapdi/LWF/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b43737d7d32870ed"}},{"code_sha256_prefix":"dc209a0ea5b09a3f","entry":"get_one_hot","repo":"geox-lab/cmn","repo_kind":"listed","path":"LwF-CIFAR100/LwF.py","file_url":"https://github.com/geox-lab/cmn/blob/HEAD/LwF-CIFAR100/LwF.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dc209a0ea5b09a3f"}},{"code_sha256_prefix":"a99cc76d5a5b058b","entry":"incremental_train_and_eval","repo":"yaoyao-liu/mnemonics","repo_kind":"listed","path":"mnemonics-training/1_train/trainer/incremental.py","file_url":"https://github.com/yaoyao-liu/mnemonics/blob/HEAD/mnemonics-training/1_train/trainer/incremental.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a99cc76d5a5b058b"}},{"code_sha256_prefix":"b76db52297524e52","entry":"loss_fn_kd","repo":"GMvandeVen/continual-learning","repo_kind":"listed","path":"models/utils/loss_functions.py","file_url":"https://github.com/GMvandeVen/continual-learning/blob/HEAD/models/utils/loss_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b76db52297524e52"}},{"code_sha256_prefix":"25e295f6e060e434","entry":"model_criterion","repo":"wannabeOG/ExpertNet-Pytorch","repo_kind":"listed","path":"utils/model_utils.py","file_url":"https://github.com/wannabeOG/ExpertNet-Pytorch/blob/HEAD/utils/model_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"25e295f6e060e434"}},{"code_sha256_prefix":"f08f055b7c6c13c0","entry":"LwFmodel","repo":"geox-lab/cmn","repo_kind":"listed","path":"LwF-CIFAR100/LwF.py","file_url":"https://github.com/geox-lab/cmn/blob/HEAD/LwF-CIFAR100/LwF.py","link_basis":"first_harvest_node","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":"f08f055b7c6c13c0"}},{"code_sha256_prefix":"8bb63a717b07a3b8","entry":"Model","repo":"ngailapdi/LWF","repo_kind":"listed","path":"model.py","file_url":"https://github.com/ngailapdi/LWF/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8bb63a717b07a3b8"}},{"code_sha256_prefix":"97e769f51fb2d580","entry":"iCIFAR100","repo":"geox-lab/cmn","repo_kind":"listed","path":"LwF-CIFAR100/LwF.py","file_url":"https://github.com/geox-lab/cmn/blob/HEAD/LwF-CIFAR100/LwF.py","link_basis":"first_harvest_node","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":"97e769f51fb2d580"}},{"code_sha256_prefix":"a8174ba24a4f43da","entry":"kaiming_normal_init","repo":"ngailapdi/LWF","repo_kind":"listed","path":"model.py","file_url":"https://github.com/ngailapdi/LWF/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a8174ba24a4f43da"}},{"code_sha256_prefix":"da1b0e40683dca7a","entry":"network","repo":"geox-lab/cmn","repo_kind":"listed","path":"LwF-CIFAR100/LwF.py","file_url":"https://github.com/geox-lab/cmn/blob/HEAD/LwF-CIFAR100/LwF.py","link_basis":"first_harvest_node","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":"da1b0e40683dca7a"}},{"code_sha256_prefix":"1179cbb68303ab65","entry":"weighted_average","repo":"GMvandeVen/continual-learning","repo_kind":"listed","path":"models/utils/loss_functions.py","file_url":"https://github.com/GMvandeVen/continual-learning/blob/HEAD/models/utils/loss_functions.py","link_basis":"first_harvest_node","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":"1179cbb68303ab65"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}