机器学习是把带标签的数据训练模型,使得预测值尽可能接近真实值。
强化学习是通过和环境交互,奖励来训练模型,使得最后获取的奖励最大期望值。
在强化学习中,机器基于环境做出行为,正确的行为能够获得奖励。
以获得更多奖励为目标,实现机器与环境的最优互动。
如教狗子握手的时候,如果狗子正确握手,就能得到骨头奖励,不握手就没有。
如果咬了主人一口,还会受到惩罚。
长此以往,狗子为了得到更多骨头,就能学会握手这个技能。
强化学习和机器学习最大不同在于,环境未知。
因为环境未知,所以我们不能通过大量数据得到决策。
只能通过和环境的交互中,不断改进策略。
强化学习的发展历史:
强化学习可分为离散、连续场景。
离散场景:机器行为的有限的,如动作类游戏。只有向上、向下、向左、向右这 4 个动作,移动也只能一格一格地走。
可以把每个状态下的所有行为列举出来,用评论家为每个行为打分,通过选择最高分的行为实现最优互动。
因为需要评估每个行为的价值,所以这种学习方法被称为基于行为价值的方法。
基于值的方法需要根据每个行为的价值进行打分,选出价值最高的行为。
由于要穷举出所有行为,因此它只适用于离散场景(动作类游戏),无法应对连续场景。
Q-Learning 和 DQN 算法,都属于基于值的强化学习方法。
优势在于,基于行为价值的方法能实时反馈。
可以根据每个行为的价值进行打分,这个分数就相当于每个行为的实时反馈。
连续场景:机器的行为是连贯的,如赛车的方向盘转动角度可以在一定区间内任意取值,角度之间可以无限分割。
还有基于行为概率的方法,无需根据每个行为的价值来打分,可以很好地胜任连续场景。
基于行为概率策略的方法并不需要考虑行为的价值,而是反应调整。
机器会在训练过程中随机抽取一些行为,与环境互动。如果行为获得了奖励,就会提高选择它的概率。以后遇到同样的状态时,有更高的概率再次做出这个行为。
相反,如果未获得奖励,或者受到了惩罚,就保持或者降低该行为的概率。
经过大量训练,最终会得出连续行为的概率分布。
基于这样的原理,一个行为能获得越多奖励,被选择的概率就越大,从而实现机器和环境的最优化互动。
PPO、演员-评论家 就是能处理连续场景的算法。
优势在于,基于策略的方法能应用连续场景上。但不能实时反馈。
机器在与环境互动时,难以得到实时反馈,往往要在整个回合结束后才能获得奖励。
如赢一盘棋是正向奖励,输一盘棋是负面奖励,但棋局中某一颗棋子的价值很难即时评估。
想要提高学习效率,就必须想办法提供实时反馈。
有没有办法可以在应对连续场景上的优点,和离散场景在实时反馈上的优点结合呢?
比如演员-评论家算法。
这个算法分成两半,一半是演员,另一半是评论家。
演员:这一半基于概率分布,策略梯度算法。它有一个神经网络,可以根据行为的概率,选出行为。
评论家:这一半基于行为价值,DQN 算法。它有一个神经网络,可以根据行为的价值进行打分。
将概率分布和行为价值的方法相结合:
概率分布网络就像写作业的学生,行为价值网络就像批改作业的老师。
二者结合,反复地写作业、改作业,对比方法,找出最好的方法。
?
强化学习六要素:环境、策略、状态、行为、奖励、评论家。
如在对弈的环境中,策略根据棋盘上的状态,做出落子行为,每盘棋的胜负获得奖励。
模拟足够多棋局后,评论家就可以通过计算预测出每步棋对整盘棋的价值,为其打分。
在强化学习中,容易混淆的概念有:状态奖励函数、状态价值函数、动作奖励函数、动作价值函数。
奖励函数直接与环境相连,为算法提供即时的反馈。
奖励函数有两种类型:
状态奖励函数:为智能体到达或处于特定状态时提供的即时奖励。如走迷宫,到达出口可能立即给予正奖励。
动作奖励函数:为执行特定动作而提供的即时奖励。如下棋,吃掉对方的重要棋子可能立即获得奖励。
评论家(或价值函数)在强化学习中用于评估和指导策略的长期效益,基于累积奖励的概念。
状态奖励函数、状态价值函数关注到达某状态的价值 - 前者是当下回报、后者是长期回报。
动作奖励函数、动作价值函数关注执行某动作的价值 - 前者是当下回报、后者是长期回报。
奖励函数提供即时反馈,价值函数预估长期收益。
通过与环境的交互,不断更新策略和价值函数来改进决策。
记录于 — 演员-评论家算法:多智能体强化学习核心框架
?