1700540568
1700540569
问题来了,如果d连续,我们沿用原GANs的套路没问题,对每个qn,生成K个文档,用近似估计每个qn下的损失函数,损失函数对dk的梯度会回传给生成dk的生成器。但是,如果d离散,损失函数对d是没有梯度的,我们拿什么传给生成器呢?
1700540570
1700540571
强化学习中的策略梯度方法揭示了期望下损失函数的梯度的另外一种形式[42]。我们用JG(qn)表示给定qn下损失函数的期望,即:
1700540572
1700540573
1700540574
.
1700540575
1700540576
(13.25)
1700540577
1700540578
我们暂不用蒙特卡洛采样(即采样样本之和的形式)去近似期望,而是直接对期望求梯度
1700540579
1700540580
1700540581
.
1700540582
1700540583
(13.26)
1700540584
1700540585
1700540586
梯度仍是期望的形式,是对数概率函数log pθ(d|qn)对θ的梯度带上权重的期望,我们再用蒙特卡洛采样去近似它:
1700540587
1700540588
1700540589
.
1700540590
1700540591
(13.27)
1700540592
1700540593
其中K为采样个数。此时,我们就能估计目标函数对生成器参数θ的梯度,因为梯度求解建立在对概率分布函数pθ(dk |qn)(强化学习中称策略函数)求梯度的基础上,所以称为策略梯度。
1700540594
1700540595
欲得到策略梯度,我们必须显式表达pθ(dk |qn),这与原GANs的生成器不同。原GANs不需要显式给出概率分布函数的表达式,而是使用了重参数化技巧,通过对噪音信号的变换直接给出样本,好处是让生成过程变得简单,坏处是得不到概率表达式,不适于这里的生成器。这里直接输出的不是离散样本,而是每个离散样本的概率。一方面,生成器的输入端不需要引入噪音信号,我们不想让概率分布函数也变成随机变量;另一方面,生成器的输出端需要增加抽样操作,依据所得概率分布生成K个样本。如果用神经网络对生成器建模,那么最后一层应是Softmax层,才能得到离散样本概率分布。在判别器的构建中,输入的是离散样本的n维向量表示,如一个文档向量每维可以是一些诸如BM25,TF-IDF,PageRank的统计值,其余部分参照原GANs的做法。
1700540596
1700540597
最后,训练过程与原GANs的步骤一样,遵循一个MiniMax的优化框架,对生成器和判别器交替优化。优化生成器阶段,先产生K个样本,采用策略梯度对生成模型参数进行多步更新;优化判别器阶段,也要先产生K个样本,作为负样本与真实数据的样本共同训练判别器。理论上,优化过程会收敛到一个纳什均衡点,此时生成器完美地拟合了真实数据的Query-Document相关性分布ptrue(d|qn),这个生成模型被称为生成式检索模型(Generative Retrieval Models),对应于有监督的判别式检索模型(Discriminative Retrieval Models)。
1700540598
1700540599
1700540600
1700540601
1700540603
百面机器学习:算法工程师带你去面试 06 SeqGAN:生成文本序列
1700540604
1700540605
1700540606
1700540607
场景描述
1700540608
1700540609
我们已探讨了用GANs生成离散数据。在有限点构成的离散空间中,每个样本是一个最小且不可分的点,不考虑点内部构造。因此,上节IRGAN模型中“生成”二字的含义,是从一群点中挑出一些点,是全集生成子集的过程。信息检索的生成模型,在给定查询词后,从文档集中找出最相关的文档,一个文档就是一个最小单位的点,至于文档用了哪些词,它并不关心。
1700540610
1700540611
很多时候,我们想得到更多细节,比如:写出一篇文章、一段话或一句话,不只是从文档集中选出文章。一个是“选”的任务,一个是“写”的任务,二者差别很大。以句子为例,选句子是把句子看成一个点,写句子是把句子看成一个个字。假设你手里有一本《英语900句》,你把它背得滚瓜烂熟。当让你“活用900句”时,是指针对特定场景,从900句中挑选最恰当的一句话;当让你“模仿900句造句”时,是指不拘泥于书中原句,可替换名词动词、改变时态等,造出书中没有的句子,此时你不能将句子看成点,不能死记硬背,需开启创造性思维,切入句子结构来选词造句。生成一句话的过程,是生成文字序列的过程,序列中每个字是最小的基本单位。也就是说,句子是离散的,词也是离散的,生成器要做的不是“选”句子,而是“选”词“写”句子。
1700540612
1700540613
2017年一个名为SeqGAN的模型被提出[43],用来解决GANs框架下生成文本序列的问题,进一步拓展GANs的适用范围。该文章借鉴了强化学习理论中的策略和动作值函数,将生成文字序列的过程看成一系列选词的决策过程,GANs的判别器在决策完毕时为产生的文字序列打分,作为影响决策的奖励[44]。
1700540614
1700540615
知识点
1700540616
1700540617
循环神经网络,LSTM/GRU,语言模型(Language Model),奖励/长期奖励,策略梯度,动作值函数
[
上一页 ]
[ :1.700540568e+09 ]
[
下一页 ]