【强化学习】公平性Actor-Critic算法

Bringing Fairness to Actor-Critic Reinforcement Learning for Network Utility Optimization 阅读笔记

  • Problem Formulation
  • Learning Algorithm
    • Learning with Multiplicative-Adjusted Rewards
    • Solving Fairness Utility Optimization
  • Evaluations

在网络优化问题中,公平性(fairness)是一个重要的考虑指标。随着越来越多的设备接入网络中,网络中的资源分配、任务调度等需要充分考虑设备之间的公平性,在系统效率与用户公平性之间达到一种平衡。近年来,强化学习被成功应用于网络优化问题的在线决策中,然而大部分算法聚焦于最大化所有agent的长期收益,很少考虑公平性。在这样的背景下,作者提出了一种fairness Actor-Critic algorithm,该算法将公平性融入到AC算法的设计中,旨在优化整体公平效用函数。具体做法为,设计了一种适应性奖励,在原奖励的基础上乘以一个权重,该权重与效用函数和过去的奖励有关。实验部分,作者将算法用于求解网络调度问题(convex)与视频流QoE优化问题(non-convex),说明了算法的有效性。

Problem Formulation

考虑一个网络效用优化问题,网络建模为环境,用户是agents,agent与环境进行交互,学习策略来优化rewards(如数据率等)。假设有K个agents,使用随机策略(stochastic policy) π \pi π(a|s)表示状态s下选择动作a的概率。 x π , k x_{\pi,k} xπ,k代表agent k在策略 π \pi π下的平均奖励
在这里插入图片描述
在本文中,使用 α \alpha α-fiar 效用函数,该函数广泛应用于网络优化领域。对于任意的 α \alpha α >= 0,有
在这里插入图片描述

Learning Algorithm

假定在任何策略下的马尔科夫链都是不可还原/非周期性的。

Learning with Multiplicative-Adjusted Rewards

为了优化公平效用,在算法中需要追踪历史reward。为什么能使用过去历史reward来实现公平呢?
假设这样一个场景,两个agent分别有自己的reward,在某个策略下,如果截至到epoch t时agent 1比agent 2获得了更多的累积奖励,那么我们需要偏好使用策略梯度更新agent 2而不是agent 1。因此过去历史reward能够用于优化公平性。
使用 h π , t h_{\pi, t} hπ,t表示截止epoch t从采样路径中获得的数据,使用一个一致连续函数( uniformly-continuous function) ϕ ( h π , t ) \phi(h_{\pi, t}) ϕ(hπ,t)计算奖励的乘子。一致连续函数本身是“公平性”的体现。定义适应性奖励(adjust rewards)为
在这里插入图片描述
使用 ρ π ^ \hat{\rho_{\pi}} ρπ^表示MDP下平均单步适应性奖励,定义状态价值函数和动作价值函数如下:
在这里插入图片描述
可以看到,V和Q都是有边界的。定义一个增强函数
在这里插入图片描述
因为适应性奖励依赖于过去的历史h,所以标准RL的策略梯度理论不再适用适应性奖励。重新分析MDP。

在这里插入图片描述
当策略参数发生微小改变,平均奖励的改变如上式。
证明:定义新的状态 z t = [ s t , h π , t ] z_t = [s_t, h_{\pi, t}] zt=[st,hπ,t],新的马尔可夫过程为状态 z t z_t zt、动作 a t a_t at和奖励 r k , t ^ \hat{r_{k,t}} rk,t^的链。使用 p z z ′ a p^a_{zz'} pzza表示状态转移概率, V π ( z ) V_{\pi}(z) Vπ(z) Q π ( z , a ) Q_{\pi}(z,a) Qπ(z,a)为状态-值函数、动作-值函数。用 P π ( z ∣ s ) P^{\pi}(z|s) Pπ(zs)表示对于给定的状态s发生z的有限概率。Q函数与V函数表示如下
在这里插入图片描述
定义一个辅助函数
在这里插入图片描述
其中 A π ( z , a ) = Q π ( z , a ) − V π ( z , a ) A_{\pi}(z,a) = Q_{\pi}(z,a) - V_{\pi}(z,a) Aπ(z,a)=Qπ(z,a)Vπ(z,a)。则有
在这里插入图片描述
因为 ∑ a π ( a ∣ s ) Q π ( z , a ) = V π ( z ) \sum_{a}\pi(a|s)Q_{\pi}(z,a) = V_{\pi}(z) aπ(as)Qπ(z,a)=Vπ(z), 所以根据推导,有 G θ + ϵ , θ + ϵ , θ + ϵ G_{\theta+\epsilon, \theta+\epsilon, \theta+\epsilon} Gθ+ϵ,θ+ϵ,θ+ϵ = 0 。上述推导的最后一步中,第一项和第三项能够消掉,最后得到
在这里插入图片描述
当策略参数发生的改变 ϕ \phi ϕ十分微小,策略 π θ \pi_{\theta} πθ的相应改变可以用 ϵ ∇ π θ ( a ∣ s ) + O ( ∣ ∣ ϵ ∣ ∣ 2 2 ) \epsilon \nabla \pi_{\theta}(a|s) + O(||\epsilon||^2_2) ϵπθ(as)+O(∣∣ϵ22)来bound。那么有
在这里插入图片描述
在这里插入图片描述
以上的梯度和较小的学习率能够使得算法收敛到一个平稳点。
策略梯度算法如下:(类似于REINFORCE算法)
在这里插入图片描述

Solving Fairness Utility Optimization

Lemma 2说明了新的策略梯度算法能收敛到适应性MDP的平稳点。定义最优策略的参数为 θ ∗ \theta^* θ,那么初始奖励的单步平均值为
在这里插入图片描述
我们需要证明 θ ∗ \theta^* θ也是优化问题 ∑ k U ( x π θ , k ) \sum_{k}U(x_{\pi_{\theta},k}) kU(xπθ,k)的平稳点。
对于一致连续函数 ϕ \phi ϕ,设定为效用函数U的一阶导数。该函数是符合Lipschitz连续的,有 ∣ U ′ ( x ) − U ′ ( y ) ∣ < = L ∣ x − y ∣ |U'(x) - U'(y)| <= L|x - y| U(x)U(y)<=Lxy, 对于L > 0。那么适应性奖励可以表示为
在这里插入图片描述
在这里插入图片描述
理论1:策略梯度算法能够收敛至公平效用函数的平稳点。
证明:由上已知, θ ∗ \theta^* θ是适应性MDP的平稳点,即 ∇ θ ρ π θ ^ ∣ θ = θ ∗ = 0 \nabla_{\theta} \hat{\rho_{\pi_{\theta}}} |_{\theta=\theta^* }= 0 θρπθ^θ=θ=0,需要证明 θ ∗ \theta^* θ也是 α \alpha α-fair 效用函数 ∑ k U ( x π θ , k ) \sum_{k} U(x_{\pi_{\theta},k}) kU(xπθ,k)的平稳点,也即 ∇ θ [ ∑ k U ( x π θ , k ) ] ∣ θ = θ ∗ = 0 \nabla_{\theta} [\sum_{k} U(x_{\pi_{\theta},k})] |_{\theta=\theta^* }= 0 θ[kU(xπθ,k)]θ=θ=0
所以我们需要分析单步平均适应性奖励 ρ π θ ^ \hat{\rho_{\pi_{\theta}}} ρπθ^和单步平均奖励 x π θ , k x_{\pi_{\theta},k} xπθ,k的关系

根据公式(17),有
在这里插入图片描述
在policy π θ \pi_{\theta} πθ下,对于任意的 ϵ \epsilon ϵ > 0 存在一个足够大的T使得, ∣ 1 / T ∑ t = 1 T r k , t − x π θ , k ∣ < ϵ |1/T \sum^{T}_{t=1} r_{k,t} - x_{\pi_{\theta},k}| < \epsilon ∣1/Tt=1Trk,txπθ,k<ϵ,结合U’的Lipschitz continuity有
在这里插入图片描述
其中C1是 ∣ U ′ ( x π θ , k ) ∣ |U'(x_{\pi_{\theta},k})| U(xπθ,k)的边界,C2是 ∣ 1 / T ∑ t = 1 T r k , t ∣ |1/T \sum^{T}_{t=1} r_{k,t}| ∣1/Tt=1Trk,t的边界。当T足够大,有
ρ π θ ^ = ∑ k x π θ , k U ′ ( x π θ , k ) \hat{\rho_{\pi_{\theta}}} = \sum_{k} x_{\pi_{\theta},k}U'(x_{\pi_{\theta},k}) ρπθ^=kxπθ,kU(xπθ,k)
由于 θ ∗ \theta^* θ是适应性MDP的平衡点,有 ∇ θ [ x π θ , k U ′ ( x π θ , k ) ] ∣ θ = θ ∗ = 0 \nabla_{\theta} [x_{\pi_{\theta},k}U'(x_{\pi_{\theta},k})] |_{\theta=\theta^* }= 0 θ[xπθ,kU(xπθ,k)]θ=θ=0,也即 ∇ θ ρ π θ ^ ∣ θ = θ ∗ = 0 \nabla_{\theta} \hat{\rho_{\pi_{\theta}}} |_{\theta=\theta^* }= 0 θρπθ^θ=θ=0

上述证明结果可以形成一个新的actor-critic算法,使用 V w ^ ( s t ) \hat{V_{w}}(s_{t}) Vw^(st)作为神经网络近似state-value function,使用TD误差来训练 V w ^ ( s t ) \hat{V_{w}}(s_{t}) Vw^(st)
在这里插入图片描述

Evaluations

两个场景:无线网络调度和QoE优化
结果都表明FAC算法的优势:能够优化全局的效用、收敛速度快。
在这里插入图片描述在这里插入图片描述

————————————————————————————
参考文献:
【1】J. Chen, Y. Wang and T. Lan, “Bringing Fairness to Actor-Critic Reinforcement Learning for Network Utility Optimization,” IEEE INFOCOM 2021 - IEEE Conference on Computer Communications, Vancouver, BC, Canada, 2021, pp. 1-10

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Windows11系统安装Mysql8之后,启动服务net start mysql报错“服务没有响应控制功能”的解决办法

问题 系统环境&#xff1a;Windows11 数据库版本&#xff1a;Mysql8 双击安装&#xff0c;一路下一步&#xff0c;完成&#xff0c;很顺利&#xff0c;但是开启服务后 net start mysql 报错&#xff1a; 服务没有响应控制功能。 请键入 NET HELPMSG 2186 以获得更多的帮助 不…

RabbitMQ是如何保证消息可靠性的?——Java全栈知识(16)

RabbitMQ 的消息不可靠也就是 RabbitMQ 消息丢失只会发生在以下几个方面&#xff1a; 生产者发送消息到 MQ 或者 Exchange 过程中丢失。Exchange 中的消息发送到 MQ 中丢失。消息在 MQ 或者 Exchange 中服务器宕机导致消息丢失。消息被消费者消费的过程中丢失。 大致就分为生…

C语言 函数的定义与调用

上文 C语言 函数概述 我们对函数进行了概述 本文 我们来说函数的定义和调用 C语言规定 使用函数之前&#xff0c;首先要对函数进行定义。 根据模块化程序设计思想&#xff0c;C语言的函数定义是互相平行、独立的&#xff0c;即函数定义不能嵌套 C语言函数定义 分为三种 有参函…

中国居民消费新特征:中枢回落,即时满足,去地产化

随着收入预期和财富效应的转变&#xff0c;居民更倾向于通过短期集中式的消费来获得即时满足的快乐&#xff0c;服务消费表现出了更强的韧性。服务消费强于商品消费、消费去地产化、汽车挑大梁的特征延续。 特征一&#xff1a;消费倾向高于2020-22年&#xff0c;低于2017-19年…

QX-mini51单片机学习(1)---电子电路基础

目录 1电平特性 2单片机io口简绍 3初识电容电阻 4初识电路原理图 5单片机最小系统结构 6单片机工作基本时序 1电平特性 单片机是一种数字集成芯片&#xff0c;数字电路中两种电平&#xff0c;高电平与低电平 高电平&#xff1a;5v 低电平&#xff1a;0v TTL电平信号…

非平衡数据处理-Tomek link算法介绍,代码和实战测评

作者Toby&#xff0c;来源公众号&#xff1a;Python风控模型&#xff0c;非平衡数据处理-Tomek link算法 概述 非平衡数据在金融风控领域、反欺诈客户识别、广告智能推荐和生物医疗中普遍存在。一般而言&#xff0c;不平衡数据正负样本的比例差异极大&#xff0c;如在Kaggle竞…

[华为OD]C卷 精准核算检测 100

题目&#xff1a; 为了达到新冠疫情精准防控的需要&#xff0c;为了避免全员核酸检测Q带来的浪费&#xff0c;需要精准圈定可 能被感染的人群。现在根据传染病流调以及大数据分析&#xff0c;得到了每个人之间在时间、空间上是 否存在轨迹的交叉现在给定一组确诊人员编号&…

多微信管理不过来?你需要一个微信神器

很多企业都在面临以下几个问题&#xff1a; 1、希望进行微信营销转型&#xff0c;但是不知道如何入手&#xff1b; 2、拥有多个微信号&#xff0c;但不想拿着多台手机&#xff0c;希望能够集中管理所有微信号&#xff1b; 3、希望使用app替代传统的营销体系&#xff0c;并确…

RS0108YQ20功能和参数介绍及高速数据传输中的优势

RS0108YQ20功能和参数介绍及高速数据传输中的优势-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 RS0108YQ20是一款电平转换器&#xff0c;也称为电平移位器&#xff0c;它的主要功能是在不同的电源电压或逻辑电平之间提供双向信号转换。以下是RS0108YQ20的一些关键参数和功能特…

链表成环或多分枝问题

问题概述 这类问题主要和数论结合到一起。 这类问题主要的解决技巧就是画图&#xff0c;跟着图来写代码&#xff0c;不然代码5分钟&#xff0c;调试2小时。 因为每个节点可以指向下一个节点&#xff0c;那么两个节点就可以指向同一个节点&#xff1b;或者链表的末尾节点指向…

JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式

技术栈 1. 开发语言&#xff1a;JAVA 2. 数据库&#xff1a;MySQL 3. 后端框架&#xff1a;Spring boot 4. 前端框架&#xff1a;VUE2 5. 电子班牌&#xff1a; Android 7.1 6. 小程序&#xff1a;原生开发 7. 多学校Saas 模式 电子班牌是一款智慧校园管理工具&#xf…

自动语音识别

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

Linux动态库与静态库解析

文章目录 一、引言二、C/C源文件的编译过程三、静态库1、静态库的定义和原理2、静态库的优缺点3、静态库的创建和使用a、创建静态库b、使用静态库 四、动态库1、动态库的定义和原理2、动态库的优缺点3、动态库的创建和使用示例a、创建动态库b、使用动态库 五、动静态库的比较 一…

Python专题:一、安装步骤

1、下载地址&#xff1a;Welcome to Python.org 勾选这个add 其他的全部下一步即可。 运行出现这个即代表安装成功。 Python自带编辑器。 2、推荐使用的sublime 编辑器下载 全部下一步安装。

【QA】Java常见运算符

前言 本文主要讲述Java常见的运算符 运算符的概念 两个基本概念&#xff1a; 运算符&#xff1a;对字面量或者变量进行操作的符号 表达式&#xff1a;用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式 示例&#xff1a; int a 10; int b 20; int …

2024.5.7

槽函数声明 private slots:void on_ed_textChanged();void on_pushButton_clicked(); }; 槽函数定义 void Widget::on_ed_textChanged()//文本框 {if(ui->ed1->text().length()>5&&ui->ed2->text().length()>5){ui->pushButton->setStyleSh…

鸿蒙OpenHarmony【基于Hi3516DV300开发板(时钟应用开发)】

概述 本文将介绍如何快速搭建基于OpenHarmony标准系统&#xff08;Hi3516DV300开发板&#xff09;的应用开发环境&#xff0c;并基于一个时钟APP示例逐步展示应用的创建、开发、调试和安装等流程。示例代码可以通过本链接获取。 时钟App是一款显示实时时间的应用&#xff0c;…

js实现json数据可编辑

背景 项目中有低代码平台&#xff0c;由于历史脏数据和非同步编辑的问题&#xff0c;偶尔会出现数据错乱的问题&#xff0c;希望有一个快捷的方式修改数据 之前在用Formily的时候有注意到designable/react 里面的json数据编辑功能非常不错如果能应用到项目里就完美了 design…

记录一个练手的js逆向password

很明显 请求加密了password 全局搜索 有个加密函数(搜不到的可以搜临近的其他的关键字 或者url参数) 搜索的时候一定要仔细分析 我就没有仔细分析 我搞了好久 又是xhr又是hook的(还没hook到) 我当时也是疏忽了 我寻思这个也不是js文件 直到后来 我怎么也找不到 我就猜想 不…

【JVM】垃圾回收机制(Garbage Collection)

目录 一、什么是垃圾回收&#xff1f; 二、为什么要有垃圾回收机制&#xff08;GC&#xff09;&#xff1f; 三、垃圾回收主要回收的内存区域 四、死亡对象的判断算法 a&#xff09;引用计数算法 b&#xff09;可达性分析算法 五、垃圾回收算法 a&#xff09;标记-清除…