本篇博客将结合蘑菇书来就之前介绍的强化学习概念进行回顾,主要通过Q&A方式进行。
Q1-1:强化学习的基本结构是什么?
A:
actor、environment、reward。environment将提供一个状态向量s给actor,actor得到s根据策略进行action获得reward,环境受到action影响变为下一个状态s'。actor的目的是最大化reward
Q1-2:为什么强化学习相对于监督学习的训练过程更加困难?
A:
1.强化学习的数据集是时序序列,actor、reward、action、s、policy等会随着时间不断变化,而监督学习的数据集往往是独立同分布的
2.强化学习的reward具有时延效应,reward不能及时反馈
3.监督学习的数据集有标注好的标签,而RL选择action只能根据最大化reward来优化
Q1-3:强化学习的基本特征有哪些?
A:
1.有探索过程,即通过不断和环境交互来获得对环境的判断
2.actor会从environment中获得具有时延的reward
3.训练的时间非常重要,因为数据都是时间序列数据
4.actor的action将会影响reward
Q1-4:状态和观测有什么关系?
A:
状态是对环境的完整描述,观测是对环境的部分描述
Q1-5:一个强化学习智能体由什么构成?
A:
1.策略函数,actor通过policy来进行下一步的action,策略包括随机性策略和确定性策略。随机性策略是一个action的概率分布,确定性策略是一个确定性的action
2.价值函数,价值函数表述的是当前状态下执行当前策略actor的平均回报
3.actor模型,actor模型负责理解environment,决定系统如何运行
Q1-6:可以把智能体分为哪几类?
A:
1.基于价值函数的智能体。显式学习价值函数,隐式学习智能体的策略。
2.基于策略的智能体。直接学习策略,给actor一个状态,其直接输出对应的动作概率
3.将上述两种结合。
Q1-7:基于策略学习和基于价值学习的强化学习方法有什么区别?
A:
1.基于策略学习的方法,根据policy产生action,算法将直接更新policy使得回报最大;基于价值学习的方法,actor不需要制定显式的策略,而是通过更新价值函数如V来选取使得V最大的action
2.基于价值的方法只适用于离散环境,如围棋和某些游戏领域;对于行为集合庞大或是动作连续的场景,该方法效果较差
3.基于价值的方法有Q-learning、Sarsa,基于策略爹待定的算法如策略梯度算法
4.actor-critic算法同时使用策略和价值评估做决策,actor根据策略做出动作,critic将根据actor评估价值。
上述问题基本是基础性的概念性题目,下面给出一些用来考察中高级架构师的问题
Q2-1:一句话描述对强化学习的认识
A:主要包括actor、environment、reward,actor根据policy通过action与environment交互,使得reward最大。
Q2-2:强化学习、监督学习、无监督学习的差别
A:强化学习和无监督学习不需要像监督学习意义依赖有标签的数据集;无监督学习直接通过给定的数据进建模来寻找数据中的隐藏结构;强化学习通过延迟奖励学习策略来不断使模型和目标接近,并通过reward函数判断模型和目标的差距。强化学习处理的是序列数据,彼此相关性较强,而监督学习处理的数据往往是独立同分布的
Q2-3:强化学习的场景有哪些
A:具有马尔科夫性的问题,即当前状态中包含所有和未来状态有关的历史状态的信息。
Q2-4:
A:强化学习的损失函数目的是使回报最大化,深度学习的损失函数的目的是使预测值和真实值差距尽可能小。
Q2-5:模型和免模型的差异?
A:有模型就是对environment进行建模,免模型则actor直接和真实的environemnt进行交互。免模型方法对于真实环境具有更好的泛化能力,需要较多的数据采样来优化策略。有模型方法需要对环境进行建模,如果建模差异较大,将会影响actor的泛化能力。