一、强化学习基础知识
1.1 基本概念
强化学习(Reinforcement Leraning,又称再励学习,评价学习)是一种重要的机器学习算法。强化学习通过感知环境状态信息来学习动态系统的最优策略,通过试错法不断与环境交互来改善自己的行为,并具有对环境的先验知识要求低的优点,是一种可以应用到实时环境中的在线学习方式,因此在智能控制,机器学习等领域得到了广泛研究。
强化学习的任务就是学习从状态空间到动作空间的映射,其本质就是用参数化的函数来逼近“状态—动作”的映射关系。
1.2 强化学习的目的
强化学习算法的目的就是寻找一个策略 ,使得每个状态
的值
(或
)都同时达到最大。
所有的强化学习算法的机制都是基于值函数和策略之间的相互作用,如图1 所示。利用值函数可以改善策略,而利用对策略的评价又可以进行值函数的学习,改进值函数。强化学习就是在这种交互过程中,逐步得到最优值函数和最优策略。
图 2 值函数与策略间的相互作用
1.3 与监督学习和非监督学习的区别
监督式学习就好比你在学习的时候,有一个导师在旁边指点,他知道怎么是对的怎么是错的,但在很多实际问题中,例如 chess,go,这种有成千上万种组合方式的情况,不可能有一个导师知道所有可能的结果。而这时,强化学习会在没有任何标签的情况下,通过先尝试做出一些行为得到一个结果,通过这个结果是对还是错的反馈,调整之前的行为,就这样不断的调整,算法能够学习到在什么样的情况下选择什么样的行为可以得到最好的结果。就好比你有一只还没有训练好的小狗,每当它把屋子弄乱后,就减少美味食物的数量(惩罚),每次表现不错时,就加倍美味食物的数量(奖励),那么小狗最终会学到一个知识,就是把客厅弄乱是不好的行为。
两种学习方式都会学习出输入到输出的一个映射,监督式学习出的是之间的关系,可以告诉算法什么样的输入对应着什么样的输出,强化学习出的是给机器的反馈 reward function,即用来判断这个行为是好是坏。另外强化学习的结果反馈有延时,有时候可能需要走了很多步以后才知道以前的某一步的选择是好还是坏