当RNN碰上强化学习-为空间建立通用模型(3)
RNN的网络结构和前向神经网络差距并不大,只是多了一个时间转移矩阵,即当下隐藏的状态再到下一步隐藏状态的连接。这个连接实际上是传递当下的信息到下一刻的过程,这个传递过程中包含了记忆,我们可以把过去的信息往将来不停的迭代,于是神经网络细胞当中就含有过去很多时刻的记忆,其实就是生物的Working Memory。LSTM只是在RNN的基础上多了一记忆细胞层,可以把过去的信息和当下的信息隔离开来,过去的信息直接在Cell运行,当下的决策在Hidden State里面运行。加入RNN以后就把DQN变成了DRQN,然后就可以走一些非常复杂的环境。
下图是一个二维的迷宫,只能看到周围格的情况,就是刚刚描述那个问题的拓展版(相当于在沙漠里寻找水源, 你只能看到自己周围有什么,没有其他信息)。 需要我们做的是在很复杂的情况下搜索到目标在哪里,这就是一个导航的问题。左下角的红点就是起始位置,中心的红点是目标,最终学习得到的行为是: agent会直接走到墙上得到自己位置有关的信息, 然后从这里奔向目标,这就模拟了空间搜索的过程,RNN在这个过程里把不同时间点的信息拼接成一个整体。
RNN虽然有这种能力, 但是一旦空间复杂了它还是会蒙蔽, 因为空间是很复杂的,比如一个有很多屋子的宾馆, 这个时候就需要更强大的空间表示能力。这个东西还是可以通过学习诱导, 通常的做法是加入监督学习的成分,比如学习预测你在空间里的什么位置, 这个过程里, 模拟空间的能力会在RNN的动力结构里自动浮现出现。
监督学习信号比较多而且目标明确,它可以预测走到哪里了,距离奖励还有多远,可以说给之前的强化学习添上了翅膀。
一旦加入监督学习,事实上我们就达到了刚刚说的第三种策略,引入世界模型, 只不过这个过程是一步步的而非一蹴而就。