{"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/memory-efficient-experience-replay-for","title":"Memory Efficient Experience Replay for Streaming Learning","arxiv_id":"1809.05922","date":"2018-09-16","proceeding":null,"authors":["Tyler L. Hayes","Nathan D. Cahill","Christopher Kanan"],"abstract":"In supervised machine learning, an agent is typically trained once and then\ndeployed. While this works well for static settings, robots often operate in\nchanging environments and must quickly learn new things from data streams. In\nthis paradigm, known as streaming learning, a learner is trained online, in a\nsingle pass, from a data stream that cannot be assumed to be independent and\nidentically distributed (iid). Streaming learning will cause conventional deep\nneural networks (DNNs) to fail for two reasons: 1) they need multiple passes\nthrough the entire dataset; and 2) non-iid data will cause catastrophic\nforgetting. An old fix to both of these issues is rehearsal. To learn a new\nexample, rehearsal mixes it with previous examples, and then this mixture is\nused to update the DNN. Full rehearsal is slow and memory intensive because it\nstores all previously observed examples, and its effectiveness for preventing\ncatastrophic forgetting has not been studied in modern DNNs. Here, we describe\nthe ExStream algorithm for memory efficient rehearsal and compare it to\nalternatives. We find that full rehearsal can eliminate catastrophic forgetting\nin a variety of streaming learning settings, with ExStream performing well\nusing far less memory and computation.","url_abs":"http://arxiv.org/abs/1809.05922v2","url_pdf":"http://arxiv.org/pdf/1809.05922v2.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":"memory-efficient-experience-replay-for","repo_url":"https://github.com/tyler-hayes/ExStream","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1809.05922","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1809.05922"}},"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/tyler-hayes/ExStream","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"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":"137a81b86da3bd15","entry":"compute_accuracies","repo":"tyler-hayes/ExStream","repo_kind":"official","path":"utils.py","file_url":"https://github.com/tyler-hayes/ExStream/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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"137a81b86da3bd15"}},{"code_sha256_prefix":"288311e940d7b1e2","entry":"shuffle","repo":"tyler-hayes/ExStream","repo_kind":"official","path":"utils.py","file_url":"https://github.com/tyler-hayes/ExStream/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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"288311e940d7b1e2"}},{"code_sha256_prefix":"76a2842235829f55","entry":"sort_by_class","repo":"tyler-hayes/ExStream","repo_kind":"official","path":"utils.py","file_url":"https://github.com/tyler-hayes/ExStream/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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"76a2842235829f55"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}