IP Library Granted Patent US 12,321,823
Granted Patent B2
US 12,321,823 · App. 16/864,000 · Granted Jun 3, 2025

Machine learning model retraining pipeline for robotic process automation

Inventors: Prabhdeep Singh (Bellevue, WA); Marco Alban Hidalgo (Redmond, WA); Anton McGonnell (Seattle, WA)
Assignee: UiPath, Inc.
G06N20/00B25J9/163G06N5/02
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,321,823
App. No.
16/864,000
Filed
Apr 30, 2020
Granted
Jun 3, 2025
Kind
B2
Art Unit
2441
USPC
706/11
Abstract

A machine learning (ML) model retraining pipeline for robotic process automation (RPA) is disclosed. When an ML model is deployed in a production or development environment, RPA robots send requests to the ML model when executing their workflows. When a confidence level of the ML model falls below a certain confidence, training data is collected, potentially from a large number of computing systems. The ML model is then trained using at least in part the collected training data, and a new version of the ML model is deployed.

Claims (41)

1. A computer-implemented method for implementing a machine learning (ML) model retraining pipeline for robotic process automation (RPA), comprising:

calling a machine learning (ML) model, by an RPA robot, while executing an activity of an RPA workflow that uses the ML model;

receiving a result from the execution of the ML model, by the RPA robot;

completing execution of the activity of the ROA RPA workflow using the result from the execution of the ML model, by the RPA robot;

determining whether one or more trigger conditions are met for labeling of data for the ML model, by the RPA robot; and

responsive to the one or more trigger conditions being met:

prompting a user to provide labeled data for training or retraining the ML model and sending the labeled data to a server for training or retraining of the ML model, by the RPA robot, or adding information pertaining to the result from the ML model to a queue for subsequent labeling, by the RPA robot, wherein

the RPA workflow comprises a plurality of activities that comprise the one or more activities, and

the activities are a set of steps developed in the workflow.

2. The computer-implemented method of claim 1 , wherein the one or more trigger conditions comprise ML model performance falling below a confidence threshold, ML model results deviating from a statistical distribution, ML model results that fall outside of a previously observed range, or any combination thereof.

3. The computer-implemented method of claim 1 , wherein the one or more trigger conditions comprise receipt of an initiation command for collection of the labeled data.

4. The computer-implemented method of claim 1 , further comprising: receiving the labeled data, by the server; and storing the labeled data in a database, by the server.

5. The computer-implemented method of claim 1 , further comprising: responsive to one or more training criteria being met, training the ML model, by the server, using the labeled data to produce a new version of the ML model; and deploying the new version of the ML model, by the server.

6. The computer-implemented method of claim 5 , wherein the training of the ML model additionally comprises using previous training data that was used to train a version of the ML model trained prior to the new version of the ML model.

7. The computer-implemented method of claim 5 , wherein the one or more training criteria comprise a predetermined time period elapsing, a predetermined amount of training data being received, a predetermined number of training data samples being received, the data falling outside of a distribution of data, or any combination thereof.

8. The computer-implemented method of claim 5 , wherein the new version of the ML model replaces a previous version of the ML model.

9. The computer-implemented method of claim 5 , further comprising: modifying a workflow of the RPA robot to call the new version of the ML model.

10. The computer-implemented method of claim 5 , further comprising: modifying a workflow of the RPA robot to call multiple versions of the ML model, the multiple versions comprising the new version of the ML model.

11. The computer-implemented method of claim 10 , further comprising: calling the new version of the ML model, by the RPA robot; and responsive to the one or more trigger conditions not being met, calling a previous version of the ML model and selecting a best result from the current version of the ML model and the previous version of the ML model, by the RPA robot.

12. The computer-implemented method of claim 10 , further comprising: calling the new version of the ML model and at least one previous version of the ML model, by the RPA robot; and selecting a best result from the current version of the ML model and the at least one previous version of the ML model, by the RPA robot.

13. The computer-implemented method of claim 1 , wherein collection of the labeled data and training of the new version of the ML model is uniform for a plurality of ML models called by a plurality of RPA robots.

14. A computer-implemented method for implementing a machine learning (ML) model retraining pipeline for robotic process automation (RPA), comprising: determining whether one or more trigger conditions are met for labeling of data for an ML model, by an RPA robot, the RPA robot configured to call a machine learning (ML) model, by an RPA robot, responsive to the RPA robot executing an activity of an RPA workflow that uses the ML model; and

responsive to the one or more trigger conditions being met:

prompting a user to provide labeled data for training or retraining the ML model and sending the labeled data to a server for training or retraining of the ML model, by the RPA robot, or adding information pertaining to the result from the ML model to a queue for subsequent labeling, by the RPA robot, wherein

the RPA workflow comprises a plurality of activities that comprise the one or more activities, and

the activities are a set of steps developed in the workflow.

15. The computer-implemented method of claim 14 , wherein the one or more trigger conditions comprise ML model performance falling below a confidence threshold, ML model results deviating from a statistical distribution, ML model results that fall outside of a previously observed range, or any combination thereof.

16. The computer-implemented method of claim 14 , further comprising: responsive to one or more training criteria being met, training the ML model, by the server, using the labeled data to produce a new version of the ML model; and deploying the new version of the ML model, by the server.

17. The computer-implemented method of claim 16 , wherein the one or more training criteria comprise a predetermined time period elapsing, a predetermined amount of training data being received, a predetermined number of training data samples being received, the data falling outside of a distribution of data, or any combination thereof.

18. The computer-implemented method of claim 16 , further comprising: modifying a workflow of the RPA robot to call multiple versions of the ML model, the multiple versions comprising the new version of the ML model.

19. A computer-implemented method for implementing a machine learning (ML) model retraining pipeline for robotic process automation (RPA), comprising:

calling a machine learning (ML) model, by an RPA robot, while executing an activity of an RPA workflow that uses the ML model;

receiving a result from the execution of the ML model, by the RPA robot;

completing execution of the activity of the RPA workflow using the result from the execution of the ML model, by the RPA robot;

determining whether one or more trigger conditions are met for labeling of data for the ML model, by the RPA robot; responsive to the one or more trigger conditions being met:

prompting a user to provide labeled data for training or retraining the ML model and sending the labeled data to a server for training or retraining of the ML model, by the RPA robot, or adding information pertaining to the result from the ML model to a queue for subsequent labeling, by the RPA robot;

responsive to one or more training criteria being met, training the ML model, by the server, using the labeled data to produce a new version of the ML model; and

deploying the new version of the ML model, by the server, wherein

the RPA workflow comprises a plurality of activities that comprise the one or more activities, and

the activities are a set of steps developed in the workflow.

20. The computer-implemented method of claim 19 , wherein the one or more trigger conditions comprise ML model performance falling below a confidence threshold, ML model results deviating from a statistical distribution, ML model results that fall outside of a previously observed range, or any combination thereof, and the one or more training criteria comprise a predetermined time period elapsing, a predetermined amount of training data being received, a predetermined number of training data samples being received, the data falling outside of a distribution of data, or any combination thereof.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: SINGH, PRABHDEEP; HIDALGO, MARCO ALBAN; MCGONNELL, ANTON
To: UIPATH, INC.
Reel/Frame 052543/0455 →
Continuity (1)
Related Publication 20210342736A1 · Nov 4, 2021
References Cited (79)
US 7792353B2 · Forman et al. · 2010 [cited by applicant]
US 9555544B2 · Bataller · 2017 [cited by examiner]
US 10209974B1 · Patton et al. · 2019 [cited by applicant]
US 10263911B2 · Xiang · 2019 [cited by examiner]
US 10296848B1 · Mars et al. · 2019 [cited by applicant]
US 10701139B2 · Li · 2020 [cited by examiner]
US 11397605B2 · Miyakoshi · 2022 [cited by examiner]
US 20050033709A1 · Meng et al. · 2005 [cited by applicant]
US 20150178638A1 · Deshpande et al. · 2015 [cited by applicant]
US 20160105332A1 · Xiang · 2016 [cited by examiner]
US 20160212017A1 · Li · 2016 [cited by examiner]
US 20160381150A1 · Rajagopal · 2016 [cited by examiner]
US 20170144378A1 · Giera · 2017 [cited by examiner]
US 20170185904A1 · Padmanabhan · 2017 [cited by examiner]
US 20170228119A1 · Hosbettu · 2017 [cited by examiner]
US 20170288971A1 · Jayaraman · 2017 [cited by examiner]
US 20180004563A1 · Miyazaki · 2018 [cited by examiner]
US 20180011730A1 · Zembutsu · 2018 [cited by examiner]
US 20180146031A1 · Li · 2018 [cited by examiner]
US 20180181424A1 · Gokurakuji · 2018 [cited by examiner]
US 20180322004A1 · Jain et al. · 2018 [cited by applicant]
US 20190058670A1 · Zhu · 2019 [cited by examiner]
US 20190073447A1 · Guo et al. · 2019 [cited by applicant]
US 20190089588A1 · Xu · 2019 [cited by examiner]
US 20190089780A1 · Yousaf · 2019 [cited by examiner]
US 20190104182A1 · Elzur · 2019 [cited by examiner]
US 20190108417A1 · Talagala · 2019 [cited by examiner]
US 20190138938A1 · Vasseur et al. · 2019 [cited by applicant]
US 20190332508A1 · Goyal · 2019 [cited by examiner]
US 20190363924A1 · Tse · 2019 [cited by examiner]
US 20190377984A1 · Ghanta · 2019 [cited by examiner]
US 20200019882A1 · Garg et al. · 2020 [cited by applicant]
US 20200057951A1 · Soni · 2020 [cited by examiner]
US 20200065334A1 · Rodriguez · 2020 [cited by examiner]
US 20200111023A1 · Pondicherry et al. · 2020 [cited by applicant]
US 20200134374A1 · Oros · 2020 [cited by examiner]
US 20200206920A1 · Ma · 2020 [cited by examiner]
US 20200272283A1 · Sarin · 2020 [cited by examiner]
US 20210019688A1 · Subramanian · 2021 [cited by examiner]
US 20210042338A1 · Smutko · 2021 [cited by examiner]
US 20210107141A1 · Shrivastava · 2021 [cited by examiner]
US 20210109722A1 · Ripa · 2021 [cited by examiner]
US 20210109834A1 · Singh · 2021 [cited by examiner]
US 20210110207A1 · Singh · 2021 [cited by examiner]
US 20210110300A1 · Singh · 2021 [cited by examiner]
US 20210162592A1 · Han · 2021 [cited by examiner]
US 20210192283A1 · Guo · 2021 [cited by examiner]
US 20210200560A1 · Munteanu · 2021 [cited by examiner]
US 20210232966A1 · Elisha · 2021 [cited by examiner]
US 20210256420A1 · Elisha · 2021 [cited by examiner]
US 20210264307A1 · Higa · 2021 [cited by examiner]
US 20210271809A1 · Huang · 2021 [cited by examiner]
US 20210295231A1 · Cmielowski · 2021 [cited by examiner]
US 20210312324A1 · Huang · 2021 [cited by examiner]
US 20210312365A1 · de Roode · 2021 [cited by examiner]
US 20210376604A1 · Mathur · 2021 [cited by examiner]
US 20210397157A1 · Cote · 2021 [cited by examiner]
US 20220158910A1 · Santos · 2022 [cited by examiner]
US 20220225170A1 · Xia · 2022 [cited by examiner]
US 20220329495A1 · Xie · 2022 [cited by examiner]
US 20230148302A1 · Ping · 2023 [cited by examiner]
US 20230217362A1 · Sharma · 2023 [cited by examiner]
US 20230261950A1 · Xie · 2023 [cited by examiner]
EP 3675008A1 · 2020 [cited by examiner]
JP H05189398A · 1993 [cited by applicant]
JP 2018094677A · 2018 [cited by applicant]
JP 2019171540A · 2019 [cited by applicant]
KR 1020190098859A · 2019 [cited by applicant]
WO 2020061699A1 · 2020 [cited by applicant]
Christoph Kading et al., “Fine-Tuning Deep Neural Networks in Continuous Learning Scenarios,” ICIAP: International Conference on Image Analysis and Processing, 17th International Conference, Naples, Italy, Sep. 9-13, 20… [cited by applicant]
European Search Report issued in EP Application No. 20199073 on Mar. 12, 2021. [cited by applicant]
Keze Wang et al., “Cost-Effective Active Learning for Deep Image Classification,” IEEE Transactions on Circuits and Systems for Video Technology, arxiv.org XP080741268 (Jan. 13, 2017). [cited by applicant]
Syanan Sivaraman et al., “A General Active-Learning Framework for On-Road Vehicle Recognition and Tracking,” IEEE Transactions on Intelligent Transportation Systems, vol. 11, No. 2, pp. 267-276 (Jun. 2010). [cited by applicant]
International Search Report and Written Opinion of the International Search Authority issued for PCT Application No. PCT/US2020/046962 on Jan. 12, 2021. [cited by applicant]
Office Action issued in Korean Application No. 10-2020-7028187 on Jul. 27, 2022. [cited by applicant]
Notice of Allowance issued in Korean Application No. 10-2020-7028187 on Jan. 25, 2023. [cited by applicant]
Examination Report issued in European Application No. 20199073.6 on Apr. 17, 2024. [cited by applicant]
Office Action, issued Mar. 21, 2025, CN Patent Application No. 202080002353.9. [cited by applicant]
Search Report, issued Mar. 21, 2025, CN Patent Application No. 202080002353.9. [cited by applicant]