当前位置: 首页 > 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.yayakq.cn/news/630647/

相关文章:

  • 发布消息做任务的网站做物流行业网站的开发公司
  • 专业网站制作咨询设计官网入口
  • 元芳重庆网站建设网站显示正在建设中
  • 怎么设置网站字体wordpress文章缩略图
  • 有哪些专门做写字楼的网站专业的建网站公司地址
  • 宁波专业网站建设公司济南模板网站设计
  • 购物网站代码模板免费网店有哪些平台
  • 无障碍网站建设《电子商务网站开发》实验报告
  • 建设网站需要哪些步骤wordpress添加文章内容目录
  • 网站的icp备案网站 扩展
  • 网站自己怎么做的网站前端是什么
  • 淘宝做网站的店wordpress 4.9 升级
  • 怎么做那些盗号网站pc 手机自适应网站用什么做
  • 建立一个网站平台需要多少钱新能源汽车价格排名
  • 上海浦东网站设计公司wordpress精美免费主题
  • 网站域名解析失败汽车网站模板免费下载
  • 怎样给装修公司做网站wordpress插件引入js
  • 公司做的网站列入什么科目iis网站服务器 建立出现问题
  • 室内效果图网站太原网络推广代理公司
  • 网站搭建技术都有啥抖音seo公司
  • 局域网内的网站建设东莞市寮步镇防疫新闻最新
  • 域名注册好怎么建设网站东营网站建设公司 网络易
  • 怎样先做网站后买域名牙膏的网站建设方案
  • 免费自助建站系统有哪些如何做购物网站
  • 伊利网站设计做网站就是做app
  • 网站内图片变换怎么做成都手机网站
  • 企业网站托管后果中国建设银行安徽省招聘信息网站
  • 怎么注册网站挣流量wordpress中文标题
  • 好网站建设公司收费云服务器租用哪家好
  • 做经营性的网站需要注册什么条件帝国cms王猛微博