强化学习训练过程中的过度拟合(overfitting)
相关:
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)的更多相关文章
- 深度学习训练过程中的学习率衰减策略及pytorch实现
学习率是深度学习中的一个重要超参数,选择合适的学习率能够帮助模型更好地收敛. 本文主要介绍深度学习训练过程中的6种学习率衰减策略以及相应的Pytorch实现. 1. StepLR 按固定的训练epoc ...
- TensorFlow之tf.nn.dropout():防止模型训练过程中的过拟合问题
一:适用范围: tf.nn.dropout是TensorFlow里面为了防止或减轻过拟合而使用的函数,它一般用在全连接层 二:原理: dropout就是在不同的训练过程中随机扔掉一部分神经元.也就是让 ...
- 从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化
从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化 神经网络在训练过程中,为应对过拟合问题,可以采用正则化方法(regularization),一种常用的正则化方法是L2正则化. 神经网络中 ...
- 如何使用自对弈强化学习训练一个五子棋机器人Alpha Gobang Zero
前言 2016年3月,Alpha Go 与围棋世界冠军.职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜,在当时引起了轩然大波.2017年10月,谷歌公布了新版五子棋程序 AlphaGo Ze ...
- 关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)
关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录) 作者:王可利(Star·星星) HTML中 相对定位:position:relative; 绝对定位:position ...
- 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)
利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录) 作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...
- html/css 盒子布局 Margin 、Padding 、border 以及 清除浮动的知识 (学习HTML过程中的小记录)
html/css 盒子布局 Margin .Padding .border 以及 清除浮动的知识 (学习HTML过程中的小记录) 作者:王可利(Star·星星) width 是"宽 ...
- (转)理解YOLOv2训练过程中输出参数含义
最近有人问起在YOLOv2训练过程中输出在终端的不同的参数分别代表什么含义,如何去理解这些参数?本篇文章中我将尝试着去回答这个有趣的问题. 刚好现在我正在训练一个YOLOv2模型,拿这个真实的例子来讨 ...
- tensorflow训练过程中内存溢出
罪魁祸首是训练过程中给模型传值时的如下语句:
- 理解YOLOv2训练过程中输出参数含义
原英文地址: https://timebutt.github.io/static/understanding-yolov2-training-output/ 最近有人问起在YOLOv2训练过程中输出在 ...
随机推荐
- SMU Summer 2023 Contest Round 3
SMU Summer 2023 Contest Round 3 A. Curriculum Vitae 题意就是要求\(1\)后面不能有\(0\)的情况下的子序列最长长度, 也就是求一个最长不下降子序 ...
- Linux驱动小技巧 | 利用DRIVER_ATTR实现调用内核函数
1. 前言 很多朋友在调试驱动的时候,都会遇到这样一个场景: 修改一个参数,然后调用某个内核中的函数. 比如将某个gpio的值拉高/拉低,修改某个寄存器的值等等. 如果每一个参数都通过字符设备的ioc ...
- 初三年后集训测试---T1排序
初三年后集训测试 $T 1 $ 排序 $$HZOI$$ ·题意: 给定 \(4n\) 个整数,求 : \[\max\{\sum_{i=1}^{4n}(A_{i,1} \times A_{i,2} - ...
- React挂载dom无效的问题
话不多说,先上代码. 根据我的猜测,ReactDOM.render()这个函数,也就是挂载的意思是将内容进行替换,所以我的vdom1在调试的时候没有展示出来. 然后我创建了两个div块,分别挂载vdo ...
- 【Markdown】之使用教程
Markdown 教程 https://testerhome.com/markdown Guide 这是一篇讲解如何正确使用 Markdown 的排版示例,学会这个很有必要,能让你的文章有更佳清晰的排 ...
- Java面试集锦(一)
计算机网络 摘要:1. 在浏览器中输入url地址 显示主页的过程,整个过程会使用哪些协议 image.jpeg总体来说分为以下几个过程: DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回 ...
- el-form 自定义验证规则,手动触发某项验证
1. ui <el-form ref="xXXForm" :rules="XXXFormRules" > <el-form-item labe ...
- 常回家看看之house_of_kiwi
house of kiwi 前言:house_of_kiwi 一般是通过触发__malloc_assert来刷新IO流,最后可以劫持程序流或者通过和setcontext来打配合来进行栈迁移来得到fla ...
- 科技助力上亿用户隐私安全保护,合合信息两款产品再获CCIA PIA星级标识
随着互联网技术的飞速发展,个人信息的收集.存储.使用和传输变得日益频繁,其泄露和滥用的风险也随之增加,个人信息保护已成为社会共同关注的热点议题.近期,"中国网络安全产业联盟(CCIA)数据安 ...
- QT6 QML编程
QT6 QML编程 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C++扩展开发视频课程 免费QT视频课程 您可以看免费1000+个QT技 ...