ICLR 2017 | Reinforcement learning with unsupervised tasks
大家大家大家真是好久不见……我实在是太太太太太忙了。鉴于未来也应该还是很忙,为了能继续更新,可能会将以前几篇论文作为一个专题一起发送的方式改成一篇论文一发……还请大家见谅。今天发的是 ICLR 2017 15篇 oral 之一,《Reinforcement learning with unsupervised auxiliary tasks》,来自 DeepMind 团队。
其实是不算难懂的一篇论文,ICLR 2017 oral(仅15篇的 oral)。其各种思想我觉得都在过去 NLP 和 CV 中已被用过。大概包含的思想有:reconstruction loss as a multi-task learning loss,Faster RCNN 的一个 feature map 做多件事。这篇论文比较有趣的点是,把 RL 中的 on-policy 的 A3C 算法(base task)和 off-policy 的 Q-learning(control/auxiliary task)结合在了一起。
这篇论文的 Section 2, Background 也写的不错。其中提到了一个 A3C 算法的近似:
这里的,L_{VR} 其实就是 n-step temporal difference (TD)。所以,这个公式的约等于是因为,原始 A3C 不是 TD,而是 MCMC 直接用 R 做迭代。
接下来进入 Section 3,3.1-3.4 分别对应着 Figure 1的 (a)-(d):
(a) 是说,用 A3C 做 base,然后 CNN-LSTM 就可以用来 representation observation,也就是得到 LSTM state。然后,Section 3.1 中还说明了,control task 需要用 off-policy 来学。这是因为,我们没有训练这个 policy 去真正最大化 R^(c),即我们没有从 \pi_c 中取 trajectory。那么 control task c \in C,只是为了学 represnetation,它并不是真正目的。所以,我们需要训练 \pi_c 的 trajectory 全是从 base policy \pi 里面取的,也就只好用 off-policy 了。所以,这就带来了一个奇异的细节:base task 用 A3C(PG),但 auxiliary task 用 Q-learning。同时,我个人觉得,Figure 1(b) 很像 Faster R-CNN。
这段的细节是这个 over-represent,利用的是 replay buffer 可以方便我们 skew behavior distribution 的优点,从而可以缓解 sparse reward 的问题。另一个细节是,这里并没有用 LSTM,而是直接用了 CNN+FF。作者也解释了原因,大概是说这个 auxiliary task,reward prediction 的目的是关注 immediate reward, rather than long-term returns 啥的。
Section 3.3,Experience Replay,也就是 Figure 1(d),这里首先要注意的是,做这个任务时,并没有像上一个任务那样 skew behavior distribution。那么这里这个 value function replay 到底是啥意思呢,我感觉就是做这件事:
也就是 n-step TD。只不过这里全都是从 replay buffer 中取出来的。从 Figure 1(d) 上看,就是把最后一个 state 的 V 拿出来,当做 R,然后一步步减掉前面的 reward,再跟 V 拟合,加起来作为 loss。但这么做有多大好处,不知道似乎是可以让 value network 收敛得快一点。
Section 3.4 就没啥可说的了,就是整个框架的公式:
所谓的 UNREAL,就是 UNsupervised REinforcement and Auxiliary Learning (UNREAL)。