CN109032078B - 机器学习装置、控制装置以及计算机可读介质 - Google Patents
机器学习装置、控制装置以及计算机可读介质 Download PDFInfo
- Publication number
- CN109032078B CN109032078B CN201810588871.8A CN201810588871A CN109032078B CN 109032078 B CN109032078 B CN 109032078B CN 201810588871 A CN201810588871 A CN 201810588871A CN 109032078 B CN109032078 B CN 109032078B
- Authority
- CN
- China
- Prior art keywords
- machine learning
- control device
- behavior
- behavior information
- information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4142—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4083—Adapting programme, configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33038—Real time online learning, training, dynamic network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33056—Reinforcement learning, agent acts, receives reward, emotion, action selective
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34013—Servocontroller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36456—Learning tool holding dynamics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Numerical Control (AREA)
- Feedback Control In General (AREA)
Abstract
本发明提供一种机器学习装置、控制装置以及计算机可读介质。机器学习装置针对通过多个运算部并列地执行用于控制机床的多个进程的控制装置进行强化学习,该机器学习装置具备:行为信息输出单元,其对控制装置输出行为信息,该行为信息包含执行多个进程的运算部的分配;状态信息取得单元,其取得包含加工条件和判定信息的状态信息,加工条件是与对机床设定的加工有关的条件,判定信息是通过对基于行为信息中包含的分配由多个运算部执行多个进程进行监视而生成的信息;回报计算单元,其根据状态信息中包含的判定信息来计算强化学习的回报的值;以及价值函数更新单元,其根据回报的值、状态信息以及行为信息来更新行为价值函数。
Description
技术领域
本发明涉及将通过多个运算部进行并行处理的装置作为对象来进行机器学习的机器学习装置、控制装置以及计算机可读介质。
背景技术
以往,已知根据加工程序来控制机床的控制装置。在机床的控制装置中,为了实时地控制机床的各轴的位置、速度,必须在固定的周期内或者固定的时间内执行预定的控制程序。
然而,近年来伴随着机床的多轴化、多功能化,控制程序大规模化,其处理量大幅增加。另外,为了实现更高速且更高精度的加工,必须缩短轴控制的周期。因此,需要提高控制装置的处理速度。
并且,机床的控制装置不限于轴的控制,还具备通信功能、显示功能、信号的输入输出功能等,也需要顺场地执行全部这些功能。
为了满足这些需求,一般在机床的控制装置中采用搭载了多处理器或多核心这样的多个运算部的硬件,并通过多个运算部并列地处理控制程序。通过采用搭载了多个运算部的硬件,能够增加控制装置中的每单位时间的处理量,作为结果,能够在更短时间内执行更多的处理。
例如,在专利文献1中公开了这样的通过多个运算部并列处理控制程序的控制装置。
另外,在专利文献2至专利文献5中公开了用于提高多个运算部进行的并行处理的效率的技术。
例如,在专利文献2中公开了通过在OS(Operating System:操作***)之间使负载分散,来使各核心的运转率均衡的技术。另外,在专利文献3中公开了用于提高高速缓存的命中率的技术。并且,在专利文献4以及专利文献5中公开了通过分割并分散处理,来增加每单位时间的处理量的技术。
如上所述,在专利文献2至专利文献5中公开了用于提高控制程序的并行处理的效率的技术。
然而,在专利文献2公开的技术中,即使各核心的运转率能够均衡,也难以使核心间的通信量、各核心的消耗电能、发热量最优化。另外,在专利文献3、专利文献4以及专利文献5所公开的技术中,即使能够增加每单位时间的处理量,也无法建立与加工条件相对应的最佳的处理分散模式。
如此,虽然在各专利文献中公开了与特定的项目有关的最优化技术,但是在需要高实时性并且在多种加工条件下进行动作的机床的领域中,仅针对特定的项目进行最优化的技术无法获得大的效果。
另外,即使假设一并使用各专利文献的技术,在具有权衡关系的项目之间,难以使相互关系数学式化,从庞大的数据中求出最佳的解是非常困难的。
专利文献1:日本特开2014-35564号公报
专利文献2:日本特开2009-163527号公报
专利文献3:日本特开2015-200947号公报
专利文献4:日本特开2016-012221号公报
专利文献5:日本特开2016-051258号公报
发明内容
因此,本发明的目的在于提供一种机器学习装置、控制装置以及机器学习程序,用于根据加工条件将控制机床的各进程(所述控制程序)分配给最佳的运算部。
(1)本发明的机器学习装置(例如,后述的机器学习装置100)针对通过多个运算部(例如,后述的第1核心241、第2核心242、第3核心243、第4核心244)并列地执行用于控制机床的多个进程的控制装置(例如,后述的控制装置模拟器200)进行强化学习,所述机器学习装置具备:行为信息输出单元(例如,后述的行为信息输出部130),其对所述控制装置输出行为信息,该行为信息包含执行所述多个进程的运算部的分配;状态信息取得单元(例如,后述的状态信息取得部110),其取得包含加工条件和判定信息的状态信息,所述加工条件是与对所述机床设定的加工有关的条件,所述判定信息是通过对基于所述行为信息中包含的分配由所述多个运算部执行所述多个进程进行监视而生成的信息;回报计算单元(例如,后述的回报计算部121),其根据所述状态信息中包含的所述判定信息来计算强化学习的回报的值;以及价值函数更新单元(例如,后述的价值函数更新部122),其根据所述回报的值、所述状态信息以及所述行为信息来更新行为价值函数。
(2)在上述(1)所述的机器学习装置中,可以使所述多个运算部按照预定的周期分为预定次数来执行所述多个进程,每当在所述多个运算部中所述多个进程结束时,所述价值函数更新单元对所述行为价值函数进行更新,每当在所述多个运算部中所述多个进程结束时,所述行为信息输出单元对所述控制装置输出变更了分配内容的行为信息。
(3)在上述(2)所述的机器学习装置中,可以使所述行为信息中包含的所述分配包含所述多个运算部各自执行的进程的指定和执行进程的顺序,所述行为信息输出单元对所述控制装置输出对所述多个运算部各自执行的进程的指定以及执行进程的顺序中的至少任意一个进行了变更的行为信息,来作为变更了所述分配内容的行为信息。
(4)在上述(2)或者(3)所述的机器学习装置中,可以使针对所述多个运算部中的一部分运算部,将被分配的进程固定,所述行为信息输出单元输出对于被分配的进程没有被固定的运算部的分配内容进行了变更的行为信息,来作为变更了所述分配内容的行为信息。
(5)在上述(1)~(4)中的任意一项所述的机器学习装置中,可以使针对通过模拟器虚拟再现的所述控制装置进行通过该机器学习装置进行的强化学习,所述机器学习装置还具备最优化行为信息输出单元(例如,后述的最优化行为信息输出部150),在所述强化学习结束后,所述最优化行为信息输出单元根据从所述控制装置的实体机取得的状态信息以及通过所述强化学习而学习的行为价值函数来生成所述行为信息,对所述控制装置的实体机输出所生成的行为信息。
(6)在上述(5)所述的机器学习装置中,可以使所述机器学习装置还具备加工条件变更单元(例如,后述的加工条件变更部600),在从所述控制装置的实体机取得的状态信息中包含的加工条件是还未作为强化学习的对象的加工条件时,所述加工条件变更单元将该加工条件变更为加工条件的部分内容一致,并且曾经作为机器学习的对象的其他加工条件,所述最优化行为信息输出单元根据通过所述加工条件变更单元变更了加工条件的状态信息以及通过与所述其他加工条件相对应的所述强化学习而学习的行为价值函数来生成所述行为信息,并对所述控制装置的实体机输出所生成的所述行为信息。
(7)在上述(1)~(6)中的任意一项所述的机器学习装置中,可以使所述机器学习装置还具备加工条件生成单元(例如,后述的加工条件生成部500),该加工条件生成单元生成所述加工条件,并针对所述控制装置设定所生成的加工条件。
(8)一种控制装置,其具备上述(1)~上述(7)中的任意一项所述的强化学习装置。
(9)本发明的机器学习程序用于使计算机作为针对控制装置(例如,后述的控制装置模拟器200)进行强化学习的机器学习装置(例如,后述的机器学习装置100)发挥功能,所述控制装置通过多个运算部(例如,后述的第1核心241、第2核心242、第3核心243、第4核心244)并列地执行用于控制机床的多个进程,所述机器学习装置具备:行为信息输出单元(例如,后述的行为信息输出部130),其对所述控制装置输出行为信息,该行为信息包含执行所述多个进程的运算部的分配;状态信息取得单元(例如,后述的状态信息取得部110),其取得包含加工条件以及判定信息的状态信息,所述加工条件是与对所述机床设定的加工有关的条件,所述判定信息是通过对基于所述行为信息中包含的分配由所述多个运算部执行所述多个进程进行监视而生成的信息;回报计算单元(例如,后述的回报计算部121),其根据所述状态信息中包含的所述判定信息来计算强化学习的回报的值;以及价值函数更新单元(例如,后述的价值函数更新部122),其根据所述回报的值、所述状态信息以及所述行为信息来更新行为价值函数。
根据本发明,能够根据加工条件将控制机床的各进程分配给最佳的运算部。
附图说明
图1是表示本发明的全体实施方式的基本的结构的功能框图。
图2是表示本发明的实施方式的控制装置模拟器的结构的功能框图。
图3是关于本发明的实施方式的控制进程的分配而表示的示意图。
图4是表示本发明的实施方式的机器学习装置的结构的功能框图。
图5是表示本发明的实施方式的控制装置的结构的功能框图。
图6是用于针对本发明的实施方式的机器学习装置的学习阶段的动作进行说明的流程图。
图7是用于针对本发明的实施方式的机器学习装置的运用阶段的动作进行说明的流程图。
图8是关于本发明的实施方式的与加工条件相对应的控制进程的分配而表示的示意图。
图9是表示本发明的实施方式的第1变形例的基本的结构的功能框图。
图10是表示本发明的实施方式的第2变形例的基本的结构的功能框图。
图11是表示本发明的实施方式的第2变形例的选择类似的加工条件的基准的例子的表。
具体实施方式
接下来,参照附图对本发明的实施方式进行详细说明。
<实施方式的整体结构>
图1是表示本实施方式的机器学习***1的整体结构的功能框图。如图1所示,机器学习***1构成为包含机器学习装置100、控制装置模拟器200、控制装置300以及机床400。
机器学习装置100是以控制装置模拟器200作为对象来进行机器学习的装置。在学习阶段,机器学习装置100通过进行机器学习,来求出用于根据加工条件将控制机床的各进程分配给最佳的运算部的价值函数。
另外,在运用阶段,机器学习装置100根据在学习阶段中求出的价值函数,生成用于将各进程分配给最佳的运算部的行为信息,并对控制装置300输出所生成的行为信息。由此,控制装置300可以根据加工条件将各进程分配给最佳的运算部,来恰当地控制机床400。
机器学习装置100能够由个人计算机、服务器装置、数值控制装置等实现。
控制装置模拟器200是为了机器学习虚拟再现控制装置300的模拟器。在本实施方式中,在机器学习的过程中,以能够容易地变更加工条件等的模拟器作为对象来进行机器学习。但是,也可以设为以控制装置300本身作为对象来进行机器学习。
控制装置模拟器200也能够与机器学习装置100同样地,通过个人计算机、服务器装置、数值控制装置等实现。
控制装置300是通过由多个运算部并列执行运算处理,来对机床400的驱动进行控制的装置。控制装置300根据从机器学习装置100输入的行为信息,将各进程分配给最佳的运算部来进行运算处理。
在控制装置300中,作为多个运算部,能够通过包含了多个核心(多核心)的处理器、或者具备多个处理器(多处理器)的数值控制装置来实现。
此外,在图中,为了表示控制装置300不是虚拟再现的装置而描述为“(实体机)”。
机床400是通过控制装置300的控制进行驱动的机床。此外,可以将机床400例如替换为机器人、工业机械等。
接下来,针对这些装置的连接进行说明。机器学习装置100与控制装置模拟器200、控制装置300可通信地连接。另外,控制装置300以及机床400也可通信地连接。这些通信例如能够通过在工厂内构筑的LAN(Local Area Network:局域网)来实现。另外,这些通信可以是有线通信以及无线通信中的任意一方或者其组合,对其通信标准等没有特别限制。并且,这些通信可以是经由因特网、公共电话网络等网络(省略图示)的通信,这种情况下,各装置可以分别被设置在附近(例如,同一工厂内),但是也可以单独设置在较远的位置。
此外,在图中,虽然一台一台地图示这些装置,但是这些装置的台数并没有限制,其连接也不仅是1对1,还可以是1对多、多对多的连接。
<控制装置模拟器200的功能块>
接下来,参照图2针对控制装置模拟器200所具备的功能块进行说明。
如图2所示,控制装置模拟器200构成为包含第1控制进程群210、第2控制进程群220、操作***230以及处理器240。
在本实施方式中,根据由用户设定的加工条件来执行加工程序。与此相伴,选择与加工程序的特定的处理、功能相对应的多个控制进程。图中的第1控制进程群210以及第2控制进程群220是该选择出的多个控制进程。然后,通过在后述的处理器240中包含的各核心中的某个核心来执行该多个控制进程。
通过后述的第1核心241来执行在第1控制进程群210中包含的控制进程。在本实施方式中,作为在第1控制进程群210中包含的控制进程的一个例子,图示了基本轴控制与同步控制。
在这里,基本轴控制是计算基本轴(例如,机床400的控制中的X轴、Y轴以及Z轴)的移动量的控制进程。另外,同步控制是计算与基本轴联动来进行动作的同步轴(例如,机床400的控制中的X2轴、Y2轴以及Z2轴)的移动量的控制进程。如此,在本实施方式中,如基本轴与同基轴那样,针对1个工件同步地进行加工的轴也能够用于2个***或者3个***以上的情况。
通过后述的第2核心242、第3核心243以及第4核心244中的某一个来执行在第2控制进程群220中包含的控制进程。在本实施方式中,作为在第2控制进程群220中包含的控制进程的一个例子,图示了扩展轴控制、预处理、通信控制、显示操作、工具管理、以及设备管理。
在这里,扩展轴控制是计算用于进行工件的装卸等的扩展轴(例如,机床400的控制中的装载轴)的移动量的控制进程。
另外,预处理是根据加工程序生成用于计算移动量的中间代码的控制进程。
另外,通信控制是对通过以太网(注册商标)、串行通信进行的与外部设备(个人计算机、传感器类等)的通信进行控制的控制进程。
另外,显示操作是对控制装置的显示画面的生成以及按键输入等进行控制的控制进程。另外,工具管理是对在加工中使用的工具信息进行管理的控制进程。
另外,设备管理是对USB(Universal Serial Bus:通用串行总线)存储器、SD(Secure Digital:安全数字)卡等设备进行控制的控制进程。
这些在第1控制进程群210、第2控制进程群220中包含的各控制进程经由预定的接口与其他的控制进程之间相互进行处理的使用、数据的收发。作为预定的接口的例子,例如举出对象指向中的方法的调用、基于命令收发的通信等。
此外,这些在第1控制进程群210、第2控制进程群220中包含的各控制进程只是示例,可以追加其他的控制进程,或者替换为其他的控制进程。
另外,作为后述的强化学习中的状态信息的一部分,由机器学习装置100来使用上述的加工条件。因此,从控制装置模拟器200对机器学习装置100输出加工条件。
在这里,加工条件例如包含参数设定、运转模式、模态信息、加工程序、参数设定、处理器核心的运转状况等信息。针对这些信息分别进行说明。
参数设定是表示根据机械结构所设定的参数的内容的信息。例如,作为在参数设定中包含的信息的具体例子,列举机床的全部的轴数、机床的主轴数、扩展控制功能的有效/无效、同步控制功能的有效/无效等内容。
运转模式是表示在机床中设定的运转模式的内容的信息。例如,作为在运转模式中包含的信息的具体例子,列举用于表示将机床设定为自动运转模式、手动运转模式、程序的编辑模式等模式中的哪个模式的信息。
模态信息是表示在机床中设定的模态指令的内容的信息。例如,作为在模态信息中包含的信息的具体例子,列举用于表示将模态指令设定为切削模式、快进模式、攻丝模式等模式中的哪个模式的信息。
加工程序是表示作为为了加工工件而控制机床的程序,正在使用哪个加工程序的信息。例如,作为在加工程序中包含的信息的具体例子,列举加工程序的识别信息、工具的移动路径、表示在加工中使用的功能群的信息。
处理器核心的运转状况是表示核心的运转状况的信息。例如,作为在处理器核心的运转状况中包含的信息的具体例子,列举用于表示正在运转的核心的数量、核心的动作频率的信息。
操作***230是针对处理器240执行控制进程等进行控制的OS。操作***230构成为包含监视部231、第1多核心控制部232以及第2多核心控制部233。
监视部231是进行与执行控制进程的处理器240相关的监视的部分。监视部231为了进行监视具备作为CPU(Central Processing Unit:中央处理单元)监视器、任务管理器的功能。监视部231根据监视结果生成判定信息,并对机器学习装置100输出所生成的判定信息。该判定信息作为后述的强化学习中的状态信息的一部分,由机器学习装置100来使用。
作为在判定信息中包含的信息的例子,例如,列举在处理器240中包含的各核心的运转率、在处理器240中包含的各核心的每单位时间的处理量、在处理器240中包含的各核心之间的通信量、在处理器240中包含的各核心的发热量、在处理器240中包含的各核心的高速缓存命中率等。
但是,这些信息只是示例,可以追加其他的信息,或者替换为其他的信息。另外,也可以是更详细的信息。例如,考虑存在从核心能够高速访问的L1高速缓存以及虽然与L1高速缓存相比为低速但是与访问主存储器相比能够高速访问的L2高速缓存的情况。此时,可以将L1高速缓存的高速缓存命中率与L2高速缓存的高速缓存命中率区分地包含在判定信息中。
第1多核心控制部232以及第2多核心控制部233对处理器240中包含的各个核心分配控制进程来使各核心执行控制进程。
具体而言,第1多核心控制部232进行将执行控制进程的核心进行固定的AMP(Asymmetrical multi-processing:非对称多处理)方式的控制。第1多核心控制部232将第1控制进程群210中包含的控制进程分配给第1核心241,使第1核心241执行被分配的控制进程。
与此相对,第2多核心控制部233进行不将执行控制进程的核心固定的SMP(Symmetrical multi-processing:对称多处理)方式的控制。第2多核心控制部233将第2控制进程群220中包含的控制进程分配给第2核心242、第3核心243以及第4核心244中的某个核心,使各核心执行被分配的控制进程。关于第2多核心控制部233对哪个核心分配哪个控制进程,根据机器学习装置100对第2多核心控制部233输出的行为信息来进行。在后述的强化学习中,从机器学习装置100输出行为信息。
在这里,分配控制进程不仅是指定各核心应该执行的控制进程,还包含指定控制进程的执行顺序。
此外,为了简化说明而表现为分配控制进程,实际上,是以控制进程中包含的独立的1个以上的任务或者线程为单位进行分配。这种情况下,为了恰当地执行任务或者线程,设在从1个任务或者线程的开始到结束为止,在同一核心上执行。也就是说,在执行任务或者线程的过程中不对执行任务或者线程的核心进行变更。
处理器240是包含第1核心241、第2核心242、第3核心243以及第4核心244这4个核心的处理器。这些核心各自根据第1多核心控制部232或者第2多核心控制部233的分配来执行控制进程。
此外,控制装置模拟器200是虚拟再现控制装置300的装置,处理器240的核心数量、动作频率等是虚拟再现了控制装置300中包含的处理器后的核心数量和动作频率。也就是说,处理器240不限于在控制装置模拟器200中实际作为硬件而具备的运算处理装置的核心数量、动作频率。
另外,在本实施方式中,将处理器240假设为具备多个核心(多核心)的1个处理器,但是也可以通过多个处理器(多处理器)来实现处理器240。在这种情况下,可以将本实施方式的说明中的“核心”适当地读为“处理器”。
接下来,针对在本实施方式中通过第1多核心控制部232与第2多核心控制部233使控制方式不同的理由进行说明。在机床的控制装置中,存在为了实时地控制轴的位置、速度,在固定的周期内或者固定的时间内必须执行的控制进程。关于这种控制进程,如果通过SMP方式的控制形式任意地进行核心的分配,则有可能难以保证在固定的周期或时间内的执行。
因此,在本实施方式中,一并使用AMP方式的控制方式与SMP方式的控制形式。然后,在第1控制进程群210,通过将执行控制进程的各个核心进行了固定的AMP方式的控制方式,将在固定的周期内或者固定的时间内必须执行的控制进程固定地分配给预定的核心。由此,针对该控制进程,能够保证一定的实时性。
另一方面,在本实施方式中,通过设置第2控制进程群220,与第1控制进程群210的分配不同地,通过SMP方式的控制方式进行反映了机器学习的内容的最佳的分配。由此,能够进行有效的处理分散的最优化。
也就是说,通过一并使用2个控制形式,能够在保证一定的实时性的基础上,进行有效的处理分散的最优化。
<控制进程的执行>
接下来,参照图3针对由第1多核心控制部232与第2多核心控制部233分配给各个核心的控制进程的执行进行说明。
各核心按照预定长度的周期,分为预定次数来执行被分配的控制进程。例如,在图3中作为执行状态T1~执行状态T4所示那样,按照预定长度的周期(例如,数毫秒)分为4次进行。
具体而言,在执行状态T1中,通过第1核心241至第4核心244分别执行基本轴控制、扩展轴控制、预处理、通信控制的进程。如果通过第3核心243执行的预处理的进程完成,则作为下一个进程,通过第3核心243执行显示操作,转移到执行状态T2。如果通过第1核心241执行的基本轴控制的进程完成,则通过第1核心241执行同步控制的进程,转移到执行状态T3。如果通过第2核心242执行的扩展轴控制的进程完成,则通过第2核心242执行工具管理的进程,如果通过第4核心244执行的通信控制的进程完成,则通过第4核心244执行设备管理的进程,转移到执行状态T4。
此外,如该例所示,存在通过1个周期执行各控制进程的情况,还存在跨越多个周期来执行控制进程的情况。
在这里,如上所述,分配给第1核心241的控制进程及其执行顺序被固定,但是分配给第2核心242、第3核心243以及第4核心244的控制进程及其执行顺序(相当于在图3中用虚线包围的部分)能够变更。
机器学习装置100通过行为信息来变更分配给第2核心242、第3核心243以及第4核心244的控制进程及其执行顺序(相当于在图3中用实线包围的部分),从执行状态T1到执行状态T4为止重复执行。然后,将执行状态T1至执行状态T4视为1个状态,在每次执行状态T1至执行状态T4结束时,通过更新行为价值函数来进行机器学习。以下详细说明该机器学习。
<机器学习>
与向各核心分配上述各控制进程以及各个核心执行控制进程并行地进行机器学习装置100的机器学习。
为了该机器学习,在机器学习装置100与控制装置模拟器200之间,如图2所示收发预定的信息。具体而言,从控制装置模拟器200对机器学习装置100输出用户设定的加工条件。另外,从控制装置模拟器200对机器学习装置100还输出如上所述由监视部231生成的判定条件。并且,从机器学习装置100对控制装置模拟器200输出行为信息。
机器学习装置100根据这些输入以及输出来进行作为机器学习之一的强化学习。
接下来,在对机器学习装置100中包含的各功能块进行说明之前,首先针对强化学习的基本的机制进行说明。
在强化学习中,智能体(相当于本实施方式中的机器学习装置100)观察环境(相当于本实施方式中的控制装置模拟器200)的状态,选择某个行为,根据该行为使得环境变化。伴随着环境的变化,获得某种回报,智能体对于选择更好的行为(决策)进行学习。
相对于有监督学习表示完美的答案,强化学习的回报大多是基于环境的一部分变化的碎片化的值。因此,智能体对选择行为进行学习,使得将来的回报的总和最大。
如此,在强化学习中,通过对行为进行学习,考虑行为带给环境的相互作用来学习合适的行为,即学习使将来得到的回报最大化的方法。这在本实施方式中,表示能够获得诸如根据加工条件将控制机床的各进程分配给最佳的核心这样的对未来产生影响的行为。
在这里,作为强化学习能够使用任意的学习方法,但是在以下的说明中,以使用Q学习(Q-learning)的情况为例进行说明,Q学习是在某环境状态s下,对选择行为a的价值Q(s,a)进行学习的方法。
Q学习的目的在于,在某个状态s时,从可行的行为a中选择价值Q(s,a)最高的行为a来作为最佳的行为。
然而,在最初开始进行Q学习的时间点,针对状态s与行为a的组合,价值Q(s,a)的正确值是完全未知的。因此,智能体在某状态s下选择各种各样的行为a,根据针对当时的行为a赋予的回报来选择更好的行为,由此学习正确的价值Q(s,a)。
另外,因为想要使将来得到的回报的总和最大化,所以以最终成为Q(s,a)=E[Σ(γt)rt]为目标。在这里,E[]表示期待值,t是时刻,γ是后述的被称为打折率的参数,rt是在时刻t的回报、Σ是时刻t的总和。该式子中的期待值是按照最佳的行为状态发生了变化时的期待值。但是,在Q学习的过程中,最佳的行为是未知的,因此通过进行各种各样的行为,一边搜索一边进行强化学习。像这样的价值Q(s,a)的更新式例如能够通过以下的数学式(以下表示为[数学式1])来表示。
数学式1
在上述表示为[数学式1]的数学式中,st表示在时刻t的环境的状态,at表示在时刻t的行为。通过行为at,状态变化为st+1。rt+1表示由于该状态的变化所得到的回报。另外,带有max的项是在状态st+1下,对选择了当时已知的Q值最高的行为a时的Q值乘以γ的项。在这里,γ是0<γ≤1的参数,并被称为打折率。另外,α是学习系数,设为0<α≤1的范围。
上述[数学式1]表示作为试行at的结果,以返回的回报rt+1为基础,对状态st下的行为at的价值Q(st,at)进行更新的方法。
该更新式表示如果基于行为at的下一个状态st+1下的最佳的行为的价值maxa Q(st+1,a)比状态st下的行为at的价值Q(st,at)大,则增大Q(st,at),反之如果小,则减小Q(st,at)。也就是说,使某个状态下的某个行为的价值接近于基于该行为的下一个状态下的最佳的行为的价值。其中,它们之间的差通过打折率γ与回报rt+1的方式而变化,但是基本上是如下的机制:某个状态下的最佳的行为的价值传播至该状态(最佳的行为的价值)的前一个状态下的行为的价值。
在这里,Q学习是针对全部的状态行为对(s,a)生成Q(s,a)的表来进行学习的方法。但是,存在以下情况:对于求出全部的状态行为对的Q(s,a)的值,状态数量过多,Q学习收敛需要较多的时间。
因此,可以使用公知的被称为DQN(Deep Q-Network:深度强化学习)的技术。具体而言,可以通过使用适当的神经网络构成价值函数Q,并调整神经网络的参数,通过适当的神经网络来近似价值函数Q,由此来计算价值Q(s,a)的值。通过使用DQN,能够缩短Q学习收敛所需要的时间。此外,关于DQN,例如在以下的非专利文献中有详细的记载。
<非专利文献>
“Human-level control through deep reinforcement learning,”VolodymyrMnih著,(在线)(2017年6月1日检索),Internet<URL:http://files.davidqiu.com//research/nature14236.pdf>。
机器学习装置100进行以上说明的Q学习。
具体而言,机器学习装置100对于根据从控制装置模拟器200输出的加工条件以及从控制装置模拟器200输出的判定信息而确定的状态进行观测,来作为环境状态s,并且作为行为a对于在该环境状态s下分配控制进程的核心以及控制进程的执行顺序的调整进行选择来学习价值Q。
机器学习装置100为了学习价值Q,在每次进行行为a时计算回报。然后,机器学习装置100例如反复试验地寻找最佳的行为a使得将来的回报的总和最大。由此,机器学习装置100能够针对环境状态s选择最佳的行为a。
如此机器学习装置100学习价值函数Q。并且,根据学习的价值函数Q,选择在某个状态s下对于向核心分配各控制进程而采用的行为a中的Q值为最大的行为a,由此能够根据加工条件将各控制进程分配给最佳的核心。
<机器学习装置100的功能块>
接下来,参照图4针对进行上述的强化学习的机器学习装置100的功能块进行说明。
如图4所示,机器学习装置100具备状态信息取得部110、学习部120、行为信息输出部130、价值函数存储部140以及最优化行为信息输出部150。另外,学习部120具备回报计算部121、价值函数更新部122以及行为信息生成部123。
状态信息取得部110从控制装置模拟器200取得状态信息s,该状态信息s包含在控制装置模拟器200中设定的加工条件以及根据监视部231的监视结果而生成的判定信息。该状态信息s相当于Q学习中的环境状态s。
状态信息取得部110对学习部120输出取得的状态信息s。
学习部120是对在某个环境状态s下选择某个行为a时的价值Q(s,a)进行学习的部分。为了进行该学习,学习部120具备回报计算部121、价值函数更新部122以及行为信息生成部123。
回报计算部121是计算在某个状态s下选择了行为a时的回报的部分。
通过使用了状态信息s中包含的判定信息的判定来进行回报。可以使用任意的判定条件。作为判定条件的例子,列举以下的判定条件1~判定条件5。
判定条件1:基于核心间的运转率的差(例如,各核心之间的运转率的差的平均值)的判定
运转率的差大时→使回报减少
运转率的差小时→使回报增加
判定条件2:基于单位时间的处理量(例如,各核心的单位时间的处理量的平均值)的判定
处理量多时→使回报增加
处理量少时→使回报减少
判定条件3:基于核心间通信量(例如,各核心之间的通信量的总和)的判定
通信量多时→使回报减少
通信量少时→使回报增加
判定条件4:基于消耗电能或者发热量(例如,各核心的消耗电能或者发热量的最大值)的判定
消耗电力或者发热量多时→使回报较少
消耗电力或者发热量少时→使回报增加
判定条件5:高速缓存命中率(例如,各核心的高速缓存命中率的总和)
高速缓存命中率高→使回报增加
高速缓存命中率低→使回报减少
回报计算部121可以根据这些判定条件中的1个条件来计算回报,也可以根据多个条件来计算回报。当根据多个条件来进行计算时,可以计算通过各判定条件计算出的回报的增减值的总和。在这种情况下,可以在对通过各判定条件计算出的回报的增减值进行加权后来计算总和。例如,在重视降低消耗电力时,可以加大通过上述判定条件4计算出的回报的增减值的权重。
另外,在各判定条件中,可以根据满足条件的程度来使回报的增减值增加或者减少。例如,如果是上述判定条件1,则运转率的差越大,可以使减少的回报值越大。另外,运转率的差越小,可以使增加的回报值越大。
并且,在本实施方式中,如上所述,在预定长度的周期分为预定次数来执行控制进程。可以计算该预定的次数的判定信息的平均值或最大值,并最终将该计算出的值与判定条件进行对照,来计算在某个状态s下选择了行为a时的回报。或者,可以在每个该预定的周期将判定信息与判定条件进行对照来计算回报的增减值并进行存储,最终计算所存储的预定次数的回报的增减值的总和,由此来计算在某状态s下选择了行为a时的回报。
价值函数更新部122根据状态s、行为a、将行为a用于状态s时的状态s′、如上述那样计算出的回报的值来进行Q学习,由此来更新价值函数存储部140存储的价值函数Q。
价值函数Q的更新可以通过在线学习来进行,也可以通过批量学习来进行,还可以通过小批量学习来进行。
在线学习是指在每次将某行为a用于当前的状态s,由此状态s转变为新的状态s′时,立即更新价值函数Q的学习方法。另外,批量学习是指对于通过将某个行为a用于当前的状态s使得状态s转变为新的状态s′进行重复,来收集学习用数据,使用收集到的全部的学习用数据来更新价值函数Q的学习方法。并且,小批量学习是指在线学习与批量学习之间的在每次积累了某种程度的学习用数据时,更新价值函数Q的学习方法。
行为信息生成部123针对当前的状态s选择Q学习的过程中的行为a。行为信息生成部123在Q学习的过程中,为了指定用于执行各控制进程的核心以及变更各控制进程的执行顺序(相当于Q学习中的行为a),生成行为信息a,并对行为信息输出部130输出所生成的行为信息a。更具体而言,行为信息生成部123例如对于行为a中包含的执行各控制进程的核心的指定及其执行顺序中的至少一个以上进行变更后进行输出。
行为信息生成部123可以采取随机选择行为a的策略。除此之外,还可以采取以下的策略:通过诸如选择当前推定的行为a的价值中的价值Q(s,a)最高的行为a的贪婪法、或者以小概率ε来随机选择行为a,除此以外选择价值Q(s,a)最高的行为a的ε贪婪法这样的已知的方法,来选择行为a。
行为信息输出部130是对控制装置模拟器200的第2多核心控制部233发送从学习部120输出的行为信息a的部分。如上所述,第2多核心控制部233根据该行为信息a,对于当前的状态s下,即当前分配的执行各控制进程的核心的指定及其执行顺序进行修改,来转变为下一个状态s′(即修改后的执行各控制进程的核心的指定及其执行顺序)。
价值函数存储部140是存储价值函数Q的存储装置。价值函数Q例如可以针对每个状态s、每个行为a存储为表。在价值函数存储部140中存储的价值函数Q通过价值函数更新部122进行更新。另外,在价值函数存储部140中存储的价值函数Q可以与其他的机器学习装置100进行共享。如果在多个机器学习装置100中共享价值函数Q,则可以通过各机器学习装置100分散地进行强化学习,因此能够提高强化学习的效率。
最优化行为信息输出部150根据由价值函数更新部122进行Q学习而更新后的价值函数Q,生成行为信息a(以下,称为“最优化行为信息”),在该行为信息a(即“最优化行为信息”)中成为使价值Q(s,a)最大的执行各控制进程的核心的指定及其执行顺序。
更具体而言,最优化行为信息输出部150取得价值函数存储部140存储的价值函数Q。如上所述,该价值函数Q是通过价值函数更新部122进行Q学习而更新后的价值函数。并且,最优化行为信息输出部150根据价值函数Q以及在控制装置300中设定的加工条件,生成最优化行为信息,并对控制装置300输出所生成的最优化行为信息。在该最优化行为信息中,与行为信息输出部130在Q学习的过程中输出的行为信息同样地,包含执行各控制进程的核心的指定及其执行顺序。
在控制装置300根据该最优化行为信息来修改用于执行各控制进程的核心的指定及其执行顺序。
如上所述,通过使用机器学习装置100,能够在控制装置300中使得执行各控制进程的核心的指定及其执行顺序最优化。
<控制装置300的功能块>
接下来,参照图5针对控制装置300的功能块进行说明。在这里,上述控制装置模拟器200是虚拟再现控制装置300的功能的模拟器。因此,控制装置300具有与控制装置模拟器200等同的功能。也就是说,如果将上述控制装置模拟器200的说明中的各功能块的说明替换为控制装置300中的相同名称的功能块的说明,则成为控制装置300的说明。因此,在这里,省略重复的说明。
另外,在控制装置300设定与控制装置模拟器200等同的加工条件。针对加工条件的细节,在说明控制装置模拟器200时已经进行了描述,因此在这里省略重复的说明。
但是,在本实施方式中,控制装置300与控制装置模拟器200的不同之处在于,不是学习阶段中的机器学习的对象,而是运用阶段中的控制对象。因此,如图5所示,控制装置300的监视部331不需要对机器学习装置100输出判定信息。另外,从机器学习装置100输出的不是在机器学习中反复试验输出的行为信息,而是根据机器学习的结果输出的最优化的行为信息。
以上,针对在机器学习装置100、控制装置模拟器200以及控制装置300中包含的功能块进行了说明。
为了实现这些功能块,机器学习装置100、控制装置模拟器200以及控制装置300各自具备CPU等运算处理装置。另外,机器学习装置100、控制装置模拟器200以及控制装置300各自还具备存储了应用软件、OS等各种控制用程序的HDD(Hard Disk Drive:硬盘驱动器)等辅助存储装置、用于存储运算处理装置执行程序时暂时需要的数据的RAM(RandomAccess Memory:随机存取存储器)这样的主存储装置。
然后,在机器学习装置100、控制装置模拟器200以及控制装置300的每一个中,运算处理装置从辅助存储装置读入应用软件和OS,一边将读入的应用软件和OS在主存储装置中展开,一边基于这些应用软件、OS进行运算处理。另外,根据该运算结果,控制各装置所具备的各种硬件。由此,实现本实施方式的功能块。也就是说,能够通过硬件与软件的协作来实现本实施方式。另外,关于用于实现本实施方式的程序,能够使用各种类型的非暂时性的计算机可读介质(non-transitory computer readable medium)进行存储,来提供给计算机。非暂时性的计算机可读介质包含各种类型具有实体的记录介质(tangible storagemedium)。
此外,对于机器学习装置100,由于与机器学习相伴的运算量大,因此例如在个人计算机中搭载GPU(Graphics Processing Units:图形处理单元),并通过被称为GPGPU(General-Purpose computing on Graphics Processing Units:通用图形处理器)的技术,在与机器学习相伴随的运算处理中使用GPU,从而能够实现高速处理。并且,为了进行更高速的处理,可以使用多台搭载了这样的GPU的计算机来构筑计算机集群,通过在该计算机集群中包含的多台计算机来进行并行处理。
<本实施方式的动作>
接下来,参照图6的流程图来对本实施方式的Q学习时的机器学习装置100的动作进行说明。
在步骤S11中,状态信息取得部110从控制装置模拟器200取得状态信息s。对价值函数更新部122、行为信息生成部123输出所取得的状态信息。如上所述,该状态信息s是相当于Q学习中的环境状态s的信息,包含在步骤S11时间点的在控制装置模拟器200中设定的加工条件以及基于监视部231的监视结果而生成的判定信息。
在步骤S12中,行为信息生成部123生成新的行为信息a,并经由行为信息输出部130对控制装置模拟器200的第2多核心控制部233输出所生成的新的行为信息a。行为信息生成部123根据上述的策略输出新的行为信息a。接收到行为信息a的第2多核心控制部233通过根据接收到的行为信息对于当前状态s下的执行各控制进程的核心的指定及其执行顺序进行修正后的状态s′,使各核心执行控制进程。如上所述,该行为信息相当于Q学习中的行为a。
在步骤S13中,状态信息取得部110从控制装置模拟器200取得新的状态s′的状态信息s′。此外,在本实施方式中,在强化学习的过程中,不变更在控制装置模拟器200中设定的加工条件。也就是说,加工条件在步骤S11与步骤S13中是相同的内容。
因此,在状态信息s′中包含根据监视部231的监视结果而生成的判定信息即可,可以不包含加工条件。此时,状态信息取得部110可以使状态信息s′中包含在步骤S11中已经取得的加工条件。
对回报计算部121输出取得的状态信息s′。
在步骤S14中,回报计算部121基于在状态信息s′中包含的判定信息进行判定。回报计算部121的判定的方法如在<机器学习装置100的功能块>中所述。
在步骤S15中,作为在步骤S14中根据各判定条件判定为增加回报或者减少回报的结果,判定最终回报成为正值、负值还是零。
当回报成为正值时,在步骤S15中成为“正值”,并前进至步骤S16。然后,在步骤S16中作为回报对价值函数更新部122输出正值。
当回报是零时,在步骤S15中成为“零”,并前进至步骤S17。然后,在步骤S17中作为回报对价值函数更新部122输出零。
当回报是负值时,在步骤S15中成为“负值”,并前进至步骤S18。然后,在步骤S18中作为回报对价值函数更新部122输出负值。
当步骤S16、步骤S17以及步骤S18中的某一个结束时,处理前进至步骤S19。
在步骤S19中,根据在步骤S16、步骤S17以及步骤S18中的某个步骤中输出的回报的值,价值函数更新部122对在价值函数存储部140中存储的价值函数Q进行更新。此外,步骤S19对在线更新进行了例示,但是也可以替换为批量更新或者小批量更新来代替在线更新。
在步骤S20中,学习部120判定是否满足结束强化学习的条件。结束强化学习的条件例如是将上述处理重复进行了预定次数或重复了预定时间。在还未满足结束强化学习的条件时,在步骤S20中判定为否,处理再次返回至步骤S11。然后,通过重复上述处理,价值函数Q收敛为适当的值。
另一方面,当满足了结束强化学习的条件时,在步骤S20中判定为是,处理结束。
通过以上参照图6说明的动作,在本实施方式中,通过使用机器学习装置100,能够得到用于使执行各控制进程的核心的指定及其执行顺序最优化的价值函数。
接下来,参照图7的流程图,针对最优化行为信息输出部150生成最优化行为信息时的动作进行说明。
首先,在步骤S31中,状态信息取得部110从控制装置300取得状态信息s。
在步骤S32中,最优化行为信息输出部150取得在价值函数存储部140中存储的价值函数Q。如上所述,价值函数Q是通过价值函数更新部122进行Q学习而更新后的价值函数。
在步骤S33中,最优化行为信息输出部150根据在步骤S31中取得的状态信息s中包含的加工条件以及在步骤S32中取得的价值函数Q,生成最优化行为信息。然后,最优化行为信息输出部150对控制装置300的多核心控制部333输出所生成的最优化行为信息。该最优化行为信息是用于使执行各控制进程的核心的指定及其执行顺序最优化的信息。
在控制装置300根据该最优化行为信息来使执行各控制进程的核心的指定及其执行顺序最优化。
如上所述,通过使用本发明的机器学习装置100,能够在具有多个运算部的装置中进行有效的处理分散。
<最优化行为信息的应用>
接下来,参照图8针对在控制装置300根据最优化行为信息,对执行各控制进程的核心的指定及其执行顺序进行了最优化后的状态进行说明。在本说明中,假设控制装置300对于加工条件S1、加工条件S2以及加工条件S3的状态重复进行转变的情况。
控制装置300将包含了加工条件Sn的状态信息s输入至机器学习装置100。由此,机器学习装置100对控制装置300提供用于指示加工条件Sn下的最佳的核心分配的行为信息。
在图中表示了如下所述从控制装置300提供了加工条件Sn、执行状态Tn下的行为输出的情况。
<加工条件S1>
执行状态T1:通过第2核心342执行预处理,通过第3核心343执行扩展轴控制,通过第4核心344执行显示操作。
执行状态T2:通过第2核心342执行预处理,通过第3核心343执行通信控制,通过第4核心344执行显示操作。
执行状态T3:通过第2核心342执行预处理,通过第3核心343执行通信控制,通过第4核心344执行工具管理。
执行状态T4:通过第2核心342执行预处理,通过第3核心343执行通信控制,通过第4核心344执行设备管理。
<加工条件S2>
执行状态T1:通过第2核心342执行预处理,通过第3核心343执行扩展轴控制,通过第4核心344执行显示操作。
执行状态T2:通过第2核心342执行预处理,通过第3核心343执行通信控制,通过第4核心344执行显示操作。
执行状态T3:通过第2核心342执行预处理,通过第3核心343执行通信控制,通过第4核心344执行工具管理。
执行状态T4:通过第2核心342执行设备管理,通过第3核心343执行通信控制,通过第4核心344执行工具管理。
<加工条件S3>
执行状态T1:通过第2核心342执行扩展轴控制,通过第3核心343执行通信控制,通过第4核心344执行预处理。
执行状态T2:通过第2核心342执行扩展轴控制,通过第3核心343执行设备管理,通过第4核心344执行预处理。
执行状态T3:通过第2核心342执行扩展轴控制,通过第3核心343执行设备管理,通过第4核心344执行工具管理。
执行状态T4:通过第2核心342执行显示操作,通过第3核心343执行设备管理,通过第4核心344执行工具管理。
如此,根据本实施方式,能够根据多个加工条件中的各个加工条件来对执行控制进程的核心及其执行顺序的分配进行最优化。
<本实施方式所实现的效果>
接下来,针对本实施方式所实现的效果进行更详细地说明。
作为前提,在控制装置进行的机床的控制中,根据参数设定、运转模式、运行的加工程序等加工条件,实时控制的对象轴、执行的处理的优先度大幅变化。这与通过一般的应用程序进行的控制不同,是机床的控制所特有的特征。
并且,在机床的控制中并不限于轴的控制,为了平行地执行通信功能、显示功能、信号的输入输出功能等,可能频繁地发生多个运算部之间的通信以及与通信相伴的控制(例如,针对同一存储器的排他控制等),仅单纯地使负载均衡可能造成性能下降。
例如,专利文献1至专利文献5公开的技术那样的一般的技术难以解决这些问题。
但是,在本实施方式中,为了决定执行控制进程的最佳的核心而引入了机器学习,由此能够根据加工条件确立最佳的处理分散模式。因此,例如实现以下的效果。
首先,通过减少核心间的运转率的差,能够设为均匀的无浪费的运行状态。另外,通过减少核心间的通信量以及增加每单位时间的处理量,能够提高整个***的吞吐量。还能够进行减小了消耗电能以及发热量的节能运转以及避免由于发热引起的故障。
如此,根据本实施方式,与以往相比能够实现更好的效果。
<第1变形例>
在上述实施方式中,为了强化学习装置即机器学习装置100进行强化学习,由用户在控制装置模拟器200中设定作为强化学习的对象的加工条件。然而,当存在多个想要设为强化学习的对象的加工条件时,用户逐一输入加工条件很繁琐。
因此,在本变形例中,为了将更多的加工条件设为对象来自动地进行强化学习,还追加了加工条件生成部,该加工条件生成部在学习阶段,生成假设了控制装置的各种各样的状态的加工条件。
参照图9针对本变形例的结构进行说明。如图9所示,在本变形例中,在学习阶段,将加工条件生成部500与控制装置模拟器200相连接。此外,加工条件生成部500可以通过独立的装置来实现,也可以作为机器学习装置100的功能块来实现。
对加工条件生成部500输入用于生成加工条件的各种信息。例如,如图所示,输入包含多个参数设定的参数群、包含多个运转模式的运转模式群、包含多个加工程序的加工程序群。
加工条件生成部500通过改变这些信息中包含的参数设定、运转模式、加工程序的内容以及组合来自动生成加工条件。然后,加工条件生成部500将生成的加工条件设定在控制装置模拟器200中,并使控制装置模拟器200运转,由此针对生成的加工条件进行强化学习。
由此,能够减轻用户的负担,并且能够针对各种各样的加工条件进行强化学习。
此外,还考虑如果完全随机地组合参数设定、运转模式、加工程序的内容,则只针对在现实中不使用的加工条件进行强化学习的情况。因此,对加工条件生成部500输入用户生成的1个或者多个现实的加工条件即可。然后,加工条件生成部500一边变更该现实的加工条件的一部分一边生成加工条件。由此,能够仅针对现实的加工条件以及与该加工条件类似的加工条件进行强化学习。
<第2变形例>
在运用阶段,当输入了包含未曾作为强化学习对象的未知的加工条件的状态信息s时,无法输出针对该未知的加工条件最优化的行为信息。
因此,在本变形例中,当输入了包含未知的加工条件的状态信息s时,变更为与该未知的加工条件最为近似的曾作为强化学习对象的已知的加工条件。关于已知的加工条件,因为曾作为强化学习的对象,因此能够输出最优化的行为信息。
参照图10针对本变形例的结构进行说明。如图10所示,在本变形例中,在运用阶段,将加工条件变更部600与控制装置模拟器200相连接。此外,加工条件变更部600可以通过独立的装置来实现,也可以作为机器学习装置100的功能块来实现。
然后,当对机器学习装置100输入了包含未知的加工条件(例如,加工条件Sa)的状态信息s时,从机器学习装置100向加工条件变更部600通知包含了加工条件的内容的错误。接收到该通知的加工条件变更部600对机器学习装置100输出与该未知的加工条件(例如,加工条件Sa)最为接近的曾作为强化学习对象的已知的加工条件(例如,加工条件Sb)。
在这里,参照图11针对加工条件变更部600从已知的加工条件中选择与未知的加工条件最为接近的加工条件的方法进行说明。
在图11中,作为具体例子,表示从已知的加工条件Sb、Sc、Sd中选择与未知的加工条件Sa最接近的加工条件的例子。
如上所述,在加工条件中包含各种各样的信息。针对该各种各样的信息中的运转模式、加工程序以及核心的运转状况,优选与加工条件Sa一致。因此,从选择的候补中排除核心的运转状况与未知的加工条件Sa不同的加工条件Sc。
接下来,进行在参数设定中包含的各项目的比较,将与未知的加工条件Sa一致的项目最多的加工条件Sb视为最接近加工条件Sa的加工条件。
此外,关于将哪个项目设为进行比较的对象信息,能够根据用户的设定等任意地选择。
另外,可以不是简单地仅根据一致的项目的数量来进行选择,也可以进行各项目的加权。例如,设定为如果控制轴数一致是5个点,如果控制主轴数一致是3个点等,可以通过点数的总和值来判断类似的加工条件。
另外,通常控制的轴数、有效/无效的功能越是一致,CPU负载的倾向越类似,因此可以将这些参数设定作为比较的对象,或者增大权重。
另外,在运转模式、加工程序、核心的运转状况不一致时,或者参数设定一致的项目较少时等,可以判定为不存在类似的加工条件。此时,可以使用户能够选择不使用机器学习装置100来进行控制。
<第3变形例>
在上述实施方式中,分别通过单独的装置构成了机器学习装置100、控制装置模拟器200、控制装置300,但是可以通过同一装置来实现这些单独的装置的部分功能或者全部功能。
另外,可以通过多个装置来实现机器学习装置100、控制装置模拟器200、控制装置300的部分功能或者全部功能。此时,可以设为将机器学习装置100、控制装置模拟器200、控制装置300的各功能适当地分散到多个服务器中的分散处理***。还可以在云端使用虚拟服务器功能等。
符号说明
1 机器学习***
100 机器学习装置
110 状态信息取得部
120 学习部
121 回报计算部
122 价值函数更新部
123 行为信息生成部
130 行为信息输出部
140 价值函数存储部
150 最优化行为信息输出部
200 控制装置模拟器
210、310 第1控制进程群
220、320 第2控制进程群
230、330 操作***
231、331 监视部
232、332 第1多核心控制部
233、333 第2多核心控制部
240、340 处理器
241、341 第1核心
242、342 第2核心
243、343 第3核心
244、344 第4核心
300 控制装置
400 机床
500 加工条件生成部
600 加工条件变更部。
Claims (9)
1.一种机器学习装置,其针对通过多个运算部并列地执行用于控制机床的多个进程的控制装置进行强化学习,其特征在于,具备:
行为信息输出单元,其对所述控制装置输出行为信息,该行为信息包含执行所述多个进程的运算部的分配;
状态信息取得单元,其取得包含加工条件和判定信息的状态信息,所述加工条件是与对所述机床设定的加工有关的条件,所述判定信息是通过对基于所述行为信息中包含的分配由所述多个运算部执行所述多个进程进行监视而生成的信息;
回报计算单元,其根据所述状态信息中包含的所述判定信息来计算强化学习的回报的值;以及
价值函数更新单元,其根据所述回报的值、所述状态信息以及所述行为信息来更新行为价值函数。
2.根据权利要求1所述的机器学习装置,其特征在于,
所述多个运算部按照预定的周期分为预定次数来执行所述多个进程,
每当在所述多个运算部中所述多个进程结束时,所述价值函数更新单元对所述行为价值函数进行更新,
每当在所述多个运算部中所述多个进程结束时,所述行为信息输出单元对所述控制装置输出变更了分配内容的行为信息。
3.根据权利要求2所述的机器学习装置,其特征在于,
所述行为信息中包含的所述分配包含所述多个运算部各自执行的进程的指定和执行进程的顺序,
所述行为信息输出单元对所述控制装置输出对所述多个运算部各自执行的进程的指定和执行进程的顺序中的至少任意一个进行了变更的行为信息,来作为变更了所述分配内容的行为信息。
4.根据权利要求2或3所述的机器学习装置,其特征在于,
针对所述多个运算部中的一部分运算部,将被分配的进程固定,
所述行为信息输出单元输出对于被分配的进程没有被固定的运算部的分配内容进行了变更的行为信息,来作为变更了所述分配内容的行为信息。
5.根据权利要求1所述的机器学习装置,其特征在于,
针对通过模拟器虚拟再现的所述控制装置进行通过该机器学习装置进行的强化学习,
所述机器学习装置还具备最优化行为信息输出单元,在所述强化学习结束后,所述最优化行为信息输出单元根据从所述控制装置的实体机取得的状态信息以及通过所述强化学习而学习的行为价值函数来生成所述行为信息,对所述控制装置的实体机输出生成的行为信息。
6.根据权利要求5所述的机器学习装置,其特征在于,
所述机器学习装置还具备加工条件变更单元,在从所述控制装置的实体机取得的状态信息中包含的加工条件是还未作为强化学习的对象的加工条件时,所述加工条件变更单元将该加工条件变更为加工条件的部分内容一致,并且曾经作为机器学习的对象的其他加工条件,
所述最优化行为信息输出单元根据通过所述加工条件变更单元变更了加工条件的状态信息以及通过与所述其他加工条件相对应的所述强化学习而学习的行为价值函数来生成所述行为信息,并对所述控制装置的实体机输出生成的所述行为信息。
7.根据权利要求1所述的机器学习装置,其特征在于,
所述机器学习装置还具备加工条件生成单元,该加工条件生成单元生成所述加工条件,并针对所述控制装置设定所生成的加工条件。
8.一种控制装置,其特征在于,
具备权利要求1~7中的任意一项所述的机器学习装置。
9.一种用于存储机器学习程序的计算机可读介质,该机器学习程序用于使计算机作为针对控制装置进行强化学习的机器学习装置发挥功能,
所述控制装置通过多个运算部并列地执行用于控制机床的多个进程,
其特征在于,
所述机器学习装置具备:
行为信息输出单元,其对所述控制装置输出行为信息,该行为信息包含执行所述多个进程的运算部的分配;
状态信息取得单元,其取得包含加工条件和判定信息的状态信息,所述加工条件是与对所述机床设定的加工有关的条件,所述判定信息是通过对基于所述行为信息中包含的分配由所述多个运算部执行所述多个进程进行监视而生成的信息;
回报计算单元,其根据所述状态信息中包含的所述判定信息来计算强化学习的回报的值;以及
价值函数更新单元,其根据所述回报的值、所述状态信息以及所述行为信息来更新行为价值函数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017115221A JP6530783B2 (ja) | 2017-06-12 | 2017-06-12 | 機械学習装置、制御装置及び機械学習プログラム |
JP2017-115221 | 2017-06-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032078A CN109032078A (zh) | 2018-12-18 |
CN109032078B true CN109032078B (zh) | 2020-04-14 |
Family
ID=64332752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810588871.8A Active CN109032078B (zh) | 2017-06-12 | 2018-06-08 | 机器学习装置、控制装置以及计算机可读介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10705506B2 (zh) |
JP (1) | JP6530783B2 (zh) |
CN (1) | CN109032078B (zh) |
DE (1) | DE102018209149B4 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10386817B1 (en) * | 2015-09-11 | 2019-08-20 | Haas Automation, Inc. | Multi-core processing machine tool control system |
US10948883B2 (en) * | 2017-09-20 | 2021-03-16 | Rockwell Automation Technologies, Inc. | Machine logic characterization, modeling, and code generation |
US10417556B1 (en) * | 2017-12-07 | 2019-09-17 | HatchB Labs, Inc. | Simulation-based controls optimization using time series data forecast |
WO2020032947A1 (en) * | 2018-08-09 | 2020-02-13 | Siemens Aktiengesellschaft | Manufacturing process control using constrained reinforcement machine learning |
CN112567304B (zh) * | 2018-08-17 | 2023-09-19 | 三菱电机株式会社 | 数控装置 |
KR20200094577A (ko) * | 2019-01-30 | 2020-08-07 | 주식회사 모비스 | 인공신경망 시뮬레이터와 강화학습 제어기를 사용한 실시간 가속기 제어 시스템 |
CN111505944B (zh) * | 2019-01-30 | 2021-06-11 | 珠海格力电器股份有限公司 | 节能控制策略学习方法、实现空调节能控制的方法及装置 |
JP2020131353A (ja) * | 2019-02-19 | 2020-08-31 | パナソニックIpマネジメント株式会社 | 研磨加工システム、学習装置、学習装置の学習方法 |
CN113543874B (zh) * | 2019-03-08 | 2023-06-30 | 富士胶片株式会社 | 学习装置及方法 |
JP2020183816A (ja) * | 2019-04-26 | 2020-11-12 | ダイキン工業株式会社 | 熱源システム、目標運転容量推定方法、目標運転容量推定プログラム |
CN110244626B (zh) * | 2019-06-21 | 2021-09-14 | 南京邮电大学 | 基于强化学习的多用户水产养殖自动调控***及方法 |
KR20220066336A (ko) * | 2019-09-19 | 2022-05-24 | 지멘스 악티엔게젤샤프트 | 상태 매트릭스 및 디바이스를 사용하여 유연한 제조 시스템에 대한 자기 학습 제조 스케줄링을 위한 방법 |
JP7379672B2 (ja) * | 2019-09-19 | 2023-11-14 | シーメンス アクチエンゲゼルシヤフト | フレキシブル生産システムおよび装置のための自己学習型製造スケジューリング方法 |
CN113366445A (zh) * | 2019-09-30 | 2021-09-07 | 株式会社日立信息通信工程 | 状态预测*** |
CN114467091A (zh) * | 2019-11-06 | 2022-05-10 | 赫克斯冈技术中心 | 用于在制造中进行强化学习的虚拟环境的***和方法 |
EP3825263A1 (de) * | 2019-11-20 | 2021-05-26 | Siemens Aktiengesellschaft | Verfahren zur computer-implementierten konfiguration einer geregelten antriebsapplikation eines logistiksystems |
US11429869B2 (en) * | 2019-11-21 | 2022-08-30 | International Business Machines Corporation | Artificially intelligent interaction agent |
DE112020005842T5 (de) | 2020-01-31 | 2022-09-22 | Mitsubishi Electric Corporation | Steuervorrichtung, maschinenlernvorrichtung und steuerverfahren |
DE102020107623A1 (de) | 2020-03-19 | 2021-09-23 | Trumpf Werkzeugmaschinen Gmbh + Co. Kg | Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage |
KR102169876B1 (ko) * | 2020-05-22 | 2020-10-27 | 주식회사 애자일소다 | 조건부 에피소드 구성을 이용한 강화학습 장치 및 방법 |
CN111633469A (zh) * | 2020-06-11 | 2020-09-08 | 深圳市彼络科技有限公司 | 一种基于强化学习的自动刀具补偿方法 |
JP7455239B2 (ja) | 2021-01-27 | 2024-03-25 | 三菱電機株式会社 | 数値制御システム、タスク割り当て変更装置及び数値制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106485992A (zh) * | 2015-08-28 | 2017-03-08 | 发那科株式会社 | 机械学习方法、机械学习装置、控制装置以及电动机装置 |
CN106558959A (zh) * | 2015-09-30 | 2017-04-05 | 发那科株式会社 | 机械学习装置和线圈制造装置 |
CN106560751A (zh) * | 2015-09-30 | 2017-04-12 | 发那科株式会社 | 机器学习装置、机器学习方法及具备机器学习装置的机床 |
JP6114421B1 (ja) * | 2016-02-19 | 2017-04-12 | ファナック株式会社 | 複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法 |
CN106815642A (zh) * | 2015-11-30 | 2017-06-09 | 发那科株式会社 | 机械学习装置及方法以及电动机控制装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6016239A (ja) | 1984-06-07 | 1985-01-28 | Matsushita Electric Ind Co Ltd | 加熱調理器 |
JP2000076087A (ja) * | 1998-08-28 | 2000-03-14 | Hitachi Ltd | マルチオペレーティングシステム制御方法 |
JP2009163527A (ja) * | 2008-01-08 | 2009-07-23 | Hitachi Ltd | Os間で負荷分散する情報処理システム |
US8429097B1 (en) * | 2009-08-12 | 2013-04-23 | Amazon Technologies, Inc. | Resource isolation using reinforcement learning and domain-specific constraints |
DE102011105141A1 (de) * | 2011-06-09 | 2012-12-13 | Dmg Electronics Gmbh | Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine |
JP2014035564A (ja) * | 2012-08-07 | 2014-02-24 | Fanuc Ltd | マルチコアプロセッサを有する数値制御装置 |
JP5808450B1 (ja) * | 2014-04-04 | 2015-11-10 | ファナック株式会社 | マルチコアプロセッサを使用して逐次プログラムを実行する制御装置 |
JP6151669B2 (ja) * | 2014-06-27 | 2017-06-21 | ファナック株式会社 | 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置 |
US9430299B2 (en) * | 2014-08-06 | 2016-08-30 | International Business Machines Corporation | System, method and product for task allocation |
JP6203691B2 (ja) * | 2014-08-29 | 2017-09-27 | ファナック株式会社 | 複数軸の軸制御処理を分散して実行可能な数値制御装置 |
JP6063013B1 (ja) | 2015-08-27 | 2017-01-18 | ファナック株式会社 | びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置 |
US9811389B2 (en) * | 2015-09-23 | 2017-11-07 | Intel Corporation | Task assignment for processor cores based on a statistical power and frequency model |
JP6333796B2 (ja) * | 2015-11-25 | 2018-05-30 | ファナック株式会社 | 複数のcpuコアで最適な負荷配分を行う数値制御装置 |
US10146286B2 (en) * | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10140161B1 (en) * | 2017-04-28 | 2018-11-27 | EMC IP Holding Company LLC | Workload aware dynamic CPU processor core allocation |
-
2017
- 2017-06-12 JP JP2017115221A patent/JP6530783B2/ja active Active
-
2018
- 2018-05-16 US US15/981,356 patent/US10705506B2/en active Active
- 2018-06-08 CN CN201810588871.8A patent/CN109032078B/zh active Active
- 2018-06-08 DE DE102018209149.8A patent/DE102018209149B4/de active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106485992A (zh) * | 2015-08-28 | 2017-03-08 | 发那科株式会社 | 机械学习方法、机械学习装置、控制装置以及电动机装置 |
CN106558959A (zh) * | 2015-09-30 | 2017-04-05 | 发那科株式会社 | 机械学习装置和线圈制造装置 |
CN106560751A (zh) * | 2015-09-30 | 2017-04-12 | 发那科株式会社 | 机器学习装置、机器学习方法及具备机器学习装置的机床 |
CN106815642A (zh) * | 2015-11-30 | 2017-06-09 | 发那科株式会社 | 机械学习装置及方法以及电动机控制装置 |
JP6114421B1 (ja) * | 2016-02-19 | 2017-04-12 | ファナック株式会社 | 複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法 |
Also Published As
Publication number | Publication date |
---|---|
US10705506B2 (en) | 2020-07-07 |
DE102018209149A1 (de) | 2018-12-13 |
US20180356793A1 (en) | 2018-12-13 |
DE102018209149B4 (de) | 2021-10-07 |
JP2019003271A (ja) | 2019-01-10 |
CN109032078A (zh) | 2018-12-18 |
JP6530783B2 (ja) | 2019-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032078B (zh) | 机器学习装置、控制装置以及计算机可读介质 | |
Liu et al. | Adaptive asynchronous federated learning in resource-constrained edge computing | |
CN115248728B (zh) | 面向智能计算的分布式训练任务调度方法、***和装置 | |
CN108958916B (zh) | 一种移动边缘环境下工作流卸载优化方法 | |
Zhu et al. | BLOT: Bandit learning-based offloading of tasks in fog-enabled networks | |
Bicer et al. | Time and cost sensitive data-intensive computing on hybrid clouds | |
Jayanetti et al. | Deep reinforcement learning for energy and time optimized scheduling of precedence-constrained tasks in edge–cloud computing environments | |
KR20210052412A (ko) | 강화 학습 모델 구축 방법, 장치, 전자 기기 및 매체 | |
WO2018206994A1 (en) | Method of managing resource providing in a computers cluster running jobs | |
Hussin et al. | Improving reliability in resource management through adaptive reinforcement learning for distributed systems | |
CN111209077A (zh) | 深度学习框架设计方法 | |
CN114237869B (zh) | 基于强化学习的Ray双层调度方法、装置和电子设备 | |
Chen et al. | A3c-based and dependency-aware computation offloading and service caching in digital twin edge networks | |
Limmer et al. | Comparison of common parallel architectures for the execution of the island model and the global parallelization of evolutionary algorithms | |
Funika et al. | Automated cloud resources provisioning with the use of the proximal policy optimization | |
KR102270239B1 (ko) | 전자장치에서 소프트웨어를 실행하기 위한 방법 및 장치 | |
CN117290102A (zh) | 跨域异构资源的调度方法及装置 | |
CN116028193B (zh) | 一种混部集群的大数据任务动态高能效调度方法和*** | |
CN117331668A (zh) | 一种作业调度方法、装置、设备及存储介质 | |
Chen et al. | DRJOA: intelligent resource management optimization through deep reinforcement learning approach in edge computing | |
KR101360263B1 (ko) | 계산작업 제어장치, 계산작업 제어방법, 및 계산작업을 제어하는 소프트웨어를 저장하는 저장매체 | |
CN116340393A (zh) | 数据库饱和度的预测方法、存储介质及数据库*** | |
Dai et al. | Offloading dependent tasks in edge computing with unknown system-side information | |
CN113254385A (zh) | 一种网络结构、并行推理模型的编译加载方法及芯片*** | |
Hu et al. | GitFL: Uncertainty-Aware Real-Time Asynchronous Federated Learning using Version Control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |