工业厂房控制器的制作方法

文档序号:25604926发布日期:2021-06-25 13:19阅读:89来源:国知局
工业厂房控制器的制作方法
工业厂房控制器
1.相关申请的交叉引用
2.本申请要求2018年12月13日提交的美国临时申请no.62/779,148的优先权,所述申请的全部内容在此以引用方式并入。


背景技术:

3.本说明书涉及用于控制工业厂房的操作的控制系统。
4.工业厂房可以是处理材料(例如,化学地、机械地、电气地或其组合)以产生加工输出的任何设施。工业厂房的实例包括冶炼厂、造纸厂和炼油厂。工业厂房的控制系统可以选择要执行以控制工业厂房的操作的控制动作。因此,本发明的目标是避免用于工业厂房的控制系统的已知缺点。此外,本发明的目标是促进工业厂房的操作并提供其效率。本发明所基于的那些目标通过所要求保护的特征,特别是通过独立权利要求所要求保护的主题来解决。


技术实现要素:

5.本说明书描述一种系统,所述系统被实施为在一个或多个位置中的一个或多个计算机上的计算机程序,所述系统训练控制工业厂房的操作的工业厂房控制器。
6.根据第一方面,提供一种方法,所述方法由一个或多个数据处理设备执行以训练控制工业厂房的操作的工业厂房控制器。所述方法包括使用模拟工业厂房的操作的工业厂房模拟模型来生成训练数据。生成训练数据包括,在多个时步中的每个时步处:使用工业厂房模拟模型处理(i)表征在当前时步处工业厂房的模拟状态的当前状态向量,以及(ii)要在当前时步处执行的控制动作;使用工业厂房模拟模型生成表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量;以及至少基于表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量,确定在当前时步处接收到的奖励。使用训练数据通过强化学习技术来训练工业厂房控制器。工业厂房控制器被配置成根据工业厂房控制器参数处理输入以生成动作选择策略输出,所述输入包括表征工业厂房的状态的状态向量,所述动作选择策略输出定义要执行以控制工业厂房的操作的控制动作。
7.在一些实施方式中,训练包括调整工业厂房控制器参数的值,以增加通过执行由工业厂房控制器所生成的动作选择策略输出定义的控制动作而被接收的累积奖励的度量。
8.在一些实施方式中,使用并行运行的工业厂房模拟模型的多个实例来生成训练数据。
9.在一些实施方式中,生成训练数据进一步包括:在一个或多个特定时步处,调整当前状态向量以模拟影响工业厂房的操作的事件的发生。
10.在一些实施方式中,事件包括工业厂房中的设备故障。
11.在一些实施方式中,在每一特定时步处,通过从可能事件的预定集合上的概率分布采样来确定事件,其中所述可能事件包括不影响工业厂房的操作的非事件。
12.在一些实施方式中,在时步处接收到的奖励表征在时步处执行的控制动作如何有
效地完成某些任务。
13.在一些实施方式中,所述方法进一步包括:确定工业厂房控制器是否通过一个或多个认证测试,其中认证测试评估工业厂房控制器是否能够通过根据工业厂房控制器参数的当前值生成控制动作,来有效地控制工业厂房的操作;以及响应于确定工业厂房控制器通过认证测试,使用工业厂房控制器来控制工业厂房的操作。
14.在一些实施方式中,所述方法进一步包括使用工业厂房控制器来控制工业厂房的操作,包括在多个给定时步中的每个时步处:获得表征在给定时步处工业厂房的状态的状态向量;使用工业厂房控制器处理输入以生成动作选择策略输出,所述输入包括表征在给定时步处工业厂房的状态的状态向量;以及确定要基于动作选择策略输出而在给定时步处执行的控制动作。
15.在一些实施方式中,动作选择策略输出包括用于可能控制动作的预定集合中的每个控制动作的相应分数。
16.在一些实施方式中,确定要基于动作选择策略输出而执行的控制动作包括选择具有最高分数的控制动作。
17.在一些实施方式中,工业厂房控制器包括一个或多个神经网络,并且工业厂房控制器参数包括一个或多个神经网络的权重值。
18.根据第二方面,提供一种系统,所述系统包括:一个或多个计算机;以及一个或多个存储装置,其通信地耦合到所述一个或多个计算机,其中所述一个或多个存储装置存储指令,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机训练工业厂房控制器,所述工业厂房控制器通过执行包括前述方法的操作的操作来控制工业厂房的操作。
19.根据第三方面,提供一个或多个非暂时性计算机存储介质,所述一个或多个非暂时性计算机存储介质存储指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机训练工业厂房控制器,所述工业厂房控制器通过执行包括前述方法的操作的操作来控制工业厂房的操作。
20.可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。
21.在本说明书中描述的训练系统,可以使用由数值地模拟工业厂房的操作的一个或多个模拟系统生成的训练数据,来训练用于控制工业厂房的操作的工业厂房控制器。通过例如并行运行多个模拟系统并使模拟系统运行的速度比工业厂房实际操作的“实时”速度快,训练系统可以生成大量的训练数据。可以由模拟系统生成的大量训练数据极大地超过了有限数量的实际(即,非模拟)训练数据,该实际训练数据通过记录表征工业厂房的实际操作的数据而获得。训练系统可以使用通过使用模拟系统生成的大量训练数据来训练控制器,以与训练系统仅使用实际训练数据的情况相比更有效地控制工业厂房。
22.本说明书中描述的训练系统可以训练工业厂房控制器,以有效地对影响工业厂房的操作的各种事件(例如,设备故障或输入材料改变)作出响应,而不必实际体验这些事件。具体来说,训练系统可以使用模拟系统来模拟可能会影响工业厂房的操作的数千个事件的发生,此后训练控制器以有效地对这些事件的发生作出响应。相反,工业厂房的操作人员可能准备不足,从而无法有效地对影响工业厂房的操作的某些事件作出响应。例如,某些事件
在工业厂房的实际操作中可能很少发生,因此人类操作员可能缺乏对这些事件作出响应的经验。然而,在本说明书中描述的训练系统可以训练控制器,以通过在不同模拟中将控制器数千次地暴露于罕见事件而有效地对这些罕见事件作出响应。更具体来说,模拟可以启用对使工业厂房无法操作的事件的训练,这使用实际数据是不可行的。
23.通过模拟在根据“探索策略”选择控制动作时(例如,在随机地选择一些控制动作的情况下)工业厂房的操作,在本说明书中描述的训练系统可以生成高度多样化的训练数据的集合。以此方式,训练系统使控制器能够在将控制器部署到工业厂房的实际操作之前“探索”可能控制动作的空间以及其对工业厂房的模拟结果。如果直接训练控制器以在不借助模拟训练数据的情况下控制工业厂房的操作,则控制器无法在选择控制动作时实施探索策略,因为选择不当的控制动作可能会损害工业厂房或导致工业厂房不安全地操作。
24.在附图和以下具体实施方式中阐述本说明书的主题的一个或多个实例的细节。主题的其它特征、方面和优点将从具体实施方式、附图和权利要求书变得显而易见。在此方面,应强调,从属权利要求的特征构成本发明的不同实施例及其组合。
附图说明
25.图1是示例工业厂房、控制工业厂房的操作的示例工业厂房控制器,以及用于训练工业厂房控制器的示例训练系统的框图。
26.图2是用于生成模拟轨迹的示例过程的流程图。
27.图3是用于训练工业厂房控制器以使用模拟轨迹执行特定任务的示例过程的流程图。
28.图4是用于使用工业厂房控制器来控制工业厂房的操作的示例过程的流程图。
29.图5是示例计算系统的框图。
30.在各个附图中的相似参考数字和标号表示相似的元件。
具体实施方式
31.图1是示例工业厂房100、控制工业厂房100的操作的示例工业厂房控制器102,以及用于训练工业厂房控制器102的示例训练系统104的框图。工业厂房控制器102和训练系统104是可以实施为在一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,在所述位置中实施下文描述的系统、组件和技术。
32.工业厂房控制器102被配置成处理表征工业厂房100的状态的状态向量106,以生成控制工业厂房100的操作的控制动作108。控制器102根据由训练系统104确定的工业厂房控制器参数110的集合的值处理状态向量106。如下文将更详细地描述,训练系统104可以基于使用模拟工业厂房100的操作的一个或多个模拟系统114生成的训练数据112,而通过强化学习技术(或其它学习技术)确定控制器参数110的值。
33.工业厂房100可以是处理材料(例如,化学地、机械地、电气地或其组合)以产生加工输出的任何设施。例如,工业厂房100可以是用于处理矿石以提取金属的冶炼厂。作为另一示例,工业厂房100可以是用于将木材处理成木浆的纸浆厂。作为另一示例,工业厂房100可以是用于将原油处理成炼制品(例如,汽油、柴油、取暖油等)的炼油厂。作为另一示例,工业厂房100可以用于处理钾碱以产生肥料。
34.状态向量106表征在特定时步处工业厂房100的状态。为了方便起见,状态向量106在本说明书中称为“向量”,但是通常它们可以以任何适当的数值格式(例如,向量、矩阵或高阶张量)表示。状态向量106可以基于位于工业厂房100中的传感器的输出而生成,并且可以表征工业厂房100的任何方面。例如,状态向量106可以表征工业厂房100中的流体压力和流速(例如,在管道中)、工业厂房100中的物质(例如,在桶中)的化学成分,以及工业厂房100中的阀门位置(例如,打开或关闭)。
35.控制器102通过在多个时步中的每一时步处,处理表征在时步处工业厂房100的状态的状态向量106来控制工业厂房100的操作,以生成一个或多个控制动作108。控制动作108定义要执行的动作以控制工业厂房100的操作。例如,控制动作108可以包括改变工业厂房100中的阀门的位置(例如,通过打开或关闭阀门)、改变工业厂房100中的混合器(例如,用于混合桶中的内容物)的速度,或改变工业厂房100中的某些位置的温度(例如,通过激活加热或冷却系统)。为了方便起见,以下描述将参考控制器102在每一时步处生成单个控制动作108,但是也可以在每一时步处生成多个控制动作。在一些情况下,控制器102独立地控制工业厂房100的操作,而在其它情况下,控制器102结合操作人员控制工业厂房100的操作。例如,由控制器102产生的一些或全部控制动作108可以在工业厂房100中执行之前受到操作人员的人工监督。进一步参考图4描述用于使用控制器102控制工业厂房100的操作的示例过程。
36.为了方便起见,图1描绘与工业厂房100分离的控制器102。然而,实施控制器102的硬件和软件组件可以位于任何合适位置中。例如,实施控制器102的一些或全部组件可以位于工业厂房100中。作为另一实例,实施控制器102的一些或全部组件可以远离工业厂房100定位(例如,位于云计算环境中)。工业厂房100可以使用任何合适的通信介质(例如,有线或无线连接)将表征工业厂房100的状态的状态向量106传输到控制器102。类似地,控制器102可以使用任何合适的通信介质(例如,有线或无线连接)将定义控制动作108的数据传输到工业厂房100。
37.控制器102可以被实施为具有参数的任何模型,所述参数可以使用强化学习技术进行训练并且可以被配置成生成控制工业厂房100的操作的控制动作108。例如,控制器102可以被实施为神经网络系统,所述神经网络系统通过使用一个或多个神经网络处理表征工业厂房100的状态的状态向量106来生成控制动作108。当控制器102被实施为神经网络系统时,控制器参数110可以定义包括在神经网络系统中的神经网络的权重值。
38.训练系统104基于由一个或多个模拟系统114生成的训练数据112使用强化学习技术确定控制器参数110的值。广义来说,模拟系统114通过生成“模拟”状态向量来近似工业厂房100的行为,该“模拟”状态向量表征在执行特定控制动作的情况下工业厂房100的预测状态,并且生成表征特定控制动作如何有效地完成某些任务的“奖励”。任务的示例可以包括启动工业厂房100,关闭工业厂房100,并且优化工业厂房100的连续操作。一个或多个模拟系统114可以并行运行以生成训练数据112。为清楚起见,以下描述将提及单个模拟系统114,但一般来说,训练系统104可以使用多个模拟系统114来生成训练数据112。
39.训练数据112包括定义由模拟系统114生成的一个或多个“模拟轨迹”的数据。模拟系统114被配置成生成模拟轨迹,所述模拟轨迹针对一个或多个模拟时步中的每一个模拟时步定义:(i)当前状态向量116,(ii)控制动作118,(iii)后续状态向量120,以及(iv)奖励
122。当前状态向量116表征在模拟时步处工业厂房100的模拟状态,并且后续状态向量120表征在执行控制动作118之后工业厂房100的模拟状态。模拟系统114可以通过使用模拟模型124处理当前状态向量116和控制动作118来生成后续状态向量120。例如,通过根据控制器参数110的当前值使用控制器102在模拟时步处处理当前状态向量116,模拟系统114可以通过任何合适方式确定在模拟时步处的控制动作118。在每一模拟时步处接收到的奖励122可以用任何合适的数值格式(例如,作为数值)表示,并且至少基于在模拟时步处的后续状态向量120由模拟系统114生成。参考图2更详细地描述使用模拟系统114生成模拟轨迹。
40.在一些情况下,训练数据112可以另外包括定义一条或多条“真实轨迹”的数据,所述真实轨迹从表征工业厂房100的实际操作的记录数据中获得(即,而不是通过模拟系统114生成)。更具体来说,可以从表征工业厂房100的操作的记录数据中获得与真实轨迹中的每个时步相对应的当前状态向量、控制动作和后续状态向量。真实轨迹中的控制动作可以例如是由工业厂房100的操作人员选择的控制动作。训练系统104可以使用与模拟轨迹相同的过程推导真实轨迹中的每个时步的奖励(如将参考图2更详细地描述)。
41.训练系统104基于训练数据112,具体来说基于由模拟系统114生成的模拟轨迹使用强化学习引擎126来迭代地调整控制器参数110的值。更具体来说,强化学习引擎126调整控制器参数110的值以增加通过执行根据控制器参数110的值选择的控制动作而被接收到的累积奖励的度量。通过以此方式调整控制器参数110的值,强化学习引擎126可以确定控制器参数110的训练值,所述值使控制器102能够有效地控制工业厂房100的操作。进一步参考图3描述通过基于训练数据112迭代地调整控制器参数110的值来训练控制器102,所述训练数据112包括由模拟系统114生成的模拟轨迹。
42.在工业厂房100的操作期间,可能发生可能改变工业厂房100的操作的各种“事件”,例如设备故障或输入材料改变。为了训练控制器102以适当地对此类事件作出响应,模拟系统114可以生成包括这些事件的模拟轨迹(即,所述模拟轨迹包括在用于训练控制器102的训练数据112中)。例如,如将进一步参考图2所描述,模拟系统114可以通过针对时步调整当前状态向量106,来模拟所述时步处的事件以反映事件的发生。
43.在训练系统104确定控制器参数110的训练值之后,训练系统104可以使用任何合适的通信介质(例如,有线或无线连接)将控制器参数110的训练值传输到控制器102。实施训练系统104的硬件和软件组件可以位于任何合适位置中,例如位于云计算环境中。在接收到控制器参数110的训练值之后,控制器102可以通过根据控制器参数110的训练值生成控制动作来控制工业厂房100的操作。
44.在使用控制器102以使用根据控制器参数110的值生成的控制动作108控制工业厂房100的操作之前,训练系统104可以确定控制器102是否通过一个或多个认证测试。认证测试可以用于评估控制器102是否能够通过根据控制器参数110的当前值生成控制动作108,来有效地控制工业厂房100的操作,如将参考图3更详细地描述。当控制器102通过认证测试时,训练系统104可以确定控制器102已经被充分训练以控制工业厂房100的操作。
45.图2是用于生成模拟轨迹的示例过程200的流程图。为了方便起见,过程200将被描述为通过位于一个或多个位置中的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的模拟系统(例如,图1的模拟系统114)可以执行过程200。
46.系统在当前模拟时步处获得当前状态向量(202)。系统获得当前状态向量的方式
取决于当前模拟时步是否是轨迹中的第一模拟时步,或者是在轨迹中的第一模拟时步之后。如果当前模拟时步是轨迹中的第一模拟时步,则系统可以使用任何合适的预定过程确定当前状态向量。作为另一示例,系统可以将当前状态向量确定为反映工业厂房的特定状态,例如处于关闭的状态或以特定生产水平操作的状态的预定状态向量。如果当前模拟时步在轨迹中的第一模拟时步之后,则系统将当前模拟时步处的当前状态向量确定为在先前模拟时步处生成的“后续状态向量”(即,如参考208描述)。
47.任选地,系统调整当前状态向量以模拟影响工业厂房的操作的“事件”的发生(204)。影响工业厂房的操作的事件可以是例如设备故障(例如,阀门断裂)或由工业厂房处理的输入材料的改变(例如,由工业厂房精炼而成的原油化学成分的改变)。在特定示例中,为了模拟工业厂房中的阀门的故障,系统可以通过改变表征阀门位置的当前状态向量的分量的值(例如,从关闭到打开)来调整当前状态向量。在此示例中,系统可以进一步防止由于在后续模拟时步处执行的控制动作,而改变表征阀门位置的当前状态向量的分量的值。作为另一示例,为了模拟由工业厂房精炼而成的原油化学成分的改变,系统可以通过随机地修改表征原油化学成分的当前状态向量的分量的值来调整当前状态向量。
48.系统可以根据概率分布确定是否调整当前状态向量以模拟影响工业厂房的操作的事件的发生,所述概率分布定义可能事件的预定集合中的每一事件的相应可能性。可能事件的预定集合可以包括“非事件”选项,所述选项覆盖在模拟时步处不发生影响工业厂房的操作的事件的概率。系统可以在时步处从可能事件的预定集合中采样事件(或非事件),并调整(或不调整)当前状态向量以模拟被采样的事件(或非事件)的效果。
49.系统获得要在模拟时步处执行的控制动作(206)。控制动作定义要在模拟时步处执行的动作,以控制模拟工业厂房的操作。系统可以通过任何合适的方式获得要在模拟时步处执行的控制动作。例如,系统可以使用控制器(例如,根据控制器参数的当前值)在模拟时步(例如,如在202中获得)处处理当前状态向量,以生成要在模拟时步处执行的控制动作。在此示例中,系统可以根据“探索策略”随机地修改(或以其它方式调整)由控制器生成的控制动作。例如,系统可以使用由小常数参数∈∈(0,1)定义的∈

贪婪探索策略。在此示例中,系统可以将要在模拟时步处执行的控制动作确定为由控制器以概率1

∈生成的控制动作,或以概率∈生成的随机动作。通过使用探索策略来确定要在模拟时步处执行的控制动作,系统可以生成更多样化的轨迹集合,所述轨迹集合可以实现更有效地训练控制器。
50.系统使用工业厂房模拟模型来处理:(i)当前状态向量,以及(ii)控制动作,以生成后续状态向量,所述后续状态向量表征在执行控制动作之后(即,在下一模拟时步处)工业厂房的模拟状态(208)。系统可以使用任何适合的工业厂房模拟模型来生成后续状态向量,所述后续状态向量表征在执行控制动作之后工业厂房的模拟状态。在一些情况下,工业厂房模拟模型是数字优化系统,所述数字优化系统被配置成将后续状态向量确定为优化问题的解决方案。优化问题的形式可以基于工业厂房的设计由物理原理(例如,流体动力学的守恒定律)确定。
51.在执行控制动作之后,系统至少基于表征工业厂房的模拟状态的后续状态向量而确定在模拟时步处接收到的奖励(210)。奖励可以用任何合适的数值格式表示,例如表示为数值。在轨迹中的每一模拟时步处接收到的奖励的累积度量(例如,贴现金额)可以被理解为表征在时步处执行的控制动作如何有效地完成某些任务。任务的示例可以包括启动工业
厂房,关闭工业厂房,并且维持工业厂房的稳定操作。
52.在特定示例中,系统可以生成与维持工业厂房的稳定操作的任务相对应的模拟时步的奖励。在此示例中,系统可以将奖励确定为从后续状态向量推导出的因子的函数(例如,加权和),所述因子包括:(i)工业厂房的输出率,(ii)输出率的变化,以及(iii)工业厂房的安全系数。工业厂房的输出率是指工业厂房产生加工输出的速率(例如,磅/每分钟的加工木浆量)。工业厂房的输出率变化是指在当前模拟时步之前的时间窗内工业厂房的输出率的方差(例如,标准偏差)的度量。工业厂房的安全系数是指工业厂房如何安全操作的度量。在特定示例中,表征工业厂房的模拟状态的状态向量的一个或多个分量可以与定义安全操作方案的数值间隔(例如,安全温度值的范围)相关联。如果后续状态向量的任何分量均不符合定义其安全操作方案的数值间隔,则可以减小安全系数的值。
53.系统确定对于模拟轨迹是否已经满足终止标准(212)。例如,当已经为预定数目的模拟时步实行系统时,系统可以确定对于模拟轨迹已经满足终止标准。作为另一示例,当表征在执行控制动作之后工业厂房的模拟状态的后续状态向量在预定目标状态向量的阈值距离内(或等于预定目标状态向量)时,系统可以确定对于模拟轨迹已经满足终止标准。在特定示例中,预定目标状态向量可以对应于正在关闭工业厂房。
54.当系统确定不满足终止标准时,系统可以返回到步骤202并且重复前面的步骤。当系统确定满足终止标准时,系统可以输出模拟轨迹以用于训练控制器(214)。
55.图3是用于训练工业厂房控制器以使用模拟轨迹执行特定任务的示例过程300的流程图。任务的示例可以包括启动工业厂房,关闭工业厂房,并且维持工业厂房的稳定操作。为了方便起见,过程300将被描述为通过位于一个或多个位置中的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的训练系统(例如,图1的训练系统104)可以执行过程300。
56.系统获得模拟轨迹,所述模拟轨迹针对一个或多个模拟时步中的每一个模拟时步定义:(i)当前状态向量,(ii)控制动作,(iii)后续状态向量,以及(iv)奖励,如参考图1所描述(302)。例如,系统可以通过从训练数据中随机采样模拟轨迹来获得模拟轨迹。奖励的值表征模拟轨迹中的控制动作如何有效地完成特定任务。
57.系统使用强化学习技术基于模拟轨迹调整控制器参数的当前值(304)。更具体来说,系统调整控制器参数的当前值,以增加通过执行根据控制器参数的值确定的动作而被接收到的累积奖励的度量。当控制器是神经网络系统并且控制器参数定义神经网络系统的权重时,调整控制器参数的当前值可以包括确定损失函数的梯度,以及使用梯度来调整控制器参数的当前值。系统可以使用任何合适的方法(例如,反向传播)确定损失函数的梯度,并且系统可以使用任何合适的优化方法以使用梯度调整控制器参数的当前值(例如,adam优化方法)。系统可以使用任何适当的强化学习技术,包括政策上和政策外的强化学习技术,诸如策略梯度技术和q学习技术。
58.系统确定是否满足训练终止标准(306)。例如,如果根据控制器参数的当前值选择控制动作的控制器通过一个或多个认证测试,则系统可以确定满足训练终止标准。认证测试可以用于评估控制器是否能够通过根据控制器参数的当前值生成控制动作,来有效地控制工业厂房的操作。
59.在一个示例中,认证测试可以定义:(i)表征工业厂房的初始状态的初始状态向
量,(ii)表征在预定数目的时步之后工业厂房的可接受状态的“目标”状态向量的集合,以及可选地(iii)影响工业厂房的操作的一个或多个事件。通过使用控制器参数的当前值选择要在每个模拟时步处执行的动作,系统可以从初始状态向量开始生成模拟轨迹(例如,如参考图2所描述)。如果认证测试定义影响工业厂房的操作的事件,则系统可以调整模拟轨迹的状态向量以模拟这些事件的发生(例如,如参考图2所描述)。如果表征在预定数目的时步之后工业厂房的模拟状态的状态向量在一个或多个目标状态向量的阈值距离内(或等于一个或多个目标状态向量),则系统可以确定控制器通过了认证测试。在特定示例中,认证测试可以是确定控制器是否能够启动工业厂房的测试,在这种情况下,初始状态向量可以反映正在关闭的工业厂房,而目标状态向量可以反映正在启动的工业厂房。
60.响应于确定不满足训练终止标准,系统可以返回到步骤302并且重复前面的步骤。响应于确定满足训练终止标准,系统可以输出控制器参数的训练值(308)。例如,系统可以将控制器参数的训练值传输到用于控制工业系统的操作的控制器(例如,通过有线或无线连接)。
61.图4是用于使用工业厂房控制器来控制工业厂房的操作的示例过程400的流程图。为了方便起见,过程400将被描述为通过包括位于一个或多个位置中的一个或多个计算机的控制器执行。例如,根据本说明书适当地编程的工业厂房控制器(例如,图1的工业厂房控制器102)可以执行过程400。
62.控制器获得表征工业厂房的当前状态的当前状态向量(402)。当前状态向量可以由位于工业厂房中的传感器生成,并且可以表征工业厂房的任何方面。例如,当前状态向量可以表征工业厂房中的流体压力和流速(例如,在管道中)、工业厂房中的物质(例如,在桶中)的化学成分,以及工业厂房中的阀门位置(例如,打开或关闭)。
63.控制器根据控制器参数的集合的训练值处理当前状态向量,以生成动作选择策略输出(404)。动作选择策略输出定义用于可能控制动作的预定集合中的每个控制动作的相应分数。控制器可以通过使用动作选择神经网络处理当前状态向量来生成动作选择策略输出。在特定示例中,动作选择神经网络可以是被配置成生成动作选择策略输出的q神经网络,所述动作选择策略输出定义在可能控制动作的预定集合中用于每个控制动作的相应q值。如果在当前时步处执行控制动作,则控制动作的q值可以定义在当前时步之后接收到的奖励的累积度量(例如,贴现金额)的估计。
64.系统确定要基于动作选择策略输出而在时步处执行的控制动作(406)。例如,系统可以使用soft

max函数处理由动作选择策略输出定义的控制动作分数,以确定每个控制动作的相应概率值。在生成每个控制动作的相应概率值之后,系统可以通过根据所确定的概率值对控制动作进行采样来确定要在时步处执行的控制动作。作为另一示例,系统可以将要在时步处执行的控制动作确定为具有动作选择策略输出所定义的最高控制动作分数的控制动作。
65.图5是可以用于执行上述操作的示例计算机系统500的框图。系统500包括处理器510、存储器520、存储装置530,以及输入/输出接口540。组件510、520、530和540中的每一个可以例如使用系统总线550互连。处理器510能够处理指令以在系统500内执行。在一个实施方式中,处理器510是单线程处理器。在另一实施方式中,处理器510是多线程处理器。处理器510能够处理存储在存储器520中或存储装置530上的指令。
66.存储器520将信息存储在系统500内。在一个实施方式中,存储器520是计算机可读介质。在一个实施方式中,存储器520是易失性存储器单元。在一个实施方式中,存储器520是非易失性存储器单元。
67.存储装置530能够为系统500提供大容量存储。在一个实施方式中,存储装置530是计算机可读介质。在各种不同的实施方式中,存储装置530可以包括例如硬盘装置、光盘装置、由多个计算装置(例如,云存储装置)在网络上共享的存储装置,或一些其它大容量存储装置。
68.输入/输出装置540提供系统500的输入/输出操作。在一个实施方式中,输入/输出装置540可以包括一个或多个网络接口装置,例如,以太网卡、串行通信装置,例如以及rs

232端口,和/或无线接口装置,例如以及802.11卡。在另一实施方式中,输入/输出装置可以包括驱动器装置,所述驱动器装置被配置成接收输入数据并将输出数据发送到其它输入/输出装置,例如键盘、打印机和显示装置560。然而,还可以使用其它实施方式,诸如移动计算装置、移动通信装置、机顶盒电视客户端装置等。
69.尽管已在图5中描述示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可以在其它类型的数字电子电路,或在计算机软件、固件或硬件,包括本说明书中所公开的结构以及其结构等效物,或在其中的一者或多者的组合中实施。
70.本说明书结合系统和计算机程序组件使用术语“被配置的”。对于要被配置为执行特定操作或动作的一个或多个计算机的系统,意味着所述系统已在其上安装在操作时使系统执行操作或动作的软件、固件、硬件或它们的组合。对于要被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理设备执行时,使设备执行操作或动作的指令。
71.本说明书中描述的主题和功能操作的实施例可以在数字电子电路、在有形地实施的计算机软件或固件、在计算机硬件,包括本说明书中所公开的结构以及其结构等效物,或在其中的一者或多者的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,在有形的非暂时性存储介质上编码以供数据处理设备执行或控制数据处理设备的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储装置、机器可读存储衬底、随机或串行接入存储器装置,或其中的一者或多者的组合。替代地或另外地,程序指令可以在例如机器产生的电信号、光信号或电磁信号等人为产生的传播信号上编码,产生所述人为产生的传播信号以对传输到合适接收器设备以供数据处理设备执行的信息进行编码。
72.术语“数据处理设备”是指数据处理硬件并且涵盖用于处理数据的所有种类的设备、装置和机器,包括例如可编程处理器、计算机,或多个处理器或计算机。设备还可以是或可以进一步包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,设备还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统,或其中的一者或多者的组合的代码。
73.也可以称为或描述为程序、软件、软件应用程序、应用程序、模块、软件模块、脚本或代码的计算机程序可以用任何形式的编程语言编写,包括编译或解释性语言,或声明性或程序性语言;它可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其它单元进行部署。计算机程序可以(但不需要)对应于文件系统中的
文件。程序可以存储在文件的一部分中,所述文件将其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)保存在专用于所讨论的程序的单个文件中,或多个协调文件(例如,存储一个或多个模块、子程序或代码的一部分的文件)中。计算机程序可以被部署为在一个计算机上或在多个计算机上执行,所述多个计算机位于一个地点处或跨越多个地点分布并且通过通信网络互连。
74.在本说明书中,术语“引擎”被广泛地用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实施为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其它情况下,多个引擎可以安装在相同的一个或多个计算机上并在相同的一个或多个计算机上运行。
75.本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过在输入数据上操作并且产生输出来执行功能。所述过程和逻辑流程还可以通过专用逻辑电路(例如,fpga或asic)或者通过专用逻辑电路和一个或多个编程计算机的组合来执行。
76.适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其它种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或实施指令的中央处理单元,以及用于存储指令和数据的一个或多个存储器装置。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置——例如磁盘、磁光盘或光盘,或可操作地耦合以从所述一个或多个大容量存储装置接收数据或将数据传递到所述一个或多个大容量存储装置,或两者。然而,计算机不需要具有此类装置。此外,计算机可以嵌入另一装置中,例如,仅举几例,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器、或便携式存储装置(例如,通用串行总线(usb)闪存驱动器)。
77.适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如,半导体存储器装置——例如eprom、eeprom和闪存存储器装置;磁盘——例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd

rom盘。
78.为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示装置——例如,crt(阴极射线管)或lcd(液晶显示器)监视器——的计算机上实施,以将信息显示给用户以及键盘和指向装置——例如,鼠标或轨迹球,用户可以通过所述指向装置将输入提供到计算机。其它种类的装置也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈——例如,视觉反馈、听觉反馈或触觉反馈;以及从用户产生的输入可以用任何形式接收,包括声音、语音或触觉输入。另外,通过将文档发送到用户使用的装置以及从所述装置接收文档;例如,通过响应于从网络浏览器接收的请求而将网页发送到用户的装置上的网络浏览器,计算机可以与用户交互。此外,计算机可以通过将文本消息或其它形式的消息发送到个人装置(例如,运行消息传递应用程序的智能手机),并进而从用户接收响应消息来与用户交互。
79.用于实施机器学习模型的数据处理设备还可以包括例如,专用硬件加速器单元,其用于处理机器学习训练或生产的通用部分和计算密集型部分,即推论、工作量。
80.可以使用机器学习框架(例如tensorflow框架、microsoft cognitive toolkit框架、apache singa框架,或apache mxnet框架)来实施和部署机器学习模型。
81.本说明书中描述的主题的实施例可以在计算系统中实施,所述计算系统包括后端组件(例如作为数据服务器),或包括中间件组件(例如应用程序服务器),或包括前端组件(例如具有图形用户界面、网络浏览器或应用程序的客户端计算机,用户可以通过所述图形用户界面、网络浏览器或应用程序与本说明书中描述的主题的实施方式交互),或包括一个或多个此后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信,例如通信网络的任何形式或介质互连。通信网络的示例包括局域网(lan)和广域网(wan),例如因特网。
82.计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行以及彼此具有客户端

服务器关系的计算机程序产生。在一些实施例中,例如出于将数据显示给与用作客户端的装置交互的用户以及从所述用户接收用户输入的目的,服务器将数据(例如,html页)传输到用户装置。可以在服务器从装置接收在用户装置处(例如,由于用户交互)产生的数据。
83.尽管本说明书含有许多特定实施方式细节,但是这些细节不应解释为限制任何发明的范围或可以主张的内容的范围,而是对特定于特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各个特征也可以单独地在多个实施例中或在任何合适的子组合中实施。此外,尽管特征可以在上文描述为在某些组合中起作用且甚至初始地如此主张,但是来自所主张组合的一个或多个特征在一些情况下可以从所述组合中删除,并且所主张组合可以针对子组合或子组合的变体。
84.类似地,尽管在附图中以特定次序描绘操作并且在权利要求中以特定顺序叙述操作,但是这不应理解为需要按所示的特定次序或按顺序执行此类操作,或执行所有所说明的操作以实现所需要的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各个系统模块和组件的分离不应理解为在所有实施例中需要此种分离,并且应理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装成多个软件产品。
85.已描述主题的特定实施例。其它实施例在所附权利要求书的范围内。例如,权利要求书中叙述的动作可以按不同次序执行并且仍实现所需要的结果。作为另一示例,附图中描绘的过程不一定需要所示的特定次序或连续次序来实现期望的结果。在一些情况下,多任务和并行处理可以是有利的。
86.因此,公开一种方法,所述方法由一个或多个数据处理设备执行以训练控制工业厂房的操作的工业厂房控制器,所述方法包括:使用模拟工业厂房的操作的工业厂房模拟模型来生成训练数据,包括在多个时步中的每个时步处:使用工业厂房模拟模型处理(i)表征在当前时步处工业厂房的模拟状态的当前状态向量,以及(ii)要在当前时步处执行的控制动作;使用工业厂房模拟模型生成表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量;以及至少基于表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量来确定在当前时步处接收到的奖励;以及使用训练数据通过强化学习技术训练工业厂房控制器,其中工业厂房控制器被配置成根据多个工业厂房控制器参数处理输入以生成动作
选择策略输出,所述输入包括表征工业厂房的状态的状态向量,所述动作选择策略输出定义要执行以控制工业厂房的操作的控制动作,和/或优选地其中训练包括调整多个工业厂房控制器参数的值,以增加通过执行由工业厂房控制器所生成的动作选择策略输出定义的控制动作而被接收的累积奖励的度量,和/或优选地其中使用并行运行的工业厂房模拟模型的多个实例来生成训练数据,和/或优选地其中生成训练数据进一步包括:在一个或多个特定时步处,调整当前状态向量以模拟影响工业厂房的操作的事件的发生;和/或优选地其中事件包括工业厂房中的设备故障;和/或优选地其中在每个特定时步处,通过从可能事件的预定集合上的概率分布采样来确定事件,其中所述可能事件包括不影响工业厂房的操作的非事件,和/或优选地其中在时步处接收到的奖励表征在时步处执行的控制动作如何有效地完成某些任务,和/或优选地所述方法进一步包括:确定工业厂房控制器是否通过一个或多个认证测试,其中认证测试评估工业厂房控制器是否能够通过根据多个工业厂房控制器参数的当前值生成控制动作来有效地控制工业厂房的操作;以及响应于确定工业厂房控制器通过认证测试,使用工业厂房控制器来控制工业厂房的操作,和/或优选地所述方法进一步包括使用工业厂房控制器来控制工业厂房的操作,包括在多个给定时步中的每个时步处获得表征在给定时步处工业厂房的状态的状态向量;使用工业厂房控制器处理输入以生成动作选择策略输出,所述输入包括表征在给定时步处工业厂房的状态的状态向量;以及确定要基于动作选择策略输出而在给定时步处执行的控制动作,和/或优选地其中动作选择策略输出包括用于可能控制动作的预定集合中的每个控制动作的相应分数,和/或优选地其中确定要基于动作选择策略输出而执行的控制动作包括:选择具有最高分数的控制动作,和/或优选地其中工业厂房控制器包括一个或多个神经网络,并且工业厂房控制器参数包括一个或多个神经网络的权重值。
87.另外,公开一种系统,所述系统包括:一个或多个计算机;以及一个或多个存储装置,其通信地耦合到所述一个或多个计算机,其中所述一个或多个存储装置存储指令,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行操作,以训练控制工业厂房的操作的工业厂房控制器,用于训练工业厂房控制器的操作包括:使用模拟工业厂房的操作的工业厂房模拟模型来生成训练数据,包括在多个时步中的每个时步处:使用工业厂房模拟模型处理(i)表征在当前时步处工业厂房的模拟状态的当前状态向量,以及(ii)要在当前时步处执行的控制动作;使用工业厂房模拟模型生成表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量;以及至少基于表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量来确定在当前时步处接收到的奖励;以及使用训练数据通过强化学习技术训练工业厂房控制器,其中工业厂房控制器被配置成根据多个工业厂房控制器参数处理输入以生成动作选择策略输出,所述输入包括表征工业厂房的状态的状态向量,所述动作选择策略输出定义要执行以控制工业厂房的操作的控制动作,和/或优选地其中训练包括调整多个工业厂房控制器参数的值,以增加通过执行由工业厂房控制器所生成的动作选择策略输出定义的控制动作而被接收到的累积奖励的度量,和/或优选地其中使用并行运行的工业厂房模拟模型的多个实例来生成训练数据,和/或优选地其中生成训练数据进一步包括在一个或多个特定时步处调整当前状态向量,以模拟影响工业厂房的操作的事件的发生。
88.此外,公开一个或多个非暂时性计算机存储介质,所述一个或多个非暂时性计算
机存储介质存储指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行操作以训练控制工业厂房的操作的工业厂房控制器,用于训练工业厂房控制器的操作包括:使用模拟工业厂房的操作的工业厂房模拟模型来生成训练数据,包括在多个时步中的每个时步处:使用工业厂房模拟模型处理(i)表征在当前时步处工业厂房的模拟状态的当前状态向量,以及(ii)要在当前时步处执行的控制动作;使用工业厂房模拟模型生成表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量;以及至少基于表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量来确定在当前时步处接收到的奖励;以及使用训练数据通过强化学习技术训练工业厂房控制器,其中工业厂房控制器被配置成根据多个工业厂房控制器参数处理输入以生成动作选择策略输出,所述输入包括表征工业厂房的状态的状态向量,所述动作选择策略输出定义要执行以控制工业厂房的操作的控制动作,和/或优选地其中训练包括调整多个工业厂房控制器参数的值,以增加通过执行由工业厂房控制器所生成的动作选择策略输出定义的控制动作而被接收到的累积奖励的度量,和/或优选地其中使用并行运行的工业厂房模拟模型的多个实例来生成训练数据,和/或优选地其中生成训练数据进一步包括:在一个或多个特定时步处调整当前状态向量以模拟影响工业厂房的操作的事件的发生。
89.除了所列的所有不同实施方式之外,在以下方法的整体组合中也可以看到优选实施方式,所述方法由一个或多个数据处理设备执行,以训练控制工业厂房的操作的工业厂房控制器,所述方法包括:使用模拟工业厂房的操作的工业厂房模拟模型来生成训练数据,包括在多个时步中的每个时步处:使用工业厂房模拟模型处理(i)表征在当前时步处工业厂房的模拟状态的当前状态向量,以及(ii)要在当前时步处执行的控制动作;使用工业厂房模拟模型生成表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量;以及至少基于表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量来确定在当前时步处接收到的奖励;以及使用训练数据通过强化学习技术训练工业厂房控制器,其中工业厂房控制器被配置成根据多个工业厂房控制器参数处理输入以生成动作选择策略输出,所述输入包括表征工业厂房的状态的状态向量,所述动作选择策略输出定义要执行以控制工业厂房的操作的控制动作,和/或其中训练包括调整多个工业厂房控制器参数的值,以增加通过执行由工业厂房控制器所生成的动作选择策略输出定义的控制动作而被接收到的累积奖励的度量,和/或其中使用并行运行的工业厂房模拟模型的多个实例来生成训练数据,和/或其中生成训练数据进一步包括:在一个或多个特定时步处调整当前状态向量以模拟影响工业厂房的操作的事件的发生;和/或其中事件包括工业厂房中的设备故障,和/或其中在每个特定时步处,通过从可能事件的预定集合上的概率分布采样来确定事件,其中所述可能事件包括不影响工业厂房的操作的非事件。
90.除了所列的所有不同实施方式之外,在以下系统的整体组合中也可以看到优选实施方式,所述系统包括:一个或多个计算机;以及一个或多个存储装置,其通信地耦合到所述一个或多个计算机,其中所述一个或多个存储装置存储指令,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行操作,以训练控制工业厂房的操作的工业厂房控制器,用于训练工业厂房控制器的操作包括:使用模拟工业厂房的操作的工业厂房模拟模型来生成训练数据,包括在多个时步中的每个时步处:使用工业厂房模拟模型处理(i)表征在当前时步处工业厂房的模拟状态的当前状态向量,以及(ii)要在当前时步处执
行的控制动作;使用工业厂房模拟模型生成表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量;以及至少基于表征在执行控制动作之后的工业厂房的模拟状态的后续状态向量来确定在当前时步处接收到的奖励;以及使用训练数据通过强化学习技术训练工业厂房控制器,其中工业厂房控制器被配置成根据多个工业厂房控制器参数处理输入以生成动作选择策略输出,所述输入包括表征工业厂房的状态的状态向量,所述动作选择策略输出定义要执行以控制工业厂房的操作的控制动作,和/或其中训练包括调整多个工业厂房控制器参数的值,以增加通过执行由工业厂房控制器所生成的动作选择策略输出定义的控制动作而被接收到的累积奖励的度量,和/或其中使用并行运行的工业厂房模拟模型的多个实例来生成训练数据,和/或其中生成训练数据进一步包括:在一个或多个特定时步处调整当前状态向量以模拟影响工业厂房的操作的事件的发生。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1