强化学习101

Reinforcement Learning 101

Featured image

最近换了游戏公司的工作,看同事们隔三差五讨论RL,于是Flora偷偷来补习啦.

本文要点


基本概念 - Concepts


强化学习101

强化学习的本质就是学习如何作反应.强化学习系统通过与环境的互动,学会根据周围环境的状态作出合适的反应.这是它最接近人类学习方式的一点.

与机器学习其他方向的区别

与有监督学习(Supervised Learning)最大的不同是,强化学习的系统没有一个明确的“老师”(Supervisor).它是通过不断尝试不断翻车的过程进步,也就是Trial-and-error Search .
跟人一样,你现在做的选择可能不会对你的生活有立刻的影响,但是在未来的某一天,你发现这个决定其实改变了你人生的方向.
这就是RL的第二个特点,奖励可能延迟发生(Delayed Reward) .

智能体(Agent)

是强化学习系统的一个部分.一般满足这些要求:

比如,忘记给你过生日男朋友是智能体吗?
不是,因为他不能感受到环境目前的状态.

又比如,记得你生日但是没有给你过生日的男朋友是智能体吗?
不是,因为他不能做出行动,或者他的目标跟环境这个状态不相关.

咳咳…


强化学习系统的几种分类角度

1. 下一步的选择如何决定 —— Policy vs Value

强化学习系统可以分为基于策略的(Policy-based)和基于价值的(Value-based).

比如说,Flora去超市买东西,结账可以选择去人工柜台或者自助柜台.
Policy-based的设定可能是
去人工柜台的概率 40%
去自助柜台的概率 60%

而Value-based的设定可能是
去人工柜台的价值是 1
去自助柜台的价值是 2

然后通过学习,在不同状态下这里的数字会被更新.
如果环境需要智能体采取连续好几个行动,基于策略的系统就能把行动的概率累乘计算,而基于价值的系统就不能自然地计算价值了.

Policy Gradients算法属于基于策略的.
Q-learning算法、Sarsa算法都是基于价值的.
Actor-Critic算法, Actor按概率选择行动,是基于策略的; Critic对行动进行打分,是基于价值的,所以属于混合算法.

2. 系统更新方式 —— 回合 vs 单步

Monte-Carlo 回合更新 aka从谈恋爱开始到分手,最后总结所有历史行为,只更新一次策略
Temporal Difference 单步更新 aka一边谈恋爱一边总结经验.

明显逻辑上来说,单步更新更好 分了手才总结还有什么用

3. 经验数据的来源

举个例子, Q-Learning是一种Off-Policy算法,因为会看哪个动作在本状态下能取得最大价值maxQ,但是更新了Q表之后, 并不会直接走这一步.
Sarsa跟Sarsa(lambda)算法就属于On-Policy, 因为会直接走这一步,然后用动作在本状态下得到的真实的奖励更新Q表.也就是大家说的“说到做到”.
Deep Q Network也是一种离线算法.

4. 是否对环境建模

总结

介绍了强化学习最基础的一些概念跟分类,希望有帮到你ヾ( ̄▽ ̄)


Reference