1700540750
将序列末端的转换为序列初端的,得到一个简化的生成器优化目标:
1700540751
1700540752
1700540753
.
1700540754
1700540755
(13.41)
1700540756
1700540757
该优化目标的含义是,在起始状态s0下根据策略选择第一个词y1,并在之后依旧根据这个策略选词,总体可得奖励的期望。此时序列末端的奖励成了序列初端的长期奖励。
1700540758
1700540759
1700540760
1700540761
1700540762
图13.19 SeqGAN示意图
1700540763
1700540764
问题3 有了生成器的优化目标,怎样求解它对生成器参数的梯度?
1700540765
1700540766
难度:★★★★★
1700540767
1700540768
分析与解答
1700540769
1700540770
1700540771
1700540772
1700540773
1700540774
1700540775
1700540776
1700540777
1700540778
我们已有目标函数J(θ),现在对它求梯度。此优化目标是一个求和,里面包含两项:策略Gθ和动作值函数Qθ,它们都含参数θ,根据求导法则,免不了求和。与IRGAN不同,IRGAN中也有两项:策略和即时奖励,但它没有长期奖励,不用计算动作值函数,而且即时奖励不依赖于策略,也就与参数θ无关,只需求策略对θ的梯度。但是在SeqGAN里,策略对θ的梯度和动作值函数对θ的梯度都要求。这里是一个概率函数,计算不难,但是呢?如何计算?
1700540779
1700540780
这确实是一个不小的挑战。前面已给出Qθ的递归公式:
1700540781
1700540782
1700540783
.
1700540784
1700540785
(13.42)
1700540786
1700540787
1700540788
现在我们推导:
1700540789
1700540790
1700540791
.
1700540792
1700540793
(13.43)
1700540794
1700540795
1700540796
1700540797
像上面,依次用后面的动作值替换前面的动作值,最终可得:
1700540798
1700540799
[
上一页 ]
[ :1.70054075e+09 ]
[
下一页 ]