文章目录
Sparse Reward
如果环境中真正的 reward 非常 sparse,reinforcement learning 的问题就会变得非常的困难,但是人类可以在非常 sparse 的 reward 上面去学习。我们的人生通常多数的时候,我们就只是活在那里,都没有得到什么 reward 或是 penalty。但是,人还是可以采取各种各式各样的行为。所以,一个真正厉害的 AI 应该能够在 sparse reward 的情况下也学到要怎么跟这个环境互动。
Approach1–Reward Shaping
Reward shaping 的意思是说环境有一个固定的 reward,它是真正的 reward,但是为了让 agent 学出来的结果是我们要的样子,我们刻意地设计了一些 reward 来引导我们的 agent。
但是reward shaping的一个大问题就是需要人类去设计,去调参,这是比较难的。
Approach2–Curiosity
- R ( τ ) R(\tau) R(τ) 的定义变了,除了对 r t r_t rt 求和,还要加上ICM模块输出的 r t i r_t^i rti
- ICM的输入是 ( s i , a i , s i + 1 ) (s_i,a_i,s_{i+1}) (si,ai,si+1)
- 而后就是要让更新网络使 R 最大,其中ICM模块的设计如下图所示
上图意味着通过网络预测出来的 s ^ t + 1 \hat{s}_{t+1} s^t+1 与 s t + 1 s_{t+1} st+1 越不像,则奖励 r t i r_t^i rti 越大,根据奖励 R ( τ ) R(\tau) R(τ) 的定义,可以发现当我们预测的越不准,说明未来越不可预测,因此为了得到最大的 R ( τ ) R(\tau) R(τ),就会鼓励 actor 去冒险。
有时状态 s 会有很多无关紧要的变化,这对 action 的采取是无关紧要的,比如说树叶的飘动,因此会在状态之后加一个 Feature Extract 网络,用来提取和 action 的选取有关的特征,如右图。
那要怎么评估特征提取网络是好使的呢?使用 Network 2,它吃进 ϕ ( s t ) \phi(s_t) ϕ(st) 和 ϕ ( s t + 1 ) \phi(s_{t+1}) ϕ(st+1),预测在状态转换的过程采取的动作 a ^ t \hat{a}_t a^t,它越接近真的动作 a t a_t at,说明提取的特征越准确。Network 2 也是一个 regression problem
Approach3–Curriculum Learning
从易到难开始学:先学加减乘除,逐步学到微积分。
反向寻找的过程比较难。需要人为的设计课程难度。
Approach4–Hierarchical RL
有好几个 agent。有一些 agent 负责比较 high level 的东西,它负责订目标,之后再分配给其他的 agent,去把它执行完成。