论文阅读-多目标强化学习-envelope MOQ-learning

introduction

一种多目标强化学习算法,来自2019 Nips《A Generalized Algorithm for Multi-Objective Reinforcement Learning and Policy Adaptation》

总体思想

待补充

算法

虽然论文中用的是Q-learning的架构,但是在提供的代码中,采用的是A3C的架构,使用envelope 网络作为价值网络,估计状态价值用于更新,所以接下来以代码为准,结合论文思想,展示用到的输入、输出和损失函数。

输入

以多目标马里奥环境为例,输入为连续四帧状态 S,随机采样的偏好w。w的值均为正数,且和为1,每一位的值,代表对该维目标的偏好大小。

输出

损失函数

critic loss

复制代码
        mse = nn.MSELoss()
        critic_loss_l1 = mse(wvalue, wtarget)
        critic_loss_l2 = mse(value.view(-1), target_batch.view(-1))
        loss += 0.5 * (self.beta * critic_loss_l1 + (1-self.beta) * critic_loss_l2)

Critic 网络的损失由critic loss1和critic loss2加权和组成,critic loss2 理解为多目标损失函数,即当Critic网络能够准确评估多目标状态时,所有pareto前沿上的点都满足critic loss2 为零。因此用梯度下降优化CL2显得不平滑且困难(因为它的解不止一个,而是很多个)。所以引入critic loss1 来减少这种不平滑,critic loss 1 是某种偏好下,critic网络的TD LOSS,因为偏好确定了,所以解只有一个,作者认为这样的损失函数更容易优化,更平滑。

操作上,wvalue和wtarget的唯独都是(batch_size, 1) ; 而 value和target的维度都是(batch_size,reward_size)。显然也是前者的优化更简单。

Actor loss

复制代码
wadv_batch = torch.bmm(adv_batch.unsqueeze(1), 
                               w_batch.unsqueeze(2)).squeeze()
actor_loss = -m.log_prob(action_batch) * wadv_batch

actor loss形式上和带基线的policy gradient的损失函数类似,只不过Critic网络输出的维度不是1而是reward_size,优势adv先与偏好权重w矩阵相乘,得到维度为1的优势adv后再输入actor loss中,这也说明actor loss 的优化方向是朝着使得当前偏好的期望回报最大的方向优化的。

损失函数中偏好和输入网络偏好的关系

从伪代码,和代码中可见,在进行前向推导时输入网络的preference 和在训练时使用的preference并不是同一个。并且,前向时所用的preference并没有被replayer buffer记录下来。训练时actor 和 critic里用的偏好仍然是随机抽取的偏好。

相关推荐
张较瘦_9 小时前
[论文阅读] 人工智能 + 软件工程 | 需求获取访谈中LLM生成跟进问题研究:来龙去脉与创新突破
论文阅读·人工智能
北京地铁1号线19 小时前
GPT-2论文阅读:Language Models are Unsupervised Multitask Learners
论文阅读·gpt·语言模型
张较瘦_1 天前
[论文阅读] 人工智能 + 软件工程 | 软件架构中自然问题主动辅助研究:从挑战到解决方案
论文阅读·人工智能·软件工程
有Li2 天前
通过具有一致性嵌入的大语言模型实现端到端乳腺癌放射治疗计划制定|文献速递-最新论文分享
论文阅读·深度学习·分类·医学生
张较瘦_2 天前
[论文阅读] 人工智能 | 深度学习系统崩溃恢复新方案:DaiFu框架的原位修复技术
论文阅读·人工智能·深度学习
selia10782 天前
[论文阅读] Neural Architecture Search: Insights from 1000 Papers
论文阅读
寻丶幽风2 天前
论文阅读笔记——NoPoSplat
论文阅读·笔记·三维重建·3dgs·相机位姿·dustr
寻丶幽风2 天前
论文阅读笔记——VGGT: Visual Geometry Grounded Transformer
论文阅读·笔记·transformer·三维重建·3dgs·vggt
张较瘦_2 天前
[论文阅读] 人工智能 + 软件工程 | Call Me Maybe:用图神经网络增强JavaScript调用图构建
论文阅读·人工智能·软件工程
非英杰不图2 天前
论文阅读:Align and Prompt (ALPRO 2021.12)
论文阅读·prompt