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

Day2:强化学习之TD learning

一、梯度下降

1.为什么要用梯度下降

梯度的方向是函数上升最快的方向,沿着梯度方向对参数做更新,就可以使的目标函数增大。

如图所示,对于函数y=f(x), 在A点的导数是大于零的,也就是增大x,f(x)也会增大。所以,我们沿着梯度方向前进,就可以找到目标函数的最大值。

而我们的进行神经网络学习的时候,目标让预测值与真实值的误差之和最小,也就是是MSE(平均平方误差)最小:

由于我们的优化目标是最小化目标函数(损失函数),所以是沿着梯度的负方向更新参数,也就是梯度下降。

2.梯度下降的参数更新方法:

其中,α为学习率。

二、DQN

1.动作价值函数和最优动作价值函数

动作价值函数:Ut是一个随机变量,其随机性来源于t时刻之后的所有状态和动作,为了消除t时刻之后的所有状态和动作影响,对Ut求条件期望,就可以获得动作价值函数,消除st+1.和at+1及其之后所有状态动作影响。

最优动作价值函数: 已知st和at,回报ut的期望的最大值。可以消除策略的影响。

2.DQN:Deep Q network,深度Q网络

1)DQN的作用:DQN在这里主要是用来预测Q(s,a;w),使它尽量接近

2)输入与输出:DQN的输入使状态s,输出使离散动作空间中的每个动作的Q 值。有几个动作,输出就是几维的向量。

3)梯度:在训练DQN时,需要对DQN关于神经网络参数w求梯度:

4) 梯度优化:

三、TD Learning(Temporal difference, 时间差分)

理论上,根据DQN需要有整个过程的真实值后,才能进行反向传播优化,但采用TD算法,可以在只有部分真实值的时候,对w进行优化。也就是用部分真实结果+部分预测结果看作新的结果(TD目标),对之前的预测模型进行优化。由于其中包含部分真实数据,所以相较于之前的预测结果会更加接近真实值。

四、用TD训练DQN(这个是具体的用法)

1.观测st和at;

2.计算DQN的预测值:

3.环境给出st+1和rt

4.计算TD目标:

5.计算TD误差:

6.更新参数

根据这个方法,可以采用在每一个动作之后,更新参数w,也可以在完成一个回合后进行对应的参数更新。

~*后续如果开始编写程序了,再进行代码补充,目前先完成概念学习~

学习资料:《深度强化学习》,作者王树森、黎彧君、张志华。

学习视频:【王树森】深度强化学习(DRL)_哔哩哔哩_bilibili

相关文章:

  • [特殊字符] 顺序容器全操作解析(含string完整版)
  • MySQL-SQL
  • ToDesk云电脑将终结显卡溢价,Web端浏览器、安卓、IOS免费试用
  • Ubuntu 24.04 安装 Redis
  • 什么是Docker多架构容器镜像
  • 云原生作业五
  • Python排序算法详解
  • 一键高清修复、智能剪辑,媒体处理还能多智能?
  • 什么是网关?网关有什么作用?API网关的主要功能,SpringCloud可以选择有哪些API网关?什么是限流算法?网关如何实现限流?一篇文章读懂网关的前世今生
  • 国产网络变压器有哪些品牌比较好
  • Record-Mode 备案免关站插件,让 WordPress 备案不影响 SEO 和收录
  • 网络安全-防御 第一次作业(由于防火墙只成功启动了一次未补截图)
  • redis之lua实现原理
  • 07:串口通信(二):收发数据包
  • Docker Desktop之Nginx
  • HTTP的状态码
  • 海思3559a_使用2.0.4.0版SDK编译固件下载后i2c_write和i2c_read不支持怎么办
  • OpenCV机器学习(4)k-近邻算法(k-Nearest Neighbors, KNN)cv::ml::KNearest类
  • 蓝桥杯(B组)-每日一题(求最大公约数最小公倍数)
  • MongoDB 7 分片副本集升级方案详解(下)
  • 国家发改委:城市更新项目必须建立多元化多层级资金投入机制
  • 长三角议事厅·周报|新能源汽车产业需寻求“第二增长曲线”
  • 周国辉谈花开岭现象 :年轻的公益人正在用行动点亮希望
  • 经济日报:人工智能开启太空经济新格局
  • 浙江一家长称小学老师打孩子还威胁要从3楼扔下,当地警方已立案
  • 专访|《内沙》导演杨弋枢:挽留终将失去的美好