AEMTO--一种自适应进化多任务优化框架

AEMTO–一种自适应进化多任务优化框架

title: Evolutionary Multitask Optimization With Adaptive Knowledge Transfer

author: Hao Xu, A. K. Qin, and Siyu Xia.

journal: IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION (TEVC)

DOI:10.1109/TEVC.2021.3107435

code: GitHub - haoxuhao/AEMTO: Source code for paper AEMTO: Evolutionary Multi-task Optimization with Adaptive Knowledge Transfer ,AEMTO(AEMTO在MTO-Platform上的实现)

1.主要贡献:

​ 1)平衡自我进化与知识转移:使用每一代种群成员的更新率作为奖励,使用知识迁移与自我进化的历史积累奖励的比率来在线地估计知识转移的帮助程度。并使用这个估计自适应地调整转移概率和控制知识转移的频率。

​ 2)知识源选择:使用从源任务到目标任务的知识重用成功率作为奖励,使用在线估计地从源任务到目标任务地帮助度作为历史积累奖励。并且在所有候选源任务地帮助度上应用概率匹配(PM)策略来计算源任务选择概率。

​ 3)知识转移强度:在源任务选择概率上应用随机通用选择(SUS)来选择源任务的目标任务和确定知识的数量,应用轮盘赌选择(RWS)策略在确定的源任务中选择迁移解。并且使用选定的迁移解作为知识迁移至目标任务。

2.问题提出:

​ EMTO面临的一个关键挑战是从无用的知识源向目标任务的负向知识转移,特别是当任务数量增加时。已有工作试图通过从知识转移频率知识源选择知识转移强度等方面设计各种自适应策略来解决这个问题。然而,目前还没有研究人员从协同的角度来考虑这三个方面。

​ 1)调整知识传递频率:平衡任务内自我进化和任务间知识迁移;

​ 2)知识源选择:为一个目标任务选择最有用的知识来源(从许多候选任务中),以充分利用多个可用的知识来源;

​ 3)知识转移强度:确定从被选择的源任务到目标任务的知识转移强度,使得历史上更有用的源任务对目标任务提供更强的帮助。

3.AEMTO:

3.1 算法框架

​ 下图(a)是AEMTO的算法框架,首先,每个任务都有一个种群和求解器;然后,所有的任务将会以一代一代的方式解决,直到满足某个终止标准。并且在每一代中,每一个任务都在通过知识迁移途径迁移进来的知识的帮助下,在一定程度上一个接一个地独立解决。

​ 下图(b)是每个任务求解器在每一代中的工作原理。任务求解器有两个关键模块:任务内自我进化intraSE和任务间知识迁移interKT。其中,interKT模块首先根据每个源任务的历史帮助度(源任务选择概率)从T-1个任务中选择最有用的源任务,根据每个源任务的帮助度比例来确定知识的数量。然后,通过知识重用操作,利用生成的知识来更新目标任务的种群。最后,在线地更新知识迁移概率和源任务选择概率。

image-20240426201852863

3.2 自适应策略

​ 每个任务求解器都有两种概率随着代数的增加而动态调整,即平衡intraSE和interKT的知识转移概率 p i t s f p^{tsf}_i pitsf和多个可用知识源的源任务选择概率 p i s e l = { p i j ∣ j = 1 , . . . , T ; j ≠ i } p^{sel}_i=\{p^j_i|j=1,...,T;j\ne i\} pisel={pijj=1...Tj=i}。本文使用PM策略[15]来自适应地更新这些概率。

1)知识转移概率:在每一代中,每个任务 T i , i ∈ { 1 , . . . , T } T_i,i\in\{1,...,T\} Ti,i{1...T}需要先根据 p i t s f p^{tsf}_i pitsf的值来选择应用intraSE 或interKT。为了通过PM策略调整这个概率,我们使用 q i s q^s_i qis q i o q^o_i qio来分别估计应用intraSE和interKT的预期质量,上标 s s s o o o表示“自我self”和“其他other”。在应用interSE或interKT后,通过奖励 r r r来衡量其帮助当前一代的任务解决过程的有效性,然后使用奖励 r r r来更新 q i ∗ q^∗_i qi如下:
q i ∗ = α q i ∗ + ( 1 − α ) r q^∗_i = \alpha q^∗_i + (1 − \alpha)r qi=αqi+(1α)r
其中,*表示 s s s o o o α \alpha α表示质量更新系数。奖励 r r r是通过种群成员更新率来计算的:
r = ∣ p o p i , g ∣ − ∣ p o p i , g ∩ p o p i , g + 1 ∣ ∣ p o p i , g ∣ \begin{equation*} r = \frac {\left |{\boldsymbol {pop}_{i,g}}\right | - \left |{\boldsymbol {pop}_{i,g} \cap \boldsymbol {pop}_{i,g+1}}\right |}{\left |{\boldsymbol {pop}_{i,g}}\right |}\tag{2}\end{equation*} r= popi,g popi,g popi,gpopi,g+1 (2)
其中, ∣ ⋅ ∣ |\cdot| 表示一个集合的基数。

​ 在每一代结束时,根据更新后的 q i s q^s_i qis q i o q^o_i qio重新计算 p i t s f p^{tsf}_i pitsf,如下:
p i t s f = p l b t s f + q i o q i o + q i s + ϵ ( p u b t s f − p l b t s f ) . \begin{equation*} p_{i}^{ tsf} = p_{lb}^{tsf} + \frac {q_{i}^{o}}{q_{i}^{o} + q_{i}^{s}+ \epsilon } \left ({p_{ub}^{ tsf} - p_{lb}^{tsf}}\right).\tag{3}\end{equation*} pitsf=plbtsf+qio+qis+ϵqio(pubtsfplbtsf).(3)
其中, ϵ \epsilon ϵ是一个用于避免除以零的小正数。 p l b t s f p_{lb}^{tsf} plbtsf p u b t s f p_{ub}^{tsf} pubtsf p i t s f p_{i}^{tsf} pitsf的下界和上界。

2)源任务选择概率:每个任务 τ i , i ∈ { 1 , … , T } \tau _{i}, i \in \{1,\ldots, T\} τi,i{1,,T}都有(T−1)个源任务。在interKT中,使用源任务选择概率从(T−1)个候选任务中选择一些最有用的源任务,同时确定从选定的源任务中提取的知识量,以便历史上更有用的源任务可以通过提供更多的知识来提供更强的帮助。为了通过PM策略调整这种概率,我们使用 q i s e l = { q i j ∣ j = 1 , … , T ; j ≠ i } q_{i}^{\mathrm{ sel}} = \{q_{i}^{j} | j = 1,\ldots, T; j \neq i\} qisel={qijj=1,,T;j=i}来估计每个源任务对目标任务的期望帮助度。

​ 在应用了知识重用后,当前一代中每个源任务对目标任务 T i T_i Ti的帮助度是通过奖励 r i j r_{i}^{j} rij来衡量的,使用源任务 T j T_j Tj通过知识重用帮助目标任务 T i T_i Ti,然后更新 q i j q_{i}^{j} qij如下:
q i j = α q i j + ( 1 − α ) r i j . \begin{equation*} q_{i}^{j} = \alpha q_{i}^{j} + (1-\alpha)r_{i}^{j}.\tag{4}\end{equation*} qij=αqij+(1α)rij.(4)
其中, r i j r_i^j rij是从源任务 T j T_j Tj中成功替换目标任务 T i T_i Ti的种群成员的知识的百分比,即 r i j = n s i j / n i j r_{i}^{j} = ns_{i}^{j} / n_{i}^{j} rij=nsij/nij。这里, n i j n_{i}^{j} nij n s i j ns_{i}^{j} nsij表示从 T j T_j Tj中提取的有希望的候选解的总数,以及通过知识重用生成候选解的总数,它们分别替换了 T i T_i Ti的一些种群成员。值得注意的是,如果没有选择 T j T_j Tj来帮助 T i T_i Ti,则 r i j r_i^j rij被设置为零。更新 q i s e l \boldsymbol q_{i}^{\mathrm{ sel}} qisel后, p i s e l = { p i j ∣ j = 1 , … , T ; j ≠ i } \boldsymbol p_{i}^{\mathrm{ sel}} = \{p_{i}^{j} | j = 1,\ldots, T; j \neq i\} pisel={pijj=1,,T;j=i}更新如下:
p i j = p m i n + ( 1 − ( T − 1 ) ⋅ p m i n ) q i j ∑ l = 1 , l ≠ i T q i l + ϵ . \begin{equation*} p_{i}^{j} = p_{\mathrm{ min}} + \left ({1 - (T-1)\cdot p_{\mathrm{ min}}}\right)\frac {q_{i}^{j}}{\sum _{l=1,l\neq i}^{T} q_{i}^{l} + \epsilon }.\tag{5}\end{equation*} pij=pmin+(1(T1)pmin)l=1,l=iTqil+ϵqij.(5)
其中, ϵ \epsilon ϵ是一个用于避免除以零的小正数。 p m i n p_{min} pmin表示每个源任务的最小选择概率。

3.3 算法实现

​ AEMTO的整体框架如算法1所示。首先,初始化种群以及知识转移概率 p i t s f p^{tsf}_i pitsf和源任务选择概率 q i s e l q_{i}^{sel} qisel,如1-8行所示;然后,当rand< p i t s f p^{tsf}_i pitsf时,应用interKT(任务间知识迁移,算法2)并计算 q i o q^o_i qio,如13-14行所示,否则,应用intraSE(任务内自我进化,算法3)并计算 q i s q^s_i qis,如16-17行所示;最后,更新 p i t s f p^{tsf}_i pitsf,如20行所示。

image-20240426201937817

​ 任务间知识迁移如算法2所示。首先,在源任务选择概率 q i s e l q_{i}^{sel} qisel上应用SUS来选择源任务并确定每个源任务的知识迁移量 n i j n^j_i nij,如第1行所示;其次,根据目标值采用RWS在每个源任务中选择知识,如2-7所示;接着,使用知识交叉算子算子来对所选择的知识和目标任务种群进行知识重用,如9-25行;最后,更新源任务选择概率以及奖励,如26-38行。

image-20240426202246153

​ 任务内自我进化如算法3所示。首先,采用DE算子对父代种群产生子代,接着,计算奖励。

image-20240426202311626

​ 其中,混沌匹配的描述如下:SUS是基于RWS改进而来的,假设我们需要5个值,那么RWS需要转动5次,而SUS则只需要转动1次。因为RWS只有一个指针,而SUS可以存在多个等间距的指针。这样的话,数组中值较大的区域就可以被多个指针选中,也就是任务迁移强度;值较小的区域也会存在被选中的概率,增加了选择的多样性。

image-20240428111223507

4.思考

1)AEMTO提出了一种自适应策略来解决MTO中知识转移频率知识源选择知识转移强度等方面的问题,在包含2、10、50个任务的基准测试问题集以及实际应用问题PKACP上取得很好的性能。

2)在AEMTO中迁移的知识是源任务中的候选解,不同的知识表示方式对MTO算法的影响也需要进一步研究。

3)AEMTO中知识的选择是通过对目标值采用轮盘赌选择实现的,而多目标多任务优化问题中一个个体存在多个目标值,如何去选择源任务中的候选解将会是解决多目标多任务优化问题的难点。EMEA–多任务优化的另一种范式:显式多任务优化-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/581389.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue校园竞赛管理系统的设计与实现

项目介绍&#xff1a; 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;竞赛信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行…

B2B商城系统如何搭建?

相较于单个商家的独立商城&#xff0c;B2B商城系统凭借诸多优势成为电商领域中最受关注的一种模式。目前在政府、金融、汽车、跨境等行业领域都有广泛应用。那么&#xff0c;B2B商城系统如何搭建呢&#xff1f;我们从开发语言、功能模块、优势来进行分析。 一、B2B商城系统开发…

对抗攻击新手实战

实战核心思想&#xff1a; 训练x(输入&#xff09;&#xff0c;让第一次训练好的&#xff0c;正确的y去和我们想要误导机器去识别的类别的那个y做一个损失函数【loss torch.mean(y[:, 248])】&#xff0c;不同的是&#xff0c;我们其实希望是一个梯度上升&#xff0c;给图片加…

31 OpenCV 距离变换和分水岭算法

文章目录 距离变换分水岭算法distanceTransform 距离变换watershed 分水岭算法示例 距离变换 分水岭算法 distanceTransform 距离变换 void cv::distanceTransform (InputArray src,OutputArray dst,int distanceType,int maskSize,int dstType CV_32F) src:输入图像&#xf…

一篇关于Cookie的基础知识

目录 一、现有问题 二、简介 三、Cookie原理 四、Cookie应用 4.1 创建并向客户端发送Cookie 4.2 从客户端读取Cookie 4.3 Cookie的生命周期 4.4 Cookie的编码和解码 4.5 优缺点 五、记录上次登录的时间&#xff08;案例&#xff09; 六、Cookie 获取范围有多大&…

Python —— 模块、包

一、模块和包 1. 模块module 模块是 Python 程序架构的一个核心概念。Python中模块就是一个.py文件&#xff0c;模块中可以定义函数&#xff0c;变量&#xff0c;类。模块可以被其他模块引用 1.1. 创建模块文件 创建文件&#xff1a;utils.py # 定义变量 name 张三# 定义函…

Qt绘图与图形视图之场景、视图架构的简单介绍

往期回顾 Qt绘图与图形视图之绘图技术知识点的简单介绍-CSDN博客 Qt绘图与图形视图之常见图形、路径、文字、图片的绘制介绍-CSDN博客 Qt绘图与图形视图之移动鼠标手动绘制任意多边形的简单介绍-CSDN博客 Qt绘图与图形视图之场景、视图架构的简单介绍 一、GraphicsView 1、存…

项目部署总结

1、安装jdk 第一步&#xff1a;上传jdk压缩安装包到服务器 第二步&#xff1a;将压缩安装包解压 tar -xvf jdk-8uXXX-linux-x64.tar.gz 第三步&#xff1a;配置环境变量 编辑/etc/profile文件&#xff0c;在文件末尾添加以下内容&#xff1a; export JAVA_HOME/path/to/j…

12:HAL----I2C

目录 一:I2C通信协议 1:I2C简历 2:硬件电路 3:I2C时序基本单元 A : 开/ 终条件 2:发送一个字节 3:接收一个字节 4:应答机制 4:I2C时序 1:指定地址写 2:当前地址读 3: 指定地址读 二&#xff1a;HAL库 A&#xff1a;轮询方式 B:中断方式 三:案例 A:轮询方式-…

代码随想录算法训练营第12天:滑动窗口和前缀和

代码随想录算法训练营第12天&#xff1a;滑动窗口和前缀和 这里我参考了西法的博客&#xff0c; 467. 环绕字符串中唯一的子字符串(中等)795. 区间子数组个数(中等)904. 水果成篮(中等)992. K 个不同整数的子数组&#xff08;困难&#xff09;1109. 航班预订统计(中等) 前四…

第G9周:ACGAN理论与实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 由于ACGAN的原理在上一篇文章中已经很详细的解释过了&#xff0c;这次我们直接上代码 一、代码解读 import argparse import os import numpy as npimport t…

视频批量下载工具

1、功能演示 该工具实现了某个人主页视频批量下载&#xff0c;最多支持一次下载50个视频&#xff0c;这50个选取的是最新发布的50个视频&#xff0c;视频为高清的1080p&#xff0c;并直接将视频保存到本地。 2、软件使用介绍 2.1 解压 拿到工具软件后&#xff0c;首先是对软件…

什么是外汇爆仓?怎样避免?

外汇爆仓是指当交易者的保证金低于特定比例时&#xff0c;经纪商会自动平仓一个或所有的开仓头寸。避免外汇爆仓的关键在于合理配置资金、设置止损、适度交易、顺势而为以及调整心态。 外汇爆仓是外汇交易中的一种风险控制机制。当交易者的账户净值低于已用保证金的特定比例时&…

AI图书推荐:《企业AI转型:如何在企业中部署ChatGPT?》

Jay R. Enterprise AI in the Cloud. A Practical Guide...ChatGPT Solutions &#xff08;《企业AI转型&#xff1a;如何在企业中部署ChatGPT&#xff1f;》&#xff09;是一本由Rabi Jay撰写、于2024年由John Wiley & Sons出版的书籍&#xff0c;主要为企业提供实施AI转型…

【网络安全】00后程序员,找 Bug 赚了 6,700,000元!他是怎么做到的?

1. 漏洞赏金计划&#xff08;Bug Bounty Programs&#xff09; 2. 安全咨询服务 3. 安全培训和教育 4. 写作和发表研究 5. 参与安全竞赛&#xff08;CTFs&#xff09; 6. 开发和销售安全工具 在网络安全领域&#xff0c;通过合法的方式利用漏洞赚钱主要涉及以下几种方法。…

【服务器部署篇】Linux下Tomcat安装和配置

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0c;产…

记录一次 vue3 + ele pls 改写 饿了么主题色实践

一、改写 element 主题色 在 main.ts 中引入需要改写的 scss 文件 main.ts: import ./styles/element-plus.scss在自定义的 element-plus.scss 文件中改写 ele pls 的变量 element-plus.scss&#xff1a; /** * 更改主题色 */ :root {--el-color-primary: #285fbb; // 主…

python使用opencv对图像的基本操作(3)

17.颜色空间的转换 17.1.rgb图像转gray图像 from skimage import io,color img io.imread(lbxx.jpg) img_gray color.rgb2gray(img) #将rgb图像转换成gray图像 io.imshow(img_gray)运行结果&#xff1a; 17.2.rgb图像转hsv图像 from skimage import io,color img io.im…

网红大佬的面子,高阶智驾的里子 | 2024北京车展

相关阅读&#xff1a;2023北京车展 《没有争奇斗艳的车模&#xff0c;只有往死里卷的智能汽车》。 文&#xff5c;刘俊宏 李想、李斌绑定“车圈新顶流”雷军互相抬轿子&#xff0c;红衣大叔周鸿祎高情商点评各家汽车新品...... 为了流量&#xff0c;今年车企大佬们比任何时候…

volatile的相关知识点

volatitle这个关键字&#xff0c;不管是在Java还是在C中都有使用到&#xff0c;但是在两种语言中&#xff0c;由于编译器的原因&#xff0c;他们存在一点点区别。 C中的volatile关键字 在C中volatile主要用于告诉编译器&#xff0c;这个变量的值可能会意外改变 ,例如被硬件或者…