IP Library Granted Patent US 12,468,936
Granted Patent B2
US 12,468,936 · App. 17/348,678 · Granted Nov 11, 2025

Method and device with reservoir management for neural network online learning

Inventors: Seonmin Rhee (Seoul, KR); Chris Dongjoo Kim (Seoul, KR); Gunhee Kim (Seoul, KR); Jinseo Jeong (Seoul, KR); Seungju Han (Seoul, KR)
Assignees: SAMSUNG ELECTRONICS CO., LTD.; SNU R&DB FOUNDATION
G06N3/08G06N3/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,468,936
App. No.
17/348,678
Granted
Nov 11, 2025
Kind
B2
Abstract

A reservoir management method includes: in response to receiving input data to which label information is mapped, determining whether to add the input data to a reservoir based on a sampling probability; in response to determining to add the input data to the reservoir when the reservoir is filled, selecting candidate data to be removed from among sets of sample data included in the reservoir based on a target label distribution and a current label distribution of the reservoir, and removing the selected candidate data from the reservoir; and training a neural network model using sample data of the reservoir from which the selected candidate data is removed.

Claims (57)

1 . A processor-implemented reservoir management method, comprising:

determining, based on a sampling probability of an input data which label information is mapped, the sampling probability of the input data is based on an occurrence frequency of each class observed up to a current point in time in a data stream, a target memory allocation size for each class, and a weight for each class, whether to add the input data to a reservoir;

in response to determining to add the input data to the reservoir when the reservoir is filled, selecting candidate data to be removed from among sets of sample data included in the reservoir based on a target label distribution and a current label distribution of the reservoir, and removing the selected candidate data from the reservoir;

training a neural network model using sample data of the reservoir from which the selected candidate data is removed; and

generating a recognition result indicating a classification, identity, or presence of an object within an image data or speech data using the trained neural network model.

2 . The method of claim 1 , wherein the determining of whether to add the input data to the reservoir comprises:

in response to the input data being excluded from an updating of the reservoir, skipping a remaining operation of adding the input data to the reservoir and waiting for subsequent input data of a data stream to be input.

3 . The method of claim 1 , wherein the determining of whether to add the input data to the reservoir comprises:

adding the input data to the reservoir based on the sampling probability determined for the input data.

4 . The method of claim 1 , wherein the determining of the sampling probability comprises:

determining the weight for each class based on occurrence frequencies of classes in the data stream and one or more classes labeled to the input data.

5 . The method of claim 1 , further comprising:

determining the target memory allocation size for each class based on a total memory size allocated for the training of the neural network model and a target partition ratio for each class in the target label distribution.

6 . The method of claim 1 , further comprising:

determining the target label distribution indicating a target partition ratio for each class based on an occurrence frequency observed for each class in a data stream and an allocation exponent.

7 . The method of claim 1 , wherein the removing of the selected candidate data comprises:

determining a distance vector corresponding to a difference between the target label distribution and the current label distribution; and

selecting the candidate data based on the determined distance vector.

8 . The method of claim 7 , wherein the determining of the distance vector comprises:

determining a distance value for each class from the distance vector based on a total number of labels labeled to all the sets of sample data included in the reservoir, a number of sets of data labeled with each class, and a target partition ratio corresponding to each class.

9 . The method of claim 1 , wherein the removing of the selected candidate data comprises:

extracting, from the sets of sample data included in the reservoir, one or more first candidate samples labeled with a class stored greater than the target label distribution; and

selecting, from the extracted first candidate samples, a second candidate sample labeled least with a class stored less than the target label distribution.

10 . The method of claim 9 , wherein the extracting of the first candidate samples comprises:

determining a class with a greatest difference between the target label distribution and the current label distribution among a plurality of classes using a distance vector between the target label distribution and the current label distribution; and

extracting, from the sets of sample data included in the reservoir, the first candidate samples labeled with the class with the greatest difference between the target label distribution and the current label distribution.

11 . The method of claim 9 , wherein the second candidate sample excludes, from the first candidate samples, data labeled with a label stored less than the target label distribution.

12 . The method of claim 9 , wherein the removing of the selected candidate data comprises:

retrieving a third candidate sample that minimizes a distance difference from the target label distribution in response to being removed from the second candidate sample; and

selecting the retrieved third candidate sample as the candidate data to be removed, and removing the selected third candidate sample.

13 . The method of claim 1 , further comprising:

in response to data labeled with a new class different from classes observed in a data stream being received, expanding a label list of the reservoir.

14 . The method of claim 1 , further comprising:

in response to determining to add the input data to the reservoir when the reservoir is not filled, skipping the selecting and the removing of the candidate data.

15 . The method of claim 1 , further comprising:

in response to the input data being added to the reservoir, updating the current label distribution of the reservoir.

16 . The method of claim 1 , wherein

the input data is an image, and

the label information includes a label value indicating a class corresponding to a type of an object included in the image.

17 . The method of claim 16 , further comprising:

indicating a result of recognizing an input image using the trained neural network model.

18 . A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the method of claim 1 .

19 . A computing device comprising:

a memory configured to store a reservoir including a plurality of sets of labeled sample data; and

a processor configured to:

determine, based on a sampling probability of an input data which label information is mapped, the sampling probability of the input data is based on an occurrence frequency of each class observed up to a current point in time in a data stream, a target memory allocation size for each class, and a weight for each class, whether to add the input data to a reservoir; and

in response to determining to add the input data to the reservoir when the reservoir is filled, select candidate data to be removed from among the sets of sample data included in the reservoir based on a target label distribution and a current label distribution of the reservoir, and remove the selected candidate data from the reservoir;

train a neural network model using sample data of the reservoir from which the selected candidate is removed; and

generating a recognition result indicating a classification, identity, or presence of an object within an image data or speech data using the trained neural network model.

20 . The device of claim 19 , wherein the device is a mobile terminal comprising a receiver configured to receive a data stream including the input data.

21 . A mobile terminal comprising:

a memory configured to store a reservoir including a plurality of sets of labeled sample data and a neural network model; and

a processor configured to:

determine, based on a sampling probability of an input data which label information is mapped, the sampling probability of the input data is based on an occurrence frequency of each class observed up to a current point in time in a data stream, a target memory allocation size for each class, and a weight for each class, whether to add the input data to a reservoir;

in response to determining to add the input data to the reservoir when the reservoir is filled, select candidate data to be removed from among the sets of sample data included in the reservoir based on a target label distribution and a current label distribution of the reservoir, and remove the selected candidate data from the reservoir;

train the neural network model using sample data of the reservoir from which the selected candidate data is removed;

generating a recognition result indicating a classification, identity, or presence of an object within an image data or speech data using the trained neural network model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2021
From: RHEE, SEONMIN; KIM, CHRIS DONGJOO; KIM, GUNHEE; JEONG, JINSEO; HAN, SEUNGJU
To: SAMSUNG ELECTRONICS CO., LTD.; SNU R&DB FOUNDATION
Reel/Frame 056554/0335 →
Priority Claims (2)
KR 10-2020-0084775 · Jul 9, 2020 · national
KR 10-2020-0166007 · Dec 1, 2020 · national
Continuity (1)
Related Publication 20220012588A1 · Jan 13, 2022
References Cited (52)
US 10152673B2 · Yilmaz · 2018 [cited by examiner]
US 10635947B2 · Chen · 2020 [cited by examiner]
US 11010691B1 · Chen · 2021 [cited by examiner]
US 11068773B2 · Florez Choque · 2021 [cited by examiner]
US 11610079B2 · Yang · 2023 [cited by examiner]
US 11676034B2 · Almazán · 2023 [cited by examiner]
US 11922303B2 · Liu · 2024 [cited by examiner]
US 11995566B2 · Goyal · 2024 [cited by examiner]
US 20180330238A1 · Luciw · 2018 [cited by examiner]
US 20190102692A1 · Kwant · 2019 [cited by examiner]
US 20190130247A1 · Ravishankar et al. · 2019 [cited by applicant]
US 20200065662A1 · Srinivasaraghavan · 2020 [cited by examiner]
US 20200074305A1 · Cao · 2020 [cited by examiner]
US 20200104704A1 · Venkataramani · 2020 [cited by examiner]
US 20200125930A1 · Martin · 2020 [cited by examiner]
US 20200160177A1 · Durand et al. · 2020 [cited by applicant]
US 20200210773A1 · Li et al. · 2020 [cited by applicant]
US 20200210888A1 · Eldardiry et al. · 2020 [cited by applicant]
US 20200293951A1 · Johnston · 2020 [cited by examiner]
US 20200302230A1 · Chang · 2020 [cited by examiner]
US 20210049473A1 · Balachandar · 2021 [cited by examiner]
US 20210182600A1 · Yu · 2021 [cited by examiner]
US 20210326685A1 · Lee · 2021 [cited by examiner]
US 20220012588A1 · Rhee · 2022 [cited by examiner]
JP 2019527440A · 2019 [cited by applicant]
KR 1020180132487A · 2018 [cited by applicant]
KR 1020190140619A · 2019 [cited by applicant]
KR 102093079B1 · 2020 [cited by applicant]
KR 1020200047306A · 2020 [cited by applicant]
Hayes, Tyler L., Nathan D. Cahill, and Christopher Kanan. “Memory efficient experience replay for streaming learning.” 2019 International Conference on Robotics and Automation (ICRA). IEEE, 2019. (Year: 2019). [cited by examiner]
Nguyen, Trong Duc, et al. “Stratified random sampling from streaming and stored data.” Published in Proceedings of the 22nd International Conference on Extending Database Technology (EDBT), Mar. 26-29, 2019 (Year: 2019). [cited by examiner]
Shimizu, Ryota, et al. “Balanced mini-batch training for imbalanced image data classification with neural network.” 2018 First International Conference on Artificial Intelligence for Industries (Al41). IEEE, 2018. (Year… [cited by examiner]
Vitter, Jeffrey S. “Random sampling with a reservoir.” ACM Transactions on Mathematical Software (TOMS) 11.1 (1985): 37-57. (Year: 1985). [cited by examiner]
Vitter, Jeffrey S. “Random Sampling with a Reservoir.” [cited by applicant]
Kirkpatrick, James, et al. “Overcoming catastrophic forgetting in neural networks.” [cited by applicant]
Chaudhry, Arslan, et al. “Riemannian Walk for Incremental Learning: Understanding Forgetting and Intransigence.” [cited by applicant]
Aljundi, Rahaf et al. “Task-Free Continual Learning.” [cited by applicant]
Hayes, Tyler L., et al. “Memory Efficient Experience Replay for Streaming Learning.” [cited by applicant]
Kim, Chris Dongjoo, et al. “Imbalanced Continual Learning with Partitioning Reservoir Sampling.” [cited by applicant]
Sadhukhan, Payel, et al. “Lattice and Imbalance Informed Multi-Label Learning.” [cited by applicant]
Batista, Gustavo EAPA, et al. “A Study of the Behavior of Several Methods for Balancing Machine Learning Training Data.” [cited by applicant]
Buda, Mateusz et al. “A systematic study of the class imbalance problem in convolutional neural networks.” [cited by applicant]
Chawla, Nitesh V., et al. “SMOTE: Synthetic Minority Over-sampling Technique.” [cited by applicant]
Cui, Yin, et al. “Class-Balanced Loss Based on Effective Number of Samples.” [cited by applicant]
Huang, Chen, et al. “Learning Deep Representation for Imbalanced Classification.” [cited by applicant]
Lee, Soochan, et al. “A Neural Dirichlet Process Mixture Model for Task-Free Continual Learning.” (2020) (22 pages in English). [cited by applicant]
Lin, Tsung-Yi, et al. “Microsoft coco: Common objects in context.” [cited by applicant]
Chua, Tat-Seng, et al. “NUSE-WIDE: A Real-World Web Image Database from National University of Singapore.” [cited by applicant]
Chaudhry, Arslan, et al. “On Tiny Episodic Memories in Continual Learning.” 1902 (2019) (15 pages in English). [cited by applicant]
Aljundi, Rahaf, et al. “Gradient based sample selection for online continual learning.” [cited by applicant]
Caruana, Rich. “Multitask Learning.” [cited by applicant]
Farquhar, Sebastian, and Yarin Gal. “Towards Robust Evaluations of Continual Learning.” [cited by applicant]