Deep Reinforcement Learning in Large Discrete Action Spaces--Wolpertinger Architecture

文章讨论了在使用DDPG处理动作空间巨大的问题时,如何通过k-最近邻映射将连续输出转换为离散动作,以加速收敛。Wolpertinger架构引入了近似最近邻方法,通过评估多个动作的Q值来选择最佳执行动作。算法复杂度随选择动作数量线性增长。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读paper的目的:

自己在使用DDPG解决问题时,会遇到action space很大的情况,会导致算法不收敛或者收敛得很慢。如何解决这种Large Discrete Action Spaces,即大规模离散动作空间得问题。

启发:

使用 k-nearest-neighbor mapping 可以将 DDPG中 policy network 输出的action 映射到K个相近的action,从而帮助收敛。

[1]G. Dulac-Arnold et al., ‘Deep Reinforcement Learning in Large Discrete Action Spaces’. arXiv, Apr. 04, 2016. Accessed: Dec. 27, 2023. [Online]. Available: http://arxiv.org/abs/1512.07679

code:(挖个坑,code下载下来run有问题,后续会补上部分code解析)

ChangyWen/wolpertinger_ddpg: Wolpertinger Training with DDPG (Pytorch), Deep Reinforcement Learning in Large Discrete Action Spaces. Multi-GPU/Singer-GPU/CPU compatible. (github.com)icon-default.png?t=N7T8https://github.com/ChangyWen/wolpertinger_ddpg?tab=readme-ov-file

 要解决的问题:

对于通用的RL的框架以及DDPG算法不再赘述。

对于RL中action space比较大/连续的情况,一般是采取DDPG或者PPO。

DDPG是输出的一个连续的值,即一个/组确定性的动作。因此,对于大规模离散动作空间,需要将DDPG输出的连续值 映射到 离散的动作。 即使使用DDPG,大规模问题还是很难收敛。

采取的方案:Wolpertinger Architecture

Wolpertinger Architecture 的核心是采用approximate nearest-neighbor methods 来泛化动作。

具体来说,正常的DDPG 在从policy network 得到输出动作\hat{a}之后,执行动作并转到下一个新的状态。 但是, 加入Wolpertinger policy之后,从policy network 输出的动作并不直接执行,而是先映射到 K 组动作A_k,再根据 critic network评价这K 组 action的Q值,选取Q值最大的action执行。

Action generation:

那么问题又来了?既然要 把 \hat{a} 映射到 K组动作?怎么映射呢?

g_k is a k-nearest-neighbor mapping from a continuous space to a discrete set. It returns the k actions in A that are closest to \hat{a} by L_2 distance.

Action refinement:

根据动作表示的结构化程度,即使在大部分动作具有高Q值的空间中,具有低Q值的动作也可能和\hat{a}距离很近。

算法的第二阶段,如图1的上半部分所述,通过根据Q选择得分最高的动作来细化动作的选择:

复杂度分析:随K线性增长。

Time-complexity of the above algorithm scales linearly in the number of selected actions, k.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远离科研,保命要紧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值