(一)前言:强化学习入门顺序。
以前主要学习硬件PCB单片机等知识,后来接触的项目也大多与电气相关,从一窍不通到稍微找到点门道,中间走过不少弯路,误打误撞中,也留下了一些经验。
我的学习顺序:在后面给出评价
(1)学习神经网络
途径:某站的编程培训机构的白嫖课程,通俗易懂,小白能看得进去。
内容:卷积概念,实现原理,激活函数,全连接;bp,cnn,bnn稍微了解一下
(2)深度学习
途径:某站的吴恩达深度学习全套视频,讲的更严谨当然也更加抽象一些,不过是真的好。
内容:梯度下降,激活函数,前向传播和反向传播,局部最优解决方法等,多了解。
这个是深度学习CNN图片特征提取过程
(3)强化学习
途径:某站的李宏毅或王树森的强化学习视频
内容:基本常识,蒙特卡洛,马尔可夫链,SARSA算法,TD算法,DQN算法等基础。
(4)python编程
途径:莫烦python课程,可以用python在线编辑器先学着。
内容:python的基本语法,调用numpy库等,反正跟着课程走。莫烦的强化学习编程课(我没看)
(5)安装强化学习编程环境
途径:某站或者CSDN上就有很多教程,也可某宝直接带下安装,省事。、
内容:pycharm安装,anaconda安装,gym,numpy等常见库,记得学习这个软件怎么用。
6)找强化学习代码
途径:不必多说,应该都很多的,不过最恐怖的是,好多代码是不能直接拿来用或者需要代码给的不全,根本就跑不起来,所以在这里需要头疼一下,多费点心思。
内容:用DQN等算法跑起来的python程序,提醒一下,是要基于pytorch的而不是tensorflow的,前者好像更友好一点,后者我也没接触过。找到代码之后,主要看懂代码和复现代码,这个很重要。看不懂代码就跳回去再找理论视频看,弄懂算法原理。
(二)学习感触:
1.建议先学python,下载强化学习代码调试,再去看视频学习理论知识。因为我看强化学习和深度学习的时间有点早,导致下载代码看代码有困难,忘记算法的原理,又回去回炉重造。
2.做强化学习(RL)或者深度强化学习(DRL)对于硬件都是有较高要求的。入门阶段可以用普通配置的笔记本电脑跑代码,若想真想投身这个领域,显卡GPU,CPU,运存之类的硬件配置一定要跟上,这时候如果课题组有前期基础,就太棒了。我的代码开始比较晚,一方面是没有完整时间,另一方面是硬件配置跟不上(自己后来更换电脑了)。
3.看SCI二区及以上的论文,国内论文你稍微多看几篇就明白了,不必多说。一开始我是边看论文边看视频学理论知识,后来发现没啥用,因为没有跑代码,就很容易忘记。如果现在回过头来,我想说,应该先搞定强化学习入门之后,再去看论文,这样才能看明白,别人讲的啥,创新点在哪里,为什么优秀。而不是盲目从众去杠论文,因为,你没有理论基础+实操基础是真看不懂,顶多是认识了一下汉字而已,汉字背后的意思你又可能蒙蔽了。
4.一定一定要静下心来,学习的东西比较杂比较多,不静下心来,真的很容易崩溃。
5.可以通过写博客的方式激励自己持续学习,我也是到此刻突然明白自己为啥学起来很苦闷了。将所学的知识输出,这就是最快掌握的方式。
在后续文章中就不讲解最最基础的知识了,因为这些最最基础的知识可以通过看视频快速学到,用文字表述反而慢半拍。