当前位置:网站首页>强化学习_07_DataWhale深度Q网络进阶技巧
强化学习_07_DataWhale深度Q网络进阶技巧
2022-08-10 05:39:00 【Scc_hy】
习题
7-1 为什么传统的深度Q 网络的效果并不好?可以参考其公式Q(st, at) = rt + maxa Q(st+1, a) 来描述。
因为实际上在做的时候,我们要让左边的式子跟目标越接近越好。但目标值很容易一不小心被设得太高,因为在计算目标的时候,实际采用的是哪个动作获得最大价值,就把它加上去变成我们的目标。即,每次我们都会选择哪个Q值被高估的动作,总是会选哪个奖励被高估的动作这个最大的结果去加上rt当目标,所以目标总是太大。
7-2 接着上个思考题,我们应该怎么解决目标值总是太大的问题呢?
采用双深度Q网络解决该问题。在双深度网络中,第一个Q网络决定哪一个动作的Q值最大,用第一个Q网络遍历全部的动作a,去看看那个Q值最大,依此选定动作。我们的Q值是用Q’估算的。
因为假设我们有两个Q 函数,假设第一个Q 函数高估了它现在选出来的动作a,那没关系,只要第二个Q 函数Q′ 没有高估这个动作a 的值,那你算出来的,就还是正常的值。假设反过来是Q′ 高估了某一个动作的值,那也没差
7-3 哪来的Q 与Q′ 这两个网络呢?
- 目标的Q 网络:计算价值
- 真正更新的Q 网络:进行动作选择
- 来源:之前最佳动作用目标Q网络计算,现在改成了会更新的Q网络计算
7-4 如何理解竞争深度Q 网络的模型变化带来的好处?
我们最终的矩阵Q<s, a>的结果是将每一个V加到矩阵A<s, a>中得到的。从模型的角度考虑,
我们的网络改变的不是Q<s, a>而是改变V, A。在更新时不一定会将V和Q<s, a>都更新。我们将其分成两个部分后,
我们就不需要将所有的状态-动作都采样一遍,这样就可以更加高效的估计Q值
7-5 使用蒙特卡罗和时序差分平衡方法的优劣分别有哪些
优势:
因为我们现在采样了比较多的步骤,之前是只采样一步,所以某一步得到的数据是真实值,接下来都是Q值估计出来的。
现在比较多步骤,采样N步才估测价值,所以估测的部分所造成的影响就回比较小。
劣势:
N步相加,会增加对应的方差。但是可以通过调整N值,在方差与不精确的Q值之间做衡量
边栏推荐
猜你喜欢
网页安全证书错误但无法安装证书的解决办法
如何在AdsPower中设置YiLu代理?
R language cluster analysis - code analysis
Myunity框架笔记2
vscode + ccls环境配置
Talking about 3 common shadow rendering techniques in games (1): plane shadow
Unity plug-in DOTween User Guide 2 (Brief explanation of Bezier curves)
Hypervisor, KVM, QEMU总结
全网可达,交换机和路由器的配置,vlan
共享静态IP与独享静态ip有何区别
随机推荐
优先级队列,大小顶堆PriorityQueue
酸回收工艺原理
markdown使用技巧
vsnprint和snprintf的区别
Unity屏幕坐标转世界坐标,鼠标点击获取三维位置
【备份】《Unity Shader入门精要》配图
8个问题轻松掌握Unity前向渲染
unity守则(随时持续更新\自我总结)
UnityShader入门精要-透明效果
超纯水抛光树脂
Unity screen coordinates to world coordinates, mouse click to get 3D position
UnityShader入门精要-立方体纹理、反射、折射、菲涅尔反射
C#热更新比Lua好在哪里?
unity瓦片地图调整图片大小
OpenGL学习笔记(LearnOpenGL)-第三部分 绘制矩形
Analysis of minix_super_block.s_ninodes of mkfs.minix.c
unity箭头控制物体移动
手把手教你改内核源码--sysfs虚拟文件系统2
UnityShader入门精要-基础纹理
Two-dimensional cartoon rendering of strokes