IP Library Granted Patent US 12694335
Granted Patent B2
US 12694335 · App. 18/152,820 · Granted Jul 28, 2026

Systems and methods for repurposing a machine learning model

Inventors: Sergey Ulasen (Moscow, RU); Alexander Tormasov (Moscow, RU); Serg Bell (Costa del Sol, SG); Stanislav Protasov (Singapore, SG)
Assignee: Acronis International GmbH
G06N20/00
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 12694335
App. No.
18/152,820
Granted
Jul 28, 2026
Kind
B2
Abstract

Disclosed herein are systems and method for repurposing a machine learning model. An exemplary method includes: receiving a first training dataset; determining an input portion and an output portion in an entry of the first training dataset; comparing the first training dataset to a second training dataset used to train a machine learning model, wherein the comparing includes determining a similarity score between the input portion and the output portion of the first training dataset and an input portion and an output portion of the second training dataset; in response to determining that the similarity score is greater than a threshold similarity score, re-training the machine learning model using the first training dataset; and executing the re-trained machine learning model on an input value to generate an output value corresponding to the first training dataset.

Claims (76)

1 . A method for repurposing a machine learning model, the method comprising:

receiving a first training dataset;

determining an input portion and an output portion in an entry of the first training dataset;

comparing the first training dataset to a second training dataset used to train a candidate machine learning model, wherein the comparing includes calculating a similarity score between the input portion and the output portion of the first training dataset and an input portion and an output portion of the second training dataset;

in response to determining that the similarity score is greater than a threshold similarity score, re-training the candidate machine learning model using the first training dataset;

evaluating an accuracy of the re-trained candidate machine learning model against a threshold accuracy;

determining an accuracy difference between the accuracy and the threshold accuracy;

in response to determining the accuracy difference is less than a threshold difference, automatically performing a model adjustment comprising at least one of: (i) switching a training function of the machine learning model from a first type to a second type, or (ii) adding a neural layer to the machine learning model; and

executing the adjusted re-trained candidate machine learning model on an input value to generate an output value corresponding to the first training dataset.

2 . The method of claim 1 , wherein determining the similarity score between the input portion and the output portion of the first training dataset and the input portion and the output portion of the second training dataset comprises:

determining a first structure of the input portion and the output portion of the first training dataset, wherein structure indicates a type of value in a given portion and a size of the given portion;

determining a second structure of the input portion and the output portion of the second training dataset; and

determining a distance between the first structure with the second structure, wherein the similarity score is a function of the distance.

3 . The method of claim 2 , wherein determining the distance between the first structure with the second structure comprises:

determining if the type of value in the first structure matches the type of value in the second structure;

in response to determining that the types of value match, multiplying the distance by a first value; and

in response to determining that the types of value do not match, multiplying the distance by a second value that indicates incompatibility.

4 . The method of claim 1 , wherein the candidate machine learning model is an image classifier, and wherein determining the similarity score further comprises:

identifying an object that the candidate machine learning model is configured to classify in accordance with the second training dataset;

identifying another object associated with the first training dataset; and

comparing the object and the another object based on pixel representation, wherein the similarity score is a function of the comparing of the object and the another object.

5 . The method of claim 1 , wherein comparing the first training dataset to the second training dataset further comprises comparing a size of the first training dataset and a size of the second training dataset, wherein the similarity score is a function of a size difference.

6 . The method of claim 1 , wherein comparing the first training dataset to the second training dataset further comprises comparing a size of entries in the first training dataset and a size of entries in the second training dataset, wherein the similarity score is a function of a size difference between the entries in the first training dataset and the entries in the second training dataset.

7 . The method of claim 1 , wherein the candidate machine learning model is one of a plurality of machine learning models each with a corresponding training dataset, further comprising:

determining a plurality of similarity scores by comparing the first training dataset to each corresponding training dataset;

ranking the plurality of similarity scores; and

selecting the candidate machine learning model to re-train in response to determining that the similarity score between the first training dataset and the second training dataset is highest in the ranking.

8 . The method of claim 7 , further comprising:

in response to determining that the similarity score is not the highest in the ranking, selecting a different machine learning model that is the highest in the ranking;

re-training the different machine learning model using the first training dataset; and

executing the re-trained different machine learning model to generate the output value corresponding to the first training dataset.

9 . The method of claim 1 , further comprising: amending code associated with the candidate machine learning model to accommodate structure differences between the first training dataset and the second training dataset, wherein amending the code comprises adjusting a weight vector size of the candidate machine learning model to match a size of images in the first training dataset.

10 . A system for repurposing a machine learning model, the system comprising:

a memory; and

a hardware processor communicatively coupled with the memory and configured to:

receive a first training dataset;

determine an input portion and an output portion in an entry of the first training dataset;

compare the first training dataset to a second training dataset used to train a candidate machine learning model, wherein the comparing includes calculating a similarity score between the input portion and the output portion of the first training dataset and an input portion and an output portion of the second training dataset;

in response to determining that the similarity score is greater than a threshold similarity score, re-train the candidate machine learning model using the first training dataset;

evaluate an accuracy of the re-trained candidate machine learning model against a threshold accuracy;

determine an accuracy difference between the accuracy and the threshold accuracy;

in response to determining the accuracy difference is less than a threshold difference, automatically perform a model adjustment comprising at least one of: (i) switching a training function of the machine learning model from a first type to a second type, or (ii) adding a neural layer to the machine learning model; and

execute the adjusted re-trained candidate machine learning model on an input value to generate an output value corresponding to the first training dataset.

11 . The system of claim 10 , wherein the hardware processor is configured to determine the similarity score between the input portion and the output portion of the first training dataset and the input portion and the output portion of the second training dataset by:

determining a first structure of the input portion and the output portion of the first training dataset, wherein structure indicates a type of value in a given portion and a size of the given portion;

determining a second structure of the input portion and the output portion of the second training dataset; and

determining a distance between the first structure with the second structure, wherein the similarity score is a function of the distance.

12 . The system of claim 11 , wherein determining the distance between the first structure with the second structure comprises:

determining if the type of value in the first structure matches the type of value in the second structure;

in response to determining that the types of value match, multiplying the distance by a first value; and

in response to determining that the types of value do not match, multiplying the distance by a second value that indicates incompatibility.

13 . The system of claim 10 , wherein the candidate machine learning model is an image classifier, and wherein the hardware processor is configured to determine the similarity score by:

identifying an object that the candidate machine learning model is configured to classify in accordance with the second training dataset;

identifying another object associated with the first training dataset; and

comparing the object and the another object based on pixel representation, wherein the similarity score is a function of the comparing of the object and the another object.

14 . The system of claim 10 , wherein the hardware processor is configured to compare the first training dataset to the second training dataset by comparing a size of the first training dataset and a size of the second training dataset, wherein the similarity score is a function of a size difference.

15 . The system of claim 10 , wherein the hardware processor is configured to compare the first training dataset to the second training dataset by comparing a size of entries in the first training dataset and a size of entries in the second training dataset, wherein the similarity score is a function of a size difference between the entries in the first training dataset and the entries in the second training dataset.

16 . The system of claim 10 , wherein the candidate machine learning model is one of a plurality of machine learning models each with a corresponding training dataset, wherein the hardware processor is configured to:

determine a plurality of similarity scores by comparing the first training dataset to each corresponding training dataset;

rank the plurality of similarity scores; and

select the candidate machine learning model to re-train in response to determining that the similarity score between the first training dataset and the second training dataset is highest in the ranking.

17 . The system of claim 16 , wherein the hardware processor is configured to:

in response to determining that the similarity score is not the highest in the ranking, select a different machine learning model that is the highest in the ranking;

re-train the different machine learning model using the first training dataset; and

execute the re-trained different machine learning model to generate the output value corresponding to the first training dataset.

18 . The system of claim 10 , wherein the hardware processor is configured to:

amend code associated with the candidate machine learning model to accommodate structure differences between the first training dataset and the second training dataset.

19 . A non-transitory computer readable medium storing thereon computer executable instructions for repurposing a machine learning model, including instructions for:

receiving a first training dataset;

determining an input portion and an output portion in an entry of the first training dataset;

comparing the first training dataset to a second training dataset used to train a candidate machine learning model, wherein the comparing includes calculating a similarity score between the input portion and the output portion of the first training dataset and an input portion and an output portion of the second training dataset;

in response to determining that the similarity score is greater than a threshold similarity score, re-training the candidate machine learning model using the first training dataset;

evaluating an accuracy of the re-trained candidate machine learning model against a threshold accuracy;

determining an accuracy difference between the accuracy and the threshold accuracy;

in response to determining the accuracy difference is less than a threshold difference, automatically performing a model adjustment comprising at least one of: (i) switching a training function of the machine learning model from a first type to a second type, or (ii) adding a neural layer to the machine learning model; and

executing the adjusted re-trained candidate machine learning model on an input value to generate an output value corresponding to the first training dataset.