原文:https://arxiv.org/abs/1805.09461?context=stat.ML
强化学习
在 RL 中,我们考虑一个顺序决策的过程。在该过程中,一个代理(agent)在时间 和环境 交互。代理的目标是做一份特定的工作,例如:移动一个物体, play Go,一个 Atari 游戏或从新闻概括中选择最好的单词。
其观点就是:给出 时刻的环境状态 ,代理根据策略(policy) 选择一个行为(action) (为输入输出共享的词汇表)并观察该行为的奖励(reward) 。
拿 seq2seq 举例,就是代理根据策略()采取行为(一个单词),最终通过像 ROUGE 这样的离散度量产生奖励作为反馈。
代理的目标是最大化奖励 ,其中 为折中直接和未来奖励的折扣元素。
在策略 下,我们能够定义 和 如下:
于是 函数就能够通过递归来计算:
给出了上述定义,我们就能够定义一个 advantage 函数将 函数和 函数联系起来:
其中,对于一个决定性的策略 。因为在确定性策略中(seq2seq),选择的策略为 。所以此时,在状态 下选择的行为只有 ,所以:
确定性策略:根据一个状态选择行为的方式固定,例如:选择概率最大的那个行为。相反,一些行为,例如:根据行为概率的大小随机选择行为,或者设定一个概率,例如:95% 选择概率最大的行为,5% 随机选择剩余行为,那么这个策略就存在不确定性。seq2seq 策略一般都是选择概率最大的行为,所以是确定性的。
函数表示的是,在状态 下选择行为 期望的奖励。 函数表示的是在状态 的情况下,根据策略 选择一列行为期望奖励的期望。直觉上, 函数度量了模型能在特定状态 下能表现的有多好。而 函数度量了在该状态下选择一个特定行为有多好。
通过这两个函数,我们就能够获得捕获每个行为重要性的 advantage 函数,通过相减,即式子(8)。它能反映我们在该状态下选择的行为所获得期望奖励,是否能够达到在该状态下,所有根据策略可以采取行为的期望奖励的平均水平。
action 的定义:举个例子就像是文本概括任务中,为一个概括选择下个词,在问答任务中,就像是回答的起始和结束的 index。
奖励函数的定义:随着任务不同而不同。例如文本概括中的 ROUGE 和 BLEU 度量,图像说明中的 CIDEr 和METEOR。
state 的定义:通常定义为 decoder 每个时刻的输出状态,可以看看最顶上的图片。
所以,我们使用 decoder 每个时刻的输出状态 作为模型的当前状态并用它计算我们的 和 advantage 函数。
强化学习的方法
强化学习中,代理与环境的交互目标是最大化action中reward的期望。于是我们尝试最大化下列目标函数之一:
Policy Gradient (PG) ,优化(9)。
Actor-Critic (AC) ,优化(10)。
Q-learning models ,通过(7)优化(11),来改善 PG 和 AC 模型。
网友评论