CN114930356A - 经由动作中心来补充人工智能(ai)/机器学习(ml)模型、ai/ml模型重新训练硬件控制以及ai/ml模型设置管理 - Google Patents

经由动作中心来补充人工智能(ai)/机器学习(ml)模型、ai/ml模型重新训练硬件控制以及ai/ml模型设置管理 Download PDF

Info

Publication number
CN114930356A
CN114930356A CN202180004268.0A CN202180004268A CN114930356A CN 114930356 A CN114930356 A CN 114930356A CN 202180004268 A CN202180004268 A CN 202180004268A CN 114930356 A CN114930356 A CN 114930356A
Authority
CN
China
Prior art keywords
model
requested
server
retraining
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180004268.0A
Other languages
English (en)
Inventor
M·赛思
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yupas Co
Original Assignee
Yupas Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yupas Co filed Critical Yupas Co
Publication of CN114930356A publication Critical patent/CN114930356A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Fuzzy Systems (AREA)
  • Computer Graphics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

公开了经由动作中心来补充人工智能(AI)/机器学习(ML)模型,提供AI/ML模型重新训练硬件控制,以及提供AI/ML模型设置管理。AI/ML模型可以被部署在托管基础设施上,其中AI/ML模型可以由机器人过程自动化(RPA)机器人调用。当AI/ML模型的性能下降到阈值以下时,AI/ML模型预测的结果和其他数据被发送到动作中心,其中人类使用适当的应用来审查数据并且批准预测,或者在预测错误的情况下提供校正。该动作中心批准的结果然后被发送到RPA机器人用于被使用,替代来自AI/ML模型的预测。

Description

经由动作中心来补充人工智能(AI)/机器学习(ML)模型、AI/ ML模型重新训练硬件控制以及AI/ML模型设置管理
相关申请的交叉引用
本申请要求于2021年1月22日提交的美国专利申请No.17/155,209的权益,该专利申请要求于2020年12月11日提交的印度专利申请No.20201105392的权益。这些较早提交的申请的主题通过引用整体并入本文。
技术领域
本发明一般涉及人工智能(AI)和机器学习(ML),并且更具体地涉及经由动作中心来补充AI/ML模型、AI/ML模型重新训练硬件控制以及AI/ML模型设置管理。
背景技术
AI/ML模型可以在机器人过程自动化(RPA)中是有益的,以便使难以限定、具有高可变性并且要求概率方法的步骤自动化。可由RPA机器人调用的AI/ML模型可以被部署在适当的基础设施上。当由RPA机器人调用时,例如,这样的AI/ML模型可以返回结果(例如,预测)和置信度。然而,随着时间,AI/ML模型可以由于数据和/或模型漂移而变得不太准确。
通常,当AI/ML模型的准确性降低时,带标签的训练数据被采集并且用于重新训练AI/ML模型,企图改进其性能。然而,获得带标签的训练数据的过程可能是昂贵并且耗时的,重新训练可能花费数量可观的时间,并且AI/ML模型没有期望的那么准确,直到经重新训练的AI/ML模型可以被提供。此外,不存在对什么硬件用于重新训练的控制。因此,AI/ML模型重新训练和管理的改进的方法可以是有益的。
发明内容
本发明的某些实施例可以提供对本领域中尚未通过当前RPA技术完全标识、认识到或解决的问题和需求的解决方案。例如,本发明的一些实施例关于经由动作中心来补充AI/ML模型、AI/ML模型重新训练硬件控制以及AI/ML模型设置管理。
在实施例中,一种系统包括:服务器,其包括一个或多个AI/ML模型或具有对一个或多个AI/ML模型的访问。该系统还包括:一个或多个RPA机器人,其被配置为在执行期间调用一个或多个AI/ML模型中的至少一个AI/ML模型;以及动作中心。服务器被配置为:监控一个或多个AI/ML模型的性能并且接收来自一个或多个RPA机器人的调用RPA机器人的、执行一个或多个AI/ML模型中的AI/ML模型的请求。当所请求的AI/ML模型的性能下降到针对第一时间的、在时间段内的或在所请求的AI/ML模型的多个运行内的一个或多个性能阈值以下时,服务器被配置为向动作中心发送审查请求,以审查所请求的AI/ML模型的执行的结果。动作中心被配置为:从动作中心应用接收结果正确的指示,或者从动作中心应用接收经校正的结果。当结果不正确时,动作中心还被配置为向调用RPA机器人、服务器、或两者提供来自动作中心的经校正的结果。
在另一实施例中,一种计算机实现的方法包括:由动作中心应用接收审查来自人工智能(AI)/机器学习(ML)模型的结果的请求;由动作中心应用在显示器上显示由AL/ML模型分析的图像和针对结果的一个或多个参数。一个或多个参数包括AL/ML模型的预测。计算机实现的方法还包括由动作中心应用接收对一个或多个参数中的至少一个参数的校正并且将校正发送到服务器,以用于AL/ML模型的重新训练。
在又一实施例中,一种非暂态计算机可读介质存储计算机程序。计算机程序被配置为使至少一个处理器执行由RPA机器人请求的AL/ML模型并且监控AL/ML模型的性能。当AI/ML模型中的AL/ML模型的性能下降到针对第一时间、在时间段内的或在AI/ML模型的多个运行内的一个或多个性能阈值以下时,计算机程序被配置为使至少一个处理器向动作中心发送审查请求,以审查AI/ML模型的执行的结果。
附图说明
为了将容易地理解本发明的某些实施例的优点,以上简单描述的本发明的更具体描述将通过参考附图中图示的特定实施例来呈现。尽管应当理解,这些附图仅描绘本发明的常见实施例并且因此不被认为限制其范围,本发明将通过使用附图以附加的特性和细节来描述和解释,在附图中:
图1是图示根据本发明的实施例的RPA系统的架构图。
图2是图示根据本发明的实施例的所部署的RPA系统的架构图。
图3是图示根据本发明的实施例的在设计器、活动与驱动之间的关系的架构图。
图4是图示根据本发明的实施例的RPA系统的架构图。
图5是图示根据本发明的实施例的被配置为经由动作中心来补充AI/ML模型、AI/ML模型重新训练硬件控制、以及AI/ML模型设置管理的计算系统的架构图。
图6是图示根据本发明的实施例的被配置为经由动作中心来补充AI/ML模型、提供AI/ML模型重新训练硬件控制并且提供AI/ML模型设置管理的系统的架构图。
图7是图示根据本发明的实施例的、针对动作中心应用的界面。
图8是图示根据本发明的实施例的、用于经由动作中心来补充AI/ML模型、提供AI/ML模型重新训练硬件控制并且提供AI/ML模型设置管理的过程的流程图。
除非另行指示,类似的附图标记在整个附图中一致地表示对应的特征。
具体实施方式
一些实施例关于经由动作中心来补充AI/ML模型、AI/ML模型重新训练硬件控制以及AI/ML模型设置管理。AI/ML模型可以被部署在托管基础设施上,其中AI/ML模型可以由RPA机器人调用。例如,在一些实施例中,客户可以将AI/ML模型部署在由RPA服务提供方托管的系统上,并且这些托管的AI/ML模型可以然后由客户的RPA机器人中的相关联的活动调用。然而,在某些实施例中,客户可以将它自己的AI/ML模型托管在它自己的系统上。
AI/ML模型托管系统可以监控托管于其上的AI/ML模型的性能。AI/ML模型的性能可以下降到针对第一时间或关于某种一致性的阈值以下(例如,在特定时间段内的平均性能、在AI/ML模型的特定运行次数内、等等)。例如,针对给定AI/ML模型的目标或预期置信度可以为至少90%,但是置信度可以下降至89%、85%、70%等等。当这种情况发生时,在一些实施例中,AI/ML模型执行(例如,预测)的结果和其他数据(例如,AI/ML模型正在分析的用户界面(UI)的屏幕截图、AI/ML模型正在处理的文档、关于用户交互的序列的数据、数据库中的正在针对模式被分析的数据等)被发送到动作中心,其中人类使用适当的应用来审查数据并且批准预测或在预测错误的情况下提供校正。在一些实施例中,动作中心应用可以是人在回路web应用,其中动作中心用户看见AI/ML模型正在分析的图像和AI/ML模型所提供的值。例如,参见图7。该动作中心批准的结果(即,由AI/ML模型预测的批准的结果或经校正的结果)然后被发送到RPA机器人以被使用,而不是来自AI/ML模型的预测。即使AI/ML模型下降到目标置信度以下,直到实现期望准确性的经重新训练的AI/ML模型可以被提供,这样的方法也可以快速地提供准确的预测。然而,在某些实施例中,所有AI/ML模型预测可以被发送到动作中心以用于人类审查。
在一些实施例中,来自AI/ML模型的预测被发送到RPA机器人,其然后确定性能阈值是否已经被满足并且在不是的情况下发送数据以用于由人类审查者在动作中心中审查。在某些实施例中,托管和/或调用AI/ML模型的(多个)计算系统执行该功能。人类审查的结果可以然后被发送到托管和/或调用计算系统并且移交到RPA机器人、或直接从动作中心被发送到RPA机器人。
在一些实施例中,逻辑可以被包括于RPA机器人的调用活动,或使RPA机器人针对来自动作中心的结果等待的某种其他活动中。例如,如果被训练为找到UI中的图形元素的AI/ML模型返回预测,该预测为给定图形元素是具有低于目标置信度的置信度的按钮,那么RPA机器人可以等待动作中心回应。在一些实施例中,RPA机器人可以发送数据,以用于动作中心的人类审查。在某些实施例中,该数据可以由托管AI/ML模型的服务器、由AI/ML模型本身、由可以接收来自AI/ML模型和/或RPA机器人的通信的另一计算系统等发送。
在一些实施例中,RPA机器人可以被配置为针对来自动作中心的结果的确认等待时间量。如果在该时间段内未接收到结果,那么RPA机器人可以尝试使用来自AI/ML模型的预测来继续其操作、跳过其工作流中的相关联的活动、采取默认动作等等。在某些实施例中,RPA机器人可以在未在该时间段内接收到结果或继续操作的(多次)尝试未成功的情况下,抛出异常或提供错误消息。
通过非限制性示例,考虑其中发票具有总价字段和供应方字段的情况。针对AI/ML模型的目标置信度为90%,但是AI/ML模型标识这些图形元素中的具有89%置信度的值。UI的屏幕截图可以被发送到动作中心,因此人类审查者可以核实由AI/ML模型提供的供应方名称和价格是准确的,如果是这样的话则发送确认,并且在预测不正确的情况下发送校正。
由人类审查者在动作中心中做出的校正和他们审查的相关联的数据可以被存储在数据库中,以用于AI/ML模型的后续重新训练。校正可以由审查者的计算系统、由调用RPA机器人、由托管AI/ML模型的服务器等推送出去。这提供反馈回路,其推送用于重新训练的数据同时还将准确结果提供到调用RPA机器人。重新训练可以在接收到一定量的训练数据之后、在经过一定时间段之后、在接收到一定数目的校正之后等被执行。如果经重新训练的AI/ML模型具有高于目标置信度,或者至少高于当前所部署的AI/ML模型的常见置信度,那么经重新训练的版本可以被部署和使用替代当前所部署的AI/ML模型、与当前部署的AI/ML模型同时被使用,以获得来自这两者的最佳预测等。
在一些实施例中,AI/ML模型可以被上传为单个图像和包装器并且被部署为KubernetesTM集群中的DockerTM图像。基于所提供的值(例如,标志或环境变量),容器可以用作服务预测调用器,其调用AI/ML模型并且返回它们的执行结果。备选地,容器可以被用于训练AI/ML模型。
在一些实施例中,可以指定是否使用图形处理单元(GPU)、中央处理单元(CPU)、其组合,第一个可用的(例如,如果所有GPU都忙,那么CPU可以替代地被使用以立即开始重新训练,即使重新训练可能比GPU花费更长时间)等,用于重新训练。在某些实施例中,用户可以重写这些设置。例如,用户可以重写“第一个可用”的设置并且命令GPU在它们一旦可用时用于重新训练。
在一些实施例中,过量的能力可以用于重新训练。例如,如果(多个)计算系统既托管又重新训练AI/ML模型,那么(多个)计算系统可以使用空闲处理器(例如,GPU和/或CPU)用于重新训练,其在更少的硬件资源由当前服务的AI/ML模型消耗时加速重新训练过程。相反,在一些实施例中,当对当前服务的AI/ML模型的执行和/或其他服务的需求增加时,处理资源可以被分配远离重新训练。然而,在某些实施例中,即使对当前服务的AI/ML模型的执行和/或其他服务的需求增加,已经委派了重新训练AI/ML模型的任务的处理器也可以保持致力于重新训练。
在一些实施例中,系统可以学习什么CPU/GPU资源对于给定AI/ML模型是最佳的。系统可以然后基于最佳配置来自动地调整CPU和GPU的组合(或分配所有CPU或所有GPU)。在一些实施例中,CPU和GPU可以被选择用于服务AI/ML模型,以在运行时被RPA机器人调用,并且自动均衡可以被执行,以提供其针对给定AI/ML模型的改进的组合。
在一些实施例中,设置脚本可以用于管理AI/ML模型,用于设置用于服务AI/ML模型的硬件资源和/或用于重新训练。例如,在
Figure BDA0003442651080000072
的情况下,当用户指定pod时,用户还可以指定容器将使用的资源,诸如CPU、GPU和/或RAM资源。资源规范可以用于确定将pod放置在哪个节点上。
Figure BDA0003442651080000071
Figure BDA0003442651080000081
CPU单元以millicpu(m)被指定,其是CPU的处理能力的千分之一。GPU单元以整数GPU(g)被指定,诸如1g、2g、10g等。存储器单元在该示例中以兆字节(Mi)被指定,其等于1,048,576字节。
“type”设置指定AI/ML模型容器是否用于服务AI/ML模型(例如,AI/ML模型接受输入数据并且提供针对调用RPA机器人的结果)或重新训练AI/ML模型。在以上的示例中,容器是服务容器。“firstavailable”设置指定是否要使用第一可用处理资源。例如,如果仅CPU可用但是GPU是优选的,那么CPU将被使用。如果“firstavailable”为真,那么“cpupreferred”和“gpupreferred”可以被设置为指定偏好。备选地,如果仅cpupreferred或gpupreferred被提供,那么可以假设该处理资源在标志为真的情况下是优选的,并且其他处理资源在该标志为假的情况下是优选的。
“cpu”和“gpu”设置指定将被使用的CPU和GPU资源。“usecpu”和“usegpu”标志分别指定是否要使用CPU或GPU。然而,在一些实施例中,是否要使用CPU或GPU可以从“cpu”和“gpu”值推测。如果针对“cpu”或“cpu”中的仅一个的值被提供,那么在一些实施例中可以假设被省略的处理资源不是期望的。
图1是图示根据本发明的实施例的RPA系统100的架构图。RPA系统100包括允许开发方设计并且实现工作流的设计器110。设计器110可以提供用于应用整合的解决方案,以及使第三方应用、管理信息技术(IT)任务和商业IT过程自动化。设计器110可以促进自动化项目的开发,其是商业过程的图形表示。简言之,设计器110促进工作流和机器人的开发和部署。
自动化项目通过给出执行顺序的开发方控制和工作流中所开发的自定义步骤集(本文中限定为“活动”)之间的关系来实现基于规则的过程的自动化。设计器110的实施例的一个商用示例是UiPath StudioTM。每个活动可以包括动作,诸如点击按钮、读取文件、写入日志面板等等。在一些实施例中,工作流可以被嵌套或嵌入。
一些类型的工作流可以包括但不限于序列、流程图、有限状态机(FSM)和/或全局异常处理程序。序列可以特别适合于线性过程,从而实现从一个活动到另一活动的流动而不使工作流杂乱。流程图可以特别适合于更复杂的商业逻辑,从而通过多个分支逻辑操作符以更多样的方式来实现决策的整合和活动的连接。FSM可以特别适合于大的工作流。FSM可以在它们的执行中使用有限数目的状态,其由条件(即,转变)或活动触发。全局异常处理程序可以特别适合于当遇到执行错误时确定工作流行为和调试过程。
一旦工作流在设计器110中被开发,商业过程的执行由引导器120编排,其编排一个或多个机器人130,该机器人在设计器110中所开发的工作流中执行。引导器120的实施例的一个商业示例是UiPath编排器TM。引导器120促进对环境中的资源的创建、监控和部署的管理。引导器120可以用作与第三方解决方案和应用的整合点。
引导器120可以管理一群机器人130,从集中点来连接和执行机器人130。可以被管理的机器人130的类型包括但不限于有人值守机器人132、无人值守机器人134、开发机器人(类似于无人值守机器人134,但是用于开发和测试目的)、以及非生产机器人(类似于有人值守机器人132,但是用于开发和测试目的)。有人值守机器人132由用户事件触发并且在相同计算系统上在人类旁边操作。有人值守机器人132可以与引导器120一起被使用于集中过程部署和日志记录介质。有人值守机器人132可以帮助人类用户完成各种任务,并且可以由用户事件触发。在一些实施例中,过程不可以从这种类型的机器人上的引导器120开始和/或它们不可以在锁屏下运行。在某些实施例中,有人值守机器人132可以仅从机器人托盘或从命令提示开始。在一些实施例中,有人值守机器人132应当在人类监督下运行。
无人值守机器人134在虚拟环境中无人值守地运行并且可以使许多过程自动化。无人值守机器人134可以负责远程执行、监控、调度和提供对工作队列的支持。在一些实施例中,针对所有机器人类型的调试可以运行在设计器110中。有人值守机器人和无人值守机器人两者可以使包括但不限于以下项的各种系统和应用自动化:大型机、web应用、VM、企业应用(例如,由
Figure BDA0003442651080000101
等生产的那些)和计算系统应用(例如,桌面和膝上型应用、移动设备应用、可穿戴计算机应用等)。
引导器120可以具有各种能力,包括但不限于供给、部署、配置、队列、监控、日志记录和/或提供相互连接性。供给可以包括在机器人130与引导器120(例如,web应用)之间的连接的创建和维护。部署可以包括确保包版本到所分配的机器人130的正确递送,以用于执行。配置可以包括机器人环境和过程配置的维护和递送。队列可以包括提供队列和队列项的管理。监控可以包括保持跟踪机器人标识数据并且维持用户权限。日志记录可以包括将日志存储并且索引到数据库(例如,SQL数据库)和/或另一存储机制(例如,
Figure BDA0003442651080000102
其提供存储并且快速查询大数据集的能力)。引导器120可以通过用作针对第三方解决方案和/或应用的集中通信点来提供相互连接性。
机器人130是运行内置于设计器110中的工作流的执行代理。(多个)机器人130的一些实施例的一个商业示例是UiPath机器人TM。在一些实施例中,机器人130默认安装微软
Figure BDA0003442651080000103
服务控制管理器(SCM)管理的服务。作为结果,这样的机器人130可以在本地系统账号下打开交互
Figure BDA0003442651080000112
会话,并且具有
Figure BDA0003442651080000111
服务的权利。
在一些实施例中,机器人130可以以用户模式被安装。针对这样的机器人130,这意味着它们具有与用户相同的权利,在其之下给定机器人130已经被安装。该特征还可用于高密度(HD)机器人,其确保每个机器在其最大潜力的完全利用率。在一些实施例中,任何类型的机器人130可以被配置在HD环境中。
在一些实施例中,机器人130被拆分成多个组件,每个组件专用于特定自动化任务。在一些实施例中,机器人组件包括但不限于SCM管理的机器人服务、用户模式机器人服务、执行器、代理以及命令行。SCM管理的机器人服务管理和监控
Figure BDA0003442651080000117
会话并且用作在引导器120与执行主机(即,机器人130被执行于其上的计算系统)之间的代理。这些服务可以被信任并且管理针对机器人130的证书。控制台应用可以由SCM在本地系统下启动。
在一些实施例中,用户模式机器人服务管理和监控
Figure BDA0003442651080000114
会话,并且用作在引导器120与执行主机之间的代理。用户模式机器人服务可以被信任,并且管理针对机器人130的证书。
Figure BDA0003442651080000113
应用可以在SCM管理的机器人服务未被安装的情况下被自动地启动。
执行器可以在
Figure BDA0003442651080000115
会话下运行给定作业(即,它们可以执行工作流)。执行器可以知道每个监视器的每英寸点数(DPI)设置。代理可以是在系统拖盘窗口中显示可用作业的
Figure BDA0003442651080000116
表示基础(WPF)应用。代理可以是服务的客户端。代理可以请求开始或停止作业,并且改变设置。命令行是服务的客户端。命令行是可以请求开始作业并且等待它们的输出的控制台应用。
使机器人130的组件如以上所解释的拆分帮助开发方、支持用户和计算系统更容易地运行、标识并且跟踪每个组件正在执行什么。特殊的行为可以以这种方式根据每个组件来被配置,诸如针对执行器和服务来设置不同的防火墙规则。在一些实施例中,执行器可以总是知道每个监视器的DPI设置。作为结果,工作流可以在任何DPI处被执行,而不管它们被创建于其上的计算系统的配置如何。在一些实施例中,来自设计器110的项目还可以独立于浏览器缩放等级。在一些实施例中,对于DPI不知道的或有意被标记为不知道的应用,DPI可以被禁用。
图2是图示根据本发明的实施例的所部署的RPA系统200的架构图。在一些实施例中,RPA系统200可以是图1的RPA系统100或可以是图1的RPA系统100的部分。应当指出,客户端侧、服务器侧、或两者可以包括任何期望数目的计算系统,而不偏离本发明的范围。在客户端侧,机器人应用210包括执行器212、代理214和设计器216。然而,在一些实施例中,设计器216可以不正在计算系统210上运行。执行器212正在运行过程。多个商业项目可以同时运行,如图2中所示出的。在该实施例中,代理214(例如,
Figure BDA0003442651080000121
服务)是针对所有执行器212的单个接触点。在该实施例中,所有消息被日志记录到引导器230(其经由数据库服务器240、索引器服务器250、或两者来进一步处理它们)中。如以上关于图1所讨论的,执行器212可以是机器人组件。
在一些实施例中,机器人表示机器名与用户名之间的关联。机器人可以同时管理多个执行器。在支持同时运行的多个交互性会话的计算系统(例如,
Figure BDA0003442651080000122
服务器2012)上,多个机器人可以同时运行,每个机器人使用唯一用户名在单独的
Figure BDA0003442651080000123
会话中。这在上文被称为HD机器人。
代理214还负责发送机器人的状态(例如,定期发送指示机器人仍然正在工作的“心跳”消息)并且下载要被执行的包的所需版本。在一些实施例中,代理214与引导器230之间的通信总是由代理214发起。在通知情景中,代理214可以打开WebSocket通道,其稍后由引导器230使用,以将命令发送到机器人(例如,开始、停止等)。
在服务器侧,表示层(web应用232、开放数据协议(OData)代表性状态传输(REST)应用编程接口(API)端点234和通知和监控236)、服务器层(API实现/商业逻辑238)和持久层(数据库服务器240和索引器服务器250)被包括。引导器230包括web应用232、OData RESTAPI端点234、通知和监控236以及API实现/商业逻辑238。在一些实施例中,用户在引导器230的界面(例如,经由浏览器220)中执行的大多数动作通过调用各种API来执行。这样的动作可以包括但不限于开始机器人上的作业、添加/移除队列中的数据、调度作业以运行未被处理的等等而不偏离本发明的范围。web应用232是服务器平台的可视层。在该实施例中,web应用232使用超文本标记语言(HTML)和JavaScript(JS)。然而,任何期望的标记语言、脚本语言或任何其他格式可以被使用而不偏离本发明的范围。在该实施例中,用户经由浏览器220与来自web应用232的网页交互,以便执行各种动作来控制引导器230。例如,用户可以创建机器人组,将包分配给机器人,分析每个机器人和/或每个过程的日志,开始和停止机器人等等。
除了web应用232,引导器230还包括暴露OData REST API端点234的服务层。然而,其他端点可以被包括而不偏离本发明的范围。REST API由web应用232和代理214两者消费。在该实施例中,代理214是客户端计算机上的一个或多个机器人的监督者。
在该实施例中,REST API涵盖配置、日志记录、监控和队列功能。在一些实施例中,配置端点可以用于限定和配置应用用户、权限、机器人、资产、发布和环境。例如,日志记录REST端点可以用于日志记录不同的信息,诸如以错误、由机器人发送的显式消息以及其他环境特异性信息。如果在引导器230中使用开始作业命令,部署REST端点可以由机器人用于查询应当被执行的包版本。队列REST端点可以负责队列和队列项管理,诸如将数据添加到队列、从队列获得事务、设置事务的状态等等。
监控REST端点可以监控web应用232和代理214。通知和监控API 236可以是用于注册代理214、将配置设置递送到代理214和用于发送/接收来自服务器和代理214的通知的REST端点。在一些实施例中,通知和监控API 236还可以使用WebSocket通信。
持久层包括服务器对——数据库服务器240(例如,SQL服务器)和索引器服务器250。在该实施例中,数据库服务器240存储机器人、机器人组、相关联的过程、用户、作用、调度等的配置。在一些实施例中,该信息通过web应用232来管理。数据库服务器240可以管理队列和队列项。在一些实施例中,数据库服务器240可以存储由机器人日志记录的消息(除了或替代索引器服务器250)。
索引器服务器250(其在一些实施例中是可选的)存储并且索引由机器人日志记录的信息。在某些实施例中,索引器服务器250可以通过配置设置被禁用。在一些实施例中,索引器服务器250使用
Figure BDA0003442651080000141
其是开源项目全文本搜索引擎。由机器人日志记录的消息(例如,使用像日志记录消息或写入行的活动)可以通过(多个)日志记录REST端点被发送到索引器服务器250,其中它们被索引以用于未来利用。
图3是图示根据本发明的实施例的在设计器310、活动320、330、驱动340与AI/ML模型350之间的关系300的架构图。根据上文,开发者使用设计器310来开发由机器人执行的工作流。工作流可以包括用户定义的活动320和UI自动化活动330。用户定义的活动320和/或UI自动化活动330可以在一些实施例中调用一个或多个AI/ML模型350,其可以被定位在机器人正在其上操作的计算系统本地和/或与其远程地定位。一些实施例能够标识图像中的非文本可视化组件,其在本文被称为计算机视觉(CV)。关于这样的组件的一些CV活动可以包括但不限于点击、类型、获得文本、悬停、元素存在、刷新范围、突出显示等等。在一些实施例中,点击使用例如CV、光学字符识别(OCR)、模糊文本匹配和多点锚定来标识元素并且点击它。类型可以使用以上来标识元素和该元素中的类型。获得文本可以标识特定文本的位置并且使用OCR来扫描它。悬停可以标识元素并且在它上方悬停。元素存在可以使用以上所描述的技术来检查元素是否存在于屏幕上。在一些实施例中,可以存在可以在设计器210中实现的几百或甚至几千活动。然而,任何数量和/或类型的活动可以是可用的而不偏离本发明的范围。
UI自动化活动330是以较低等级代码编写并且促进与屏幕的交互的特殊的较低等级活动(例如,CV活动)的子集。UI自动化活动330促进经由允许机器人与期望软件交互的驱动340和/或AI/ML模型的这些交互。例如,驱动340可以包括OS驱动342、浏览器驱动344、VM驱动346、企业应用驱动348等。AI/ML模型350中的一个或多个模型可以由UI自动化活动330使用,以便确定执行与计算系统的交互。在一些实施例中,AI/ML模型350可以增强驱动340或完全替代它们。实际上,在某些实施例中,驱动340未被包括。
驱动340可以在低等级上与OS交互以寻找钩子、监控密钥等等。它们可以促进与
Figure BDA0003442651080000151
等等的整合。例如,“点击”活动经由驱动340在这些不同应用中执行相同作用。
图4是图示根据本发明的实施例的RPA系统400的架构图。在一些实施例中,RPA系统400可以是或者包括图1和/或图2的RPA系统100和/或200。RPA系统400包括运行机器人的多个客户端计算系统410。计算系统410能够经由运行于其上的web应用来与引导器计算系统420通信。引导器计算系统420转而能够与数据库服务器430和可选的索引器服务器440通信。
参考图1和图3,应当指出尽管web应用被使用在这些实施例中,但是任何适当的客户端/服务器软件可以被使用而不偏离本发明的范围。例如,引导器可以运行服务器侧应用,其与客户端计算系统上的非基于web的客户端软件应用通信。
图5是图示根据本发明的实施例的被配置为经由动作中心来补充AI/ML模型、提供AI/ML模型重新训练硬件控制、并且提供AI/ML模型设置管理的计算系统500的架构图。在一些实施例中,计算系统500可以是本文描绘和/或描述的计算系统中的一个或多个计算系统。计算系统500包括用于传送信息的总线505或其他通信机制,以及用于处理信息的耦合到总线505的(多个)处理器510。(多个)处理器510可以是任何类型的通用或专用处理器,包括中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、其多个实例、和/或其任何组合。(多个)处理器510还可以具有多个处理核心,并且核心中的至少一些核心可以被配置为执行特定功能。在一些实施例中,多机并行处理可以被使用。在某些实施例中,(多个)处理器510中的至少一个处理器可以是包括模拟生物神经元的处理元件的神经形态电路。在一些实施例中,神经形态电路可以不要求冯诺依曼计算架构的常见组件。
计算系统500还包括用于存储信息和要由(多个)处理器510执行的指令的存储器515。存储器515可以由以下项的任何组合构成:随机存取存储器(RAM)、只读存储器(ROM)、闪存、高速缓存、诸如磁盘或光盘的静态存储设备或任何其他类型的非暂态计算机可读介质或其组合。非暂态计算机可读介质可以是可以由(多个)处理器510访问的任何可用介质并且可以包括易失性介质、非易失性介质、或两者。介质还可以是可移除的、不可移除的、或两者。
附加地,计算系统500包括通信设备520,诸如收发器,以提供经由无线和/或有线连接对通信网络的访问。在一些实施例中,通信设备520可以被配置为使用频分多址(FDMA)、单载波FDMA(SC-FDMA)、时分多址(TDMA)、码分多址(CDMA)、正交频分复用(OFDM)、正交频分多址(OFDMA)、全球移动通信系统(GSM)、通用分组无线业务(GPRS)、通用移动通信系统(UMTS)、cdma 2000、宽带CDMA(W-CDMA)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、高速分组接入(HSPA)、长期演进(LTE)、LTE高级(LTE-A)、802.11x、Wi-Fi、Zigbee、超宽带(UWB)、802.16x、802.15、主节点-B(HnB)、蓝牙、射频识别(RFID)、红外数据协会(IrDA)、近场通信(NFC)、第五代(5G)、新无线(NR)、其任何组合、和/或任何其他当前存在的或未来实现的通信标准和/或协议而不偏离本发明的范围。在一些实施例中,通信设备520可以包括单数的、阵列的、相控的、切换的、波束形成的、波束操纵的、其组合和/或任何其他天线配置的一个或多个天线而不偏离本发明的范围。
(多个)处理器510还经由总线505进一步被耦合到显示器525,诸如等离子显示器、液晶显示器(LCD)、发光二极管(LED)显示器、场发射显示器(FED)、有机发光二极管(OLED)显示器、柔性OLED显示器、柔性衬底显示器、投影显示器、4K显示器、高清显示器、视网膜显示器、共面切换(IPS)显示器或用于将信息显示给用户的任何其他适当的显示器。显示器525可以被配置为使用电阻、电容、表面声波(SAW)电容、红外、光学成像、色散信号技术、声学脉冲识别、受抑总内反射等等来触摸(触觉)显示器、三维(3D)触摸显示器、多输入触摸显示器、多触摸显示器等等。任何适当的显示设备和触觉I/O可以被使用而不偏离本发明的范围。
键盘530和光标控制设备535(诸如,计算机鼠标、触摸板等)被进一步耦合到总线505以使用户能够与计算系统接口连接。然而,在某些实施例中,物理键盘和鼠标可以不存在,并且用户可以仅通过显示器515和/或触摸板(未示出)与设备交互。输入设备的任何类型和组合可以被用作设计选择的问题。在某些实施例中,不存在物理输入设备和/或显示器。例如,用户可以经由与其通信的另一计算系统与计算系统500远程地交互,或者计算系统500可以自主地操作。
存储器515存储当由(多个)处理器510执行时提供功能的软件模块。模模块包括用于计算系统500的操作系统540。模块还包括被配置为执行本文描述的过程或其衍生物中的全部或部分的AI/ML模型管理模块545。计算系统500可以包括一个或多个附加的功能模块550,其包括附加的功能。
本领域技术人员将认识到,“系统”可以被具化为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、量子计算系统或任何其他适当的计算设备、或设备的组合而不偏离本发明的范围。将上述功能呈现为由“系统”执行不旨在以任何方式限制本发明的范围,而是旨在提供本发明的许多实施例的一个示例。实际上,本文公开的方法、系统和装置可以以与包括云计算系统的计算技术一致的本地和分布式形式实现。计算系统可以是局域网(LAN)、移动通信网络、卫星通信网络、互联网、公共云或私有云、混合云、服务器农场、其任何组合等的部分或以其他方式可由其访问。任何本地和分布式架构可以被使用而不偏离本发明的范围。
应当指出,本说明书中描述的系统特征中的一些特征已经被呈现为模块,以便更特别地强调它们的实现独立性。例如,模块可以被实现为包括自定义超大规模集成(VLSI)电路或门阵列、诸如逻辑芯片、晶体管或其他分立组件的现成半导体的硬件电路。模块还可以被实现在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等的可编程硬件设备中。
模块还可以至少部分地以软件来实现以用于由各种类型的处理器执行。可执行代码的所标识的单元可以例如包括:可以例如被组织为对象、流程或函数的计算机指令的一个或多个物理或逻辑块。然而,所标识的模块的可执行件不需要物理上被定位在一起,而是可以包括存储在不同位置中的不同的指令,其当在逻辑上连接在一起时,包括该模块并且实现针对该模块所陈述的目的。另外,模块可以被存储在计算机可读介质上,计算机可读介质可以为例如用于存储数据的硬盘驱动器、闪速设备、RAM、带和/或任何其他这样的非暂态计算机可读介质而不偏离本发明的范围。
实际上,可执行代码的模块可以是单个指令或许多指令,并且可以甚至被分布在若干不同的代码段上、不同程序之中以及跨多个存储器设备分布。类似地,操作数据可以在本文被标识和图示在模块内,并且可以以任何适当的形式来具化并且被组织在任何适当类型的数据结构内。操作数据可以被收集为单个数据集,或者可以被分布在不同的位置上,包括在不同的存储设备上,并且可以至少部分地仅作为电子信号存在于系统或网络上。
图6是图示根据本发明的实施例的被配置为经由动作中心来补充AI/ML模型、提供AI/ML模型重新训练硬件控制并且提供AI/ML模型设置管理的系统600的架构图。系统600包括用户计算系统,诸如桌面计算机602、平板计算机604和智能电话606。然而,任何期望的计算系统可以被使用而不偏离本发明的范围,包括但不限于智能手表、膝上型计算机等。此外,尽管三个用户计算系统被示出在图6中,但是任何适当数目的计算系统可以被使用而不偏离本发明的范围。例如,在一些实施例中,几十、几百、几千或几百万计算系统可以被使用。
每个计算系统602、604、606具有在特定任务的执行中调用(多个)AI/ML模型(例如,AI/ML模型632中的一个或多个模型,链接的或未链接的)的RPA机器人610。例如,RPA机器人610中的一个或多个RPA机器人可以调用被训练,以使用CV来识别用户正在相应计算系统上做什么的AI/ML模型。计算系统602、604、606经由网络620(例如,局域网(LAN)、移动通信网络、卫星通信网络、互联网、其任何组合、等等)将诸如执行AI/ML模型632的请求和相关联的输入信息的信息发送到服务器630。在一些实施例中,服务器630可以是公共云架构、私有云架构、混合云架构等的部分。在某些实施例中,服务器630可以在单个计算系统630上托管多个基于软件的服务器。在一些实施例中,服务器630可以经由一个或多个虚拟机(VM)来实现。在某些实施例中,服务器630可以是不具有互联网连接性的“气隙”服务器。在该实施例中,服务器630包括由RPA机器人610中的一个或多个RPA机器人调用,以提供在完成自动化中帮助相应的调用RPA机器人的信息的AI/ML模型632。在一些实施例中,由RPA机器人610调用的AI/ML模型632可以具有执行诸如统计建模(例如,隐马尔可夫模型(HMM))的各种功能并且利用深度学习技术(例如,长短期记忆(LSTM)深度学习、先前隐藏状态的编码等等)以标识用户交互的序列的多个层。
例如,服务器630经由运行于其上的AI中心软件来监控AI/ML模型632的性能,并且具有对可以被存储在本地或数据库640上的、针对AI/ML模型632的一个或多个阈值的访问。然而,在一些实施例中,RPA机器人610可以监控(多个)性能阈值。当AI/ML模型632下降到针对第一时间或关于某种一致性的(多个)性能阈值以下(例如,在特定时间段内的平均性能、在AI/ML模型的特定运行次数内等等)时,AI/ML模型执行的结果(例如,预测)和其他数据(例如,AI/ML模型正在分析的用户界面(UI)的屏幕截图、AI/ML模型正在处理的文档、关于用户交互的序列的数据、数据库中的正在针对模式被分析的数据等)被发送到动作中心650,其中人类使用相应计算系统652的审查应用654来审查数据。如果预测正确,那么审查者经由审查应用654来批准预测,并且如果预测不正确,那么审查者提供正确预测。如果先前未由AI/ML模型632经由服务器630来提供,那么预测被提供到RPA机器人610,以用于在其自动化中使用。
在一些实施例中,逻辑可以被包括于RPA机器人610的调用活动中,或使RPA机器人610针对来自动作中心650的结果等待的某种其他活动中。在一些实施例中,RPA机器人610可以发送数据以用于动作中心650的人类审查。在某些实施例中,该数据可以由服务器630、由AI/ML模型632本身、由可以接收来自AI/ML模型632和/或RPA机器人610的通信的另一计算系统等发送。
在一些实施例中,RPA机器人610可以被配置为针对来自动作中心650的结果的确认来等待时间量。如果在该时间段内未接收到结果,那么RPA机器人610可以尝试使用来自AI/ML模型632的预测来继续其操作,跳过其工作流中的相关联的活动,采取默认动作等。在某些实施例中,RPA机器人610可以在未在该时间段内接收到结果或继续操作的(多次)尝试未成功的情况下抛出异常或提供错误消息。
由人类审查者在动作中心650中做出的校正和他们审查的相关联的数据可以被存储在数据库640中,以用于AI/ML模型632的后续重新训练。校正可以由审查者的计算系统652经由审查应用654、由调用RPA机器人610、由托管AI/ML模型632的服务器630等推送出去。这提供反馈回路,其推送用于重新训练的数据同时还将准确结果提供到调用RPA机器人610。重新训练可以在接收到一定量的训练数据之后、在经过一定时间段之后、在接收到一定数目的校正之后等,由服务器630或某个(多个)其他计算系统执行。如果经重新训练的AI/ML模型具有高于目标置信度,或者至少高于当前所部署的AI/ML模型632的常见置信度,那么经重新训练的版本可以被部署和使用替代当前所署的AI/ML模型632、与当前部署的AI/ML模型632同时被使用,以获得来自这两者的最佳预测等。
在一些实施例中,AI/ML模型632可以被上传为单个图像和包装器并且被部署为KubernetesTM集群中的DockerTM图像。基于所提供的值,容器可以用作服务预测调用器,其调用AI/ML模型632并且返回它们的执行结果。备选地,容器可以用于训练AI/ML模型632。
在一些实施例中,配置可以被提供到服务器630和/或存储在数据库640中,以用于指定要使用哪个硬件用于重新训练AI/ML模型632中的给定AI/ML模型。例如,可以指定是否使用图形处理单元(GPU)、中央处理单元(CPU)、其组合,第一个可用的(例如,如果所有GPU都忙,那么CPU可以替代地被使用以立即开始重新训练,即使重新训练可能比GPU花费更长时间)等,用于重新训练。在某些实施例中,这些设置可以被重写,诸如,通过重写配置中的设置并且命令GPU在它们一旦可用时用于重新训练。
在一些实施例中,过量的能力可以用于重新训练。例如,如果服务器630既托管又重新训练AI/ML模型,那么服务器630可以使用空闲处理器(例如,GPU和/或CPU)用于重新训练,其在更少的硬件资源由当前服务的AI/ML模型632消耗时加速重新训练过程。相反,在一些实施例中,当对当前服务的AI/ML模型632的执行和/或其他服务的需求增加时,处理资源可以被分配远离重新训练。然而,在某些实施例中,即使对当前服务的AI/ML模型632的执行和/或其他服务的需求增加,已经委派了重新训练AI/ML模型的任务的处理器也可以保持致力于重新训练。
在一些实施例中,服务器630可以学习什么CPU/GPU资源对于AI/ML模型630中的给定AI/ML模型是最佳的。服务器630可以然后基于最佳配置来自动地调整CPU和GPU的组合(或分配所有CPU或所有GPU)。在一些实施例中,CPU和GPU可以被选择用于服务AI/ML模型632以在执行时被RPA机器人610调用,并且自动均衡可以被执行,以提供其针对AI/ML模型630中的给定AI/ML模型的改进的组合。
AI层
在一些实施例中,多个AI层可以被使用。每个AI层是在数据上运行的算法(或模型),并且AI模型本身可以是在训练数据中训练的经训练的人工“神经元”的深度学习神经网络(DLNN)。层可以顺序地、并行地运行或其组合。
AI层可以包括但不限于序列提取层、集群检测层、可视化组件检测层、文本识别层(例如,OCR)、音频到文本转换层、或其任何组合。然而,任何期望数目和(多个)类型的层可以被使用而不偏离本发明的范围。使用多个层可以允许系统开发在屏幕中正在发生什么的全局图片。例如,一个AI层可以执行OCR,另一AI层可以检测按钮,另一AI层可以比较序列等。模式可以由AI层单独地确定或由多个AI层共同地确定。
图7是图示根据本发明的实施例的针对动作中心应用的界面700。界面700包括图像显示面板710和AI/ML模型参数面板720,图像显示面板710显示AI/ML模型正在分析的图像,AI/ML模型参数面板720示出由AI/ML模型标识的对象的类型和其位置。在该示例中,AI/ML模型已经将边界框714中所发现的卡车712错误地标识为火车。由AI/ML模型识别的对象类型以及边界框714的位置和大小分别被示出在类型字段722和位置字段724中。预测的置信度也被示出。
如果AI/ML模型已经正确地标识了对象,那么用户可以点击批准按钮726,以确认该标识。在一些实施例中,RPA机器人可以使用来自AI/ML模型的预测来进行,而不管用户是否提供校正。在某些实施例中,RPA机器人可以等待来自动作中心应用的指示,其指示来自AI/ML模型的预测准确。
由于在该示例中AI/ML模型将对象错误地标识为火车,那么用户可以通过更新字段722来校正在图像中所标识的对象类型。在某些实施例中,也可以做出其他校正。例如,如果图像中的对象未被标识或者对象的位置错误,那么在该实施例中用户可以在正确对象周围画出边界框或者手动地输入参数。在已经做出校正之后,用户可以然后点击校正按钮728,以将校正提供到RPA机器人,将校正提供到服务器/数据库以用于重新训练,或两者。
应当指出,在一些实施例中,各种类型的信息可以被示出在图像显示面板710中。例如,图像显示面板710可以示出文档(例如,PDF文档、微软
Figure BDA0003442651080000231
文档等)、用户界面的屏幕截图、或者在不偏离本发明的范围的情况下AI/ML模型正在分析的任何其他内容。实际上,界面700可以以任何期望的方式来配置,使得界面700与AI/ML模型分析的内容、其输入和/或其输出有关。
图8是图示根据本发明的实施例的用于经由动作中心来补充AI/ML模型、提供AI/ML模型重新训练硬件控制并且提供AI/ML模型设置管理的过程800的流程图。该过程以在805处接收执行来自RPA机器人的AI/ML模型的调用开始并且在810处执行所请求的AI/ML模型。在一些实施例中,当执行所请求的AI/ML模型时,使用配置,该配置指定用于重新训练所请求的AI/ML模型的处理器。例如,处理器可以包括GPU和CPU。在某些实施例中,该配置指定是否使用所有GPU,是否使用所有CPU或者是否使用GPU和CPU的组合。在一些实施例中,该配置指定:当优选类型的处理器不可用时,使用任何可用处理器。在某些实施例中,空闲处理器用于重新训练所请求的AI/ML模型。在一些实施例中,基于来自RPA机器人的、执行AI/ML模型的需求,处理器被添加到所请求的AI/ML模型的重新训练,或者处理器从所请求的AI/ML模型的重新训练中被移除。在某些实施例中,调用RPA机器人的活动包括:逻辑,该逻辑使调用RPA机器人针对来自动作中心的AI/ML模型的执行的结果等待时间段。在某些实施例中,当在该时间段期间未接收到AI/ML模型的执行的结果时,RPA机器人被配置为:尝试使用来自所请求的AI/ML模型的结果来继续操作,跳过与所请求的AI/ML模型相关联的活动或者采取默认动作。
在815处执行阈值监控,并且如果AI/ML模型性能的置信度或某个(多个)其他度量(例如,值阈值、标准差、另一统计度量等等)不在(多个)阈值以下,那么在820处AI/ML模型的执行的结果被提供到RPA机器人。在某些实施例中,性能可以在820处通过学习用于执行所请求的AI/ML模型的处理器的最佳组合来改进,并且使用所学习的处理器的最佳组合,以执行对用于执行所请求的AI/ML模型的自动均衡。在一些实施例中,AI/ML模型的执行的结果以及可能还有准确性和/或某个其他性能度量被提供到RPA机器人,而无论(多个)阈值如何。在某些实施例中,所请求的AI/ML模型的性能必须下降到针对第一时间、在一定时间段内或所请求的AI/ML模型的多次运行内的一个或多个性能阈值以下,以用于使步骤815的“是”分支被采取。
如果在815处未满足(多个)阈值,那么在825处,针对AI/ML模型结果的审查请求被发送到动作中心。在一些实施例中,审查请求包括:由所请求的AI/ML模型分析的图像的屏幕截图和来自所请求的AI/ML模型的预测。动作中心然后在830处执行对结果的审查(例如,经由动作中心应用)。在一些实施例中,审查包括:接收审查来自AI/ML模型的结果的请求,在执行动作中心应用的计算系统的显示器上显示由AI/ML模型分析的图像和针对结果的一个或多个参数,并且如果结果不正确,那么接收对参数中的至少一个参数的校正。如果在835处结果正确,那么在840处结果可以经由动作中心应用被批准并且被发送到RPA机器人,或者不采取进一步动作。
然而,如果在835处结果不正确,那么在845处经校正的结果可以经由动作中心应用被提供,并且结果可以被存储以用于重新训练或发送到调用RPA机器人。在其中数据被发送到调用RPA机器人而非由RPA提供者存储以用于重新训练的情况下,这可以在客户认为数据是敏感的或专属的时发生,并且因此出于安全目的将数据存储在本地并且在客户侧上重新训练。如果在850处满足重新训练准则(例如,一定量的训练数据被接收,经过一定时间段,从动作中心接收到一定数目的校正等),在855处重新训练AI/ML模型。然后在860处部署经重新训练的AI/ML模型。在一些实施例中,当经重新训练的AI/ML模型关于性能阈值中的至少一个性能阈值而改进时,经重新训练的AI/ML模型替代AI/ML模型的先前版本,或与AI/ML模型的先前版本同时被使用,并且这两者之间的最佳结果可以被使用。在某些实施例中,仅当经重新训练的AI/ML模型将一个或多个性能阈值改进了一个或多个相应的最小改进量时,经重新训练的AI/ML模型才被部署。
图8中执行的过程步骤可以由根据本发明的实施例的将针对(多个)处理器的指令编码为执行图8中描述的(多个)过程的至少部分的计算机程序执行。计算机程序可以被具化在非暂态计算机可读介质上。计算机可读介质可以是但不限于硬盘驱动器、闪速设备、RAM、磁带和/或任何其他这样的介质或用于存储数据的介质的组合。计算机程序可以包括用于控制计算系统的(多个)处理器(例如,图5的计算系统500的(多个)处理器510)实现图8中描述的过程步骤中的全部或部分的编码的指令,其还可以被存储在计算机可读介质上。
计算机程序可以以硬件、软件或混合实现来实现。计算机程序可以由与彼此操作性通信并且被设计为传递信息或指令以显示的模块组成。计算机程序可以被配置为在通用计算机、ASIC或任何其他适当的设备上操作。
将容易理解,如大体在本文的附图中描述和图示的,本发明的各种实施例的组件可以以各种各样的不同配置来布置和设计。因此,如附图中表示的本发明的实施例的详细描述不旨在限制如要求保护的本发明的范围,而是仅仅表示本发明的所选择的实施例。
在整个本说明书中描述的本发明的特征、结构或特性可以以任何适当的方式被组合在一个或多个实施例中。例如,在整个本说明书中对“某些实施例”、“一些实施例”或类似语言的引用意味着结合该实施例描述的特定特征、结构或特性被包括于本发明的至少一个实施例中。因此,短语“在某些实施例中”、“在一些实施例中”、“在其他实施例中”或类似语言在整个本说明书中的出现不必然全部指代同一组实施例并且所描述的特征、结构或特性可以以任何适当的方式被组合在一个或多个实施例中。
应当指出,在整个本说明书中对特征、优点或类似语言的引用不暗示可以用本发明实现的所有特征和优点应当在或在本发明的任何单个实施例中。相反,引用特征和优点的语言被理解为意味着结合实施例描述的特定特征、优点或特性被包括于本发明的至少一个实施例中。因此,在整个本说明书中对特征和优点以及类似语言的讨论可以但不必然指代相同实施例。
另外,本发明的所描述的特征、优点和特性可以以任何适当的方式被组合在一个或多个实施例中。相关领域的技术人员将意识到,本发明可以在没有特定实施例的具体特征或优点中的一个或多个的情况下被实践。在其他实例中,可以在某些实施例中意识到本发明的所有实施例中可能不存在的附加特征和优点。
本领域普通技术人员将容易理解,如以上所讨论的本发明可以以按照不同顺序的步骤和/或用不同于公开的那些的配置中的硬件元件来实践。因此,尽管本发明已经基于这些优选实施例来描述,对本领域技术人员将明显的是,某些修改、变型和备选结构将是明显的,同时保持在本发明的精神和范围内。为了确保本发明的边界和界限,因此应当参考随附权利要求书。

Claims (29)

1.一种系统,包括:
服务器,包括一个或多个人工智能(AI)/机器学习(ML)模型或具有对所述一个或多个AI/ML模型的访问;
一个或多个机器人过程自动化(RPA)机器人,被配置为在执行期间调用所述一个或多个AI/ML模型中的至少一个模型;以及
动作中心,其中
所述服务器被配置为:
监控所述一个或多个AI/ML模型的性能,
接收来自所述一个或多个RPA机器人中的调用RPA机器人的、执行所述一个或多个AI/ML模型中的AI/ML模型的请求,以及
当所请求的所述AI/ML模型的性能下降到针对第一时间的、在时间段内的或在所请求的所述AI/ML模型的多个运行内的一个或多个性能阈值以下时,向所述动作中心发送审查请求,以审查所请求的所述AI/ML模型的所述执行的结果,并且
所述动作中心被配置为:
从动作中心应用接收所述结果正确的指示,或者从所述动作中心应用接收经校正的结果,以及
当所述结果不正确时,向所述调用RPA机器人、所述服务器、或两者提供来自所述动作中心的所述经校正的结果。
2.根据权利要求1所述的系统,其中所述服务器还被配置为:
执行所请求的所述AI/ML模型;以及
向所述调用RPA机器人提供所请求的所述AI/ML模型的所述执行的结果和所述结果的准确性。
3.根据权利要求1所述的系统,其中由所述服务器发送到所述动作中心的所述审查请求包括:由所请求的所述AI/ML模型分析的图像的屏幕截图和来自所请求的所述AI/ML模型的预测。
4.根据权利要求1所述的系统,其中当所述动作中心提供校正,所述动作中心或所述服务器被配置为:使关于所述校正的数据被存储,以用于重新训练所请求的所述AI/ML模型,将所述数据发送到所述调用RPA机器人,或两者。
5.根据权利要求4所述的系统,其中在一定量的训练数据被接收之后、在经过一定时间段之后、或者在一定数目的校正从所述动作中心被接收之后,所述服务器被配置为重新训练所请求的所述AI/ML模型。
6.根据权利要求5所述的系统,其中经重新训练的所述AI/ML模型关于所述一个或多个性能阈值中的至少一个性能阈值而改进,所述服务器被配置为:
部署经重新训练的所述AI/ML模型来替代所请求的所述AI/ML模型;或者
同时使用经重新训练的AI/ML模型和所请求的AI/ML模型,并且从经重新训练的所述AI/ML模型和所请求的所述AI/ML模型中获得最佳结果。
7.根据权利要求6所述的系统,其中仅当经重新训练的所述AI/ML模型将所述一个或多个性能阈值改进了一个或多个相应的最小改进量时,经重新训练的所述AI/ML模型才被部署。
8.根据权利要求5所述的系统,其中所述服务器被配置为使用配置,所述配置指定用于重新训练所请求的所述AI/ML模型的处理器,所述处理器包括图形处理单元(GPU)和中央处理单元(CPU)。
9.根据权利要求8所述的系统,其中所述配置指定:是否要使用所有GPU、是否要使用所有CPU、或者是否要使用GPU和CPU的组合。
10.根据权利要求8所述的系统,其中所述配置指定:当优选类型的处理器不可用时,使用任何可用处理器。
11.根据权利要求8所述的系统,其中所述服务器被配置为:使用空闲处理器,以用于重新训练所请求的所述AI/ML模型。
12.根据权利要求8所述的系统,其中所述服务器被配置为:基于来自所述一个或多个RPA机器人的、针对所述服务器执行所述一个或多个AI/ML模型的需求,将处理器添加到所请求的所述AI/ML模型的所述重新训练,或者从所请求的所述AI/ML模型的所述重新训练中移除处理器。
13.根据权利要求8所述的系统,其中所述调用RPA机器人的活动包括逻辑,所述逻辑使所述调用RPA机器人针对来自所述动作中心的所述AI/ML模型的所述执行的所述结果等待时间段。
14.根据权利要求13所述的系统,其中当所述AI/ML模型的所述执行的所述结果不是在所述时间段期间被接收时,所述RPA机器人被配置为:尝试使用来自所请求的所述AL/ML模型的所述结果来继续操作,跳过与所请求的所述AI/ML模型相关联的活动,或者采取默认动作。
15.根据权利要求1所述的系统,其中所述服务器被配置为:学习用于执行所请求的所述AL/ML模型的处理器的最佳组合,并且使用所学习的所述处理器的最佳组合,以执行对用于执行所请求的所述AL/ML模型的所述处理器的自动均衡。
16.根据权利要求1所述的系统,其中所述动作中心应用被配置为:
接收审查来自所述AL/ML模型的所述结果的请求;
在显示器上显示由所述AL/ML模型分析的图像和针对所述结果的一个或多个参数;并且
接收对所述一个或多个参数中的至少一个参数的校正。
17.一种计算机实现的方法,包括:
由动作中心应用接收审查来自人工智能(AI)/机器学习(ML)模型的结果的请求;
在显示器上显示由所述AL/ML模型分析的图像和针对所述结果的一个或多个参数,所述一个或多个参数包括所述AL/ML模型的预测;
由所述动作中心应用接收对所述一个或多个参数中的至少一个参数的校正;以及
将所述校正发送到服务器,以用于所述AL/ML模型的重新训练。
18.根据权利要求17所述的计算机实现的方法,还包括:
由所述动作中心应用,将所述校正发送到调用所述AL/ML模型的机器人过程自动化(RPA)机器人,其中
所述校正包括:针对所述AL/ML模型的所述结果的经校正的预测。
19.一种存储计算机程序的非暂态计算机可读介质,所述计算机程序被配置为使至少一个处理器:
执行由机器人过程自动化(RPA)机器人请求的人工智能(AI)/机器学习(ML)模型;
监控所述AL/ML模型的性能;以及
当所述AI/ML模型中的AL/ML模型的性能下降到针对第一时间的、在时间段内的或在所述AI/ML模型的多个运行内的一个或多个性能阈值以下时,向动作中心发送审查请求,以审查所述AI/ML模型的所述执行的结果。
20.根据权利要求19所述的非暂态计算机可读介质,其中所述审查请求包括:由所述AI/ML模型分析的图像的屏幕截图和来自所述AI/ML模型的预测。
21.根据权利要求19所述的非暂态计算机可读介质,其中所述计算机程序还被配置为使所述至少一个处理器:
从所述动作中心接收针对所述AI/ML模型的校正;以及
存储所述校正,以用于重新训练AI/ML模型。
22.根据权利要求19所述的非暂态计算机可读介质,其中在一定量的训练数据被接收之后、在经过一定时间段之后、或者在一定数目的校正从所述动作中心被接收之后,所述计算机程序还被配置为使所述至少一个处理器:
重新训练所述AI/ML模型;并且
当经重新训练的所述AI/ML模型关于所述一个或多个性能阈值中的至少一个性能阈值而改进时:
部署经重新训练的所述AI/ML模型来替代所述AI/ML模型的先前版本;或者
同时使用经重新训练的所述AI/ML模型和所述AI/ML模型的所述先前版本,并且从经重新训练的所述AI/ML模型和所述AI/ML模型的所述先前版本中获得最佳结果。
23.根据权利要求22所述的非暂态计算机可读介质,其中仅当经重新训练的所述AI/ML模型将所述一个或多个性能阈值改进了一个或多个相应的最小改进量时,经重新训练的所述AI/ML模型才被部署。
24.根据权利要求22所述的非暂态计算机可读介质,其中所述计算机程序还被配置为使所述至少一个处理器:
使用配置,所述配置指定用于重新训练所请求的所述AI/ML模型的处理器,所述处理器包括图形处理单元(GPU)和中央处理单元(CPU)。
25.根据权利要求24所述的非暂态计算机可读介质,其中所述配置指定:是否要使用所有GPU、是否要使用所有CPU、或者是否要使用GPU和CPU的组合。
26.根据权利要求24所述的非暂态计算机可读介质,其中所述配置指定:当优选类型的处理器不可用时,使用任何可用处理器。
27.根据权利要求24所述的非暂态计算机可读介质,其中所述计算机程序还被配置为使所述至少一个处理器:
使用空闲处理器,以用于重新训练所述AI/ML模型。
28.根据权利要求24所述的非暂态计算机可读介质,其中所述计算机程序还被配置为使所述至少一个处理器:
基于所述RPA机器人的、针对所述计算机程序执行所述AL/ML模型的需求,将处理器添加到所述AI/ML模型的所述重新训练,或者从所述AI/ML模型的所述重新训练中移除处理器。
29.根据权利要求19所述的非暂态计算机可读介质,其中所述计算机程序还被配置为使所述至少一个处理器:
学习用于执行所述AI/ML模型的处理器的最佳组合,并且使用所学习的所述处理器的最佳组合,以执行对用于执行所述AI/ML模型的所述处理器的自动均衡。
CN202180004268.0A 2020-12-11 2021-10-28 经由动作中心来补充人工智能(ai)/机器学习(ml)模型、ai/ml模型重新训练硬件控制以及ai/ml模型设置管理 Pending CN114930356A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN202011053926 2020-12-11
IN202011053926 2020-12-11
US17/155,209 2021-01-22
US17/155,209 US20220188697A1 (en) 2020-12-11 2021-01-22 Supplementing artificial intelligence (ai) / machine learning (ml) models via action center, ai/ml model retraining hardware control, and ai/ml model settings management
PCT/US2021/056921 WO2022125207A1 (en) 2020-12-11 2021-10-28 SUPPLEMENTING ARTIFICIAL INTELLIGENCE (Al) / MACHINE LEARNING (ML) MODELS VIA ACTION CENTER, Al/ML MODEL RETRAINING HARDWARE CONTROL, AND AI/ML MODEL SETTINGS MANAGEMENT

Publications (1)

Publication Number Publication Date
CN114930356A true CN114930356A (zh) 2022-08-19

Family

ID=81942657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180004268.0A Pending CN114930356A (zh) 2020-12-11 2021-10-28 经由动作中心来补充人工智能(ai)/机器学习(ml)模型、ai/ml模型重新训练硬件控制以及ai/ml模型设置管理

Country Status (6)

Country Link
US (1) US20220188697A1 (zh)
EP (1) EP4035097A4 (zh)
JP (1) JP2023552666A (zh)
KR (1) KR20220083976A (zh)
CN (1) CN114930356A (zh)
WO (1) WO2022125207A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024005313A1 (ko) * 2022-06-30 2024-01-04 삼성전자 주식회사 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법
WO2024019352A1 (ko) * 2022-07-21 2024-01-25 엘지전자 주식회사 무선 통신 시스템에서 신호 송수신 방법 및 장치
GB202216488D0 (en) * 2022-11-04 2022-12-21 Samsung Electronics Co Ltd Methods and apparatus for ai/ml data transfer

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3112965A1 (en) * 2015-07-02 2017-01-04 Accenture Global Services Limited Robotic process automation
WO2017201107A1 (en) * 2016-05-16 2017-11-23 Purepredictive, Inc. Predictive drift detection and correction
US10270644B1 (en) * 2018-05-17 2019-04-23 Accenture Global Solutions Limited Framework for intelligent automated operations for network, service and customer experience management
US10974392B2 (en) * 2018-06-08 2021-04-13 International Business Machines Corporation Automated robotic security system
US11822913B2 (en) * 2019-12-20 2023-11-21 UiPath, Inc. Dynamic artificial intelligence / machine learning model update, or retrain and update, in digital processes at runtime
US20220094606A1 (en) * 2020-09-24 2022-03-24 Level 3 Communications, Llc Ai-supported network techniques

Also Published As

Publication number Publication date
US20220188697A1 (en) 2022-06-16
KR20220083976A (ko) 2022-06-21
JP2023552666A (ja) 2023-12-19
EP4035097A1 (en) 2022-08-03
EP4035097A4 (en) 2023-08-09
WO2022125207A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
KR102453988B1 (ko) 런타임시 디지털 프로세스에서의 동적 인공 지능/머신 러닝 모델 업데이트, 또는 재트레이닝 및 업데이트
US11738453B2 (en) Integration of heterogeneous models into robotic process automation workflows
US11372380B2 (en) Media-to-workflow generation using artificial intelligence (AI)
KR20220079542A (ko) 컨볼루션 신경 네트워크를 사용하여 로봇 프로세스 자동화에서 사용자 인터페이스 엘리먼트들을 검출하기
US20220188697A1 (en) Supplementing artificial intelligence (ai) / machine learning (ml) models via action center, ai/ml model retraining hardware control, and ai/ml model settings management
US11775860B2 (en) Reinforcement learning in robotic process automation
US11592804B2 (en) Task automation by support robots for robotic process automation (RPA)
WO2022081381A1 (en) Anomaly detection and self-healing for robotic process automation via artificial intelligence / machine learning
US11782733B2 (en) Training an artificial intelligence / machine learning model to recognize applications, screens, and user interface elements using computer vision
EP3809347A1 (en) Media-to-workflow generation using artificial intelligence (ai)
KR102502324B1 (ko) 로봇 프로세스 자동화를 위한 머신 학습 모델 재훈련 파이프라인
US11593709B2 (en) Inserting and/or replacing machine learning models in a pipeline for robotic process automation workflows
US20220100639A1 (en) Computer-implemented method and system for test automation of an application under test
CN113168355A (zh) 经由在第二会话中运行的机器人流程自动化机器人使在第一会话中运行的过程自动化
EP3905144A1 (en) Machine learning model retraining pipeline for robotic process automation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20220819