为什么DQN会为所有观测值提供与动作空间中所有动作(2)中的所有动作相似的值

技术标签: 机器学习  计算机视觉  深度学习  凯拉斯  Q学习

我有一种DQN算法,该算法学习(损失收敛到0),但不幸的是它学习了Q值函数,因此两个可能的操作中每个Q值的两个Q值都非常相似。值得注意的是,Q值在每个观察结果上变化很小。

细节:

  • 该算法播放Openai体育馆的Cartpole-V1,但使用屏幕像素作为观察,而不是提供的4个值

  • 我提供的奖励功能提供了一个奖励:0.1,如果不是比赛,则为-1,如果结束了

  • 衰减率(伽马)为0.95

  • Epsilon的前3200个动作为1(以填充一些重播记忆),然后退火超过100,000个步骤,值为0.01

  • 重播记忆的尺寸为10,000

  • Conv Net的架构是:

    • 大小屏幕_pixels的输入层
    • Cons 1层具有32滤器,带有内核(8,8)和步幅(4,4),Relu激活函数,并且在输出上的大小与输入相同
    • Conv第2层具有64个带有内核(4,4)和步幅(2,2)的过滤器,Relu激活函数,并且在输出上的大小与输入相同
    • Conv第3层具有64个滤镜(3,3)和步幅(1,1)的过滤器,Relu激活函数,并且在输出上的大小与输入相同
    • 一个平坦的层(这是为了改变数据的形状,以便将其输入完全连接的层)
    • 完全连接的层具有512个节点和Relu激活函数
    • 一个带有2个节点的输出完全连接的层(动作空间)
  • 卷积神经网络的学习率为0.0001
  • 该代码是在Keras开发的,并使用了经验重播和双重深度Q学习
  • 原始图像从(400、600、3)减少到(60、84、4),通过灰度,调整,裁剪,然后将4张图像堆叠在一起,然后再将其提供给Conv Net
  • 目标网络每2个在线网络更新都会更新。

看答案

只要游戏结束,就可以在每一步中提供0.1的积极奖励,这可能会使游戏超过-1的惩罚几乎无关紧要。特别是考虑到您使用的折现因素。

在不查看您的源代码的情况下,很难判断,但我最初建议您在游戏结束时只提供负面的奖励并取消积极的回报。


智能推荐

定位项目中所有重复的程序

有时匆忙开发完了项目,很多功能因为赶时间没有仔细思考最优的实现,直接Ctrl+C,Ctrl+V,导致项目很多重复的程序。项目完成之后,想要进行项目优化。 如果你再一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们合而为一,程序会变得更好。 Idea开发工具已经为我们提供了这个功能。 操作 点击Idea的 Analyze -> Locate Duplicates.. 功能位置 配置如何...

自定义类加载器

 自定义类加载器 我们如果需要自定义类加载器,只需要继承ClassLoader类,并覆盖掉findClass方法即可。 自定义文件类加载器     自定义网络类加载器 热部署类加载器 当我们调用loadClass方法加载类时,会采用双亲委派模式,即如果类已经被加载,就从缓存中获取,不会重新加载。如果同一个class被同一个类加载器多次加载,则会报错。因此,我们要实现热...

用户界面和兼容性测试

用户界面测试 1 、导航测试 导航直观 Web系统的主要部分可通过主页存取 Web系统不需要站点地图、搜索引擎或其他的导航帮助 Web应用系统的页面结构、导航、菜单、连接的风格一致 2 、图形测试 图形有明确的用途 所有页面字体的风格一致。 背景颜色与字体颜色和前景颜色相搭配。 图片的大小减小到 30k 以下 文字回绕正确 3 、内容测试 Web应用系统提供的信息是正确的 信息无语法或拼写错误 可...

基于ECS部署LAMP环境搭建Drupal网站,云计算技术与应用报告

实验环境: 建站环境:Windows操作系统,基于ECS部署LAMP环境,阿里云资源, Web服务器:Apache,关联的数据库:MySQ PHP:Drupal 8 要求的PHP版本為7.0.33的版本 实验内容和要求:基于ECS部署LAMP环境搭建Drupal网站,drupal是一个好用且功能强大的内容管理系统(CMS),通常也被称为是内容管理框架(CMF),由来自全世界各地的开发人员共同开发和...

Cadence Allegro 17.4禁止start page启动设置方法

禁止start page启动 1、方法1:User Preferences Editor中设置 2、方法2:env文件中修改 电路精灵是什么? 1、方法1:User Preferences Editor中设置 输入 page 点击Search按钮,勾选allegro_no_startpage。点OK搞定。 2、方法2:env文件中修改 打开home里的env文件。 添加 set allegro_n...

猜你喜欢

虚拟机骚操作·Ubuntu16.04和UbuntuKylin16.04使用感受以及黑屏问题·Ubuntu下搜狗拼音输入法的n种问题AND推荐一些重装时的有用的一些问题链接

在很久没有使用虚拟机之后,我发现才用了一天的神级骚操作,为了给自己长点记性,先写下来再说 第一篇 虚拟机硬盘故障问题 分配空间20G结果当前大小130G是怎么肥四!!! 最后经过探讨,一致得出 我的虚拟机太迷了。。。估计是s001那个文件出了什么爆炸性问题吧 亏自己还进行了图三的一系列操作。。。 给的建议都是:你重装吧(说出来都是泪) 如果有大佬能告知是啥情况也好。。。 不过(划重点敲黑板) 除开...

mongodb 4.2.3版本安装

基本一直点击下一步就可以了 此版本的可视化工具无法安装 双击安装包 点击 next next下一步 选择安装方式 选择目录 正式安装 这个为可视化工具,但是安装不了,选择了会卡在 80%(其实已经功能安装完成,就是没有可视化工具) 检测是否安装成功 cmd 输入 mongo 出现错误信息 解决地址...

root-me networking writeup

1.FTP - authentication 追踪流TCP直接查看明文 2.TELNET - authentication 追踪流TCP 明文 3.ETHERNET - frame 先hex解码,再base64解码...

美食地图-上海食堂

搜索这个名字,你能读到和这家店有关的一些故事,据说老板娘是从上海搬来福州的,因为怀念小时候所吃到的上海家常菜,再加上父母的愿望,因此开了这样一家店。店面位于居民区中,并不太显眼,坐在店内,都能听到外面小区中的孩子玩耍的喊声。附近是有一所市级中学十八中,这家店也是深受中学生青睐的地方。菜品味道清淡,很有微博上一些博主所描述的「妈妈味道」的感觉。选一个假期,和另一半逛累了,就在这个地方吃一顿家常菜,这...

winXP JDK由1.8改为1.6

  (1)直接在环境变量中删除配置的相关路径 path的值: 删除配置的Oracle变量,如下所示: (2)执行java -version命令后报错 按提示更改注册表的相关键值:   重新打开一个cmd,执行java -version,命令正常执行:  ...

问答精选

How we can create Dataproc cluster through rest API or http request?

I am new in python, Here I want to create dataproc cluster using http request. I am following below dataproc documentation where they mentioned in REST API section. see below https://cloud.google.com/...

AddWithValue method on ASP.NET

I am using AddStringWithValue method in ASP.NET using C# My HTML code is My C# code for the method is: The problem is, it is giving red underline under email and password. Shouldn't we identify them w...

How to apply css using a condition?

I'm trying to apply this css: this works well, the problem is that the web app can set a class on the body called white-content, if the white-content class is setted, then I can't see the text of h2, ...

Tile game collision detection with sprite moving to arbitary (x,y)

So I am struggling with some logic for collision detection in my game. I have a grid of tiles(images), all representative of a value in a 2D array, so the location of tile N would be (column m, row n)...

Kotin sort by descending then ascending

Im trying to order a list on multiple parameters.. for example, one value descending, second value ascending, third value descending. is there a way like this to do it? (i know is incorrect) people = ...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答