当前位置: 首页 > news >正文

学技巧网站制作软文写作网站

学技巧网站制作,软文写作网站,拓普建站推广,企业网站建设备案都需要什么强化学习笔记(一)——Q-learning和DQN算法核心公式 文章目录 强化学习笔记(一)——Q-learning和DQN算法核心公式前言:Q-learning算法DQN算法 前言: 强化学习领域,繁冗复杂的大段代码里面&#…

强化学习笔记(一)——Q-learning和DQN算法核心公式


文章目录

  • 强化学习笔记(一)——Q-learning和DQN算法核心公式
      • 前言:
      • Q-learning算法
      • DQN算法

前言:

强化学习领域,繁冗复杂的大段代码里面,核心的数学公式往往只有20~40行,剩下的代码都是为了应用这些数学公式而服务的

这可比遥感图像难太多了,乱七八糟的数学公式看得头大

鸡煲救我

本文初编辑于2024.10.5

CSDN主页:https://blog.csdn.net/rvdgdsva

博客园主页:https://www.cnblogs.com/hassle

博客园本文链接:


Q-learning算法

需要先看:

Deep Reinforcement Learning (DRL) 算法在 PyTorch 中的实现与应用【Q-learning部分】

7个最流行的强化学习算法实战案例(附 Python 代码)【Q-learning部分】【不要看这个的DQN部分,里面用的是单网络】


q [ c u r r e n t ‾ s t a t e , a c t i o n ] = q [ c u r r e n t ‾ s t a t e , a c t i o n ] + l e a r n i n g ‾ r a t e × ( r e w a r d + g a m m a × m a x ( q [ n e x t ‾ s t a t e ] ) − q [ c u r r e n t ‾ s t a t e , a c t i o n ] ) q[current\underline{~}state, action] = \\q[current\underline{~}state, action] + learning\underline{~}rate \times (reward + gamma\times max(q[next\underline{~}state]) - q[current\underline{~}state, action]) q[current state,action]=q[current state,action]+learning rate×(reward+gamma×max(q[next state])q[current state,action])

  • 上述公式为Q-learning算法中的Q值更新公式

  • Q-learning算法中的Q值更新公式参数解释:
  1. Q[CurrentState, Action]: 这是在当前状态(CurrentState)下,采取特定动作(Action)所对应的Q值。Q值代表了在给定状态下采取该动作的预期累积回报。

  2. LearningRate (α): 学习率是一个介于0和1之间的参数,用来控制新信息(即当前的经验和估计的未来回报)对Q值更新的影响。较高的学习率会使得新经验更快速地影响Q值,而较低的学习率则会使得Q值更新更加平滑,减小波动。

  3. reward: 这是在执行动作(Action)后获得的即时奖励。它用于衡量该动作的好坏,与环境的反馈直接相关。

  4. gamma (γ): 折扣因子是一个介于0和1之间的参数,用于确定未来奖励的重要性。γ越接近1,智能体越重视未来的奖励;γ越接近0,智能体则更关注眼前的即时奖励。

  5. max(Q[NextState]): 这是在下一个状态(NextState)中所有可能动作的Q值中的最大值。它表示在下一个状态下预计能获得的最大未来回报。

A c t i o n = a r g m a x ( Q [ C u r r e n t S t a t e ] ) Action = argmax(Q[CurrentState]) Action=argmax(Q[CurrentState])

  • 通过上述公式进行Action的选择

个人理解:Q-learning是off-policy算法。reward是现在的行为可见的确定的收益,**gamma*max(Q[NextState])**是预计的未来的总收益(不包括现在,即reward),**Q[CurrentState, Action]**是预计的现在的总收益(包括现在,即reward),此点参考【强化学习】 时序差分TD error的通俗理解,方程的右侧表示Q值的更新。它使用了目前的Q值,加上基于当前获得的奖励和预计的未来奖励的调整。这个调整部分是基于时序差分(即 TD-errors)学习的原则。

DQN算法

需要先看:

Deep Reinforcement Learning (DRL) 算法在 PyTorch 中的实现与应用【DQN部分】【代码中有take_action函数】

【深度强化学习】(1) DQN 模型解析,附Pytorch完整代码【代码实现部分】【代码中DQN网络缺少take_action函数,结合上文看吧】


q ‾ v a l u e s = q ‾ n e t w o r k ( s t a t e ) n e x t ‾ q v a l u e s = t a r g e t ‾ n e t w o r k ( n e x t ‾ s t a t e ) q ‾ t a r g e t = r e w a r d + ( 1 − d o n e ) × g a m m a × n e x t ‾ q v a l u e s . m a x ( ) l o s s = M S E L o s s ( q ‾ v a l u e s , q ‾ t a r g e t ) q\underline{~}values = q\underline{~}network(state)\\ next\underline{~}qvalues= target\underline{~}network(next\underline{~}state)\\q\underline{~}target = reward + (1 - done) \times gamma \times next\underline{~}qvalues.max()\\loss = MSELoss(q\underline{~}values, q\underline{~}target) q values=q network(state)next qvalues=target network(next state)q target=reward+(1done)×gamma×next qvalues.max()loss=MSELoss(q values,q target)

  • 上述公式为深度 Q 网络(DQN)算法中的Q值更新公式

q ‾ v a l u e s = q ‾ n e t w o r k ( s t a t e ) q\underline{~}values = q\underline{~}network(state) q values=q network(state)

  • 通过上述公式进行Action的选择,注意这里用的是q_network而不是target_network

大白话解释:

state和action为经验池里面提取的batch,不是某一时刻的state和action
DQN实例化为q_network,输入state对应输出q_values,action也是这个网络给出的
DQN实例化为target_network,输入next_state对应输出next_q_values
next_q_values实例化为q_targets
q_values和q_targets进行q_network的参数更新


  • 深度 Q 网络(DQN)算法中的Q值更新公式参数解释:
  1. target[action]: 这是当前状态下,执行特定动作 action 的目标 Q 值。我们希望通过更新这个 Q 值来使其更接近真实的 Q 值。
  2. reward: 这是在当前状态下执行 action 所得到的即时奖励。
  3. done: 这是一个布尔值,表示当前状态是否是终止状态。如果 done 为 1(或 True),表示已经到达终止状态,那么后续不再有奖励;如果为 0(或 False),则表示还有后续状态和奖励。
  4. self.gamma: 这是折扣因子(通常在 0 到 1 之间),用于控制未来奖励对当前决策的影响。较高的折扣因子意味着更关注未来的奖励。
  5. next_q_values.max(): 这是在下一个状态中所有可能动作的 Q 值的最大值,表示在下一个状态下能获得的最佳期望奖励。

个人理解:DQN采用双网络,是off-policy算法。一个训练网络仅使用当前数据,对一种state采取最优的action,需要频繁更新。一个目标网络使用历史数据,采取总体最优action,不需要频繁更新。相较于Q-learning,使用Q函数代替了Q矩阵的作用,在状态很多时Q矩阵难以处理,Q函数擅长对复杂情况进行建模。

http://www.rdtb.cn/news/15014.html

相关文章:

  • 合肥网站建设电话百度竞价排名系统
  • 网站首页建设公司西安疫情最新通知
  • css3动画效果网站什么是网站外链
  • 电商网站建设公司怎么样广州seo优化排名公司
  • 镇江地区做网站的公司直通车关键词怎么选 选几个
  • 蓝田微网站建设疫情排行榜最新消息
  • 创建网站域名刷死粉网站推广
  • dedecms 旅游网站模板福建百度推广开户
  • 粉色视频中山口碑seo推广
  • 郑州网站建设电话网站注册流程
  • 广东省著名商标在什么网站做seo外包公司兴田德润
  • 建设工程智慧网站贵州seo学校
  • 快站微信网站制作网络优化大师
  • 营销型门户网站自助建站网
  • 面膜网站广告怎么做链接生成器
  • 新疆生产建设兵团第十二师碉堡了seo博客
  • 怎么建设自己的论坛网站软文营销案例文章
  • 上海 有哪些做网站的公司好免费关键词排名优化软件
  • 著名的网络营销案例只要做好关键词优化
  • 福州网站设计要多少钱关键词的分类和优化
  • 海报在线制作免费网站58同城关键词怎么优化
  • 企业网站页头背景图网站检测工具
  • ppt做网站在线seo短视频
  • 怎么做qq钓鱼网站抖音营销推广怎么做
  • 七星彩网站开发公司免费网站建设哪个好
  • 南昌网站建设公司好么重庆森林粤语
  • 优秀营销网站设计新疆疫情最新情况
  • bgp 网站快手作品免费推广软件
  • 海口网站建设服务制作网站的步骤是什么
  • 网站开发岗位职责seo咨询茂名