1700540652
(13.31)
1700540653
1700540654
实际上,RNN每个单元的输出就是联合概率分解后的各个条件概率,根据每个条件概率挑选一个词,依次进行,最终得到一个长度为T的句子。
1700540655
1700540656
1700540657
1700540658
1700540659
图13.18 序列建模LSTM框架
1700540660
1700540661
问题2 训练序列生成器的优化目标通常是什么?GANs框架下有何不同?
1700540662
1700540663
难度:★★★★★
1700540664
1700540665
分析与解答
1700540666
1700540667
GANs框架下有一个生成器Gθ和一个判别器Dφ。对于本问题,生成器的目标是生成文字序列,高度地模仿真实句子;判别器的目标是区分哪些是生成器给的句子,哪些是真实数据集中挑的句子。通俗地讲,就是机器模仿人造句,一方面要让模仿尽可能像,一方面要辨认哪些是机器说的、哪些是人说的。前者工作由生成器负责,后者工作则交给判别器,生成器的工作成果要受到判别器的评判。判别器的优化目标为:
1700540668
1700540669
1700540670
1700540671
1700540672
(13.32)
1700540673
1700540674
这和原GANs中判别器的优化目标一样。
1700540675
1700540676
如果没有GANs,生成器是一个普通的序列生成器,通常会采取什么样的优化目标来训练它?熟悉语言模型的人,会想到最大似然估计,即:
1700540677
1700540678
1700540679
.
1700540680
1700540681
(13.33)
1700540682
1700540683
1700540684
这需要有一份真实数据集,表示数据集中第i个句子,生成器要最大化生成它们的总概率。从数据集到句子,可假设句子独立同分布,但是从句子到词,词与词在一句话内有强依赖性,不能假定它们相互独立,必须依链式法则做概率分解,最终得到:
1700540685
1700540686
1700540687
,
1700540688
1700540689
(13.34)
1700540690
1700540691
转变为最大化一个个对数条件概率之和。
1700540692
1700540693
GANs框架下,生成器的优化目标不再是一个可拆解的联合概率,在与判别器的博弈中,以假乱真欺骗判别器才是生成器的目标。判别器的评判针对一个完整句子,生成器欲知判别器的打分,必须送上整句话,不能在生成一半时就拿到判别器打分,故不能像最大似然估计那样拆解目标式,转为每个词的优化。而且,训练生成器时,也要训练判别器,对二者的训练交替进行。固定判别器,生成器的优化目标为:
1700540694
1700540695
1700540696
.
1700540697
1700540698
(13.35)
1700540699
1700540700
表面上看,这与原GANs中生成器的优化目标一样,问题在于生成器输出的是离散样本,一个由离散词组成的离散句子,不像原GANs中生成图片,每个像素都是一个连续值。原GANs用重参数化技巧构造生成器,直接对采样过程建模,不去显性刻画样本概率分布。
1700540701
[
上一页 ]
[ :1.700540652e+09 ]
[
下一页 ]