以下是强化学习的入门指南:
文章作者为腾讯互动娱乐工程师 luozhiyun,原文地址:https://mp.weixin.qq.com/s/pOO0llKRKL1HKG8uz_Nm0A,感谢群友.com 的推荐。在学习前先明确目的,本文以搞懂 DQN 算法作为入门目标。像 https://github.com/ty4z2008/Qix/blob/master/dl.md 这类链接中有很多资料,但需筛选。
1.如果和我一样一点基础也没有,并且概率论和线性代数的知识差不多都忘完了,那么可以去看一下相关课程学习一下,如果不关注公式啥的,这一步可以先忽略,大约周末一天时间就可以搞定;2.然后如果对机器学习也一点基础都没有的话,可以先看吴恩达的课程,有个大致的理解,然后去看李宏毅的课程作为补充,如果单纯的想入门学习强化学习,那么只需要看前几节讲完神经网络那里就差不多了,这个视频课程估计要看25小时左右;3.学完之后可以跟着《动手学深度学习https://hrl.boyuai.com/》一起动手学习一下我们上面学到的概念,写写代码,如果只是入门的话看前五章就好了,本篇文章的很多资料也是整理自这本书,大约10小时左右;4.接下来可以看看B站王树森的深度学习的课程,可以先看前几节学习一下强化学习的基础知识点,大约5小时左右;5.到这个阶段估计还是懵的,需要去上手做点项目,那么可以看《动手学强化学习》这本书,已经开源了https://hrl.boyuai.com/,只看到DQN的部分,大约十几小时。
|Num|Observation|Min|Max||-|-|-|-||0|Cart位置|-4.8|4.8||1|Cart速度|-Inf|Inf||2|Pole角度|~-0.418 rad(-24°)|~0.418 rad(24°)||3|Pole角速度|-Inf|Inf|行动也只有两个,向左或向右,所以我们的模型也可以构建的很简单。下面来看看具体的代码,代码也是用chatgpt生成的,我稍微改了一下。我们的DQN的网络模型采用一层128个神经元的全连接并以ReLU作为激活函数,由于游戏不是很复杂所以选用简单的两层网络结构就行了:我们还需要一个缓存区来存放从环境中采样的数据:然后就是我们的训练函数,批量从缓存区获取数据,使用DQN算法进行训练:最后就是我们的主循环函数了,在每个episode中,我们选择一个动作(使用ε-greedy策略),执行该动作,并将结果存储在replay buffer中:训练完之后使用保存好的model.pth参数,就可以实际使用起来了:
文:腾讯互动娱乐工程师luozhiyun原文地址:https://mp.weixin.qq.com/s/pOO0llKRKL1HKG8uz_Nm0A感谢群友.com的推荐最近因为AI大火,笔者也对AI产生强烈的兴趣,于是开启了AI的学习之旅。其实我也没学过机器学习,对AI基本上一窍不通,但是好在身处在这个信息爆炸的时代,去网上随便一搜就可以获得大量的学习资料。像这个链接里面:https://github.com/ty4z2008/Qix/blob/master/dl.md就有很多资料,但是这相当于大海捞针。在学习之前我们先明确自己的目的是什么,如题这篇文章是入门强化学习,那么就需要定义什么是入门。在很多强化学习里面,学习深度强化学习的第一个算法都是DQN,这个算法也足够好学和实用,所以本篇文章就以搞懂它做为目标,表示入门。下面是我的学习计划: