相关:

A.I. Learns to Drive From Scratch in Trackmania

本文讨论的是强化学习中的过度拟合问题,要知道强化学习中的过拟合和其他的监督、无监督学习的过拟合不太一样,主要是因为强化学习中的过拟合情况复杂、场景多样,难以用简单语言描述,而监督、无监督学习中的过拟合情况单一容易描述,所以在强化学习中对于过拟合的问题都是极少的,或者是要针对特定情况给出举例的,而本文就依照这个赛车游戏问题给出一种情况的强化学习过拟合问题。

在这个游戏中(A.I. Learns to Drive From Scratch in Trackmania)是使用DQN进行训练的,由于这个这个游戏环境比较复杂,因此DQN训练的agent的episode的长度增长十分的缓慢,由于episode长度增长缓慢反之导致agent对新场景见的频率极低,而这反过来加剧了agent的episodes的长度的训练困难性,于是陷入到循环困难中导致DQN难以有很好的效果和算法性能,可以看到这种问题的出现就是因为游戏难度大导致agent长期陷入到较短episodes环境中从而出现了对较短路径的过拟合于是更难以探索更长episode了。

为了解决这里的过拟合问题,原作者使用随机生成赛车出发点的方式进行训练,结果发现很好的克服了过拟合问题,使agent的性能在训练过程中有了明显提升。在这里使用随机生成出发点的方法和随机生成不同的小地图进行训练时同样的作用的,都是克服agent的过拟合的。

这时候可能有人会问,为什么在DQN运行在atari游戏环境下没有出现过拟合,而在这个赛车游戏中出现了过拟合了呢?其实答案很简单,那就是因为这里的这个赛车游戏难度明显高于大部分的atari游戏,导致agent的episode长度很短,并且难以增长,所以导致大部分的训练数据(采集到的数据)都停滞在较短的episodes的背景下,由此产生了大量的相似训练数据,于是导致出现了这里的过拟合问题;而atari游戏相对简单些,DQN在atari游戏中可以保持一个比较好的episode长度的增长速率,这样随着agent在atari游戏中episode的长度增加自然就避免了agent陷入过拟合问题中。可以认为这里的赛车游戏出现的过拟合就是因为agent陷入了较差的局部最优解中,导致大量的低质量的探索数据,从而产生了过拟合,反过来导致agent在局部最优中更加难以跳出,如此陷入反复恶化的情景中。

强化学习算法library库:(集成库)

https://github.com/Denys88/rl_games

https://github.com/Domattee/gymTouch

个人github博客地址:

https://devilmaycry812839668.github.io/

强化学习训练过程中的过度拟合(overfitting)的更多相关文章

  1. 深度学习训练过程中的学习率衰减策略及pytorch实现

    学习率是深度学习中的一个重要超参数,选择合适的学习率能够帮助模型更好地收敛. 本文主要介绍深度学习训练过程中的6种学习率衰减策略以及相应的Pytorch实现. 1. StepLR 按固定的训练epoc ...

  2. TensorFlow之tf.nn.dropout():防止模型训练过程中的过拟合问题

    一:适用范围: tf.nn.dropout是TensorFlow里面为了防止或减轻过拟合而使用的函数,它一般用在全连接层 二:原理: dropout就是在不同的训练过程中随机扔掉一部分神经元.也就是让 ...

  3. 从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化

    从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化 神经网络在训练过程中,为应对过拟合问题,可以采用正则化方法(regularization),一种常用的正则化方法是L2正则化. 神经网络中 ...

  4. 如何使用自对弈强化学习训练一个五子棋机器人Alpha Gobang Zero

    前言 2016年3月,Alpha Go 与围棋世界冠军.职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜,在当时引起了轩然大波.2017年10月,谷歌公布了新版五子棋程序 AlphaGo Ze ...

  5. 关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)

    关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)   作者:王可利(Star·星星) HTML中 相对定位:position:relative; 绝对定位:position ...

  6. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

    利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...

  7. html/css 盒子布局 Margin 、Padding 、border 以及 清除浮动的知识 (学习HTML过程中的小记录)

    html/css  盒子布局 Margin .Padding .border 以及 清除浮动的知识 (学习HTML过程中的小记录) 作者:王可利(Star·星星) width     是"宽 ...

  8. (转)理解YOLOv2训练过程中输出参数含义

    最近有人问起在YOLOv2训练过程中输出在终端的不同的参数分别代表什么含义,如何去理解这些参数?本篇文章中我将尝试着去回答这个有趣的问题. 刚好现在我正在训练一个YOLOv2模型,拿这个真实的例子来讨 ...

  9. tensorflow训练过程中内存溢出

    罪魁祸首是训练过程中给模型传值时的如下语句:

  10. 理解YOLOv2训练过程中输出参数含义

    原英文地址: https://timebutt.github.io/static/understanding-yolov2-training-output/ 最近有人问起在YOLOv2训练过程中输出在 ...

随机推荐

  1. SMU 2024 spring 天梯赛4

    SMU 2024 spring 天梯赛4 7-1 心理阴影面积 - SMU 2024 spring 天梯赛4 (pintia.cn) 由 \(d = \frac{Ax+By+c}{\sqrt {A^2 ...

  2. 使用 preloadRouteComponents 提升 Nuxt 应用的性能

    title: 使用 preloadRouteComponents 提升 Nuxt 应用的性能 date: 2024/8/19 updated: 2024/8/19 author: cmdragon e ...

  3. zabbix 4.0监控web页面

    web监控 web监测是用来监控web程序的,可以监控web程序的平均下载速度.响应时间.HTTP状态码. 环境 至少有两台被监控主机 静态网页检测 选择监控主机 ​ 配置场景 web监测->创 ...

  4. 牛逼!Vue3.5的useTemplateRef让ref操作DOM更加丝滑

    前言 vue3中想要访问DOM和子组件可以使用ref进行模版引用,但是这个ref有一些让人迷惑的地方.比如定义的ref变量到底是一个响应式数据还是DOM元素?还有template中ref属性的值明明是 ...

  5. 后缀数组,SA

    主要是 \(O(n\log n)\) 倍增求 SA. (为什么这么短) const int N = 1e6 + 9; int n; int sa[N], sa_tmp[N], rk[N], ork[N ...

  6. vue项目自动导入components

    开发项目中一般组件都放在 components 目录下,对于一些高频使用的组件我们需要在入口文件中设置为全局组件, 一个一个搞,很繁琐,这里通过webpack自动挂载components为全局组件. ...

  7. FALCON:打破界限,粗粒度标签的无监督细粒度类别推断,已开源| ICML'24

    在许多实际应用中,相对于反映类别之间微妙差异的细粒度标签,我们更容易获取粗粒度标签.然而,现有方法无法利用粗标签以无监督的方式推断细粒度标签.为了填补这个空白,论文提出了FALCON,一种从粗粒度标记 ...

  8. InfoTS: 具有信息感知增强的时间序列对比学习《Time Series Contrastive Learning with Information-Aware Augmentations》(对比学习、信息感知增强、高保真、多样性、信息论-信息瓶颈、元学习器)(没看懂,还需要再回顾)

    现在是2024年5月23日,14:30,开始看论文. 论文:Time Series Contrastive Learning with Information-Aware Augmentations ...

  9. Google Analytics – GA4 & Tag Manager 概念篇

    前言 当我们设计好网站或者 App 后, 我们要怎样知道这个产品用户是否满意呢? 如果发掘潜在的提升空间呢? 等用户反馈? 投诉? 显然不是上策, 更好的方式是观察. 身为一个产品经理, 我只要看着你 ...

  10. Tomcat——IDEA中创建 Maven Web 项目

    IDEA中创建 Maven Web 项目    首先创建一个新的空项目        1.使用骨架      新建模块-找到如下骨架-创建              删除pom.xml中多余的坐标   ...