SeqGAN解读
SeqGAN的概念来⾃AAAI 2017的SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient⼀⽂。
Motivation
煎鸡蛋饼如题所⽰,这篇⽂章的核⼼思想是将GAN与强化学习的Policy Gradient算法结合到⼀起——这也正是D2IA-GAN在处理Generator的优化时使⽤的技巧。
⽽该论⽂的出发点也是意识到了标准的GAN在处理像序列这种离散数据时会遇到的困难,主要体现在两个⽅⾯:Generator难以传递梯度更
guesd新,Discriminator难以评估⾮完整序列。
对于前者,作者给出的解决⽅案对我来说⽐较熟悉,即把整个GAN看作⼀个强化学习系统,⽤Policy Gradient算法更新Generator的参数;对于后者,作者则借鉴了蒙特卡洛树搜索(Monte Carlo tree arch,MCTS)的思想,对任意时刻的⾮完整序列都可以进⾏评估。
问题定义
根据强化学习的设定,在时刻t,当前的状态s被定义为“已⽣成的序列”
,记作
负荆请罪的主人公是谁,⽽动作a是接下来要选出的元素
,所以policy模型就是
值得⼀提的是,这⾥的policy模型是stochastic,输出的是动作的概率分布;⽽状态的转移则显然是deterministic,⼀旦动作确定了,接下来的状态也就确定了。过生日吃什么
富人理财根据Policy Gradient算法,Generator的优化⽬标是令从初始状态开始的value(累积的reward期望值)最⼤化:
生日聚会
全世界英文其中,
是完整序列的reward,
是action-value函数,是指“在状态s下选择动作a,此后⼀直遵循着policy做决策,最终得到的value”。所以对于最右边的式⼦我们可以这样来理解:在初始状态下,对于policy可能选出的每个y,都计算对应的value,把这些value根据policy的概率分布加权求和,就得到了初始状态的value。蝠字怎么组词
最终得到了完整的action-value函数:
进⾏总的求和,负号的作⽤则是把梯度上升问题转化为梯度下降。虽然没有显式地计算期望值,但归因于⼤量的取样和学习率的存在,最终⾃动推导出来的梯度是与上述公式相符的。