深度学习曲线怎么看?

https://zhuanlan.zhihu.com/p/342919579

   

   

   

好用的强化学习算法是?

超参数很容易调整或确定。SAC的 reward scaling 可以在训练前直接推算出来。PPO超参数的细微改变不会极大地影响训练

训练快,收敛稳、得分高。看下面的学习曲线 learning curve

弯弯曲曲的学习曲线很正常,图片截取自 Ape-X 与 SAC 论文

学习曲线怎么看?

横轴可以是训练所需的步数(智能体与环境交互的次数)、训练轮数(达到固定步数、失败、通关 就终止终止这一轮的训练episode)、训练耗时(这个指标还与设备性能有关)

纵轴可以是 每轮得分( 每一轮的每一步的reward 加起来,episode return),对于没有终止状态的任务,可以计算某个时间窗口内reward之和

有时候还有用 plt.fill_between 之类的上下std画出来的波动范围,用于让崎岖的曲线更好看一点:先选择某一段数据,然后计算它的均值,再把它的标准差画出来,甚至可以画出它的上下偏差(琴形图)。如果同一个策略在环境随机重置后得分相差很大,那么就需要多测几次。

好的算法的学习曲线应该是?

训练快,曲线越快达到某个目标分数 target reward (需要多测几次的结果才有说服力)

收敛稳,曲线后期不抖动(曲线在前期剧烈抖动是可以接受的)

得分高,曲线的最高点可以达到很高(即便曲线后期下降地很厉害也没关系,因为我们可以保存整个训练期间"平均得分"最高的模型)

一般地,学习曲线长这个样子↙,过于平滑的学习曲线↘应该激起怀疑:

对比诚实的DQN训练结果,左图为Nature 2015 DQN的诚实结果。右图为黄鸿基的不诚实结果。

上图右侧粉色曲线必定是造假的结果,而且极为拙劣

 

叶强:《强化学习》第三讲 动态规划寻找最优策略 :"本讲着重讲解了利用动态规划来进行强化学习,具体是进行强化学习中的"规划",也就是在已知模型的基础上判断一个策略的价值函数,并在此基础上寻找到最优的策略和最优价值函数,或者直接寻找最优策略和最优价值函数。本讲是整个强化学习课程核心内容的引子。"

很多刚入门的会理解错加粗的话,换我来解释:强化学习会以"寻找最优策略"为目标,试图找出最优策略。「试图」这个词很重要,实际使用中,增加训练量不一定保证学习曲线会一直上升,甚至不能保证上升趋势。上面黄鸿基由于缺乏对DRL的理解,导致它伪造的曲线后期是平的(这个人没理解什么叫收敛)。下图截取自Parametrized DQN,可以看到,在一个不简单的任务中,背景浅色的曲线非常波折,得平滑后才能得到有较好可视化效果的曲线。

截图来自 Parametrized DQN 的图5,这是正常的learning curve

   

   

posted @ 2022-09-04 20:15  atomxing  阅读(2363)  评论(0编辑  收藏  举报