用于自动化数据科学过程的系统和方法
文献发布时间:2023-06-19 19:20:08
技术领域
本公开总体上涉及数据科学技术,更具体地涉及数据科学过程和自动化机器学习(AutoML)。
背景技术
在相关技术中,数据科学过程定义了高效且有效地交付分析解决方案和智能应用程序的方法。自动化机器学习(AutoML)是可以自动为给定数据构建(一个或多个)模型的框架系统,它可以使ML管道中的最大数量的步骤自动化,最大限度地减少人力,并提高模型性能。
在相关技术的实现方式中,存在包括预测性组件的AutoML框架。相关技术的AutoML框架包括专门为特定的ML实现方式定制的静态实现方式,并且通常不可定制。此外,这样的相关技术的实现方式不利用自动化数据科学过程。
发明内容
相关技术的实现方式不具有有助于描述性和探索性分析的组件、规定性、自动化或自主性学习组件。本文描述的示例实现方式目的在于,通过被配置为提供自动化数据科学过程的统一的、高度可定制的和可扩展的框架来有助于预测性组件以外的这些组件。
传统的数据科学过程存在几个问题。首先,传统的数据科学过程不够全面,无法支持价值驱动的任务。需要有一个使数据科学从业者能够具体了解如何驱动价值的全面的过程。其次,传统的数据科学过程只关注离线过程。尚未提出在线数据科学过程,相关技术中也没有将离线过程和在线过程组合起来的数据科学过程。需要有一个支持离线过程和在线过程两者的数据科学过程。在线过程可能对于现实世界的系统至关重要,因为它有助于自动化和自主性学习,以基于动态系统中的实时数据获得最适合的模型。此外,传统的数据科学过程需要人类进行大量的手动工作。需要一种自动进行数据科学过程中的任务的系统。
AutoML框架的相关技术的实现方式存在几个缺陷。首先,相关技术的AutoML框架仅处理数据科学任务的“预测”方面,而数据科学过程的其他组件中的通用工作并未自动化。需要一种使数据科学过程中的通用工作自动化的系统。
在相关技术的实现方式中,每个AutoML库仅支持一个底层机器学习库。需要有助于统一的且可扩展的系统来支持各种机器学习库。
为解决上述需求,本文描述的示例实现方式包括综合数据科学系统,其是描述性的、探索性的、预测性的、规定性的、自动化的和自主性的,并且被配置为支持价值驱动任务。该过程包括无缝集成为一个整体系统的离线过程和在线过程。
在本文描述的示例实现方式中,存在针对历史数据限定用于所有数据科学任务的方法和工作流的离线过程。该过程对应于前四个组件以有助于系统的描述性方面、探索性方面、预测性方面和规定性方面。
在本文描述的示例实现方式中,存在针对实时数据限定用于所有数据科学任务的方法和工作流的在线过程。该过程对应于最后四个组件以有助于预测性、规定性、自动化、自主性。
在本文描述的示例实现方式中,存在用于数据科学过程的自动化系统,其中AutoML被应用于过程的每个步骤以减少手动工作并优化结果。引入并提供统一的、可定制的、可扩展的框架以支持系统。
本公开的方面可包括一种用于生成和部署自动化和自主性自学习机器学习模型的方法,该方法包括:在第一系统处通过离线学习过程生成预测性模型和规定性模型;通过将预测性模型和规定性模型部署到第二系统来控制第二系统的操作;以及在规定性模型和预测性模型被部署在第二系统上时,通过在线学习过程根据来自第二系统的反馈自主地更新规定性模型和预测性模型。
本公开的方面可包括一种用于生成和部署自动化和自主性自学习机器学习模型的系统,该系统包括:用于在第一系统处通过离线学习过程生成预测性模型和规定性模型的装置;用于通过将预测性模型和规定性模型部署到第二系统来控制第二系统的操作的装置;以及用于在规定性模型和预测性模型被部署在第二系统上时,通过在线学习过程根据来自第二系统的反馈自主地更新规定性模型和预测性模型的装置。
本公开的方面可包括一种非瞬态计算机可读介质,其存储用于生成和部署自动化和自主性自学习机器学习模型的指令,该指令包括:在第一系统处通过离线学习过程生成预测性模型和规定性模型;通过将预测性模型和规定性模型部署到第二系统来控制第二系统的操作;以及在规定性模型和预测性模型被部署在第二系统上时,通过在线学习过程根据来自第二系统的反馈自主地更新规定性模型和预测性模型。
本公开的方面可包括一种用于生成和部署自动化和自主性自学习机器学习模型的系统,该系统包括第一系统,该第一系统具有处理器,该处理器被配置为:通过离线学习过程生成预测性模型和规定性模型;通过将预测性模型和规定性模型部署到第二系统来控制第二系统的操作;以及在规定性模型和预测性模型被部署在第二系统上时,通过在线学习过程根据来自第二系统的反馈自主地更新规定性模型和预测性模型。
附图说明
图1(a)示出了根据示例实现方式的用于离线过程和在线过程的自动化系统的示例。
图1(b)示出了根据示例实现方式的离线过程的示例流程。
图2示出了根据示例实现方式的与离线系统集成的在线系统的示例工作流。
图3示出了根据示例实现方式的自动化的自适应群组学习的示例。
图4示出了根据示例实现方式的解决方案配置文件的示例。
图5(a)和图5(b)示出了根据示例实现方式的用于生成和部署自动化和自主性自学习机器学习模型的示例流程图。
图6示出了根据示例实现方式的多个系统以及管理设备。
图7示出了具有适合在一些示例实现方式中使用的示例计算机装置的示例计算环境。
具体实施方式
下面的详细描述提供了本申请的附图和示例实现方式的细节。为了清楚起见,省略了附图之间的冗余元件的附图标记和描述。在整个描述中使用的术语作为示例提供,并不旨在是限制性的。例如,术语“自动”的使用可包括全自动实现方式或包括对实现方式的某些方面的用户或管理员控制的半自动实现方式,这取决于实践本申请的实现方式的本领域的普通技术人员所需的实现方式。选择可以由用户通过用户界面或其他输入装置进行,或者可以通过所需算法来实现。可以单独地或组合地使用本文描述的示例实现方式,并且可以根据所需的实现方式通过任何手段来实现示例实现方式的功能。
本文描述的示例实现方式涉及一种有助于综合数据科学过程以帮助驱动业务价值的系统,该系统包括描述性组件、探索性组件、预测性组件、规定性组件、自动化组件和自主性组件。
描述性组件涉及对业务问题、数据和技术的理解和评估。描述步骤通过使用数据统计、词典、仪表板和报告来提供优先顺序、可行性、投资回报和可行动的业务用例。描述性步骤利用案例价值判定来确定关键性能指标/度量标准以衡量系统的成功。描述性步骤还对技术、数据和分析的可行性和风险进行评估,并且还包括数据理解和健全性检查,同时使用价值链以避免孤立分析。
探索性组件包括通过假设构建和发展、数据探索(例如,相关性分析、异常值分析、趋势、中心性和季节性分析等)、构建数据可视化、说明性分析、数据工程(例如、集成、归一化)以及确定可用作更好的预测因子的变量进行的探索性数据分析和数据工程。
预测性组件目的在于基于从描述性组件和探索性组件中学到的知识构建预测性模型。预测性组件可包括统计和机器学习驱动的分析(整理因果关系)、“拟合优度”度量、整理隐藏在数据中的模式/关系、数据丰富、特征工程、创建资产和物理行为模型以及监督的/无监督的/强化机器学习。
规定性组件目的在于响应于来自预测性组件的预测而生成规定性可行动的建议,并且可包括根本原因分析、可解释的人工智能(Al)、可行动的建议的生成、资产和物理行为模型的挖掘和合并、测量决策有效性以及进行基于约束的优化。
自动化组件着重于与操作环境或系统的集成,并使规定性动作到操作环境或控制系统的应用自动化。自动化组件可包括模型部署和执行、模型生命周期管理、使规定性动作到操作环境或控制系统的应用自动化、智能产品或装置、智能应用程序和决策有效性。自动化硬件组件(包括可编程逻辑控制器(PLC)、机器人、变频驱动器(VFD)、智能产品或装置、传感器等)可被编程为支持自动化任务,例如使规定性动作的应用自动化。自动化组件可以有助于多种好处,包括但不限于生产率、吞吐量和收入的提高、产品质量的提高、健康和安全的增强、效用/能源成本的降低、工业系统的停机时间的减少和系统故障的诊断时间以及维护/维修成本的减少。
自主性组件着重于基于新数据和反馈的持续学习,可包括强化学习、迁移学习、自主性学习(例如,知识存储、知识图谱、用户行为等)、通过多个子系统(或域)的群组学习以及基于新数据/证据和/或误差/反馈使持续学习自动化。自动化组件和自主性组件集成在一起,以支持规定性动作的应用的自动化,获取新数据、误差和反馈,对预测性模型和规定性模型进行再训练,并通过利用自主学习能力,对控制系统更高效和有效地工作的规定性动作做出智能决策。这与其中基于规则的模型或算法由人类设计和维护以支持系统自动化的相关技术的自动化系统形成对比。
由于系统中的许多任务在不同的数据科学任务中是通用的,因此本文描述的示例实现方式使用AutoML技术使每个组件中的通用组件自动化,以节省开发时间并提高解决方案的性能。
图1(a)示出了根据示例实现方式的用于离线过程和在线过程的自动化系统的示例。在图1(a)的示例实现方式中,示出了可以自动化的通用内容的示例子组。
在图1(a)的示例中,离线系统包括描述性组件100、探索性组件110、预测性组件120和规定性组件130。离线系统根据离线或历史数据运行。来自离线系统的输出包括来自描述性组件100和探索性组件110的数据分析结果、来自预测性组件120的(一个或多个)预测性模型以及来自规定性组件130的(一个或多个)规定性模型。
描述性组件100被配置为在为其提供问题和数据集作为输入时,提供描述性分析101(例如,数据健全性检查、统计等)作为输出。探索性组件110被配置为在数据集具有足够用于进行分析的质量时,为给定数据集提供探索性分析111(例如,相关性、异常值等)。预测性组件120被配置为在探索性分析具有足够用于构造预测性模型的质量时,基于该探索性分析构造预测性模型。如果不具有足够用于构造预测性模型的质量,可以进行更多的描述性分析或探索性分析,直到达到足够的质量。预测性组件120可以进行许多用于预测性建模的活动,包括解决方案初始化121、解决方案选择122、超参数优化123和后处理124。规定性组件130被配置为基于预测性模型构造规定性模型131(例如,根本原因分析、建议、可解释的AI等)。如果预测性模型不具有足够用于构造规定性模型的质量,则可以通过预测性组件120重构预测性模型。
在在线系统的示例中,在线系统被配置为将在线或实时数据获取作为输入。来自在线系统的输出包括预测、可行动的建议、到控制系统或机器系统的控制信号以及持续学习的模型。在在线系统的示例实现方式中,预测性组件120被配置为将来自离线系统的模型部署到在线系统中以基于实时数据输入进行预测。规定性组件130被配置为基于由预测性组件120提供的预测从规定性模型生成规定性动作。
自动化组件140被配置为将规定性动作自动应用到控制系统并改变底层机器/资产的操作。自动化组件140可包括装置/仪器/过程/模型集成和部署141以及DevOps改进和建议的动作应用的自动化142。
自主性组件150被配置为基于预测连同相关联的规定性动作与观察到的事件和动作项目的比较来确定误差和/或反馈。通过实时数据和模型的当前版本,该信息用于对预测性模型和规定性模型进行再训练和改进。根据保留的测试数据对再训练模型进行评估。如果再训练模型具有更好的性能,则将其部署到在线系统,否则,将保留模型的当前版本。自主性组件150可以包括自学习(例如,强化学习)151、持续学习152、迁移学习153和群组学习154。
图1(b)示出了根据示例实现方式的离线过程的示例流程。首先,如图1(a)所示,调用描述性组件100。在1000处,判定数据是否足以有助于描述性分析。如果足以(是),则流程进行到探索性组件110以判定解释性分析,如图1(a)所示,否则(否),流程进行到1010以从系统请求更多数据。
在1001处,判定描述性分析和探索性分析是否具有足够用于构造模型的质量。如果足够(是),则流程进行到预测性组件120以根据探索性和预测性分析生成预测性模型。否则(否),流程返回到1010以获得更多用于进行分析的数据。
在1002处,判定由预测性组件120生成的预测性模型对于历史数据是否具有足够的准确性。如果具有(是),则流程进行到规定性组件130以生成规定性模型。否则(否),流程返回到探索性组件110以生成进一步的探索性分析。
在1003处,判定由规定性组件130生成的规定性模型是否具有足够的准确性。如果具有(是),则流程结束并调用在线系统,因为预测性模型和规定性模型被在线部署到底层系统。否则(否),流程返回到预测性组件120以重新生成预测性模型。
图2示出了根据示例实现方式的与离线系统集成的在线系统的示例工作流。如图2所示,在线系统根据在线数据(或实时数据)运行,以应用预测性模型和规定性模型来生成预测和可行动的建议,自动将建议应用到控制系统,并基于新数据、误差和反馈不断自学习。工作流的示例如下。
首先,离线系统210被配置为生成并提供用于在线系统的预测性模型和规定性模型,然后在211处将预测性模型和规定性模型部署到在线系统。在212处,在在线系统中执行模型以根据实时数据220进行预测221。还基于预测221从规定性模型生成规定性动作231并将其自动应用于控制系统230。然后,控制系统/DevOps 230通过改变资产和机器如何工作的配置来对规定性动作做出响应,并由此影响从传感器收集的实时数据。
实时地,通过比较预测221和观察值220来自动生成误差。也可以通过解析操作者日志来自动生成有关预测和规定性动作的反馈。误差、反馈和新数据被组合用于通过自主性学习200对预测性模型和规定性模型进行再训练。
根据所需的实现方式,可以使用多种自主性学习技术200,包括持续学习、迁移学习、强化学习、微调技术、提升等。根据所需的实现方式,可以实时地或基于预定时间表进行持续学习。根据保留的测试数据对再训练模型进行评估:如果模型有更好的性能,在211处将它们部署到在线系统,否则,在在线系统上保留模型的当前版本。
在另一个示例实现方式中,可以将再训练模型与现有模型一起部署到在线系统中。现有模型和再训练模型都将根据实时数据运行,以在预定时间段内生成预测和规定性动作。但是,在预定时间段期间,只有从现有模型生成的预测和规定性动作起作用。在预定时间段结束时,基于预定时间段期间的预测和规定性动作对现有模型和再训练模型进行评估和比较,性能较好的模型将被保留在在线系统中并起作用。
通过示例实现方式,在线系统试图基于底层工业系统中的实时情况,实时地求解“最适合的”解决方案。可以基于底层工业系统根据所需的实现方式对模型本身要分析的度量标准和目标进行配置。
如图2所示,模型构建后,将其部署到物理运行环境中。访问物理运行环境(例如,客户环境)可能困难又昂贵。为了解决这样的问题,示例实现方式包括包含可以轻松部署到物理运行环境中的模型的包。
为了实现这样的示例实现方式,使模型文件为标准格式,并使模型文件的包可移植到任何物理运行环境,使得可部署和执行模型。为了解决第一个问题,示例实现方式将标准pickle文件格式用于模型文件,并使用MLFlow来管理模型生命周期。为了解决第二个问题,示例实现方式将MLFlow包(包含模型文件)打包到Docker图像中,Docker图像是包括MLFlow包的虚拟运行环境,并且可以在物理运行环境设施的上面运行。
机器学习生命周期管理是管理模型的生命周期的高效方式,包括模型构建、模型部署、模型版本控制等。在本文描述的示例实现方式中,更多的重点放在使交付模型的格式标准化,使其可用于不同的运行环境。在本文的示例实现方式中,一种实现方式是将pickle文件格式用于模型文件,并将其打包到MLFlow包中,其中MLFlow是现有的模型生命周期管理工具。模型版本控制基于模型性能:在构建新模型时,基于度量标准根据保留的测试数据对其进行评估。如果评估结果良好(并且优于现有模型),则保留它;否则,将它丢弃。在[0047]中描述了选择再训练模型的另一个示例实现方式。
自主性学习是一种人工智能(Al)方法,其促进机器(或其他学习者)在不断变化和不确定的世界中在无需人协助或监督的情况下自行学习和分析。通过自主性学习,学习者自主地管理自己的学习过程。自主性学习也称为面向自己的学习。
在示例实现方式中,在将模型部署在为动态且随时间变化的物理运行环境中后,模型将无需人协助或监督地基于在物理运行环境中收集的新实时数据、误差和反馈自动进行调整和改进,如图2所示。为此目的可以使用一些技术,包括强化学习、持续学习、迁移学习、群组学习等。
强化学习是机器学习的领域,其涉及软件代理在不确定的、可能复杂的环境中应该如何采取动作,以通过试验和误差的方式使累积奖励的观念最大化。它以随机试验开始并以复杂的策略结束以实现目标。
在本文描述的示例实现方式中,强化学习以部署的离线模型(其优于随机试验)开始,进行预测并生成规定性动作。规定性动作的应用改变了物理运行环境的行为,包括收集的数据。收集新数据、模型误差和反馈以及问题目标,并将它们用于计算接下来的规定性动作。根据所需的实现方式可以使用几种最先进的技术,包括深度Q网络(DQN)、深度确定性策略梯度(DDPG)、近端策略优化(PPO)、双延迟深度确定性策略梯度(TD3)等。
提供了一个例子来说明强化学习建模中的不同元素。在一个例子中,构建模型以优化来自工厂的产量。为了构建离线模型,判定工厂产量的关键因素并将其作为特征,并将产量用作目标,以构建被监督的回归模型。一旦离线模型被构建,就可以将其部署到在线系统中。现在,将强化学习用于如下优化在离线模型上面的产量。
“状态”:状态限定了学习代理从环境中接收到的观察结果。对于此例子,其是当前工厂的状态,包括传感器读数、操作参数和当前产量。
“策略”:策略限定了学习代理在当前环境状态下在给定时间的行为方式。对于此例子,它限定了从感知到的工厂当前状态到优化产量要采取的动作的映射。
“奖励”:奖励限定了强化学习问题的目标。对于该例子,奖励是“工厂产量”。奖励在直接意义上表示动作的结果:每个动作都会立即获得奖励。
“价值函数”:状态的价值是学习代理自该状态以来能够期望获得的奖励的汇集总量。对于此例子,它是从某个状态开始在一段时间(比如一个月)内的汇集的工厂产量。价值函数限定了长期的回报。
需要说明的是,在离线模型和在线模型中使用的机器学习技术可以不同。在此例子中,离线模型基于监督学习技术,而在线模型基于强化学习技术。
持续学习是一种利用系统中新收集的数据针对同一问题逐步且持续地改进现有模型的机器学习技术。在示例实现方式中,在构建来自离线系统的模型后,将其部署到在线系统中。将在在线系统中收集的新实时数据用于对模型进行再训练并改进模型以获得更好的性能。新模型适应新数据,以使自己成为最适合的模型。对模型进行再训练可以按照预定的时间表发生,该预定的时间表可以是实时的、每天的、每周的等,这取决于训练的需要和成本。对于持续学习,在离线模型和在线模型中使用的机器学习技术是相同的。
迁移学习是一种通过利用从相关问题中学到的知识来促进为一个问题构建模型的机器学习技术。使用迁移学习的原因包括:历史数据对于新问题不足;从新问题对数据的训练成本非常高;新问题和现有问题非常相似并且新问题可以从为现有问题构建的模型中受益。在本文描述的示例实现方式中,在为一个问题构建离线模型之后,将它部署到在线系统中以解决另一个问题。针对新问题,使用来自在线系统的实时数据对模型进行再训练和改进。因此,这可以是为新问题构建模型的高效且有效的方式。对于迁移学习,在离线模型和在线模型中使用的机器学习技术是相同的。
图3示出了根据示例实现方式的自动化自适应群组学习的示例。工业系统可包括多个同时工作的相似组件。如果整个系统太大和/或在在线系统中构建模型的计算能力不够,一种设计是将自动化自适应群组学习300用于在320处将在线模型构建工作分配到各个子系统中,在330处将来自子系统的模型组合,并在331处将组合模型分配回每个子系统,如图3所示。可以基于整个系统的分层设计(即资产模型)来确定子系统。自动化自适应群组学习300的工作流可包括以下内容。
在310处,基于系统中的所有历史数据对全局离线预测性模型和全局离线规定性模型进行训练。构建离线模型是一次性工作,假设能够满足构建离线模型的计算硬件资源要求。在320处,将全局预测性模型和全局规定性模型部署到每个子系统中。如图2所示,每个子系统都安装了在线系统,它遵循图2所示的工作流。在局部模型320的每个子系统处,每对局部模型(预测性和规定性)用图2所示的自主性学习来更新。
以某个预定的时间表(例如,每天),在330处将子系统处的局部模型整合在一起以形成全局模型。根据模型的评估方式,存在两种可用于将局部模型整合成全局模型的设计方案。一种示例设计方案可包括全局评估。让每对局部模型(预测性和规定性)在预定时间段(例如,3小时)内根据整个系统上的新全局数据运行。然后,全局评估设计方案基于预定评估度量标准来测量每对局部模型的性能得分,这些度量标准可以是业务度量标准,或是根据所需的实现方式的其他度量标准。模型评估的输出是向量,其中每个元素都是一对局部模型(预测性和规定性)的性能得分。最后,全局评估设计方案找出最高的性能得分并选择对应的模型。
另一种设计方案可包括局部评估。让每对局部模型(预测性和规定性)在预定时间段(比如,3小时)内根据每个子系统处的新局部数据运行。然后,局部评估设计方案基于预定评估度量标准来测量每对局部模型的性能得分,这些度量标准可以是业务度量标准,或是根据所需的实现方式的其他度量标准。模型评估的输出是矩阵,其中每个元素都是根据每个子系统处的局部数据的一对局部模型(预测性和规定性)的性能得分。最后,局部评估设计方案可基于所有局部数据的性能得分来检查每对局部模型排名最高的次数,并选择大多数时间获胜的模型。
在用于局部评估的另一种设计方案的示例中,示例实现方式可以跨局部数据集计算每对局部模型(预测性和规定性)的平均性能得分,并选择平均性能得分最高的模型作为全局模型。
在用于局部评估的另一个设计方案的示例中,示例实现方式可以将性能得分矩阵转换为排名矩阵,跨局部数据集计算每对局部模型(预测性和规定性)的平均排名,并选择排名最高的模型作为全局模型。
在用于局部评估的另一个设计方案的示例中,代替选择一对全局模型(预测性和规定性),示例实现方式可以针对每个局部数据集获得具有最佳性能得分的一对局部模型,并为所有子系统选择一组模型对(预测性和规定性)。
最后,将选择的模型311部署到局部模型320中的每个子系统。通过这样的示例实现方式,在线系统可以自动化并适应实时数据。
本文描述的示例实现方式提供了综合数据科学过程,其包括作为一个过程无缝地一起工作的离线过程和在线过程。为了支持本文描述的数据科学过程的自动化系统的开发,示例实现方式包括统一的、高度可定制的和高度可扩展的框架,该框架为各种底层机器学习库提供了统一且易于使用的接口并满足了各种专业水平的数据科学从业者的需求。框架将每个解决方案制定成如下所述的两个组件。
解决方案配置文件:解决方案配置文件定义了数据科学过程的所有步骤中的动作或项目。解决方案配置文件具有用于图1(a)中所示的每个步骤的部分,以指定关于如何执行每个步骤的配置和说明。每个部分还可以具有子部分以限定需要完成的工作的细节。
主程序:主程序是每个解决方案的入口点。它读取解决方案配置文件,遵循每个组件的定义,并相应地执行组件。
解决方案配置文件具有以下关键属性。
统一的:来自多个机器学习库的机器学习方法可以在单个解决方案配置文件中指定。
可扩展的:可以使用最先进的技术通过在解决方案配置文件中添加某个部分来轻松扩展解决方案。
可定制的:为每种解决方案类型提供了优化且通用的解决方案模板,例如分类、回归、建议引擎、聚类和异常检测。另外,用户可以轻松定制解决方案配置文件以满足自己的需求。
图4示出了根据示例实现方式的解决方案配置文件的示例。包括本文所述和图1(a)所示的离线过程和在线过程的数据科学过程根据本文所示的解决方案配置文件400来执行。每个解决方案都有解决方案配置文件,其用于指定解决方案的所有细节。在本文描述的示例实现方式中,解决方案配置文件400具有用于图1(a)所示的每个组件的部分,以指定关于如何执行用于在线和离线过程的每个组件的配置和说明。配置可包括用于每个组件的部分;如果每个组件需要更多详细说明,则使用子部分来指定这样的细节。
对于描述性组件100,描述性部分401可包括对数据源的描述以及与数据源相关的其他元数据信息。这样的元数据信息可以用于描述性组件功能101(例如,健全性检查、确定缺失值的量),或可以是用于基本统计的信息,例如均值、中值、标准差等。
对于探索性组件110,探索性部分402可包括数据分析111,例如相关性分析、异常值分析、时间序列数据分析(趋势、中心性、季节性)等。
对于预测性组件120,预测性组件120的功能涉及限定要解决的问题的类型(例如,分类问题等)。要初始化的过程可包括解决方案初始化121、解决方案选择122、超参数优化123和模型后处理124。解决方案配置文件可包括预测性403,其可包括指示新数据集和解决方案初始化模型的位置的解决方案初始化参数、指示新数据集的位置和解决方案选择模型的位置的解决方案选择参数、指示用于优化解决方案候选的子部分列表的超参数优化参数以及模型后处理参数。在标题为“AUTOMATED MACHINE LEARNING:A UNIFIED,CUSTOMIZABLE,AND EXTENSIBLE SYSTEM”(自动化机器学习:统一的、可定制的、可扩展的系统)的PCT申请号PCT/US2020/039647中描述了可以利用解决方案配置文件中的参数的解决方案初始化、解决方案选择、超参数优化和模型后处理的示例,出于所有目的,该国际申请的内容通过引用整体并入。
在图4的示例解决方案配置文件中,预测部分404主要指定用于超参数优化的配置。超参数优化可包括有关使用什么数据、如何处理特征、要使用什么模型、每个模型的模型算法、如何评估模型、模型参数和根据所需的实现方式的其他参数的信息。用于超参数优化的子部分可以是:数据403-1、特征403-2、模型403-3、特征详细说明403-4、模型详细说明403-5和模型评估403-6。数据403-1可以指示要从中提取数据的数据源或数据文件,可以根据所需的实现方式包括诸如标签、涉及的特征的类型、数据分割等参数。数据403-1也可以指定输入和输出。根据所需的实现方式,特征403-2指示用于特征提取的参数,例如允许/禁止提取相关特征、基于方差阈值的特征选择等。模型403-3指示将应用于数据403-1的模型,例如但不限于逻辑回归、随机森林分类器、梯度提升分类器、支持向量机分类器、神经网络分类器等,这取决于所需的实现方式。特征详细说明403-4可以指示用于并入的特征403-2的参数。模型详细说明403-5指示用于并入的模型403-3的参数。评估403-6指示用于评估模型403-3的度量标准。
对于规定性组件130(和对应的细节131),规定部分404可包括:用于计算模型的特征重要性的方法和相关联的参数;用于对预测进行根本原因分析的方法和相关联的参数;用于优化特征空间以获得最佳目标值的方法和相关联的参数;如131所示。
对于自动化组件140,自动化部分405可包括将离线模型部署到在线系统中的方法和相关联的参数,如141所示;使规定性动作到在线系统的应用自动化,如142所示。其他自动化任务包括通过API和/或数据接口与在线系统(装置、机器等)的集成。
对于自主性组件150,自主性部分406可包括用于根据实时数据执行自主性学习的方法和相关联的参数。这将包括一个或多个组件:强化学习151、持续学习152、迁移学习153和群组学习154。自主性组件在在线系统中运行,也需要配置模型生命周期管理。
对于某些组件(例如,模型403-3),解决方案配置文件中的详细说明可包括需要调用底层机器学习库中的哪些模型算法、需要将哪些参数传递给模型算法等。解决方案配置文件400用于定义在每个解决方案中考虑的每个问题。例如,在机械场景中,可能存在分类和回归问题,其由此用整个解决方案来指定,包括如何预处理数据、如何进行特征工程、选择什么模型、参数调整、后处理、评估等。
图1(a)示出的组件通过解决方案配置文件解析并获得机器学习库以根据该文件执行。示例实现方式利用解决方案配置文件来定义和指定解决方案,并使用在大多数编程语言(例如Python、Java)中提供的反射技术来读取和解析解决方案配置文件。通过这样的示例实现方式,结果是各种分析库和机器学习库可以一起用在一个解决方案中。
在示例实现方式中,主程序是每个解决方案的入口点,并被配置为读取解决方案配置文件,遵循每个模块的定义并相应地执行模块。
解决方案配置文件具有以下关键属性,这里是在讨论解决方案配置文件的内容之后的更多细节。解决方案配置文件是统一的,使得可以在单个解决方案配置文件中指定机器学习方法,例如来自多个机器学习库的特征工程和模型算法。解决方案配置文件是可扩展的,使得使用最先进的技术通过在解决方案配置文件中添加某个部分来轻松扩展解决方案。解决方案配置文件是可定制的。为每种解决方案类型提供了优化且通用的解决方案模板,包括但不限于:分类、回归、聚类、异常检测、建议引擎、剩余使用寿命预测。出于超参数优化的目的,模板指定了所有可能的特征工程技术和相关联的参数网格、模型算法和相关联的参数网格以及评估技术。用户可以使用在解决方案模板中指定的配置,或者他们可以以满足自己的需要的方式修改配置和进行自定义。
图5(a)示出了根据示例实现方式的用于生成和部署自动化和自主性自学习机器学习模型的示例流程。在示例实现方式中,流程从图4所示的解决方案配置文件生成并执行描述性组件100、探索性组件110、预测性组件120和规定性组件130,以在501处在第一离线系统处生成预测性模型和规定性模型。然后,在502处,流程将预测性模型和规定性模型部署到第二在线系统以根据由规定性模型响应于从第二系统提供的实时数据而生成的规定性动作来控制第二系统的操作。在503处,该流程基于实时数据、误差和来自第二系统的反馈自主地更新预测性模型和规定性模型,如图2和图5(b)所示。
图5(b)示出了根据示例实现方式的在线过程的示例流程,该在线过程被配置为在部署模型时根据实时数据、误差和来自第二系统的反馈自主地更新预测性模型和规定性模型。在510处,流程接收来自第二系统的反馈。在511处,流程判定来自预测性模型的预测与来自第二系统的反馈之间的误差。在512处,该流程基于新数据、误差和反馈对预测性模型和规定性模型进行再训练,如图3所示。在513处,基于使用与当前模型相比在再训练模型上保留的测试数据,判定再训练预测性模型和再训练规定性模型是否比当前部署的预测性模型和规定性模型具有更好的准确性。如果具有(是),则流程进行到514以用再训练模型替换部署的模型,否则(否),流程结束。对于比较现有模型和再训练模型的另一个示例实现方式,参照包括如何将再训练模型与现有模型一起部署到在线系统中的示例实现方式。
通过图5(a)和图5(b)所示的流程,用于生成模型的离线训练系统可以与部署模型的在线系统集成,由此允许无缝更新用于控制在线系统的模型,而无需在线系统停止操作。将离线模型部署到在线系统之后,可以基于历史数据并行地改进离线模型,然后在来自离线模型的性能改进(与在线模型的当前版本相比)满足预定标准时,这些无线模型无缝替换在线模型,而不中断在线系统的正常操作。
图6示出了根据示例实现方式的多个系统和管理设备。一个或多个第二系统601-1、601-2、601-3和601-4接收模型以在线部署到它们的底层设备,并且通信地耦合到与管理设备602连接的网络600,管理设备602有助于控制离线模型和处理离线模型并将离线模型部署到一个或多个第二系统601-1、601-2、601-3和601-4的第一系统。管理设备602管理数据库603,数据库603包含从网络600中的系统汇集的数据反馈。在替代示例实现方式中,来自第二系统601-1、601-2、601-3和601-4的数据反馈可以被汇集到中央储存库或中央数据库,例如汇集来自系统(例如,企业资源规划系统)的数据的专有数据库,并且管理设备602可以访问或获取来自中央储存库或中央数据库的数据。这样的系统可包括操作者为了制造或其他过程而操作的设备(例如,车床、压力机、铣床、磨床等)以及移动设备(例如,叉车、起重机、卡车)以及操作者为了制造、工厂或其他过程的目的而操作的任何其他设备。为了在线部署预测性模型和规定性模型,一个或多个第二系统601-1、601-2、601-3和601-4中的每一个都可以包括一个或多个用于直接控制底层设备的可编程逻辑控制器(PLC),或被配置为向底层设备发送指令以控制操作的物联网(IoT)网关。PLC或IoT网关可以被配置为接收和执行来自管理设备602的模型以将模型部署到底层系统,并向管理设备602提供反馈。管理设备602可以独立于第二系统601-1、601-2、601-3和601-4操作,以离线和独立于系统操作。所提出的自动化系统可以如下实现。
在示例实现方式的示例用例中,系统可以作为独立系统提供,该独立系统包括机器学习库,该机器学习库具有用于在数据科学过程中自动进行各种任务的软件组件。在这样的实现方式中,用户编写代码来调用库中的函数并管理计算和数据存储。
在示例实现方式的示例用例中,系统可以作为具有图形用户界面(GUI)的本地部署的(on-premise)的软件来实现,该图形用户界面展示在机器学习库中提供的功能。用户使用GUI执行自动数据科学过程并管理计算和数据存储。
在示例实现方式的示例用例中,可以通过基于网络的用户界面展示机器学习库来利用基于软件即服务(SaaS)的解决方案。用户订阅服务,将数据上传到服务提供商,并使用基于网络的用户界面来进行自动数据科学过程。服务提供商管理计算和数据存储。
在示例实现方式的示例用例中,系统可以作为展示机器学习库的微服务或微应用程序被并入。
图7示出了具有适合在一些示例实现方式中使用的示例计算机装置的示例计算环境,例如图6所示的管理设备602或者图6所示的第二系统601-1、601-2、601-3、601-4的PLC/IoT网关。根据所需的实现方式,本文描述的功能可以在管理设备602处实现,或者通过基于元素的某种组合的系统来促进。
计算环境700中的计算机装置705可包括一个或多个处理单元、核或处理器710、存储器715(例如,RAM、ROM等)、内部存储装置720(例如,磁、光、固态存储装置,和/或有机的)和/或I/O接口725,它们中的任何一个都可以耦合在用于传送信息的通信机构或总线730上或嵌入在计算机装置705中。根据所需的实现方式,I/O接口725还被配置为从摄像机接收图像或向投影仪或显示器提供图像。
计算机装置705可以通信地耦合到输入/用户接口735和输出装置/接口740。输入/用户接口735和输出装置/接口740中之一或两者可以是有线或无线接口并且可以是可拆卸的。输入/用户接口735可包括可用于提供输入的任何物理的或虚拟的装置、组件、传感器或接口(例如,按钮、触摸屏界面、键盘、指向/光标控件、麦克风、摄像机、盲文、运动传感器、光学阅读器等)。输出装置/接口740可包括显示器、电视、监视器、打印机、扬声器、盲文等。在一些示例实现方式中,输入/用户接口735和输出装置/接口740可以与计算机装置705嵌入或物理耦合。在其他示例实现方式中,其他计算机装置可以用作计算机装置705的输入/用户接口735和输出装置/接口740,或提供计算机装置705的输入/用户接口735和输出装置/接口740的功能。
计算机装置705的示例可包括但不限于高度移动的装置(例如,智能手机、车辆和其他机器中的装置、人和动物携带的装置等)、移动装置(例如,平板电脑、笔记本电脑、膝上型电脑、个人电脑、便携式电视、收音机等)以及并非为了移动而设计的装置(例如,台式计算机、其他计算机、信息亭、嵌入和/或耦合了一个或多个处理器的电视、收音机等)。
计算机装置705可以通信地耦合(例如,经由I/O接口725)到外部存储装置745和网络750以与任何数量的联网组件、装置和系统通信,包括相同或不同配置的一个或多个计算机装置。计算机装置705或任何连接的计算机装置可以用作服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签,提供服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签的服务,或称为服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签。
I/O接口725可包括但不限于使用任何通信或I/O协议或标准(例如,以太网、802.1lx、通用系统总线、WiMax、调制解调器、蜂窝网络协议等)向和/或从计算环境700中的至少所有连接的组件、装置和网络传送信息。网络750可以是任何网络或网络的组合(例如,因特网、局域网、广域网、电话网络、蜂窝网络、卫星网络等)。
计算机装置705可以使用计算机可用或计算机可读介质和/或使用计算机可用或计算机可读介质(包括瞬态介质和非瞬态介质)进行通信。瞬态介质包括传输介质(例如,金属电缆、光纤)、信号、载波等。非瞬态介质包括磁性介质(例如,磁盘和磁带)、光学介质(例如,CD ROM、数字视频磁盘、蓝光光盘)、固态介质(例如,RAM、ROM、闪存、固态存储装置)和其他非易失性存储装置或存储器。
计算机装置705可以用于在一些示例计算环境中实现技术、方法、应用程序、过程或计算机可执行指令。计算机可执行指令可以从瞬态介质获取,并存储在非瞬态介质上并从非瞬态介质获取。可执行指令可以源自任何编程、脚本和机器语言(例如,C、C++、C#、Java、VisualBasic、Python、Perl、JavaScript等)中的一种或多种。
(一个或多个)处理器710可以在本地或虚拟环境中的任何操作系统(OS)(未被示出)下执行。可以部署一个或多个应用程序,其包括逻辑单元760、应用程序编程接口(API)单元765、输入单元770、输出单元775以及用于不同单元彼此、与OS和与其他应用程序(未被示出)通信的单元间通信机构795。所描述的单元和元件可在设计、功能、配置或实现方式方面有所不同,并且不限于所提供的描述。
在一些示例实现方式中,在信息或执行指令被API单元765接收到时,它可以被传送到一个或多个其他单元(例如,逻辑单元760、输入单元770、输出单元775)。在某些情况下,在所描述的一些示例实现方式中,逻辑单元760可以被配置为控制单元之间的信息流并指导由API单元765、输入单元770、输出单元775提供的服务。例如,一个或多个过程或实现方式的流程可以由逻辑单元760单独或结合API单元765来控制。输入单元770可以被配置为获得在示例实现方式中描述的计算的输入,并且输出单元775可以被配置为基于在示例实现方式中描述的计算提供输出。
(一个或多个)处理器710可以被配置为:通过离线学习过程生成预测性模型和规定性模型;通过将预测性模型和规定性模型部署到第二系统来控制第二系统的操作;以及在规定性模型和预测性模型被部署在第二系统上时,通过在线学习过程根据来自第二系统的反馈自主地更新规定性模型和预测性模型,如图1(a)、图5(a)和图5(b)所示。
(一个或多个)处理器710被配置为通过以下方式来将预测性模型和规定性模型部署到第二系统来控制第二系统的操作:执行从规定性模型生成的用于改变第二系统的操作的规定性动作的自动化应用,如图1(a)至图3所示。
(一个或多个)处理器710可以被配置为通过以下方式来在第一系统处通过离线学习过程生成预测性模型和规定性模型:根据解决方案配置文件生成描述性组件,该描述性组件被配置为进行描述性分析;根据解决方案配置文件和描述性分析生成探索性组件,该探索性组件被配置为进行探索性分析;根据解决方案配置文件和探索性分析生成预测性组件,该预测性组件被配置为结合解决方案配置文件中指定的一个或多个机器学习库以生成预测性模型;以及根据解决方案配置文件和预测性模型生成规定性组件,该规定性组件被配置为将规定性动作映射到来自预测性模型的结果以生成规定性模型,如图1(a)和图4所示。
(一个或多个)处理器710可以配置为通过以下方式来通过将预测性模型和规定性模型部署到第二系统来控制第二系统的操作:将预测性模型和规定性模型部署为是在线的并被配置为从第二系统获取实时数据;根据实时数据通过预测性模型生成预测;根据预测通过规定性模型生成规定性动作;以及根据规定性动作控制第二系统的操作,如图1(a)所示。
(一个或多个)处理器710可以被配置为通过以下方式来在规定性模型和预测性模型被部署在第二系统上时,通过在线学习过程根据来自第二系统的反馈自主地更新规定性模型和预测性模型:基于来自第二系统的反馈与来自预测性模型的与控制操作相关联的预测之间的差异来判定误差;其中用于第二系统的(一个或多个)处理器710被配置为在预测性模型和规定性模型被部署在第二系统处时,通过持续学习过程基于实时数据、误差和反馈对预测性模型和规定性模型进行再训练;以及对于比预测性模型和规定性模型具有更好性能的再训练预测性模型和再训练规定性模型,将再训练规定性模型和再训练预测性模型部署到第二系统,如图5(b)所示。
(一个或多个)处理器710被配置为通过以下方式来在第二系统处,在预测性模型和规定性模型被部署在第二系统处时,通过持续学习过程基于实时数据、误差和反馈对预测性模型和规定性模型进行再训练:将用于生成再训练预测性模型和再训练规定性模型的机器学习过程分配到与第二系统的子系统相关联的多个局部模型中;迭代地整合多个局部模型以生成多个再训练预测性模型和多个再训练规定性模型,并选择生成的多个再训练预测性模型中的一个再训练预测性模型和生成的多个再训练规定性模型中的一个再训练规定性模型以将它们分配回机器学习过程中;以及如图3所示的整合多个局部模型以生成再训练预测性模型和再训练规定性模型。
(一个或多个)处理器710被配置为通过以下方式来在第二系统处,在预测性模型和规定性模型被部署在第二系统处时,通过持续学习过程基于实时数据、误差和反馈对预测性模型和规定性模型进行再训练:强化学习过程或迁移学习过程中的一个或多个基于实时数据、误差和反馈对预测性模型和规定性模型进行再训练,如图3所示。
详细描述的某些部分是根据计算机内的操作的算法和符号表示来呈现的。这些算法描述和符号表示是数据处理领域的技术人员用来向本领域其他技术人员传达其创新的本质的手段。算法是导致所需的最终状态或结果的一系列定义的步骤。在示例实现方式中,所执行的步骤需要对有形量进行物理操作以实现有形结果。
除非另有具体说明,否则根据讨论显而易见的是,应当理解,在整个描述中,使用诸如“过程”、“运算”、“计算”、“确定”、“显示”等术语的讨论可包括计算机系统或其他信息处理装置的动作和过程,这些装置将计算机系统的寄存器和存储器中表示为物理(电子)量的数据操纵和转换为类似地表示为计算机系统的存储器或寄存器中的物理量或其他信息的其他数据存储、传输或显示装置。
示例实现方式还可以涉及用于执行本文的操作的设备。该设备可以为所需目的而专门构造,或者它可包括一台或多台通用计算机,该计算机由一个或多个计算机程序选择性地激活或重新配置。这样的计算机程序可以存储在计算机可读介质中,例如计算机可读存储介质或计算机可读信号介质。计算机可读存储介质可涉及有形介质,例如但不限于光盘、磁盘、只读存储器、随机存取存储器、固态装置和驱动器,或适合用于存储电子信息的任何其他类型的有形或非瞬态介质。计算机可读信号介质可包括诸如载波的介质。本文呈现的算法和显示与任何特定的计算机或其他设备没有内在关联。计算机程序可以涉及纯软件实现方式,这些实现方式包括执行所需的实现方式的操作的指令。
各种通用系统可以与根据本文的示例的程序和组件一起使用,或者可以证明构造用于执行所需的方法步骤的更专用的设备是方便的。此外,示例实现方式没有参照任何特定的编程语言来描述。应当理解,可以使用多种编程语言来实现本文所描述的示例实现方式的教导。(一种或多种)编程语言的指令可以由一个或多个处理装置执行,例如,中央处理单元(CPU)、处理器或控制器。
如本领域已知的,上述操作可以由硬件、软件或软件和硬件的某种组合来执行。示例实现方式的各个方面可以使用电路和逻辑装置(硬件)来实现,而其他方面可以使用存储在机器可读介质(软件)上的指令来实现,这些指令如果由处理器执行,将导致处理器执行用于进行本申请的实现方式的方法。此外,本申请的一些示例实现方式可以单独以硬件执行,而其他示例实现方式可以单独以软件执行。此外,所描述的各种功能可以在单个单元中执行,或者可以以任意数量的方式分布在多个组件中。在由软件执行时,这些方法可以由诸如通用计算机的处理器基于存储在计算机可读介质上的指令来执行。如果需要,可以将指令以压缩和/或加密格式存储在介质上。
此外,考虑到说明书和本申请的教导的实践,本申请的其他实施方式对于本领域技术人员来说将是显而易见的。所描述的示例实现方式的各个方面和/或组件可以单独使用或以任何组合使用。说明书和示例实现方式仅被视为示例,本申请的真实范围和精神由所附权利要求指示。
- 用于确定介质的温度的过程自动化技术传感器和方法
- 用于针对在安全系统键区上显示的文本来定制和提供自动化语音提示的系统和方法
- 用于为驾驶自动化系统提供智能超驰的系统和方法
- 过程自动化系统和用于过程自动化系统的过程装置
- 过程自动化系统和用于过程自动化系统的过程装置