CN110414662A - 数据处理方法及系统 - Google Patents
数据处理方法及系统 Download PDFInfo
- Publication number
- CN110414662A CN110414662A CN201910710443.2A CN201910710443A CN110414662A CN 110414662 A CN110414662 A CN 110414662A CN 201910710443 A CN201910710443 A CN 201910710443A CN 110414662 A CN110414662 A CN 110414662A
- Authority
- CN
- China
- Prior art keywords
- individual
- algorithm
- swarm intelligence
- ambient conditions
- current ambient
- 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.)
- Granted
Links
Classifications
-
- 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
- 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
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
Abstract
本申请涉及一种数据处理方法,在个体进化时采用了群体智能经验数据,群体智能经验数据是依据群体智能算法得到的,且,群体智能算法在进行计算时采用了个体,因此,可以结合个体智能算法和群体智能算法的优点,避免单一使用时引起的问题。进一步地,在确定将个体引导群体智能算法进行计算和利用群体智能经验数据进化个体进行循环时,将进化后的个体作为下次群体智能算法计算时的待采用的个体,由于群体智能算法中的各个初始个体已经完成了进化,均为优秀个体,优秀个体根据观测量提供的信息较之之前更优,群体智能算法根据优秀个体得出的计算结果较之之前也更优,从而完成了个体和群体智能算法的共同进化,该过程在反复进行后可以使得个体和群体智能算法不断优化。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法及系统。
背景技术
一些应用场景下需要对数据进行优化,比如,优化机器人的控制参数中的PID参数,在这些优化过程中,可以采用个体智能算法或者群体智能算法。现有技术中,个体智能算法的进化一般通过强化学习的方式,通过廉价的奖励信号为个体智能提供了进化环境,但由于试错性质,学习效率较低。群体智能算法的突出特点就是利用了种群的群体智慧进行协同搜索,从而在解空间内找到最优解,但群体智能算法中的个体是随机初始化的,群体智能算法中每个个体初始的优劣程度不同,如果优秀的初始个体较少,则会一定程度上影响群体智能算法的计算能力。因此,现有技术中只依据个体智能算法或群体智能算法对数据进行优化都存在一定的局限性。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种数据处理方法及系统。
本申请的方案如下:
根据本申请实施例的第一方面,提供一种数据处理方法,包括:
确定待优化的对象,将所述待优化的对象作为待采用的个体,以及确定所述待采用的个体所处的当前环境状态的观测量,采用所述观测量和所述个体引导所选择的群体智能算法进行计算,直至满足预设的停止条件,得到群体智能算法计算结果,所述群体智能算法为非前瞻搜索算法;
将所述观测量和所述群体智能算法计算结果作为群体智能经验数据,存储所述群体智能经验数据,并在访问存储的所述群体智能经验数据后,采用所述群体智能经验数据进化所述个体,得到进化后的个体;
在确定循环进行时,将所述进化后的个体作为下次群体智能算法计算时的待采用的个体。
优选的,在本申请一种可实现的方式中,所述确定当前环境状态的观测量具体包括:
确定当前环境状态;
将所述当前环境状态确定为当前环境状态的观测量;或者,将所述当前环境状态的部分特征确定为当前环境状态的观测量。
优选的,在本申请一种可实现的方式中,所述确定当前环境状态具体包括:
获取人为设定的当前环境状态;或者,
随机产生当前环境状态;或者,
根据当前环境的前一状态经过行动得到当前环境状态。
优选的,在本申请一种可实现的方式中,还包括:
选择与当前环境状态匹配的群体智能算法;
所选择的群体智能算法包括:蚁群算法、遗传算法、或者,粒子群算法。
优选的,在本申请一种可实现的方式中,所述选择与当前环境匹配的群体智能算法具体包括:
判断当前环境状态的类别;所述当前环境状态的类别至少包括:离散的行动空间和连续的行动空间;
若所述当前环境状态为离散的行动空间,则选择蚁群算法或遗传算法作为与当前环境状态匹配的群体智能算法;
若所述当前环境状态为连续的行动空间,则选择遗传算法和粒子群算法作为与当前环境状态匹配的群体智能算法。
优选的,在本申请一种可实现的方式中,所述确定待采用的个体具体包括:
使用参数化且可导的函数来表达个体;或者,
使用表格的形式来表达个体;或者,
使用专家系统的形式来表达个体。
优选的,在本申请一种可实现的方式中,所述进化所述个体具体包括:
若所述个体使用参数化且可导的函数来表达,则使用梯度下降的方法来进化个体;或者,
若所述个体使用表格的形式表达,则使用修改表格中的取值的方法进化个体;
若所述个体使用专家系统的形式表达,则使用修改专家系统中逻辑规则的方法进化个体。
优选的,在本申请一种可实现的方式中,所述群体智能经验数据采用表格形式存储,且通过查表方式访问;和/或,
所述停止条件包括:达到计算时间、达到计算次数、或者,达到关于评价值的预设条件。
优选的,在本申请一种可实现的方式中,所述待优化的对象包括:
机器人控制中待优化的PID控制参数;或者,工厂生产中待优化的生产排程;或者机器人控制中待优化的力矩。
根据本申请实施例的第二方面,提供一种数据处理系统,包括:
处理器和存储器;
所述处理器与存储器通过通信总线相连接:
其中,所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器,用于存储程序,所述程序至少用于执行以任一项所述的数据处理方法。
本申请提供的技术方案可以包括以下有益效果:
本申请中,在个体进化时采用了群体智能经验数据,群体智能经验数据是依据群体智能算法得到的,且,群体智能算法在进行计算时采用了个体,因此,可以结合个体智能算法和群体智能算法的优点,避免单一使用时引起的问题。进一步地,在确定将个体引导群体智能算法进行计算和利用群体智能经验数据进化个体进行循环时,将进化后的个体作为下次群体智能算法计算时的待采用的个体,由于群体智能算法中的各个初始个体已经完成了进化,均为优秀个体,优秀个体根据观测量提供的信息较之之前更优,群体智能算法根据优秀个体得出的计算结果较之之前也更优,从而完成了个体和群体智能算法的共同进化,该过程在反复进行后可以使得个体和群体智能算法不断优化。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个实施例提供的数据处理方法的流程图;
图2是本申请一个实施例提供的倒立摆的示意图;
图3是本申请一个实施例提供的数据处理系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1是本申请一个实施例提供的数据处理方法的流程图,参照图1,一种数据处理方法,包括:
S11:确定待优化的对象,将待优化的对象作为待采用的个体,以及确定待采用的个体所处的当前环境状态的观测量,采用观测量和个体引导所选择的群体智能算法进行计算,直至满足预设的停止条件,得到群体智能算法计算结果,群体智能算法为非前瞻搜索算法;
S12:将观测量和群体智能算法计算结果作为群体智能经验数据,存储群体智能经验数据,并在访问存储的群体智能经验数据后,采用群体智能经验数据进化个体,得到进化后的个体;
S13:在确定循环进行时,将进化后的个体作为下次群体智能算法计算时的待采用的个体。
1991年,M.Dorigo等人研究蚂蚁的食物寻找行为,并提出蚁群算法(Ant ColonyOptimization,ACO)。该算法的基本思想是基于信息素选择下一个节点,直到达到适当的解决方案。在蚁群算法中,信息素信息分布的更新过程是基于当前迭代中的所有行程,可以理解为蚂蚁的群体智能的涌现。在这个意义上,蚁群算法成功地应用于多个问题,如旅行商问题(Traveling Salesman Problem,TSP)、数据挖掘和PID控制参数的优化。此外,科学家还提出了一些有效的群体智能算法,如粒子群优化算法(Particle Swarm Optimization,PSO)模拟了鸟类的觅食,遗传算法(Genetic Algorithm,GA)模拟了生物群体中的优胜劣汰。
深度强化学习是近年来应用效果较为突出的人工智能技术之一,例如深度Q网络(Deep Q Network,DQN)、深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)、(Asynchronous Advantage Actor-Critic,A3C)等。深度强化学习将深度学习的感知能力和强化学习的决策能力相结合,是一种更接近人类思维方式的人工智能方法,为复杂系统的感知决策问题提供了解决思路。
虽然深度学习是强大的,但它依赖于大量高质量的标签数据,这是昂贵的。强化学习通过廉价的奖励信号为智能体提供了进化环境,但由于试错性质,学习效率较低。而群体智能算法能够使群体智能从无到有,自动产生高质量的标签数据,但缺乏一种进化个体智能的机制。如果能结合深度学习、强化学习和群体智能算法的优势,就可以使个体和群体算法高效、低成本地协同进化。
本实施例中,因为涉及到个体进化,利用了强化学习中的概念。个体对应强化学习中的智能体;环境指个体和群体智能算法的应用场景;当前环境状态指环境的情况;行动指个体针对当前环境状态采取的行动;观测量指个体对当前环境状态的观测;评价值与强化学习里的奖励类似。
步骤S11中的待优化的对象即个体具有多种,可以但不限于为:
机器人控制中待优化的PID控制参数;或者,工厂生产中待优化的生产排程;或者机器人控制中待优化的力矩。
个体即为在当前环境状态下的行动。
步骤S11中采用观测量和个体引导所选择的群体智能算法进行计算。
同一观测量下,不同的个体代表着不同的行动,不同的行动会产生不同的结果。
群体智能算法根据个体针对某观测量采取的行动所得到的结果进行计算,从中得出达到评价值的结果所对应的行动数据,作为群体智能经验数据。
步骤S11中确定当前环境状态的观测量具体包括:
确定当前环境状态;
将当前环境状态确定为当前环境状态的观测量;或者,将当前环境状态的部分特征确定为当前环境状态的观测量。
当前环境状态指个体对环境状态的观测,例如在机器人控制的背景中,当前环境状态指机器人的当前位置和姿态;在工厂生产背景中,当前环境状态指订单信息、工艺路径、当前设备状态。
将当前环境状态确定为当前环境状态的观测量,例如在机器人控制的背景中,将机器人的当前位置和姿态确定为当前环境状态的观测量,在工厂生产背景中,将当前订单信息、工艺路径、设备状态确定为当前环境状态的观测量。
进一步的,当前环境状态可以是人为设定的当前环境状态;也可以是随机产生的;也可以是根据当前环境的前一状态经过行动得到的。
当前环境状态的类别包括多种,例如:离散的状态空间,离散的行动空间,连续的状态空间和连续的行动空间。
不同的环境状态需要匹配不同的群体智能算法和不同表现形式的个体。
非前瞻搜索的可选择的群体智能算法包括:蚁群算法、遗传算法、或者,粒子群算法。
可选择的个体的表现形式包括:参数化且可导的函数形式,表格形式,或者,专家系统形式。
参数化且可导的函数具体包括:黑箱形式的神经网络、灰箱形式的具有理论意义的数学方程。
选择与当前环境匹配的群体智能算法具体包括:
判断当前环境状态的类别;
若当前环境状态为离散的行动空间,则选择蚁群算法或遗传算法作为与当前环境状态匹配的群体智能算法;
若当前环境状态为连续的行动空间,则选择遗传算法和粒子群算法作为与当前环境状态匹配的群体智能算法。
选择与当前环境匹配的个体表现形式具体包括:
判断当前环境状态和行动的类别;
若当前环境状态为离散的状态空间,则选择表格形式或参数化且可导的函数形式或专家系统形式的个体形式作为与当前环境状态匹配的个体形式。
若当前环境状态为离散或连续的状态空间、行动为离散或连续的行动空间,则选择参数化且可导的函数形式或专家系统形式的个体形式作为与当前环境状态匹配的个体形式。
即表格形式的个体只能用于离散的状态空间,而参数化且可导的函数形式或专家系统形式的个体可以用于离散的状态空间,离散的行动空间,连续的状态空间和连续的行动空间。
S12中的进化个体具体包括:
若个体使用参数化且可导的函数来表达,则使用梯度下降的方法来进化个体;或者,
若个体使用表格的形式表达,则使用修改表格中的取值的方法进化个体;
若个体使用专家系统的形式表达,则使用修改专家系统中逻辑规则的方法进化个体。
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。
修改表格中的取值的方法,即为将表格中的数据替换为群体智能经验数据。
举例说明如何修改专家系统中逻辑规则。设逻辑规则为:“如果初始状态x(0)=0,则行动(即个体)P=a,a为任意自然数。”在初始化群体智能算法时可以对该逻辑规则做一些随机变化,如使P=a+1,P=a+2等,在群体智能算法针对状态x(0)=0的情况优化了个体P=a之后,将专家系统中P=a改为优化后的数,比如P=a+1,就实现了个体的进化。
优选的,本实施例中,群体智能经验数据采用表格形式存储,且通过查表方式访问。
优选的,群体智能算法的停止条件包括:达到计算时间、达到计算次数、或者,达到关于评价值的预设条件。
在确定循环进行时,将进化后的个体作为下次群体智能算法计算时的待采用的个体。
循环是指,重复执行步骤S11个体引导所选择的群体智能算法进行计算,步骤S12采用群体智能经验数据进化个体,步骤S13中将进化后的个体作为下次群体智能算法计算时的待采用的个体。
在未确定循环时,可以只对步骤S11-S12顺序执行一次,即只对个体进行一次进化。
在确定进行循环时,反复执行步骤S11-S13,即个体引导所选择的群体智能算法进行计算,采用群体智能经验数据进化个体,将进化后的个体作为下次群体智能算法计算时的待采用的个体。
并且,步骤S11和步骤S12可以顺序执行,也可以异步并行。
在个体进化时采用了群体智能经验数据,群体智能经验数据是依据群体智能算法得到的,且,群体智能算法在进行计算时采用了个体,因此,可以结合个体智能算法和群体智能算法的优点,避免单一使用时引起的问题。进一步地,在确定将个体引导群体智能算法进行计算和利用群体智能经验数据进化个体进行循环时,将进化后的个体作为下次群体智能算法计算时的待采用的个体,由于群体智能算法中的各个初始个体已经完成了进化,均为优秀个体,优秀个体根据观测量提供的信息较之之前更优,群体智能算法根据优秀个体得出的计算结果较之之前也更优,从而完成了个体和群体智能算法的共同进化,该过程在反复进行后可以使得个体和群体智能算法不断优化。
以下将列出具体实施例对本申请中的数据处理方法进行详细解释。
实施例一
本实施例中,将个体应用于格子世界环境。
格子世界环境如下图所示:
终 | 1 | 2 | 3 |
4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 |
12 | 13 | 14 | 终 |
在格子世界中,非终点状态由数字表示,即1至14,终点状态为左上角和右下角。初始状态为任意的非终点状态,行动为上下左右走一格,如果往超出边缘走则为停留在当前格子。上下左右相邻的每两个格子之间的距离均为1。目标是使用最短的距离走到终点。
接收当前环境状态的观测量,引导除前瞻搜索以外的群体智能算法进行计算,直到满足停止条件。当前状态的生成方式包括人为指定、随机产生、由环境前一状态经过行动后得到。本实施例中,采用随机产生的方式,环境状态r=1,2,…,14,指格子的位置,因为有14个格子,所以是离散的状态空间。观测量可以是当前环境状态,也可以是当前环境状态的一部分特征,当前环境状态的一部分特征即仅观测到一部分信息。本实施例中,假设观测量等于当前环境状态。
在本实施例中,可以使用表格的形式来表示个体,设表格的每个元素是η(r,s),表示概率。其中r=1,2,…,14,是表格的行,表示状态,s=1,2,3,4,是表格的列,表示往上下左右4个方向走。初始时,对任意r,s。
本实施例中,选择蚁群算法为群体智能算法。
步骤S11中群体智能算法进行计算具体包括:
模拟:每只蚂蚁k依据状态转移概率pk(r,s),按照概率分布完成一次完整的行走,下一格子的选择at服从状态转移概率pk(r,s):
其中,t表示当前是走的是第几步;τ代表信息素;η(r,s)是每个蚂蚁个体具备的知识;β是访问每个蚂蚁知识的一个超参数;Jk(r)是第k只蚂蚁从格子r出发允许走的方向,在此实施例中均为上下左右4个方向,不存在的情况,且Jk(r)=J(r),pk(r,s)=p(r,s),即与蚂蚁无关。
更新:一旦所有蚂蚁完成了他们的行走,需要进行一次全局的信息素更新:
其中,
α是信息素衰减因子,Lk是蚂蚁k途经路径的长度,m是蚂蚁的总数量。Q是信息素的权重因子,它决定了探索和利用的比重。
可以看出,个体相当于蚁群算法中的一只蚂蚁。由于合理定义了个体、改进了蚁群算法,在模拟时使得个体知识可以被群体智能算法利用,让群体智能算法更快、更好地涌现提升。虽然形式上与传统蚁群算法中的先验知识类似,但通过下一步的个体进化就可以体现出先验知识不具备的能力,即一旦个体得到进化,群体智能算法也可以因此得到进化。这样的改进简单而不失一般性,因此可以对其他群体算法做同样的改进。蚁群算法整个过程由以上步骤进行迭代,直到达到停止条件。停止条件包括达到计算时间、达到计算次数、达到关于评价值的某些条件。在实际应用时,可以用群体算法的最优解作为行动输出给环境。
群体智能算法计算过程中使用的观测量和评价值由环境给出,也可由仿真环境给出。仿真环境可以由人提供,也可由例如神经网络的系统识别方法得到,系统识别的过程可以提前进行,也可以与本实施例的方法同时进行。
将观测量和群体智能算法计算结果作为群体智能经验数据,存储群体智能经验数据。
群体智能经验数据使用表格来记录,记录观测量和对应的群体智能算法计算结果,通过查表的方式访问群体智能经验数据。在本实施例中,将状态r和对应的群体智能算法中4个方向的p(r,s)值作为表格的五列,表格每一行是一组r和p(r,s)。
因为本实施例中的个体为表格的表现形式,所以在本实施例中,使用群体智能经验数据中出现的状态r的4个p(r,s)值去替换表现个体的表格中对应的状态r的4个η(r,s)值。
在下一次将个体应用于格子世界时,每个个体就可以利用自身进化后的η(r,s)值来引导蚁群算法,形成个体与群体智能算法的正反馈,让个体和群体智能算法协同进化。
实施例二
本实施例中,将个体应用于倒立摆环境。倒立摆参照图2。
其动力学方程如下所示:
其中x1,x2是倒立摆的角度和角速度,以弧度表示。
u=Px1+Dx2是控制量,P,D是需要指定的控制参数即个体;其中,x1,x2,u是随时间连续变化的变量,此处为了简洁省略了时间。其余常量为重力加速度g,倒立摆质量mp,小车质量Mc,倒立摆长度2L。控制目标是最小化损失函数
在本实施例中,使用随机产生的方式生成t=0时的状态作为当前状态,即环境状态x2(0)为任意实数。观测量可以是当前环境状态,也可以是当前环境状态的一部分特征,即仅观测到不完美的信息。本实施例中,假设观测量等于当前环境状态即倒立摆的角度和角速度即为当前环境状态的观测量。
本实施例中,个体使用神经网络的形式来表现。神经网络采用标准全连接网络πθ(P,D|x1,x2),输入为环境状态x1,x2,输出为控制参数P和D概率密度,神经网络参数为θ。由于输出有两个量,且相互独立,采用二维独立正态分布的概率密度函数f(P,D)作为输出层的激活函数。在进入激活函数之前,输出层共有四个线性神经元μP,μD,yP,yD。μP,μD作为均值直接进入正态分布激活函数。yP,yD需要先使用 即SoftPlus激活,变为方差后再进入正态分布激活函数。
因为本实施例中的倒立摆为连续摆动的状态,本实施例中的环境状态为连续的行动空间,可以选择粒子群算法作为与当前环境状态匹配的群体智能算法。
步骤S11中群体智能算法进行计算具体包括:
初始化:设粒子个数为S,每个粒子的位置向量zi=[zi1,zi2],根据个体神经网络的输出来初始化粒子位置:
(zi1,zi2)~πθ(·,·|x1,x2),i=1,2,...,S
此外,还需初始化个体最优位置pi、群体最优位置g,以及粒子速度vi,这些与传统粒子群中的方法相同。
迭代更新:对每个粒子i的每个维度d的速度和位置进行更新:
vid←wvid+φprp(pid-zid)+φgrg(gd-zid) (5)
zi←zi+vi (6)
其中,w,φp,φg是需要调整的超参数,rp,rg~U(0,1)是随机数。此外,还需根据更新后的位置zi来更新个体最优位置pi、群体最优位置g,这些与传统粒子群中的方法相同。
定义的个体相当于粒子群算法中的一个粒子。由于合理定义了个体、改进了粒子群算法,在初始化时使得个体知识可以被群体智能算法利用,让群体智能算法更快、更好地涌现提升。虽然形式上与传统粒子群算法中的均匀分布初始化类似,但通过下一步的个体进化就可以体现出均匀分布初始化不具备的能力,即一旦个体得到进化,群体智能算法也可以因此得到进化。这样的改进简单而不失一般性,因此可以对其他群体算法做同样的改进。粒子群算法整个过程中“迭代更新”持续进行,直到达到停止条件。停止条件包括达到计算时间、达到计算次数、达到关于评价值的某些条件。在实际应用时,可以用群体算法的最优解作为行动输出给环境。
群体智能算法计算过程中使用的观测量和评价值由环境给出,也可由仿真环境给出。仿真环境可以由人提供,也可由例如神经网络的系统识别方法得到,系统识别的过程可以提前进行,也可以与本发明的方法同时进行。
存储观测量和群体智能算法计算结果,作为群体智能经验数据进化个体。
群体智能经验数据使用表格来记录,记录观测量和对应的群体智能算法计算结果,通过查表的方式访问群体智能经验数据。在本实施例中,将状态x1,x2和对应的群体智能算法中群体最优位置g1,g2作为表格的四列,表格每一行是一组经验数据。此外,为了保证个体具有一定的探索性,可以将最后一代粒子群中的所有S个粒子都作为群体智能经验数据,那么共S行的数据。
进化个体的方式随个体的表现形式不同而不同,如果个体由参数化且可导的函数来表达,那么可以使用梯度下降的方法进化个体。在本实施例中,使用梯度下降的方法进化个体,训练时的损失函数可以使用-logπθ(g1,g2|x1,x2),需要对训练样本求和,其中πθ(g1,g2|x1,x2)是神经网络输出的概率密度,θ是神经网络的参数。
在下一次将个体应用于倒立摆时,每个粒子就可以利用自身神经网络进化后给出的控制参数概率分布来引导粒子群算法,形成个体智能与群体智能的正反馈,让个体智能和群体智能协同进化。
实施例三
本实施例中,将个体应用于另一个倒立摆环境。倒立摆参照图2。
与上一个实施例中的倒立摆的区别是此时控制量是分段恒定的,更符合数字控制器的原理。
u(t)=Fk,ift∈[Tk,Tk+1),k=1,2,...kmax,Fk是需要指定的控制量即个体。控制目标是同时优化从k开始n个连续时间段的控制量,使得该时间段内损失函数最小化。
接收当前环境状态的观测量,引导除前瞻搜索以外的群体智能算法进行计算,直到满足停止条件。
当前状态的生成方式包括人为指定、随机产生、由环境前一状态经过行动后得到。在本实施例中,使用环境前一状态x1(Tk-1)经过行动Fk-1后得到当前状态,即环境状态x1(Tk),x2(Tk);特别地,如果当前状态是t=0时的状态则随机生成,x2(0)为任意实数;行动Fk-1可以由第2大步中的群体智能算法计算后的最优解给出,也可以使用其他策略给出行动,如个体的策略或简单的随机策略。观测量可以是当前环境状态,也可以是当前环境状态的一部分特征,即仅观测到不完美的信息。本实施例中,假设观测量等于当前环境状态。
本实施例中,使用参数化且可导的函数中的神经网络来表示个体。神经网络采用标准全连接网络πθ(Fk|x1(Tk),x2(Tk)),输入为每个时间段k的初始环境状态x1(Tk),x2(Tk),输出为控制量Fk,神经网络参数为θ。由于输出只有一个量,我们采用正态分布的概率密度函数f(Fk)作为输出层的激活函数。在进入激活函数之前,输出层共有两个线性神经元μF,yF。μF作为均值直接进入正态分布激活函数。yF需要先使用即SoftPlus激活,变为方差后再进入正态分布激活函数。
群体智能算法可以为蚁群算法、遗传算法、粒子群算法。由于不同的群体智能算法对环境的适应性不同,可以根据环境要求选择合适的群体智能算法,比如将蚁群算法用于离散行动空间的环境,将遗传算法和粒子群算法用于连续行动空间的环境。在本实施例中,选择遗传算法。
步骤S11中群体智能算法进行计算具体包括:
初始化:设种群中染色体个数为S,由于目标是优化从k开始n个连续时间段的控制量,即[Tk,Tk+n)中的Fk,Fk+1,...,Fk+n-1,则每个染色体的基因是由Fk,j,Fk+1,j,...,Fk+n-1,j组成,,j=1,2,...,S,对每一个染色体j的每个基因i进行下面的初始化:
Fi,j~πθ(·|x1,j(Ti),x2,j(Ti))
环境根据x1,j(Ti),x2,j(Ti),Fi,j给出x1,j(Ti+1),x2,j(Ti+1),且i←i+1
以上两步循环进行,直到初始化完一个染色体j,即i=k,k+1,...,k+n-1。每个染色体j都按照这样的初始化方式进行,直到初始化完整个种群。其中,x1,j(Tk)=x1(Tk),x2,j(Tk)=x2(Tk),即每个染色体j考虑的初始状态都是x1(Tk),x2(Tk)。
迭代更新:利用评价函数评价每个染色体的适应度,然后根据适应度进行选择、交叉、变异,更新种群中的染色体,这些与传统遗传算法中的方法相同。
可以看出,个体相当于遗传算法中一个染色体的一个基因,通过个体与环境的交互生成完整的一个染色体,这适用于环境是多步的场景。也可以将个体直接定义为一个染色体,让个体同时输出染色体中的n个基因,不与环境互动,这适用于环境本身的状态概率转移不是随机而是确定的场景或者只是单步的场景。由于合理定义了个体、改进了遗传算法,在初始化时使得个体知识可以被群体算法利用,让群体智能更快、更好地涌现提升。虽然形式上与传统遗传算法中的均匀分布初始化类似,但通过下一步的个体进化就可以体现出均匀分布初始化不具备的能力,即一旦个体得到进化,群体智能也可以因此得到进化。这样的改进简单而不失一般性,因此可以对其他群体算法做同样的改进。遗传算法整个过程中“迭代更新”持续进行,直到达到停止条件。停止条件包括达到计算时间、达到计算次数、达到关于评价值的某些条件。在实际应用时,可以用群体算法的最优解作为行动输出给环境。
群体智能算法计算过程中使用的观测量和评价值由环境给出,也可由仿真环境给出。仿真环境可以由人提供,也可由例如神经网络的系统识别方法得到,系统识别的过程可以提前进行,也可以与本发明的方法同时进行。
存储观测量和群体智能算法计算结果,作为群体智能经验数据进化个体。
群体智能经验数据使用表格来记录,记录观测量和对应的群体智能算法计算结果,通过查表的方式访问群体智能经验数据。在本实施例中,设遗传算法计算后的最优解为x1(Ti),x2(Ti),Fi,i=k,k+1,...,k+n-1,即对状态x1(Ti),x2(Ti)采取行动Fi。可以将这n组状态、行动的其中任意组记录下来作为群体智能经验数据。如果第2大步中的环境是真实环境,则所有n组数据都可记录下来;如果环境是仿真的,则在初始化时环境给出的未来状态预测会有误差,这时只记录第1组,即i=k的数据即可,在实际应用时也只将遗传算法在仿真中计算出这一个行动输出给真实环境。在本实施例中,将最优解中的所有数据记录下来,x1(Ti),x2(Ti),Fi作为表格的三列,表格每一行是一组经验数据,共n行。此外,为了保证个体具有一定的探索性,可以将最后一代种群中的所有S个染色体都作为群体智能经验数据,那么共S×n行的数据。
进化个体的方式随个体的表现形式不同而不同,如果个体由参数化且可导的函数来表达,那么可以使用梯度下降的方法进化个体。在本实施例中,由于个体由参数化且可导的函数来表达,使用梯度下降的方法进化个体,训练时的损失函数可以使用-logπθ(Fi|x1(Ti),x2(Ti)),需要对训练样本求和,其中πθ(Fi|x1(Ti),x2(Ti))是神经网络输出的概率密度,θ是神经网络的参数。
在下一次将个体应用于倒立摆时,每个基因就可以利用自身神经网络进化后给出的控制量概率分布来引导遗传算法,形成个体智能与群体智能的正反馈,让个体智能和群体智能协同进化。
实施例四
本实施例中,将个体应用于机器人控制环境。
接收当前环境状态的观测量,引导除前瞻搜索以外的群体智能算法进行计算,直到满足停止条件。
当前状态的生成方式包括人为指定、随机产生、由环境前一状态经过行动后得到。
观测量可以是当前环境状态,也可以是当前环境状态的一部分特征,即仅观测到不完美的信息。本实施例中,假设观测量等于当前环境状态。即机器人当前位置和姿态。
个体的表现形式既可以使用参数化且可导的函数来表达个体,比如黑箱形式的神经网络、灰箱形式的具有理论意义的数学方程,也可以使用其它映射形式,比如表格、基于符号主义的专家系统。在本实施例中,使用神经网络的形式来表达个体。群体智能算法可以为蚁群算法、遗传算法、粒子群算法。由于不同的群体智能算法对环境的适应性不同,可以根据环境要求选择合适的群体智能算法,比如将蚁群算法用于离散行动空间的环境,将遗传算法和粒子群算法用于连续行动空间的环境。由于本实施例为机器人控制,而机器人的动作为连续行动,所以本实施例的环境为连续行动空间,可以采用粒子群算法作为本实施例中的群体智能算法。本实施例中的个体相当于粒子群算法中的一个粒子,即使用神经网络输出的一组PID参数。
执行粒子群算法的初始化和迭代更新。得到机器人当前位置和姿态下的PID控制参数。该粒子群算法可以参考实施例二中的粒子群算法。
进化个体的方式随个体的表现形式不同而不同,由于本实施例中的个体由参数化且可导的函数来表达,那么可以使用梯度下降的方法进化个体。
在下一次将个体应用于机器人控制时,每个粒子就可以利用自身神经网络进化后给出的控制参数概率分布来引导粒子群算法,形成个体智能与群体智能的正反馈,让个体智能和群体智能协同进化。
实施例五
本实施例中,将个体应用于工厂生产环境。
接收当前环境状态的观测量,引导除前瞻搜索以外的群体智能算法进行计算,直到满足停止条件。
当前状态的生成方式包括人为指定、随机产生、由环境前一状态经过行动后得到。
观测量可以是当前环境状态,也可以是当前环境状态的一部分特征,即仅观测到不完美的信息。本实施例中,假设观测量等于当前环境状态的一部分特征,即工厂当前订单信息、工艺路径、当前设备状态。
个体的表现形式既可以使用参数化且可导的函数来表达个体,比如黑箱形式的神经网络、灰箱形式的具有理论意义的数学方程,也可以使用其它映射形式,比如表格、基于符号主义的专家系统。在本实施例中,使用神经网络的形式来表达个体。
群体智能算法可以为蚁群算法、遗传算法、粒子群算法。由于不同的群体智能算法对环境的适应性不同,可以根据环境要求选择合适的群体智能算法,比如将蚁群算法用于离散行动空间的环境,将遗传算法和粒子群算法用于连续行动空间的环境。由于本实施例为工厂生产,例如织多少布是以磅数衡量,为连续行动,所以本实施例的环境为连续行动空间,可以采用遗传算法作为本实施例中的群体智能算法。本实施例中的个体相当于遗传算法中的一个染色体,即使用神经网络输出的一种生产排程(例如染色体中一个基因表示某一个时间段内织多少磅的布)。
执行遗传算法的初始化和迭代更新。得到当前订单信息、工艺路径、设备状态下的生产排程。该遗传算法可以参考实施例三中的遗传算法。
进化个体的方式随个体的表现形式不同而不同,由于本实施例中的个体由参数化且可导的函数来表达,那么可以使用梯度下降的方法进化个体。
在下一次将个体应用于工厂生产时,每个染色体就可以利用自身神经网络进化后给出的生产排程概率分布来引导遗传算法,形成个体智能与群体智能的正反馈,让个体智能和群体智能协同进化。
图3是本申请一个实施例提供的数据处理系统的结构示意图,参照图3,一种数据处理系统,包括:
处理器21和存储器22;
处理器21与存储器22通过通信总线相连接:
其中,处理器21,用于调用并执行存储器22中存储的程序;
存储器22,用于存储程序,程序至少用于以上任一实施例中的数据处理方法。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
确定待优化的对象,将所述待优化的对象作为待采用的个体,以及确定所述待采用的个体所处的当前环境状态的观测量,采用所述观测量和所述个体引导所选择的群体智能算法进行计算,直至满足预设的停止条件,得到群体智能算法计算结果,所述群体智能算法为非前瞻搜索算法;
将所述观测量和所述群体智能算法计算结果作为群体智能经验数据,存储所述群体智能经验数据,并在访问存储的所述群体智能经验数据后,采用所述群体智能经验数据进化所述个体,得到进化后的个体;
在确定循环进行时,将所述进化后的个体作为下次群体智能算法计算时的待采用的个体。
2.根据权利要求1所述的方法,其特征在于,所述确定当前环境状态的观测量具体包括:
确定当前环境状态;
将所述当前环境状态确定为当前环境状态的观测量;或者,将所述当前环境状态的部分特征确定为当前环境状态的观测量。
3.根据权利要求2所述的方法,其特征在于,所述确定当前环境状态具体包括:
获取人为设定的当前环境状态;或者,
随机产生当前环境状态;或者,
根据当前环境的前一状态经过行动得到当前环境状态。
4.根据权利要求1所述的方法,其特征在于,还包括:
选择与当前环境状态匹配的群体智能算法;
所选择的群体智能算法包括:蚁群算法、遗传算法、或者,粒子群算法。
5.根据权利要求4所述的方法,其特征在于,所述选择与当前环境匹配的群体智能算法具体包括:
判断当前环境状态的类别;所述当前环境状态的类别至少包括:离散的行动空间和连续的行动空间;
若所述当前环境状态为离散的行动空间,则选择蚁群算法或遗传算法作为与当前环境状态匹配的群体智能算法;
若所述当前环境状态为连续的行动空间,则选择遗传算法和粒子群算法作为与当前环境状态匹配的群体智能算法。
6.根据权利要求1所述的方法,其特征在于,所述确定待采用的个体具体包括:
使用参数化且可导的函数来表达个体;或者,
使用表格的形式来表达个体;或者,
使用专家系统的形式来表达个体。
7.根据权利要求6所述的方法,其特征在于,所述进化所述个体具体包括:
若所述个体使用参数化且可导的函数来表达,则使用梯度下降的方法来进化个体;或者,
若所述个体使用表格的形式表达,则使用修改表格中的取值的方法进化个体;
若所述个体使用专家系统的形式表达,则使用修改专家系统中逻辑规则的方法进化个体。
8.根据权利要求1所述的方法,其特征在于,所述群体智能经验数据采用表格形式存储,且通过查表方式访问;和/或,
所述停止条件包括:达到计算时间、达到计算次数、或者,达到关于评价值的预设条件。
9.根据权利要求1-8任一项所述的方法,所述待优化的对象包括:
机器人控制中待优化的P I D控制参数;或者,工厂生产中待优化的生产排程;或者机器人控制中待优化的力矩。
10.一种数据处理系统,其特征在于,包括:
处理器和存储器;
所述处理器与存储器通过通信总线相连接:
其中,所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器,用于存储程序,所述程序至少用于执行权利要求1-9任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710443.2A CN110414662B (zh) | 2019-08-02 | 2019-08-02 | 数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710443.2A CN110414662B (zh) | 2019-08-02 | 2019-08-02 | 数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110414662A true CN110414662A (zh) | 2019-11-05 |
CN110414662B CN110414662B (zh) | 2022-07-01 |
Family
ID=68365382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910710443.2A Active CN110414662B (zh) | 2019-08-02 | 2019-08-02 | 数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110414662B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2266156T3 (es) * | 2000-01-31 | 2007-03-01 | Peter Michael Horst | Procedimiento para la puesta en servicio de un sistema de telecomunicaciones y disposicion de telecomunicacion. |
US20090307168A1 (en) * | 2008-05-06 | 2009-12-10 | Likeme Inc. | Systems and methods for photo-based content discovery and recommendation |
CN105631516A (zh) * | 2015-11-16 | 2016-06-01 | 长沙理工大学 | 基于历史经验和实时调整相结合的粒子群优化算法 |
CN107943045A (zh) * | 2017-12-08 | 2018-04-20 | 江苏商贸职业学院 | 一种基于蚁群遗传融合算法的移动机器人路径规划方法 |
CN108776483A (zh) * | 2018-08-16 | 2018-11-09 | 圆通速递有限公司 | 基于蚁群算法和多智能体q学习的agv路径规划方法和系统 |
-
2019
- 2019-08-02 CN CN201910710443.2A patent/CN110414662B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2266156T3 (es) * | 2000-01-31 | 2007-03-01 | Peter Michael Horst | Procedimiento para la puesta en servicio de un sistema de telecomunicaciones y disposicion de telecomunicacion. |
US20090307168A1 (en) * | 2008-05-06 | 2009-12-10 | Likeme Inc. | Systems and methods for photo-based content discovery and recommendation |
CN105631516A (zh) * | 2015-11-16 | 2016-06-01 | 长沙理工大学 | 基于历史经验和实时调整相结合的粒子群优化算法 |
CN107943045A (zh) * | 2017-12-08 | 2018-04-20 | 江苏商贸职业学院 | 一种基于蚁群遗传融合算法的移动机器人路径规划方法 |
CN108776483A (zh) * | 2018-08-16 | 2018-11-09 | 圆通速递有限公司 | 基于蚁群算法和多智能体q学习的agv路径规划方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110414662B (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Hybrid whale optimization algorithm enhanced with Lévy flight and differential evolution for job shop scheduling problems | |
Akhand et al. | Discrete spider monkey optimization for travelling salesman problem | |
Jain et al. | MVO-based path planning scheme with coordination of UAVs in 3-D environment | |
Beheshti et al. | A review of population-based meta-heuristic algorithms | |
Wu et al. | A novel sparrow search algorithm for the traveling salesman problem | |
Yuksel | Agent-based evacuation modeling with multiple exits using NeuroEvolution of Augmenting Topologies | |
Yesil et al. | Fuzzy cognitive maps learning using artificial bee colony optimization | |
Yu | From information networking to intelligence networking: Motivations, scenarios, and challenges | |
Asghari et al. | Multi‐swarm and chaotic whale‐particle swarm optimization algorithm with a selection method based on roulette wheel | |
CN110181508A (zh) | 水下机器人三维航路规划方法及系统 | |
CN110132282A (zh) | 无人机路径规划方法及装置 | |
CN108122048A (zh) | 一种运输路径调度方法及其系统 | |
Ma et al. | Hierarchical reinforcement learning via dynamic subspace search for multi-agent planning | |
Cuevas et al. | A swarm algorithm inspired by the collective animal behavior | |
Jin et al. | A game-theoretic reinforcement learning approach for adaptive interaction at intersections | |
Tang et al. | Networking the boids is more robust against adversarial learning | |
Bharne et al. | Data clustering algorithms based on swarm intelligence | |
Na et al. | A novel heuristic artificial neural network model for urban computing | |
Xiao et al. | Relationships of swarm intelligence and artificial immune system | |
Zhou et al. | A novel mission planning method for UAVs’ course of action | |
Mirjalili et al. | Multi-objective grey wolf optimizer | |
Reynolds et al. | The role of culture in the emergence of decision‐making roles: An example using cultural algorithms | |
CN110414662A (zh) | 数据处理方法及系统 | |
Lima et al. | Formal analysis in a cellular automata ant model using swarm intelligence in robotics foraging task | |
Bai et al. | Automated shape composition based on cell biology and distributed genetic programming |
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 |