强化学习论文(A3C)

介绍:

  • 核心思想主要是利用多线程的方法,让多个环境并行的运行,在探索性策略的情况下,让agent能够在每一个step都有更多的探索性,尽快找到最优策略。
  • 抛弃DQN,DDPG,等算法中的replay buffer,采用on-line的方式学习。replay buffer会将数据存储起来供学习,其数据来源于旧的policy,on-line的方式的数据来自于刚刚更新的新policy。
  • 在多线程的情况下,每个agent有独立的环境,也面对不同的state,在多核cpu上,每个agent以不同的策略独立探索,大大增加了数据的多样性,同时数据天然的是相互独立的。
  • 网络参数是在线程之间异步更新的,而且是Lock free的,不需要互斥。

该方法可以用在不同的算法上,论文中介绍了四种算法的异步应用:

Async Q-Learning和Async n-Step Q-Learning:

在主线程上维护一个统一的global net,每个线程有独立的local net。当线程内满足terminal或特定步数后,更新local net。当所有线程的总步数满足特定条件后,将local net的参数复制给global net。

在n-step Q-Learning中,线手机n步的数据,再更新参数。这里n-step的最后一步的return计算方式和中间步骤的计算方式不太一样,最后一步是

而中间步是:

且需要每一步累计梯度。

Async one-Step SARSA和Async n-Step SARSA

和Async Q-Learning基本差不多,主要是把TD-target从变成了

Async Advantage Actor-critic

一个global的公共critic用来输出q-value,一个global的公共actor用来输出policy

这里也采用了n-step的方法,先收集一部分数据。也因此在更新过程中,它的优势函数就用

代替了标准A2C算法中的

同时,将策略的entropy添加的目标函数中,可以组织网络过早的收敛到次优解,从而改善探索性。包含entropy的目标函数是:

其中H就是策略的entropy,超参数β控制熵正则化项的强度。

相关推荐
暮雪倾风几秒前
【AI】国内使用Claude Code,配置Claude Code,使用DeepSeek为例
人工智能
FrameNotWork8 分钟前
HarmonyOS6.1 AI 模型管理架构设计与最佳实践
人工智能·harmonyos
没事别瞎琢磨11 分钟前
十、统一 Runner 入口——能力检测与模式回退
人工智能·node.js
装不满的克莱因瓶13 分钟前
了解 LangChain 中的 LLM 与 ChatModel 的差异
人工智能·python·ai·langchain·llm·agent·chatmodel
dingzd9517 分钟前
跨境社媒运营越到后面 越比拼账号的表达稳定性
大数据·人工智能·矩阵·内容营销
云烟成雨TD19 分钟前
Spring AI 1.x 系列【54】Retry 机制分析
java·人工智能·spring
没事别瞎琢磨21 分钟前
八、环境隔离——构建安全的子进程环境
人工智能·node.js
手写码匠21 分钟前
从零实现 Prompt 工程引擎:结构化提示、自动优化与多轮自省体系
人工智能·深度学习·算法·aigc
甲维斯24 分钟前
Claude Fable5首测,GPT5.5和国产模型弱爆了!
人工智能
2301_8185277831 分钟前
瑜伽服面料科技——AI加速创新材料研发
人工智能