北大公开课-人工智能基础 62 机器学习的范型之强化学习范式


强化学习是一种机器学习方法,关注智能体与环境之间的交互,目标是追求最大回报。强化学习的特点包括:无监督,仅有奖励信号;反馈有延迟,不是瞬时的;时间是重要的(由于是时序数据,不是独立同分布的);Agent的动作会影响后续得到的数据等。
在强化学习中,回报值(reward)是智能体与环境交互的结果,是智能体在某个状态下采取某个动作后获得的奖励或惩罚,是智能体行动的目标。回报值承担了以下作用:1)指导智能体学习,2)定义任务目标,3)评估智能体的性能。在强化学习中,回报值是一个随机变量,因此需要取期望来计算¹³²。


有监督学习、无监督学习、强化学习三者的区别
监督学习、无监督学习和强化学习是机器学习的三种主要方法。
——监督学习是一种目的明确的训练方式,需要给数据打标签,你知道得到的是什么;
——无监督学习则是没有明确目的的训练方式,不需要给数据打标签,你无法提前知道结果是什么。
——强化学习是执行多步之后才反馈,看重的是行为序列下的长期收益。
总结一下区别:
- 监督学习有反馈,无监督学习无反馈,强化学习是执行多步之后才反馈。
- 强化学习的目标与监督学习的目标不一样,即强化学习看重的是行为序列下的长期收益,而监督学习往往关注的是和标签或已知输出的误差。


【基于模型的强化学习】
基于模型的强化学习(Model-Based Reinforcement Learning)是强化学习的一个重要分支。在这种方法中,智能体通过与环境交互的信息学习一个环境动力学模型,然后利用该模型生成数据优化行动策略,或者利用模型进行规划¹。
具体来说,基于模型的强化学习方法,在内部可以分为两个阶段:怎么学和怎么用。如果模型已知,也就是如何用,总体上有两种方法:第一种policy based method,额外学出一个policy model去找到当前最好的action;第二种value based method,直接在model上进行value iteration。
【无模型的强化学习】
无模型的强化学习(Model-Free Reinforcement Learning)是强化学习的另一个重要分支。在这种方法中,智能体不需要先学习环境动力学模型,而是直接从与环境交互的数据中学习最优策略。这种方法通常属于数据驱动型方法,需要大量的采样来估计状态、动作及奖励函数,从而优化动作策略¹。无模型强化学习方法可以分为两类:基于价值的方法和基于策略的方法。





【DQN 深度Q值网络】
Deep Q-Network (DQN)是一种基于深度学习的强化学习算法,它使用深度神经网络来学习Q值函数,实现对环境中的最优行为的学习。DQN算法通过将经验存储在一个经验回放缓冲区中,以解决Q值函数的相关性问题,并使用固定的目标网络来稳定学习。DQN算法已经在Atari游戏¹、围棋²、星际争霸³等领域取得了成功应用。
Q值函数是一种用于衡量在某个状态下采取某个动作的价值的函数。在强化学习中,Q值函数是指智能体在某个状态下采取某个动作所能获得的期望回报。Q值函数可以用来指导智能体在环境中采取行动,以最大化长期回报。
【DPG 确定性策略梯度算法】
DPG确定性策略梯度算法(Deep Deterministic Policy Gradient)是一种可以解决连续性控制问题的方法,属于model-free,off-policy,policy-based的方法。它是基于Q值的确定性策略梯度算法(Deterministic Policy Gradient)的改进版,可以用于解决连续动作空间下的强化学习问题。
DPG算法可以用于解决连续动作空间下的强化学习问题,例如机器人控制、自动驾驶等领域。
【A3C 异步的优势动作评论家算法】
A3C算法是一种异步的优势动作评论家算法(Asynchronous Advantage Actor-Critic,A3C),是一种轻量级的深度强化学习框架,可以使用异步的梯度下降法来优化网络控制器的参数,并可以在多个CPU上并行运行。¹² A3C算法是一种基于Actor-Critic算法的改进版,它使用了多个并行的智能体来加速训练过程。
A3C算法可以用于解决连续动作空间下的强化学习问题,例如机器人控制、自动驾驶等领域。

【NEC神经情景控制】
NEC神经情景控制算法是DeepMind研究团队提出的一种新算法,可以快速吸收新经验和基于此采取行动的深度强化学习代理。该算法使用了一种价值函数的半值表示:一种过去经验的缓冲器,其包含了该价值函数的缓慢变化的状态表示和一个快速变化的情景表示。这种方法可以在广泛环境情景中显著提高学习速度,并且能够根据经验快速选择高度成功的策略。
NEC神经情景控制算法可以用于解决深度强化学习的缺陷,例如DQN和A3C中需要经过许多步骤才能选择成功策略的问题。

A3C算法解决游戏问题





需要不断通过外部反馈强化得到的学习情景


