1 强化学习
1.1 定义
强化学习是机器学习学习方式的一种,是让计算机实现从一开始完全随机的进行操作,通过不断试错的方式去总结出每一步的最佳行为决策,基于环境给予的反馈,去调整自己的行为决策,从而对未来的行为给出最优决策。强化学习已广泛应用于无人驾驶、机器人控制、游戏对弈、推荐系统中。
1.2 机器学习分类
根据学习范式的不同,机器学习可划分为有监督学习、无监督学习、半监督学习、强化学习。
-
(1)监督学习:
训练数据有标签,通过算法建模,学习出数据输入与标签之间的映射关系,从而对未来的输入进行标签预测。根据标记信息的“离散”或“连续性”,监督分为“分类”和“回归”两类。如,神经网络、支持向量机、近期邻居法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类等。
-
(2)无监督学习:
训练数据无标签,通过算法建模,学习总结出数据中的共性模式,从而对未来的数据进行编码、聚类等。如,PCA、k-means聚类等。
-
(3)半监督学习:
训练数据中少量标注样本和大量未标注样本,半监督学习是介于有监督学习和无监督学习两者之间的学习技术,它同时利用有标记样本与无标记样本进行学习。通过算法建模,学习出数据输入与标签之间的映射关系,从而对未来的输入进行标签预测。
-
(4)强化学习:
训练数据无标签,但需要学习环境给出反馈,基于环境给出的反馈来不断优化调整自己的行为决策。从而对未来的行为给出最优决策。如,Q-Learning、DQN、蒙特卡洛方法等。
1.3 强化学习组成部分
强化学习主要由两个主体、四个部分组成。
(1)两个主体
-
Agent:代理人,即采取行动的个体,如玩家。
-
Environment:环境,能对行动产生反馈,如游戏规则。
(2)四个部分
<A, S, R, P> Action space , State space ,Reward, Policy
-
A:动作空间,即Agent采取行动的所有动作空间。如对于贪吃蛇游戏,就是上下左右的离散操作空间;而对于驾驶类游戏,则是向左向右和液氮加速等的连续空间。
-
S:状态空间,对于Agent采取行动后的反馈状态。贪吃蛇的身体长度位置、卡丁车的速度位置等,都是State。
-
R:奖励,实数值,顾名思义,就是奖赏或惩罚。
-
P:策略,即Agent在状态s ∈ S s\in Ss∈S下会采取什么行动a ∈ A a\in Aa∈A。
强化学习,就是在环境E下,由Agent根据状态S采取动作A,为了获得最大奖励R而不断训练生成策略P的过程。
2 强化学习的分类
2.1 按照是否对环境建模(环境是否已知)来分
-
(1)Model-Free RL(不对环境进行建模)
model就是用模型来表示上述提到的环境,不尝试去理解环境,环境给了我们什么就是什么,从环境中得到反馈然后从中学习,环境未知,如在公园里,无地图,通过不断试错摸索找到出口。如Q learning、Sarsa、Policy Gradients等。 -
(2)Model-Based RL(对环境进行建模)
通过过往的经验,先理解真实世界是怎么样的,并建立一个模型来模拟现实世界的反馈,不仅可以在真实世界中动作,也可以在虚拟环境中动作。能够通过想象来预判接下来将要发生的所有情况,然后选择这些想象情况中最好的那种,并依据这种情况来采取下一步的策略,环境已知,如在公园里,有地图,可动态规划找到出口,alphaGo就是用的此类。还是上述方法,只是加入和环境建模。
2.2 按照学习目标来分
(1)Policy-Based RL(基于概率)
通过感官分析所处的环境,直接输出下一步要采取的各种动作的概率,然后根据概率采取行动,所以每种动作都有可能被选中,只是可能性不同。如,Policy Gradients等。
(2)Value-Based RL(基于价值)
输出所有动作的价值,根据最高价值来选择动作。如,Q learning、Sarsa等。(对于不连续的动作,这两种方法都可行,但如果是连续的动作基于价值的方法是不能用的,我们只能用一个概率分布在连续动作中选择特定的动作)。
(3)Actor-Critic
我们还能结合这两种方法建立一种Actor-Critic的方法,基于概率会给出做出的动作,基于价值会对做出的动作的价值二者的综合。
2.3 按照策略更新方式来分
(1)Monte-Carlo update(回合更新)
游戏开始到结束更新一次模型参数(行为准则)。如,基础版Policy Gradients、Monte-Carlo Learing等。
(2)Temporal-Difference update(单步更新)
游戏开始到结束中的每一步都会更新一次模型参数(行为准则)。如,Q Learning、Sarsa、升级版Policy Gradient等。
2.4 按照学习方式来分
(1)online RL(在线强化学习)
学习过程中,智能体需要和真实环境进行交互(边玩边学习)。并且在线强化学习可分为on-policy RL和off-policy RL。on-policy采用的是当前策略搜集的数据训练模型,每条数据仅使用一次。off-policy训练采用的数据不需要是当前策略搜集的。如,Sarsa、Sarsa lambda等。
(2)offline RL(离线强化学习)
学习过程中,不与真实环境进行交互,只从过往经验(dataset)中直接学习,而dataset是采用别的策略收集的数据,并且采集数据的策略并不是近似最优策略。如,Q learning等。