1700540702
1700540703
1700540704
1700540705
上一节的IRGAN,生成器生成文档序号d这类离散数据,不能用原GANs的重参数化技巧。离散数据的特性,让我们无法求解目标函数对d、d对生成器参数θ的梯度。而且,期望的下脚标里包含参数θ,需对期望求梯度,不得不显式写出概率函数。
1700540706
1700540707
1700540708
1700540709
在SeqGAN中,生成器生成的文本序列更离散,序列每个元素都是离散的,如图13.19所示。联想强化学习理论,可把生成序列的过程看成是一连串动作,每步动作是挑选一个词,即动作at=yt,每步状态为已挑选词组成的序列前缀,即状态,最后一步动作后得到整个序列。接着,判别器收到一个完整句子,判断是真是假并打分,这个分数就是生成器的奖励。训练生成器就是要最大化奖励期望,优化目标为:
1700540710
1700540711
1700540712
,
1700540713
1700540714
(13.36)
1700540715
1700540716
或梯度增强版的
1700540717
1700540718
1700540719
,
1700540720
1700540721
(13.37)
1700540722
1700540723
1700540724
其中就是生成器的奖励。
1700540725
1700540726
1700540727
强化学习里有两个重要概念,策略和动作值函数。前者记,表示状态s下选择动作a的概率,体现模型根据状态做决策的能力;后者记Qθ(s,a),表示状态s下做动作a后,根据策略Gθ完成后续动作获得的总奖励期望。结合本例,前T−1个词已选的状态下选第T个词的Qθ(s,a)为:
1700540728
1700540729
1700540730
.
1700540731
1700540732
(13.38)
1700540733
1700540734
总奖励期望为:
1700540735
1700540736
1700540737
.
1700540738
1700540739
(13.39)
1700540740
1700540741
上式包含了各序列前缀的状态下策略,以及一个最终的奖励。如果对此式做优化,序列每增加一个长度,计算复杂度将呈指数上升。我们不这么干,利用前后状态下动作值函数的递归关系:
1700540742
1700540743
1700540744
.
1700540745
1700540746
(13.40)
1700540747
1700540748
1700540749
1700540750
将序列末端的转换为序列初端的,得到一个简化的生成器优化目标:
1700540751
[
上一页 ]
[ :1.700540702e+09 ]
[
下一页 ]