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

异构多智能体强化学习:基于α-fair效用函数的公平性协同训练 在多智能体强化学习(MARL)领域,智能体协同训练的核心挑战在于如何有效协调多个具有不同能力与目标的个体。传统方法通常追求团队整体回报最大化,但在智能体存在显著异构性(如观测维度、动作空间或奖励函数不同)时,往往导致资源分配不公与系统脆弱。为解决此问题,研究者引入了源自经济学的α-fair效用函数作为新的优化目标。该函数通过对每个智能体的个体回报进行非线性变换,在团队整体效率与个体间公平性之间建立了一个可调节的平衡。其技术价值在于为异构智能体系统提供了一套数学框架,能够像调节旋钮一样,根据实际需求从纯粹效率 阅读详情

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

在网络优化问题中,公平性(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'} pzz′a​表示状态转移概率, 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π(z∣s)表示对于给定的状态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​π(a∣s)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) ϵ∇πθ​(a∣s)+O(∣∣ϵ∣∣22​)来bound。那么有
在这里插入图片描述
在这里插入图片描述
以上的梯度和较小的学习率能够使得算法收敛到一个平稳点。
策略梯度算法如下:(类似于REINFORCE算法)
在这里插入图片描述

Solving Fairness Utility Optimization

Lemma 2说明了新的策略梯度算法能收敛到适应性MDP的平稳点。定义最优策略的参数为 θ ∗ \theta^* θ∗,那么初始奖励的单步平均值为
在这里插入图片描述
我们需要证明 θ ∗ \theta^* θ∗也是优化问题 ∑ k U ( x π θ , k ) \sum_{k}U(x_{\pi_{\theta},k}) ∑k​U(xπθ​,k​)的平稳点。
对于一致连续函数 ϕ \phi ϕ,设定为效用函数U的一阶导数。该函数是符合Lipschitz连续的,有 ∣ U ′ ( x ) − U ′ ( y ) ∣ < = L ∣ x − y ∣ |U'(x) - U'(y)| <= L|x - y| ∣U′(x)−U′(y)∣<=L∣x−y∣, 对于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}) ∑k​U(xπθ​,k​)的平稳点,也即 ∇ θ [ ∑ k U ( x π θ , k ) ] ∣ θ = θ ∗ = 0 \nabla_{\theta} [\sum_{k} U(x_{\pi_{\theta},k})] |_{\theta=\theta^* }= 0 ∇θ​[∑k​U(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/T∑t=1T​rk,t​−xπθ​,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/T∑t=1T​rk,t​∣的边界。当T足够大,有
ρ π θ ^ = ∑ k x π θ , k U ′ ( x π θ , k ) \hat{\rho_{\pi_{\theta}}} = \sum_{k} x_{\pi_{\theta},k}U'(x_{\pi_{\theta},k}) ρπθ​​^​=∑k​xπθ​,k​U′(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πθ​,k​U′(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算法的优势:能够优化全局的效用、收敛速度快。
在这里插入图片描述在这里插入图片描述

Code Implementation

以下是个人尝试复现的代码(文章细节之处仍有存疑)

import torch
from torch import nn
from torch.nn import functional as F
import numpy as np


class Critic(nn.Module):
    def __init__(self, agent_id, state_dim, action_dim, hidden_num=250):
        super(Critic).__init__()
        self.agent_id = agent_id
        self.fc1 = nn.Linear(state_dim + action_dim, hidden_num)
        self.fc2 = nn.Linear(hidden_num, 1)

    def forward(self, s, a):
        cat = torch.cat([s, a], dim=1)
        x = self.f1(cat)
        x = F.relu(x)
        x = self.fc2(x)
        return x


class Actor(nn.Module):
    def __init__(self, agent_id, state_dim, action_dim, hidden_num=250):
        super(Actor).__init__()
        self.agent_id = agent_id
        self.f1 = nn.Linear(state_dim, hidden_num)
        self.f2 = nn.Linear(hidden_num, action_dim)

    def forward(self, s):
        x = self.f1(s)
        x = F.relu(x)
        x = self.f2(x)
        x = F.softmax(x, dim=-1)
        return x


class FairnessActorCritic:
    def __init__(self, state_dim, hidden_num, action_dim, device, n_agents, alpha, actor_lr=0.001, critic_lr=0.01,
                 gamma=0.9):
        self.agents = []
        self.n_agents = n_agents  # k agents
        self.alpha = alpha
        self.gamma = gamma
        self.device = device

        self.actor = Actor(0, state_dim, action_dim, hidden_num).to(self.device)
        self.critic = Critic(0, state_dim, action_dim, hidden_num).to(self.device)
        self.actor_optim = torch.optim.Adam(self.actor.parameters(), actor_lr)
        self.critic_optim = torch.optim.Adam(self.critic.parameters(), critic_lr)

        # self.actors = [Actor(aid, state_dim, action_dim, hidden_num).to(self.device) for aid in range(n_agents)]
        # self.critics = [Critic(aid, state_dim, action_dim, hidden_num).to(self.device) for aid in range(n_agents)]
        # self.actors_optim = [torch.optim.Adam(actor.parameters(), actor_lr) for actor in self.actors]
        # self.critics_optim = [torch.optim.Adam(critic.parameters(), critic_lr) for critic in self.critics]
        self.step = 0
        self.total_past_rewards = self.create_past_reward_list()

    def create_past_reward_list(self):
        list = []
        for i in range(self.n_agents):
            list.append(0)
        return list

    def alpha_fair_utility_function(self, x):
        if self.alpha == 1:
            return np.log(x)
        return x ** (1 - self.alpha) / (1 - self.alpha)

    def utility_first_order_derivative(self, x):
        if self.alpha == 1:
            return 1 / x
        return 1 / (x ** self.alpha)

    def to_tensor(self, inputs):
        if torch.is_tensor(inputs):
            return inputs
        return torch.FloatTensor(inputs).to(self.device)

    def take_action(self, states):
        """
        :param states: [state 1, state 2, ..., state k]
        :return: [action1, action 2, ..., action k]
        """
        # numpy[n_states]-->tensor[1,n_states]
        states = [states]
        actions = []
        for state in states:
            action_prob = self.actor(self.to_tensor(state))
            action_dist = torch.distributions.Categorical(action_prob)
            action = action_dist.sample().item()
            actions.append(action)

        # for actor, state in zip(self.actors, states):
        #     # predict the probabilities of each action under current states
        #     action_prob = actor(self.to_tensor(state))
        #     # construct the probability distribution same as the probability of output actions
        #     action_dist = torch.distributions.Categorical(action_prob)
        #     # sample action from the distribution
        #     action = action_dist.sample().item()
        #     actions.append(action)
        return actions

    def calculate_adjust_rewards(self, current_rewards):
        """
        :param current_rewards: list [r1, r2, ..., rk]
        :param total_past_rewards: list [total_r1, total_r2, ..., total_rk]
        :return: sum of adjust rewards of all agents
        """
        adjust_rewards = 0
        if self.step == 0:
            adjust_rewards = sum(current_rewards)
        else:
            for i in range(self.n_agents):
                adjust_rewards += current_rewards[i] * self.utility_first_order_derivative(
                    self.total_past_rewards[i] / self.step)
        return adjust_rewards

    def learn(self, states, actions, rewards, next_states):
        # shape of tensor is [1, k]
        adjust_rewards = self.calculate_adjust_rewards(rewards)

        '''
        in the article, the author doesn't declare which structure of the algorithm, may the 
        framework is centralized training and decentralized execution or centralized ?
        so here we will use the average of the all agents' state-value through network V to 
        represent the V(st) and V(st+1) ->only one Actor-Critic
        '''
        next_states_V = sum(self.take_action(next_states)) / len(self.take_action(next_states))
        states_V = sum(self.take_action(states)) / len(self.take_action(states))
        advantage = adjust_rewards + self.gamma * next_states_V - states_V
        advantage = self.to_tensor(advantage)
        states = [self.to_tensor(state) for state in states]
        actions = [self.to_tensor(action) for action in actions]

        critic_loss = 0
        for i in range(self.n_agents):
            critic_loss += torch.log(self.critic(states[i], actions[i]))
        critic_loss = critic_loss * advantage

        actor_loss = 0
        for i in range(self.n_agents):
            actor_loss += self.actor(states[i])
        actor_loss = actor_loss * advantage

        self.critic_optim.zero_grad()
        critic_loss.backward()
        self.critic_optim.step()

        self.actor_optim.zero_grad()
        actor_loss.backward()
        self.actor_optim.step()

        self.step += 1
        for i in range(self.n_agents):
            self.total_past_rewards[i] += rewards[i]

        reward_ave = [pr / self.step for pr in self.total_past_rewards]
        utility_sum = 0
        for i in range(self.n_agents):
            utility_sum += self.alpha_fair_utility_function(reward_ave[i])

        return actor_loss, critic_loss, reward_ave, utility_sum

————————————————————————————
参考文献:
【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

Experience-driven Congestion Control: When Multi-Path TCP Meets Deep Reinforcement Learning 笔记 原论文链接 1 Introduction 本文的思路比较清晰,结构如下: 简介部分 介绍DRL部分 如何将DRL运用到MPTCP CC问题中(重点) 评估(仅为了学习方法,此部分可以跳过) 做的相关工作 结论 2 DEEP REINFORCEMENT LEARNING (DRL) 介绍DRL基础知识的前戏不必多说,不懂的自行查阅资料,光看论文里讲的学DRL不一定能看懂。 3 DRL-BASE... 阅读详情

相关推荐

多智能体强化学习中的声誉机制:从博弈论到Actor-Attention-Critic的协作演化

在多智能体系统中,合作是提升整体效能的关键,但个体理性与集体利益常存在冲突,导致“公地悲剧”等困境。其核心原理在于,传统方法依赖预设的奖励函数,难以适应动态环境与非平稳策略。声誉机制作为一种社会计算范式,通过量化历史行为并动态更新信任度,为智能体提供了评估伙伴意图的社会信号,从而在去中心化环境中实现自组织协作。这一技术价值在于,它不依赖中央控制器,而是通过局部观察和分布式学习,使系统从混沌中自发演化出稳定秩序。在应用场景上,声誉机制与注意力机制结合,形成了如Actor-Attention-Critic的前沿

weixin_33805992的博客 349

干货解读 | 逐步公平性约束下的强化学习

点击蓝字关注我们AI TIME欢迎每一位AI爱好者的加入!2022年11月10日,由国际科技信息中心主办,AI TIME承办的全球青年科学家Talk “逐步公平性约束下的强化学习”, 邀请了来自卡内基梅隆大学计算机学院的教授吴志威,哥伦比亚大学博士后研究员邓准,带来关于强化学习的前沿研究分享。本期Talk共吸引了约1.8万专业领域观众观看。现代社会中,人工智能算法无处不在,被应用于信贷,就业和住房...

AITIME_HY的博客 749

论文阅读|《Bi-level Actor-Critic for Multi-agent Coordination》(AAAI 2020)(附带源码链接)

1 摘要 协调是多智能体系统的基本问题之一。典型的多智能体强化学习(MARL)方法对智能体一视同仁,其目标是在存在多重均衡时将马尔可夫博弈求解到任意的纳什均衡(NE),从而缺乏解决NE选择的方法。在本文中,我们平等地对待Agent,并认为Stackelberg均衡在帕累托优势方面是一个比Nash均衡更好的收敛点,特别是在合作环境中。在马尔可夫对策下,我们正式定义了寻找Stackelberg均衡的双层强化学习问题。我们提出了一种新颖的双层Actor-Critic学习方法,该方法允许Agent...

太剧烈的快乐与太剧烈的悲哀是有相同之点的——同样地需要远离人群! 3287

7个实用技巧:如何利用ELO评级系统提升ML-Agents强化学习公平性

ML-Agents是Unity开发的强化学习框架,它允许开发者在Unity环境中训练AI智能体。在对抗性游戏场景中,传统的累积奖励机制可能无法准确反映智能体的真实能力,而ELO评级系统为解决这一公平性问题提供了可靠方案。本文将详细介绍如何在ML-Agents中应用ELO评级系统,确保智能体评估的客观性和公平性。 ## 什么是ELO评级系统? ELO评级系统是一种用于计算零和游戏中玩家相对技能水

gitblog_00974的博客 895

基于多智能体强化学习的人形机器人协作控制:从物理仿真到算法实现

多智能体强化学习(MARL)是解决多个智能体在共享环境中协同决策的关键技术。其核心原理在于通过中心化训练与去中心化执行(CTDE)框架,让每个智能体在训练时能利用全局信息优化策略,执行时仅依赖局部观测。这一技术对于实现复杂场景下的协同作业具有重要价值,尤其在机器人协作、自动驾驶车队协调等需要实体交互的领域。在物理仿真环境中,结合注意力机制的MARL算法能让智能体学会关注队友状态,实现高效的“人-人”式协作控制。本文以人形机器人协作搬运为例,详解了如何利用Actor-Attention-Critic框架在Mu

weixin_33747129的博客 435

2026强化学习入门:从Q-learning到PPO的保姆级学习路径

这次我们来看一个面向2026年的强化学习入门教程。这个教程的核心目标很明确:用最通俗易懂的方式,帮你系统性地打通强化学习(Reinforcement Learning, RL)的核心脉络。它不满足于零散的知识点,而是试图构建一个从经典算法到前沿方法的完整认知框架,涵盖从Q-learning、DQN到A3C、PPO等关键算法。 对于刚接触这个领域的学习者、希望快速补足RL知识的开发者,或者需要将RL思想应用于AI、具身智能(Embodied AI)等项目的工程师来说,这篇文章的价值在于提供一条清晰的“学习路径

weixin_33802505的博客 441

【论文解读】单步奖励训练代码生成模型《Multi-Turn Code Generation Through Single-Step Rewards》

状态定义对于给定问题提示xxx,在多轮交互中,第tttstxy1o1y2o2yt−1ot−1st​xy1​o1​y2​o2​yt−1​ot−1​其中yiy_iyi​为第iii轮生成的代码,oio_ioi​为该代码在公共测试上的执行反馈。动作定义动作即为生成的代码片段atyta_t = y_tat​yt​。奖励函数定义oracle奖励RstatR。

qq_30731313的博客 1223

深度强化学习DDPG实战:智能交通信号灯配时优化

交通信号灯控制是一个典型的连续决策问题,传统固定配时或感应控制难以应对动态车流变化。深度强化学习通过智能体与环境的交互,能根据实时路口状态做出自适应配时决策。其中DDPG算法因支持连续动作空间,天然适配绿灯时长调节这类精细化控制场景。通过SUMO交通仿真环境构建状态空间,设计合理的奖励函数,DDPG能有效降低路口平均等待时间与排队长度。该技术在城市智能交通和自动驾驶交叉口调度中具有广阔应用前景,为复杂控制问题提供了可复用的工程化解决方案。

weixin_30908941的博客 290

解决ActorCritic算法中的常见问题:方法与解决策略

1.背景介绍 Actor-Critic算法是一种混合学习算法,结合了策略梯度(Policy Gradient)和价值网络(Value Network)两种方法。它通过两个不同的神经网络来学习:一个是评估网络(Critic),用于评估状态值;另一个是行为网络(Actor),用于学习策略。这种结构使得Actor-Critic算法既可以学习策略,也可以学习价值函数,从而实现了策略梯度的目标。 然而,...

AI天才研究院 1028

ESP8266+Mixly+MIXIO物联网实战:用色盘控制WS2812 RGB灯(附完整代码)

本文详细介绍了如何利用ESP8266微控制器、Mixly图形化编程工具与MIXIO物联网平台,快速构建一个可通过网页色盘远程控制WS2812 RGB智能灯带的实战项目。内容涵盖硬件接线、平台配置、代码编写与调试全流程,旨在帮助物联网爱好者与初学者轻松实现创意灯光应用,掌握智能硬件开发的核心技能。

gin88的博客 262

重装系统后,恢复Oracle的.ORA文件

前几天,系统莫名奇妙产生很多宏病毒,进而感染整个C盘,不得已,格式化后重装了系统。 重装系统之后,突然想到D盘中的oracle中很多数据没导出来备份,安装文件下有很多有用的.ORA文件,抱着死马当活马医的态度,居然成功了。 1、将原来D盘(D:\oracle\product\10.2.0\oradata\orcl)下的数据文件备份下其他盘,将D盘的oracle目录名改成oracle1。安装数据

zhanggnol的blog 5551

联邦学习论文笔记——一种联邦学习中的公平资源分配方案(田家会 α-Fedavg)

首先定义用户效用:Rk=ak·pk(实际用户效用=模型准确率·聚合权重)(模型准确率指,本轮中心参数服务器下发给参与者的全局模型,经参与者自己计算后获取的的准确率)(聚合权重指,本轮中,各个节点将自己的梯度或模型参数发给中心参数服务器后,参数服务器根据【①上传的参数或梯度②上传的准确率】为各个参与者设计的聚合权重)对于每个用户来讲,即希望准确率a高也希望聚合权重p高,用乘积作为效用进一步定义系统 有效性量化E、公平性量化J:是所有用户效用的和,它越高说明整个系统的有效性越高。

qq_35576563的博客 2170

YOLO26改进策略【Neck】| arXiv 2025 分层多头注意力HMHA 子空间拆分提多样 + 通道重排降冗余,强化目标检测精度

HMHA(Hierarchical Multi-Head Attention,分层多头注意力)旨在解决传统多头注意力(MHA)在图像恢复任务中的核心缺陷——特征冗余。传统MHA将通道均匀拆分给各个头,导致不同头学习的子空间信息相似,进而出现多头关注同一区域、忽略退化区域修复的问题,限制了模型的特征表达能力。HMHA通过“分层子空间拆分+通道重排序”策略,让每个头学习差异化、互补的上下文特征,从根源上缓解冗余,提升图像恢复任务中对复杂退化场景的特征捕捉能力。

Limiiiing的博客 211

【论文泛读】Towards Long-term Fairness in Recommendation - 2021 - WSDM

Towards Long-term Fairness in Recommendation [2021-WSDM] 本文是投在顶会WSDM上的2021年的新文章,旨在采用强化学习方法解决常规推荐环境中的曝光不公平问题。个人进行了泛读,摘要和评论如下(由于未进行精读可能会存在谬误): 论文解决的具体问题和主要假设 该篇论文站在item的角度,认为解决推荐系统的公平性问题,不应该在静态的或者在“使用一次性策略就能使之公平”的假设中进行,即公平性约束条件(或策略)应该是随着时间而动态变化的。例如,曾经t时刻流行的产

JinyuZ1996的博客 1033

yolov8知识蒸馏代码详解:支持logit和feature-based蒸馏

特别地,在COCO数据集上对MAP中的RetinaNet检测器(resnet50主干)获得了3.4%的性能提升,在Cityscapes数据集上, 针对mIoU指标,PSPNET(resnet-18 backbone)获得5.81%的性能提升。大部分的KD方法都是通过algin学生网络和教师网络的归一化的feature map, 最小化feature map上的激活值的差异。MGD是一种真正通用的基于特征feature的知识蒸馏方法,它可以用于各种任务,包括图像分类,目标检测,语义分割和实例分割。

@bangbang的博客 7286

Windows 下 Codex 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Codex 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Codex 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 方案一 2.2 方案二 3. 报错解决方案

weixin_43178406的博客 14万+

强化学习论文分析2-------无小区大规模MIMO的下行功率控制

在本文中,作者使用基于强化学习的Actor-Critic算法对无小区大规模多输入输出的功率分配问题进行处理,实现了相较传统凸优化算法三个数量级的速率提升,也比传统深度学习算法有着更好地性能。

taiyuezyh的博客 886

【异常】Warp终端AI功能403封禁报错I‘m sorry, I couldn‘t complete that request.Request failed with error: ErrorSta

本文针对Warp终端出现的AI功能定向封禁报错,完整还原脱敏后的报错信息、深度解读报错本质,并提供分优先级的全流程可落地解决方案,可直接用于技术排查、内部知识库归档。

奶爸的编程之路,也就一周冷个三天 265

多智能体强化学习中的公平性与异质性:α-fair框架与HAPPO算法实践

多智能体强化学习(MARL)是解决协同决策问题的核心技术,其核心原理在于多个智能体通过与环境交互学习协作策略以最大化共同目标。然而,当智能体在能力、目标和观测上存在显著差异(即异质性)时,传统的团队效用最大化目标可能导致资源分配不公,影响系统长期鲁棒性。为此,研究者引入了来自经济学的α-fair公平性准则,通过一个可调节的参数α,在纯粹效率(α=0)、比例公平(α=1)与最大最小公平(α→∞)之间进行权衡,从而将公平性量化为MARL的优化目标。这一技术价值在于为自动驾驶车队、多机器人系统等实际应用提供了协调

weixin_30321709的博客 420

MySQL——cost成本计算之MySQL如何选择使用索引(trace)

文章目录前言trace工具分析执行计划 前言 在之前博客中,根据测试案例,发现同样的sql语句,因为传入的条件值的不同,导致MySQL有时候选择使用索引,有时候又不适用索引。 如下所示sql的执行计划: EXPLAIN SELECT * FROM employees WHERE name > 'aaa'; EXPLAIN SELECT * FROM employees WHERE name > 'zzzz'; 在MySQL中,为什么会出现上述这种玄乎的现象呢? 本篇博客重点说明原因。 在说

专注写bug 679

YOLOv8性能提升:引入华为GhostNetv1特征提取网络

本文提出一种轻量化改进方案,将GhostNetV1作为YOLOv8的主干网络,以提升移动端部署效率。通过Ghost模块的两步特征生成机制(初级卷积+廉价操作),显著降低了30%的计算量(FLOPs)和参数量,精度损失控制在1%以内。实验表明,改进后的模型在骁龙865芯片上推理速度提升25%。核心创新包括:1)用GhostBottleneck替换CSP模块;2)保留FPN+PAN结构确保多尺度检测能力;3)提供完整的PyTorch实现方案。该工作为资源受限场景的目标检测提供了实用解决方案,未来可结合注意力机制

shrgegrb的博客 1180

强化学习和推荐系统的结合应用

此外,推荐系统往往利用日志文件进行学习,日志文件纪录的可能是其它版本的用户行为,这个过程对应强化学习中off-policy的设定。本文的创新点之一是考虑到了推荐时商品之间的2D位置关系,Actor输出的action中同时包括了每个商品的2D位置信息。可解释性的推荐系统指的是系统在生成推荐列表的同时,针对每一个推荐商品,生成推荐的理由。具体而言,可解释性的实现是通过先建立用户和商品之间的知识图谱,再将推荐行为建模成路径搜索问题,路径经过的节点即是推荐逻辑链的组成部分。2、通过与用户的自然交互,推荐系统。...

ahahayaa的博客 2170

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【强化学习】Actor-Critic算法实战:从理论到代码实现

本文深入解析了强化学习中的Actor-Critic算法,通过生动的“演员-评委”比喻阐释其核心原理。文章详细拆解了策略梯度与TD误差如何协同工作,并提供了基于PyTorch的完整代码实现,手把手教你用该算法解决经典的CartPole控制问题。最后,文章分析了算法的优势、常见挑战及调参技巧,是掌握这一重要强化学习框架的实用指南。

salt9的博客 452

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

多智能体强化学习在时间敏感网络在线流量调度中的应用与实践

时间敏感网络(TSN)作为保障工业自动化、车联网等场景下确定性低延迟通信的关键技术,其核心挑战在于动态网络环境下的实时流量调度。传统静态或集中式调度方法难以适应复杂多变的流量模式。强化学习(RL)通过与环境的交互学习最优策略,为解决此类序列决策问题提供了新思路。在多节点、分布式特性的TSN网络中,多智能体强化学习(MARL)通过分布式决策与协作,能有效实现全局优化目标,具备良好的可扩展性与适应性。其中,Actor-Attention-Critic等先进方法通过注意力机制协调智能体行为,提升了复杂协作场景下的

weixin_30887919的博客 387

基于策略搜索的强化学习方法(PG,TRPO,PPO,DPPO,AC,A3C,DDPG,TD3)

基于策略搜索的强化学习方法 1.policy gridient 1.1 基础推导 1.2 Tip Tip1: add a baseline(增加基线) 因为原来的梯度,一直都会取正数,不是特别合适,但是这样其实无可厚非,因为可以用过大小进行区分,但我们这里更好的办法是给他加入一个基线,让其有正有负。 Tip2:Assign Suitable Credit 因为如果对于每个执行的动作,都使用同样的全局reward,则会有损公平性,因为在同一个episode中,并不是所有的动作都是同样好的,所以我们这里使用

rl小透明 3891

good-turing平滑方法评价_基于策略搜索的强化学习方法

基于策略搜索的强化学习方法1.policy gridient1.1 基础推导用表示一组状态-行为序列, 符号,表示轨迹 的回报, 表示轨迹 出现的概率;则强化学习的目标函数可表示为:强化学习的目标是找到最优参数 使得:这时,策略搜索方法,实际上变成了一个优化问题。解决优化问题有很多种方法,比如:最速下降法,牛顿法,内点法等等。其中最简单,也是最常用的是最速下降法,此处称为策略梯度的方法。即 。问题...

weixin_34611277的博客 546
上一篇: 深度强化学习框架Acme【一】
下一篇: 无人机使能的边缘计算优化问题
code120302
博客等级 码龄7年 195粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值