IP Library Granted Patent US 12,423,613
Granted Patent B2
US 12,423,613 · App. 17/236,794 · Granted Sep 23, 2025

Environment-specific training of machine learning models

Inventors: Pei Yu (Bellevue, WA); Zicheng Liu (Bellevue, WA); Ying Jin (Kirkland, WA); Yinpeng Chen (Sammamish, WA); Kun Luo (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06N20/00G06N3/096G06N5/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,423,613
App. No.
17/236,794
Granted
Sep 23, 2025
Kind
B2
Abstract

A method for environment-specific training of a machine learning model, comprises receiving, for a local environment, a data stream including a plurality of sequential data snippets. Programmed labels are generated for each data snippet using a student version of a machine learning model. A portion of data snippets and associated programmed labels are selected and uploaded to a server-side computing device for evaluation by a teacher version of the machine learning model. An environment-specific training update is received from the server-side computing device. This training update is based on a comparison of the selected programmed labels and pseudolabels generated for the selected portion of data snippets by the teacher version. The environment-specific training update is applied to the student version to generate an updated student version. The updated student version of the machine learning model is then used to generate programmed labels for newly received data snippets.

Claims (43)

1. A method for environment-specific training of a machine learning model, comprising:

for two or more local environments:

receiving, for a respective local environment of the two or more local environments, a data stream including a plurality of sequential data snippets;

using a student version of a machine learning model specific to the respective local environment, generating programmed labels for each data snippet of the plurality of sequential data snippets;

based at least on the generated programmed labels, selecting a portion of the plurality of sequential data snippets for evaluation by a teacher version of the machine learning model;

uploading the selected portion of the data snippets and associated programmed labels to a server-side computing device that includes the teacher version of the machine learning model;

receiving a respective environment-specific training update from the server- side computing device, the respective environment-specific training update based at least on a comparison of the programmed labels associated with the selected portion of the data snippets and pseudolabels generated by the teacher version of the machine learning model for the selected portion of the data snippets;

applying the respective environment-specific training update to the student version of the machine learning model specific to the respective local environment to generate an updated student version of the machine learning model specific to the respective local environment;

using the updated student version of the machine learning model specific to the respective local environment, generating programmed labels for newly received data snippets; and

providing at least some of the newly received data snippets and generated programmed labels to a respective local output for use in evaluating events within the respective local environment.

2. The method of claim 1 , further comprising:

iteratively performing an updating procedure, the updating procedure comprising selecting a portion of newly received data snippets and uploading the selected portion of newly received data snippets to the server-side computing device for evaluation by the teacher version of the machine learning model, receiving new respective environment- specific training updates from the server-side computing device, and applying the new respective environment-specific training updates to generate updated student versions of the machine learning model specific to the respective local environment.

3. The method of claim 1 , wherein each respective environment-specific training update includes one or more selection parameters usable to determine a portion of newly received data snippets to select for evaluation by the teacher version of the machine learning model.

4. The method of claim 3 , wherein the one or more selection parameters included in the training update include a selection frequency.

5. The method of claim 1 , wherein the portion of the data snippets selected for evaluation are selected at least in part based on confidence ratings assigned to one or more programmed labels.

6. A system for deploying a machine-learning model in two or more local environments, comprising:

for each of two or more local environments:

a local data interface configured to receive a data stream including a plurality of sequential data snippets for a respective local environment of the two or more local environments;

a student version of a machine learning model specific to the respective local environment configured to generate programmed labels for each data snippet of the plurality of sequential data snippets;

a selector configured to select, based at least on the generated programmed labels, a portion of the plurality of sequential data snippets for evaluation by a teacher version of the machine learning model; and

a client-side network interface configured to upload the selected portion of the data snippets and associated programmed labels to a server-side computing device, and to receive a respective environment-specific training update from the server-side computing device, the respective environment-specific training update based at least on a comparison of the programmed labels associated with the selected portion of the data snippets and pseudolabels generated by the teacher version of the machine learning model for the selected portion of the data snippets.

7. The system of claim 6 , wherein the client-side computing device further comprises one or more sensors configured to generate the data stream within the respective local environment.

8. The system of claim 6 , wherein the data stream includes one or more 2D image streams, and where each data snippet includes one or more image frames.

9. The system of claim 6 , wherein the data stream includes one or more 3D image streams, and where each data snippet includes one or more image frames.

10. The system of claim 6 , wherein the data stream includes one or more audio streams, and wherein each data snippet includes a finite chunk of audio data.

11. The system of claim 6 , wherein the student version of the machine learning model is further configured to provide at least some of the plurality of sequential data snippets and associated programmed labels to a respective local output.

12. A method for retraining a machine-learning model for a local environment, comprising:

receiving data snippets and associated programmed labels from each client-side computing device of two or more client-side computing devices operating in different local environments, wherein each client-side computing device employs a student version of a machine learning model to generate the programmed labels for the data snippets by which the data snippets are selected from a plurality of sequential data snippets by a selector based on the programmed labels;

using a teacher version of the machine learning model, generating pseudolabels for each received data snippet;

performing a comparison of the pseudolabels and programmed labels for each received data snippet;

compiling two or more performed comparisons into a data episode; and

for each client-side computing device of the two or more client-side computing devices:

generating a different environment-specific training update for the student version of the machine learning model of the client-side computing device based at least on the data episode, the data snippets and associated programmed labels received for that client-side computing device, wherein each different environment-specific training update indicates a change in one or more selection parameters usable by the respective student version of the machine learning model to determine a portion of newly received data snippets to select for evaluation by the teacher version of the machine learning model, and

issuing the generated environment-specific training update to the client-side computing device.

13. The method of claim 12 , wherein generating an environment-specific training update is based on the comparison of the pseudolabels and programmed labels demonstrating a difference greater than a threshold.

14. The method of claim 12 , wherein the teacher version of the machine learning model is initially trained at least in part through human supervision.

15. The method of claim 12 , further comprising:

iteratively training the student model of the machine learning model, the iterative training comprising receiving new data snippets and associated programmed labels from the client-side device, and generating new environment-specific training updates for the student version of the machine learning model based at least on pseudolabels generated for received new data snippets.

16. The method of claim 12 , wherein at least some aspects of each different environment-specific training update are based on data snippets and associated programed labels received from one or more other client-side computing devices.

17. The method of claim 1 , wherein the portion of the data snippets selected for evaluation are selected at least in part based on similarities to already selected data snippets.

18. The method of claim 1 , wherein providing at least some of the newly received data snippets and generated programmed labels to the respective local output for use in evaluating events within the respective local environment includes initiating automated tasks within the respective local environment.

19. The method of claim 1 , wherein providing at least some of the newly received data snippets and generated programmed labels to the respective local output for use in evaluating events within the respective local environment includes tracking one or more aspects of the respective local environment over time.

20. The method of claim 15 , wherein a frequency of generating new environment-specific training updates for the student version of the machine learning model automatically changes over time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2021
From: YU, PEI; LIU, ZICHENG; JIN, YING; CHEN, YINPENG; LUO, KUN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 055994/0351 →
Continuity (1)
Related Publication 20220343205A1 · Oct 27, 2022
References Cited (16)
US 20200034702A1 · Fukuda et al. · 2020 [cited by applicant]
US 20200244770A1 · Cooley et al. · 2020 [cited by applicant]
US 20200387782A1 · Hegde et al. · 2020 [cited by applicant]
US 20210142177A1 · Mallya · 2021 [cited by examiner]
US 20220012637A1 · Rezazadegan Tavakoli · 2022 [cited by examiner]
US 20220114476A1 · Bui · 2022 [cited by examiner]
US 20220284891A1 · Park · 2022 [cited by examiner]
CN 110162018A · 2019 [cited by applicant]
CN 110232411A · 2019 [cited by applicant]
CN 111461212A · 2020 [cited by applicant]
Kasarla, Tejaswi, “Efficient Annotation and Knowledge Distillation for Semantic Segmentation”, In Thesis submitted to International Institute of Information Technology, Jul. 2019, 66 Pages. [cited by applicant]
Mirzadeh, et al., “Improved Knowledge Distillation via Teacher Assistant”, In Repository of arXiv:1902.03393v2, Dec. 17, 2019, 11 Pages. [cited by applicant]
Zhou, et al., “Distilled One-Shot Federated Learning”, In Repository of arXiv:2009.07999v2, Oct. 26, 2020, 14 Pages. [cited by applicant]
Chung, et al., “ShadowTutor: Distributed Partial Distillation for Mobile Video DNN Inference”, In Proceedings of 49th International Conference on Parallel Processing, Aug. 17, 2020, 11 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US22/023180”, Mailed Date: Aug. 19, 2022, 12 Pages. [cited by applicant]
First Office Action Received for Chinese Application No. 202280029403.1, mailed on Jul. 24, 2025, 07 pages. (English translation Provided). [cited by applicant]