强化学习调参经验

1.强化学习什么都学不到?

遇到这个问题,首先要确定是否是真的什么都学不到,还是训练不够,看似少量训练什么都学不到。因此进行强化学习过程中,我们最好是使用多环境,多线程同时训练。因为强化学习仿真环境多为cpu运行,因此我们的仿真环境可以是多核环境。

运行的环境数量为 cpu数量。多环境运行,效率拉满,以我本机为例。开了24个进程同时进行数据采集。这么一个方式大大提高了运行效率。

很多小白运行强化学习过程中,可能看到学了几天发现算法不收敛,以为是不work,但可能是因为训练不够,算力不够导致。所以建议强化学习尽量把性能拉满试验。

2.强化学习batch_size和n_steps的关系?

n_steps表示采集的经验数量,如果环境是24,同时采集,那么储存的经验相当于单环境的24倍,就如同鸣人的影分身一样,经验谁着分身数增多,而增大采集。经验池大小:512*24,是batch_size:2048的6倍作用,batch_size增大有利于学习稳定性。

以PPO算法为例:

PPO_PARAMS = {

"n_steps": 512,

"ent_coef": 0.05,

"learning_rate": 0.00025,

"n_epochs":8,#8, # 每个更新周期遍历 10 次

"batch_size": 2048,

"gamma" : 0.95,

"gae_lambda" : 0.95,#0.7,#0.9,

"clip_range" : 0.2

}

3.在面对序列数据的时候,到底是mlp更容易过拟合还是lstm更容易过拟合?

在提取序列数据方面,mlp方面更容易过拟合,因为mlp方面它比较难找出序列先后之间的关系,那么mlp在找不到相关关系,但又想要提高强化学习奖励,往往采用的措施就是把他们通通都记住。所以mlp在处理序列方面比lstm容易过拟合。这也是导致强化学习为什么泛化能力差的主要原因。

4.强化学习泛化能力差?

训练集表现很好,验证集表现很差,这是典型的过拟合。过拟合解决方案1.正则化,2.dropout。但是这两个方法往往效果都不佳。

过拟合解决能力:正则化效果>dropout

强化学习一般不使用dropout。因为加入dropout后效果一般难以收敛,因为不稳定。即使稳定了效果也很一般。

正则化视情况而定,如果效果不好,则不要继续使用。

正则化滥用有可能导致欠拟合。我们可以通过监测价值函数的梯度去查看是否是产生了欠拟合。如果价值函数输出都是同一个值且方差为0,说明欠拟合。以下是我打印的价值网络梯度,这是比较好的梯度情况。我没有使用正则化和dropout。所以你会发现有很多分散的小山丘,说明网络有很多神经元都有相应的梯度更新。

相关推荐
知行产研几秒前
神宝能源:启动国内首个极寒工况5G+无人驾驶项目
人工智能·自动驾驶
love530love8 分钟前
ComfyUI-3D-Pack:Windows 下手动编译 mesh_inpaint_processor C++ 加速模块
c++·人工智能·windows·python·3d·hunyuan3d·comfyui-3d-pack
uzong14 分钟前
“腾讯QClaw全面开放”,不花 Token 钱、真正体验一把小龙虾的快乐,最低成本全面了解龙虾
人工智能·后端
剑穗挂着新流苏31219 分钟前
111_神经网络的指路明灯:损失函数与反向传播深度解析
人工智能·深度学习·神经网络
ofoxcoding25 分钟前
怎么用 API 搭一个 AI 客服机器人?从零到上线的完整方案
人工智能·ai·机器人
Jial-(^V^)29 分钟前
使用api-key调用大模型(包括DeepSeek/GLM/OpenAI)
人工智能
格林威30 分钟前
工业相机图像采集:Grab Timeout 设置建议——拒绝“假死”与“丢帧”的黄金法则
开发语言·人工智能·数码相机·计算机视觉·c#·机器视觉·工业相机
忧郁的橙子.31 分钟前
08-QLora微调&GGUF模型转换、Qwen打包部署 ollama 运行
人工智能·深度学习·机器学习·qlora·打包部署 ollama
坚持学习前端日记33 分钟前
从零开始构建小说推荐智能体 - Coze 本地部署完整教程
大数据·人工智能·数据挖掘
码农三叔33 分钟前
自动驾驶技术演进:路径规划与行为决策的突破与落地
人工智能·机器学习·自动驾驶