能否介绍一下强化学习(Reinforcement Learning),以及与监督学习的不同?
以下我尝试提出一个尽量能够统一 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)来激励自己。面对难题,乐观的态度还是蛮重要的 :)