能否介绍一下强化学习(Reinforcement Learning),以及与监督学习的不同?

随着 DeepMind 和 AlphaGo 的成功,强化学习(Reinforcement Learning)日益受到关注。然而,在一些机器学习入门课程…
关注者
2,432
被浏览
679,533
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

以下我尝试提出一个尽量能够统一 SL(supervised learning), OL(online learning), RL(reinforcement learning) 的framework:

--------------------------------

for t = 1, 2, \ldots, T

1. 观测到数据x_t \in \mathbb{R}^n

2. 选择actiona_t \in \mathcal{A}

3. 得到损失l(x_t, a_t(x_t))

目标是:

\min_{a_t \in \mathcal{A}}\sum_{t=1}^T l(x_t, a_t(x_t))

--------------------------------

SL:

给定i.i.d.的样本x_1, x_2, \ldots, x_T \in \mathbb{R}^n,我们的目标是选择actiona: \mathbb{R}^n \rightarrow \mathcal{Y}

\min_{a \in \mathcal{A}}\sum_{t=1}^T l(x_t, a(x_t))

在SL literature里,\mathcal{A}通常被称为hypothesis class/space,loss function一般具有如下形式l(x_t, a(x_t)) = d(a(x_t), y_t),其中d为度量空间中的某种距离。

SL的另一个特殊性是action不依赖于时间,因为在SL里所有数据一般共享模型参数。

可能有童鞋在这里会对此framework提出反驳,因为SL的目标并不是最小化在training set上的error,而是generalization error。不过这个可以体现在loss function里面,比如loss function中可以包含regularizer。

OL:

OL与SL的主要区别在于丢弃了i.i.d.假设,数据是按时间顺序来的,在每一个时间点都要选择action,并且利用数据不断的更新action。相同点在于loss function的形式l(x_t, a(x_t)) = d(a(x_t), y_t)

同理,在OL literature里目标往往是最小化regret,不过也可以体现在loss function里面。

注意到,在这里我们的action是依赖于时间的,所以对每个数据的action可以是不同。

RL:

RL的特殊性在于时刻t的action可以影响时刻t+1我们得到的data。具体的,在时刻t,我们观测到x_t(在RL里x_t一般被称作state),同时选择action a_t \in \mathcal{A},然后suffer lossl(x_t, a_t(x_t)),并且x_{t+1} \sim P(x' | x_t, a_t(x_t))

所以从这个角度看,RL是一种更active的learning,因为我们可以用自己的action来决定如何探索state space。

RL里面partially observable的情况就更难一些,我们不能直接观测到state,在这种情况下x_t是某种观测量,然后通过x_t来更新对当前所在state的belief。

当然RL里面对于最终优化的目标还有一些其他的formulation,比如infinite horizon discounted cost对应T \rightarrow \infty, l(x_t, a_t(x_t)) = \gamma^tg(x_t, a_t(x_t))

Note: optimal control theory也是这个framework的一种特殊情况,在RL中如果state transition是一个deterministic的dynamics:x_{t+1} = f(x_t, a_t(x_t)) ,这就对应了optimal control。

关于行话:做RL的人由于整天面对着逆天难的问题,所以喜欢用reward(相对于loss)来激励自己。面对难题,乐观的态度还是蛮重要的 :)