前言
强化学习已经是一门很老的内容了,这从它被列为和监督学习与无监督学习并列的三大基本机器学习算法就可以看出来。但是在和深度学习结合后,强化学习焕发出了属于它的第二春。
虽然如此,但笔者还是必须提醒各位读者,强化学习相较于 CV/NLP 来说,仍然是一个非常冷门的方向,这不是没有原因的。总结原因如下:
强化学习概念繁多芜杂,并且没有办法绕开:作为一个研究强化学习的人,你得理解整个交互过程,绕不开的概念包括但不限于:智能体(agent)、环境(environment)、状态(state)、动作(action)、奖励(reward)、动作价值函数(Action-Value Function)、状态价值函数(State-Value Function)等。这足以使一个初学者头大。
强化学习涉及的数学知识较为高深,需要奠定较好的数理基础才能理解公式以及概念。马尔可夫过程作为强化学习最基本的模型,所需的前置知识包括以下内容:
- 概率论与数理统计,用于描述 MDP 模型。
- 线性代数,用向量来描述状态与动作。
- 统计学理论,众多算法都是基于统计学推导出来的。
- 最优化理论,众多算法都属于优化算法的范畴。
- 微积分,这是所有机器学习的内容都需要掌握的知识。
如果你不喜欢推导公式,那么强化学习对你来说可能并不是那么适合。
强化学习应用范围以及未来就业市场较为单一。研究强化学习的方向倒是很多,博弈论、资源分配优化、游戏、推荐等领域都能见到强化学习的身影。但是根据笔者的观察,强化学习将来的就业岗位较为单一,一般只有游戏公司招收强化学习相关的岗位。
强化学习固有的弊端,包括但不限于采样效率令人堪忧、奖励函数的设计过于玄学、学术领域的严重灌水以及源码的难以复现等。这对初学者造成了极大的困扰。
综上所述,强化学习是一个 “有坑” 的领域,入坑需谨慎!!!当然了,如果只是喜欢训练智能体 “打游戏”,那么平台上存在着众多的源代码项目可供参考,祝你玩得愉快!