Please enable JavaScript.
Coggle requires JavaScript to display documents.
LeakGAN (:apple:生成器 (:one:Manager模块 (:melon:FeatureExtractor (:one…
LeakGAN
:apple:生成器
:one:Manager模块
-
:heavy_dollar_sign:每次生成1个新单词,就会从判别器D中接收特征信息(ft),利用这个特征信息生成guiding goal(gt),作用于当前(timestep)的Worker模块
:question:这里的生成1个新单词是指什么时候?是在训练G的时候吗?这个G是指Manager模块还是Worker模块?负责生成单词的是只有Worker模块吗?是不是只要G生成单词,Manager都要从D中收集信息呢
-
-
:melon:FeatureExtractor
:one:preTrain和_g_recurrence(_1,2)都有提取特征,
:explode:转换词典id的二维矩阵Feature_input先embedding,后扩展成四维,使用CNN转换成二维矩阵,再经过highway和dropout等获得最终的二维矩阵
:fire:每次更新(训练)D的参数后,就要重新赋值D的FeatureExtractor到G中
-
:two:Worker模块
:heavy_dollar_sign:接收到Manager模块的目标嵌入后,Worker 模块会把当前已生成的单词用另一个 LSTM 网络编码,然后把这个LSTM的输出和目标嵌入结合起来,以确保能够综合依据 Manager 的指导和当前状态生成一个合适的新单词
-
:explode:Manager模块指导Worker模块.2个模块交替训练,固定1个训练另一个
:apple:Main.py中G的名字就是leakgan,包括G(Worker)和G(Manager)
:watermelon:解决问题
:one:解决D反馈信息不足的问题
:zap:必须全部文本都生成出来后,SeqGAN才会给予反馈,并且反馈只是1个标量
:arrow_right:解决长文本问题
:icecream:以往的方法只能作用于20长度的文本,在文本长度为40的时候很难收敛
:apple:如果不解决的话,会导致mode collapse问题
-
-
:watermelon:判别器
:explode:本身是一个NN网络,但提供FeatureExtractor接口,内部的结构是独立的CNN网络+highway网络
:pear:Highway网络
:bread:就是输入某一层网络的数据一部分经过非线性变换,另一部分直接从该网络跨过去不做任何转换,就想走在高速公路上一样,而多少的数据需要非线性变换,多少的数据可以直接跨过去,是由一个权值矩阵和输入数据共同决定的。
-
-