KLEC--基于知识学习的演化计算算法
KLEC–基于知识学习的演化计算算法
title: Knowledge Learning for Evolutionary Computation
author: Yi Jiang, Zhi-Hui Zhan, Kay Chen Tan, Jun Zhang.
journal: IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION (TEVC)
DOI:10.1109/TEVC.2023.3278132
code: (KLDE) [MTO-Platform/MTO/Algorithms/Single-task/Differential Evolution/KLDE at master · intLyc/MTO-Platform · GitHub](https://github.com/intLyc/MTO-Platform/tree/master/MTO/Algorithms/Single-task/Differential Evolution/KLDE);(KLPSO)[MTO-Platform/MTO/Algorithms/Single-task/Swarm Intelligence/KLPSO at master · intLyc/MTO-Platform · GitHub](https://github.com/intLyc/MTO-Platform/tree/master/MTO/Algorithms/Single-task/Swarm Intelligence/KLPSO)
1.主要贡献:
1)解释了数据,经验和知识的关系:数据通常表示种群在进化过程中进化行为的信息,如位置信息、方向信息和适应度信息等;成功的经验表示某个个体的成功进化方向,如DE的差分向量,PSO的位移;知识表示从成功的经验中挖掘成功的进化方向的规则。
2)提出了一种基于知识学习的演化计算算法框架(KLEC),它采用基于前馈神经网络的知识库模型来学习个体位置与其成功的搜索方向之间的关系。当知识迁移发生时,种群将使用该模型的知识来指导进化。
2.问题提出:
1)基于种群的演化计算算法,在进化过程中会产生大量数据,这些数据会反映了种群的进化行为。通过挖掘和利用这些知识,可以有效地提高算法的演化进程。
2)现有的方法仅使用一部分数据来引导种群进化,很难得到更普遍的知识;另外,随机地选择数据来引导种群进化,也不能很好地反映个体与这些数据地关系。图1是一个最大化问题, P 1 , P 1 ′ , P 2 , P 2 ′ P_1,P'_1,P_2,P'_2 P1,P1′,P2,P2′是上一代个体, D 1 , D 2 D_1,D_2 D1,D2是其搜索方向, A A A是当前代个体, A 1 , A 2 A_1,A_2 A1,A2是 A A A产生的子代。个体 A A A选择搜索方向 D 1 D_1 D1产生的子代 A 1 A_1 A1优于 A A A,而选择搜索方向 D 2 D_2 D2产生的子代 A 2 A_2 A2差于 A A A。因此,KLEC中提出了通过学习个体与其成功搜索方向的关系来引导种群进化。
3.KLEC:
3.1 算法框架
1)初始化种群。
2)在主循环中,使用学习率 l r lr lr来控制知识迁移。
当条件满足时,利用知识学习模型(KLM)来引导个体进化,否则,采用进化算子进化。具体的过程:将个体的当前位置输入到KLM中,输出该个体基于KLM的搜索方向。
当子代适应度值优于其父代个体,则保存该父代个体及其成功的搜索方向。当遍历完种群中所有的个体时,使用保存下来的知识训练KLM。
3.2 知识学习模型
1)基于前馈神经网络(FNN)的KLM模型,结构如下图所示,激活函数为sigmod,损失函数为MSE。
2)训练过程:将每一代中所有表现好的个体及搜索方向保存至一个列表 Q Q Q中。当遍历完所有个体后,将 Q Q Q中保存的信息输入到基于FNN的KLM中进行训练,采用反向传播算法来调整KLM的权重。KLM学习结束后,将清空 Q Q Q,且下一代KLM会根据上一代KLM的权重持续训练。如果 Q Q Q中没有收集到成功的经验,则KLM不会再当前代中更新。
3.3 知识利用
将个体的当前位置输入到KLM,输出即为该个体的进化方向。如果KLM没有学到任何成果的经验,则其不会用于为个体提供搜索方向。
3.4 KLDE & KLPSO
1)KLEC会生成两类子代通过利用知识和传统的进化算子;
2)使用了一个简单的收集函数再列表 Q Q Q中来存储成功的历史经验(位置和搜索方向);
3)在每一代结束后,KLM在列表 Q Q Q中进行更新。
4.思考
1)KLEC采用机器学习的方式,将个体及其成功的搜索方向作为数据训练前馈神经网络,通过利用历史的经验为个体提供更有效的搜索方向的方式来加快算法的求解效率。
2)作为迁移优化的一种,KLEC迁移的知识可以看作是搜索方向,但KLEC的迁移是发生在单个优化任务的演化过程中。如果将这种思路迁移至MTO,顺序迁移,和多形式迁移等其他迁移优化中,可能也会有更大的作用。
LEC的迁移是发生在单个优化任务的演化过程中。如果将这种思路迁移至MTO,顺序迁移,和多形式迁移等其他迁移优化中,可能也会有更大的作用。