当RNN碰上强化学习-为空间建立通用模型
在讲RNN前我们先来侃侃强化学习, 强化学习越来越受重视,它为什么很重要,用一张图就够了。想像一下我们是人工智能体,我们有强化学习和监督学习可以选择,但干的事情是不一样的。面对一只老虎的时候,如果只有监督学习就会反映出老虎两个字,但如果有强化学习就可以决定逃跑还是战斗,哪一个重要是非常明显的,因为在老虎面前你知道这是老虎是没有意义的,需要决定是不是要逃跑,所以要靠强化学习来决定了你的行为。
从算法上看, 强化学习是一个对未来的优化问题, 其算法的总纲可以归结到下面这张图里面,强化学习有两大门派:一种是动态规划(Dynamic Programming),另一种是策略梯度(Policy Optimization),还用老虎的例子说, 见到老虎估计一个打和不打在20年里的收益函数(比如打死老虎,县衙领赏, 抱得美人得10分vs被打死负10分) 然后推出现在的决定就是动态规划。 凭直觉和既往经验直觉决定跑还是打就是策略梯度法。
动态规划需要通过迭代来学习比较繁琐但是更精确,直接学习法更简单但是容易陷入局部最优,为了优势互补,两种方法相结合就得到Actor-Critic法,一方面直接学习行为,另一方面通过评估函数来最终评价那个行为对整个未来的影响,在反作用于对行为的学习,现在主流的模型都是基于这种方式。
强化学习优化算法的成功是在Markov决策框架里开始的,只要问题符合这个框架(把过程分解为无数离散的时刻,然后此刻的信息足以决策后面的结果, 而无需历史信息,无论问题多复杂, 都可以分解为状态(state)- 行为(action)- 奖励(reward)- 策略(policy)四要素。状态是每个时刻你拥有的和决策相关的信息总和,行为是你的决定, 奖励是你的此刻收益。而策略就是从状态到行为的对应关系。就拿方格矩阵走迷宫(下图a)的例子说,你的状态就是你的位置,你的行为就是上下左右走,你的奖励是中间的加号。行走的过程每一步都只与上一步相关,此刻拥有绝对信息(位置),因此可以简化为下图b的马尔科夫决策图框架。
这里面只有策略是优化的目标。策略最简单的表格方法就是一个纵轴是状态,横轴是行为的表格,每个格子里是某状态下做出某个行为的概率(下图c)。
如果你用刚提到的动态规划法来做优化,你还需要另一个表格,叫做Q表格, 这个纵轴同样是状态,横轴同样是行为,但是每个对应的格子里的内容是value, 数学上说就是某个状态和行为下未来收益的期望(d), 我们通过学习不停迭代这个表格(e)。 有了Q表格, 你可以通过对随机性偏好的假设很自然的得到刚刚说的策略表格。