IP Library › Granted Patent US 12,340,281
Granted Patent B2
US 12,340,281 · App. 17/039,687 · Granted Jun 24, 2025

Prognostics and health management service

Inventors: Karim Helwani (Mountain View, CA); Srikanth Venkata Tenneti (Sunnyvale, CA); Arvindh Krishnaswamy (Palo Alto, CA); Ritwik Giri (Sunnyvale, CA); Mehmet Umut Isik (Menlo Park, CA); Aparna Pandey (Cupertino, CA); Fangzhou Cheng (Mountain View, CA)
Assignee: Amazon Technologies, Inc.
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 12,340,281
App. No.
17/039,687
Granted
Jun 24, 2025
Kind
B2
Abstract

Systems, methods, and apparatuses for selecting a model are described. A method includes receiving a request to perform model selection and evaluating multiple models by generating various metrics for each trained model. These metrics include a forewarning time (how much in advance of a failure an alert can be raised), an event recall metric (how many failure events were alerted to in advance), an event precision metric (ratio of true and false positives, and an area under a receiver operating characteristic (ROC) curve. For each trained model, a weighted harmonic mean is calculated from these metrics. A model is then selected based on the calculated means and a report on the selected model is generated and provided.

Claims (100)

1. A computer-implemented method comprising:

receiving, at a model selector of a prognostics and health management service of a multi-tenant provider network, a request to perform model selection, wherein the multi-tenant provider network receives sensor data from one or more managed devices;

receiving, at the model selector, labeled time-series data sets;

training, by the model selector, a plurality of models based on the labeled time-series data sets to yield a plurality of trained models;

evaluating, by the model selector executing model selection code using one or more processors, the plurality of trained models to select a trained model by:

applying, as input, a common set of testing data to the plurality of trained models to generate, as output from the plurality of trained models, a plurality of metrics for each of the plurality of trained models, the plurality of metrics comprising all of:

a forewarning time metric of how much in advance of a failure an alert can be raised,

an event recall metric of how many failure events were alerted to in advance of failure,

an event precision metric of a ratio of true and false positives, and

an area under a receiver operating characteristic (ROC) curve,

calculating, for each of the plurality of trained models, a weighted harmonic mean of all of the plurality of metrics generated for the trained model, wherein the area under the ROC curve generated for the trained model is assigned a greater weight when calculating the weighted harmonic mean than the event recall metric generated for the trained model, and wherein the event recall metric generated for the trained model is assigned a greater weight when calculating the weighted harmonic mean than both the event precision metric generated for the trained model and the forewarning time metric generated for the trained model, and

selecting one of plurality of trained models based on the calculated weighted harmonic means;

causing a prediction to be made, using the selected model, of a remaining useful life of a managed device of the one or more managed devices;

causing, in response to the prediction, maintenance to be performed on the managed device;

generating and providing a report regarding the selected one of the plurality of trained models;

receiving implicit user feedback including a number of discarded alerts; and

reevaluating the plurality of trained models, based on the implicit user feedback, to select a different trained model, the different trained model is different from the selected one of the plurality of trained models.

2. The computer-implemented method of claim 1 , wherein the request includes one or more of:

an identifier of a location of an initial labeled time-series data set;

an identifier of a location of testing data;

an identifier of a location to store the selected one of the plurality of trained models;

one or more identifiers of one or more users allowed to provide feedback;

an identifier of what weights to use in the selection of a machine learning model; or

one or more identifiers of one or more users allowed to receive anomaly data.

3. The computer-implemented method of claim 1 , further comprising:

receiving explicit user feedback regarding the labeled time-series data sets;

updating the labeled time-series data sets to generate updated labeled time-series data sets; and

based on receiving the explicit user feedback, retraining the plurality of models or the plurality of trained models based on the updated labeled time-series data sets.

4. A computer-implemented method comprising:

receiving, at a model selector of a prognostics and health management service of a multi-tenant provider network, a request to perform model selection, wherein the multi-tenant provider network receives sensor data from one or more managed devices;

evaluating, by the model selector executing model selection code using one or more processors, a plurality of trained models to select a trained model by:

applying, as input, a common set of testing data to the plurality of trained models to generate, as output from the plurality of trained models, a plurality of metrics for each of the plurality of trained models, the plurality of metrics comprising all of:

a forewarning time metric of how much in advance of a failure an alert can be raised,

an event recall metric of how many failure events were alerted to in advance of failure,

an event precision metric of a ratio of true and false positives, and

an area under a receiver operating characteristic (ROC) curve,

calculating, for each of the plurality of trained models, a weighted harmonic mean of all of the plurality of metrics generated for the trained model, and

selecting one of the plurality of trained models based on the calculated weighted harmonic means;

causing a prediction to be made, using the selected model, of a remaining useful life of a managed device of the one or more managed devices;

causing, in response to the prediction, maintenance to be performed on the managed device;

generating and providing a report regarding the selected model, wherein the report comprises the forewarning time metric, the event recall metric, the event precision metric, and the area under the ROC curve;

receiving implicit user feedback including a number of discarded alerts; and

reevaluating the plurality of trained models, based on the implicit user feedback, to select a different trained model, the different trained model is different from the selected model.

5. The computer-implemented method of claim 4 , wherein the request includes one or more of:

an identifier of a location of an initial labeled time-series data set;

an identifier of a location of testing data;

an identifier of a location to store the selected one of the plurality of trained models;

one or more identifiers of one or more users allowed to provide feedback;

an identifier of what weights to use in the selection of a machine learning model; or

one or more identifiers of one or more users allowed to receive anomaly data.

6. The computer-implemented method of claim 4 , wherein the forewarning time is a mean fraction.

7. The computer-implemented method of claim 4 , wherein the event precision is calculated by dividing a number of true positives by a sum of the number of true positives and a number of false positives in a time window.

8. The computer-implemented method of claim 4 , further comprising:

training a plurality of models based on labeled time-series sensor data sets to yield the plurality of trained models;

receiving explicit user feedback regarding the labeled time-series sensor data sets;

updating the labeled time-series data sets based on the explicit user feedback to generate updated labeled time-series data sets; and

retraining the plurality of models or the plurality of trained models based on the updated labeled time-series data sets.

9. The computer-implemented method of claim 4 , further comprising:

receiving implicit user feedback regarding usage of alerts by a receiver indicating false positive detections; and

based on receiving the implicit user feedback, reevaluating the plurality of trained models to select a different trained model, the different trained model is different from the selected model.

10. The computer-implemented method of claim 4 , further comprising probing interaction with a user regarding usage of a model by raising an alert to attempt to force feedback.

11. The computer-implemented method of claim 10 , wherein the feedback includes one or more of new labels, weights, or training data.

12. The computer-implemented method of claim 4 , wherein the report includes, for a labeled anomalous range, whether the anomalous range was detected and/or with how much forewarning time the anomalous range was detected.

13. The computer-implemented method of claim 4 , wherein the report includes false positives as ranges and durations.

14. The computer-implemented method of claim 4 , further comprising:

receiving labeled time-series sensor data; and

training a plurality of models based on the labeled time-series sensor data to yield the plurality of trained models.

15. A system comprising:

one or more electronic devices to implement a model selection service in a multi-tenant provider network, wherein the multi-tenant provider network receives sensor data from one or more managed devices, the model selection service including instructions that upon execution by one or more processors cause the model selection service to:

receive, at the model selection service, a request to perform model selection,

evaluate, by the model selection service executing model selection code using the one or more processors, a plurality of trained models to select a trained model by:

applying, as input, a common set of testing data to the plurality of trained models to generate, as output from the plurality of trained models, a plurality of metrics for each of the plurality of trained models, the plurality of metrics comprising all of:

a forewarning time metric of how much in advance of a failure an alert can be raised,

an event recall metric of how many failure events were alerted to in advance of failure,

an event precision metric of a ratio of true and false positives, and

an area under a receiver operating characteristic (ROC) curve,

calculating, for each of the plurality of trained models, a weighted harmonic mean of all of the plurality of metrics generated for the trained model, and

selecting one of the plurality of trained models based on the calculated weighted harmonic means to use to manage the first one or more electronic devices,

cause a prediction to be made, using the selected model, of a remaining useful life of a managed device of the one or more managed devices;

cause, in response to the prediction, maintenance to be performed on the managed device;

generate and provide a report regarding the selected model, wherein the report comprises the forewarning time metric, the event recall metric, the event precision metric, and the area under the ROC curve;

receive implicit user feedback including a number of discarded alerts; and

reevaluate the plurality of trained models, based on the implicit user feedback, to select a different trained model, the different trained model is different from the selected model.

16. The system of claim 15 , wherein the request includes one or more of:

an identifier of a location of an initial labeled time-series data set;

an identifier of a location of testing data;

an identifier of a location to store the selected one of the plurality of trained models;

one or more identifiers of one or more users allowed to provide feedback;

an identifier of what weights to use in the selection of a machine learning model; or

one or more identifiers of one or more users allowed to receive anomaly data.

17. The system of claim 15 , wherein the model selection service further comprises instructions that upon execution cause the model selection service to:

train a plurality of models based on labeled time-series sensor data sets to yield the plurality of trained models;

receive explicit user feedback regarding the labeled time-series sensor data sets;

update the labeled time-series data sets based on the explicit user feedback to generate updated labeled time-series data sets; and

retrain the plurality of models or the plurality of trained models based on the updated labeled time-series data sets.

18. The system of claim 15 , wherein the model selection service further comprises instructions that upon execution cause the model selection service to:

receive implicit user feedback regarding usage of alerts by a receiver indicating false positive detections; and

reevaluate, responsive to receiving the implicit user feedback, the plurality of trained models to select a different trained model, the different trained model is different from the selected model.

19. The system of claim 15 , wherein the model selection service further comprises instructions that upon execution cause the model selection service to probe interaction with a user regarding usage of a model by raising an alert to attempt to force feedback.

20. The system of claim 19 , wherein the feedback includes one or more of new labels, weights, or training data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2020
From: HELWANI, KARIM; TENNETI, SRIKANTH VENKATA; KRISHNASWAMY, ARVINDH; GIRI, RITWIK; ISIK, MEHMET UMUT; PANDEY, APARNA; CHENG, FANGZHOU
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 053964/0546 →
Continuity (1)
Related Publication 20220101193A1 · Mar 31, 2022
References Cited (57)
US 6581058B1 · Fayyad et al. · 2003 [cited by applicant]
US 8094948B2 · Jain et al. · 2012 [cited by applicant]
US 11038588B1 · Lee · 2021 [cited by examiner]
US 11422996B1 · Muhlstein · 2022 [cited by examiner]
US 11430065B2 · Singh et al. · 2022 [cited by applicant]
US 11829148B1 · Ebrahimi et al. · 2023 [cited by applicant]
US 20060285755A1 · Hager et al. · 2006 [cited by applicant]
US 20080294684A1 · Chi et al. · 2008 [cited by applicant]
US 20100161609A1 · Fogel · 2010 [cited by applicant]
US 20130262465A1 · Galle et al. · 2013 [cited by applicant]
US 20140006417A1 · Mukherjee · 2014 [cited by examiner]
US 20150055858A1 · Abdallah · 2015 [cited by examiner]
US 20170011298A1 · Pal et al. · 2017 [cited by applicant]
US 20170124478A1 · Baradaran et al. · 2017 [cited by applicant]
US 20170330109A1 · Maughan · 2017 [cited by examiner]
US 20170364817A1 · Raykov et al. · 2017 [cited by applicant]
US 20180089042A1 · Demetriou et al. · 2018 [cited by applicant]
US 20180096028A1 · Masekera · 2018 [cited by examiner]
US 20180316707A1 · Dodson et al. · 2018 [cited by applicant]
US 20180322363A1 · Urmanov et al. · 2018 [cited by applicant]
US 20180341876A1 · Ghosh et al. · 2018 [cited by applicant]
US 20190026681A1 · Polli et al. · 2019 [cited by applicant]
US 20190146982A1 · Soceanu et al. · 2019 [cited by applicant]
US 20190188212A1 · Miller et al. · 2019 [cited by applicant]
US 20190370394A1 · Li et al. · 2019 [cited by applicant]
US 20200057689A1 · Farahat · 2020 [cited by examiner]
US 20200184278A1 · Zadeh et al. · 2020 [cited by applicant]
US 20200193309A1 · Hazard et al. · 2020 [cited by applicant]
US 20200210538A1 · Wang · 2020 [cited by examiner]
US 20200250009A1 · Jaeger et al. · 2020 [cited by applicant]
US 20200311616A1 · Rajkumar et al. · 2020 [cited by applicant]
US 20200344252A1 · Menon et al. · 2020 [cited by applicant]
US 20200382536A1 · Dherange et al. · 2020 [cited by applicant]
US 20210004704A1 · Dang · 2021 [cited by examiner]
US 20210097425A1 · Yang et al. · 2021 [cited by applicant]
US 20210286780A1 · Harale et al. · 2021 [cited by applicant]
US 20210350175A1 · Chauhan · 2021 [cited by examiner]
US 20220004897A1 · Jadon · 2022 [cited by examiner]
US 20220101191A1 · Helwani et al. · 2022 [cited by applicant]
US 20220156595A1 · Kadayam et al. · 2022 [cited by applicant]
CN 111163065A · 2020 [cited by applicant]
Final Office Action, U.S. Appl. No. 17/039,649, Apr. 12, 2023, 22 pages. [cited by applicant]
International Search Report and Written Opinion, PCT App. No. PCT/US21/52440, Feb. 18, 2022, 15 pages. [cited by applicant]
Zhong et al., “Manifold regularized cross-modal embedding for zero-shot learning”, Information Sciences, vol. 378, 2017, pp. 48-58. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/039,649, Aug. 30, 2023, 21 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/039,708, Aug. 17, 2023, 23 pages. [cited by applicant]
Office Action, EP App. No. 21795198.7, Oct. 5, 2023, 7 pages. [cited by applicant]
Non-Final Rejection mailed on Oct. 13, 2022 for U.S. Appl. No. 17/039,649. [cited by applicant]
Summons to Attend Oral Proceedings, EP App. No. 21795198.7, Mar. 13, 2024, 8 pages. [cited by applicant]
Final Office Action, U.S. Appl. No. 17/039,649, Feb. 15, 2024, 24 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/039,609, Feb. 6, 2024, 57 pages. [cited by applicant]
Xie, et al., “Zero-shot Audio Classification based on Class Label Embeddings”, 2019 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, Oct. 20-23, 2019, pp. 264-267. [cited by applicant]
Advisory Action, U.S. Appl. No. 17/039,649, May 2, 2024, 3 pages. [cited by applicant]
Final Office Action, U.S. Appl. No. 17/039,708, Apr. 8, 2024, 29 pages. [cited by applicant]
Final Office Action, U.S. Appl. No. 17/039,609, Jul. 9, 2024, 65 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 17/039,649, Aug. 19, 2024, 15 pages. [cited by applicant]
Advisory Action, U.S. Appl. No. 17/039,609, Sep. 27, 2024, 4 pages. [cited by applicant]