论文笔记-neural_text_generation

Neural Text Generation: Past, Present and Beyond 「神经文本生成:过去,现在和展望」论文笔记

Abstract

全文的关注点在于文本生成领域。
从使用极大似然估计训练的循环神经网络开始讨论,指出文本生成上的短板「缺陷」,因而介绍最近所发表的一系列基于强化学习,修正参数,对抗网络技术的文本生成的方法。
最后基于两大数据集,进行了一系列的实验,并比较了相关模型方法的优劣性。

Introduction

介绍了文本生成的挑战性,然后说明具有挑战性主要是因为输入和输出信息的不平衡性,自然语言通常具有歧义性,这使得研究者们不得不去寻找一种通用的范式,而在这个过程中有两个主要的难点:1.自然语言语法的复杂性。2.提取,简化和转换输入信息时的困难.而在这篇文章中,忽略第二个困难点,主要关注于第一个点。
NNLM:神经网络语言模型可以认为n-gram范式的直接扩展具有NN的泛化能力。然而,根据之前的一些批评,n-gram范式在理论上不可能捕获长期依赖性
为了解决这个问题,从而提出了循环神经网络语言模型。RNNLM的各种变体,LSTM,GRU。观测数据属于同一分布,由于一些偏差也不会产生令人满意的文本。又提出了一系列强化学习的方法。GANS的模型方法。end-to-end 参数调整技术。

On Training Paradigms of RNNLMs

NTG with Supervised Learning

经典的神经网络语言模型都是通过极大似然估计进行训练的。通过极大似然估计进行训练的有点是在一些案例中具有更快的收敛速度和更好的鲁棒性。然而在理论上极大似然估计受到了exposure bias的影响「在模型的训练阶段和测试阶段所产生的累积误差」从而造成了训练阶段和测试阶段使用的模型不相同,为了解决这个问题,之后又提出了scheduled samping的优化方法。其基本思想是既然不能使得测试阶段的模型和训练阶段相同,那就使得训练阶段的模型和测试阶段相同。

NTG with Reinforcement Learning

文本生成在循环神经网络中可以被看作是马尔可夫决策的过程。
一个最直接的想法就是通过强化学习的策略优化算法对一些不能直接微分的矩阵去进行优化。一个经典的选择就是去优化它的bleu。但是在这个算法中存在两个问题。一个是bleu并不是使策略梯度得到最佳应用的计算量最少的算法。第二个是它会引入一些不必要的偏差到模型中。
在pg bleu中使用mle作为预训练

Better NTG with Adversarial Training

Professor Forcing[一种训练的方法]

这个概念在网上没有太多的资料可以找,但是可以看看原始的论文。

seqGAN

seqGAN是由两个部分组成:1.生成器「使用循环神经网络语言模型」2.判别器「一个二分器」

延伸拓展

1. 极大似然估计

类条件概率的估计(比较难),原因包括:概率密度函数包含了一个随机变量的全部信息;样本数据可能不多,特征向量x的维度可能很大等等。总之要直接估计类条件概率的密度函数很难。解决的办法就是,把估计完全未知的概率密度p(x|wi)转换为估计参数。这里就将概率密度估计问题转换为参数估计问题,极大似然估计就是参数估计方法。
重要的前提:
训练样本的分布能代表样本的真实分布。每个样本集中的样本都是所谓独立同分布的随机变量,且有充分的训练样本。
最大似然估计的目的就是:利用已知的样本结果,反推最有可能导致这样结果的参数值。
原理:极大似然估计是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。极大似然估计提供了一种给定观察数据来评估模型参数的方法。即:“模型已定,参数未知”。通过若干次实验,观察其结果,利用实验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。

2. N-gram 模型的缺陷:

1.无法建模更远的关系,语料的不足使得无法训练更高阶的语言模型。
2.无法建模出词之间的相似度。
3.训练语料里面有些 n 元组没有出现过,其对应的条件概率就是 0,导致计算一整句话的概率为 0。解决这个问题有两种常用方法: 平滑法和回退法。

3.bleu:如何衡量生成语句与参考语句之间的相似性

4. 关于policy gradient 方法的学习的资源:

1.Andrej Karpathy blog: Deep Reinforcement Learning: Pong from Pixels
2.David Silver ICML 2016:深度增强学习Tutorial
3.John Schulman:Machine Learning Summer School
4.David Silver的增强学习课程

参考文章:

1.语言模型:从n元模型到NNLM - 知乎
2.yangminz Blog - Mikolov RNNLM
3.一文看懂生成对抗网络 - GANs?(基本原理+10种典型算法+13种应用)
4.极大似然估计详解 - 知行流浪 - CSDN博客
5.一文搞懂极大似然估计 - 知乎
6.论文解读 Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks - MeteorsHub 追星人
7.一种机器翻译的评价准则——Bleu - 迷川浩浩的博客 - CSDN博客
8.深度增强学习之Policy Gradient方法1 - 知乎
9.一文弄懂关于循环神经网络(RNN)的Teacher Forcing训练机制
10.非凸优化基石:Lipschitz Condition - 知乎
11.机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率 - 简书

引出必读文献:

1.A Neural Probabilistic Language Model @bengio
2.Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks @bengio
3.Bleu: a Method for Automatic Evaluation of Machine…
4.Professor Forcing: A New Algorithm for Training Recurrent Networks
5.Lipschitz Constant
6.Maximum-Likelihood Augmented Discrete Generative Adversarial Networks

0%