CGMH:Constrained Sentence Generation by Metropolis-Hastings Sampling解读
根据关键字生成句子:
读进关键字,随机选择处理手段(增删改)以及待处理word的位置,然后计算接受/拒绝概率,根据概率生成一个新的序列,再循环这一过程,循环次数是500,每次都将困惑度最低的生成句子放在列表中第一个位置,最后根据config设置的最短长度(如7),当列表中的一个句子长度大于7时,则将该句子输出,作为最终生成的句子。
其中,计算接受/拒绝概率的方法:
先计算一个句子的固定分布:(=语言模型中该句的概率*关键字的指示函数)
再计算某个token被接受的概率:
论文翻译:
1.MH采样的框架:包括建议设计,固定分布,接受决定
1)温和条件下,样本得分不会瘦脸为马尔科夫链的固定分布。所以,目的是设计一个马尔科夫链,其固定分布是想要的句子分布。
首先,MH采样器分两步解决这个问题:一是提出一个实验性转换,根据接受率来接受或者拒绝一个建议。接受/拒绝率通过想要的固定分布和建议的固定分布来计算,这确保了细节平衡条件,该条件保证MH收敛到想要的分布。
让 π(x)表示我们想要从中取样的句子的分布(x表示一个特定的句子)。MH从任意状态x0开始(一个出示句子或 一系列关键字),在每个步骤t,根据建议的分布g(x’|x_t-1),提出一个新的句子x‘,其中x_t-1表示最后一步的句子。
根
根据概率1-A,一个建议应该被拒绝,则x_t = x_t-1。理论上,对于一个不可再分的且非周期性的马尔科夫链来说,当n趋于无穷时,样本x_n的分布会收敛到π(x)。实际上,初始的几个样本会被丢弃。如果样本收敛到固定分布,则该马尔科夫链建立完成。
2)
2.根据关键字生成句子实验
使用500万句子训练出一个语言模型,使用该语言模型训练CGMH模型
输入:使用3000个句子提供关键字,用来测试。对于每个句子,随机采样一个或者多个words作为限制条件。
输出:对于MH采样,我们使用关键字序列作为初始状态,然后选择100步后有最低困惑度(即流畅度最高)的语句作为输出。
CGMH:Constrained Sentence Generation by Metropolis-Hastings Sampling解读的更多相关文章
- Markov Chain Monte Carlo Simulation using C# and MathNet
Math.Net Numerics has capability to conduct Markov Chair Monte Carlo simulations, yet the document i ...
- 蒙特卡洛马尔科夫链(MCMC)
蒙特卡洛马尔科夫链(MCMC) 标签: 机器学习重要性采样MCMC蒙特卡洛 2016-12-30 20:34 3299人阅读 评论(0) 收藏 举报 分类: 数据挖掘与机器学习(41) 版权声明: ...
- LDA背景资料
[https://zhuanlan.zhihu.com/p/30226687] LDA模型的前世今生 在文本挖掘中,有一项重要的工作就是分析和挖掘出文本中隐含的结构信息,而不依赖任何提前标注的信息.L ...
- Metropolis-Hastings算法
(学习这部分内容大约需要1.5小时) 摘要 马尔科夫链蒙特卡洛(Markov chain Monte Carlo, MCMC)是一种近似采样算法, 它通过定义稳态分布为 \(p\) 的马尔科夫链, 在 ...
- 为什么要用Markov chain Monte Carlo (MCMC)
马尔科夫链的蒙特卡洛采样的核心思想是构造一个Markov chain,使得从任意一个状态采样开始,按该Markov chain转移,经过一段时间的采样,逼近平稳分布stationary distrib ...
- Image Paragraph论文合辑
A Hierarchical Approach for Generating Descriptive Image Paragraphs (CPVR 2017) Li Fei-Fei. 数据集地址: h ...
- (转)A Survival Guide to a PhD
Andrej Karpathy blog About Hacker's guide to Neural Networks A Survival Guide to a PhD Sep 7, 2016 T ...
- (转) A Survival Guide to a PhD
A Survival Guide to a PhD Sep 7, 2016 This guide is patterned after my “Doing well in your courses”, ...
- GAN︱GAN 在 NLP 中的尝试、困境、经验
GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响,但是这么好的理论是否可以成功地被应用到自然语言处理(NLP)任务呢? Ian Goodfellow 博士 一年前,网友 ...
随机推荐
- Codeforce 474A - Keyboard
Our good friend Mole is trying to code a big message. He is typing on an unusual keyboard with chara ...
- Centos7安装gitlab-ce
1.官方推荐方式安装 参考https://www.gitlab.com.cn/installation/#centos-7?version=ce sudo yum install -y curl po ...
- Wannafly Camp 2020 Day 1E 树与路径 - 树上差分,LCA
#include <bits/stdc++.h> using namespace std; #define int long long const int N = 1000005; vec ...
- Springboot 中的配置文件
Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件.他们的作用都是修改Spring Boot自动配置的默认值. 技术:yaml.properties语法,Con ...
- TF file
To software:Design rules for placement and routing interconnect resistance /capacitance data for gen ...
- 利用Marshal来管理非托管资源
void MarshalChartDemo() { string name = "xuwei"; IntPtr pName = Marshal.AllocHGlobal(name. ...
- Ubuntu 安装交叉编译器出错问题
安装教程网上有很多,可参考:Ubuntu14.04(64位)下gcc-linaro-arm-linux-gnueabihf交叉编译环境搭建 但是我的问题一直是路径搭好了,就是找不到文件:反复查找,花了 ...
- Windwos查看本地局域网内所有的ip方法
Windows平台ping测试局域网所有在用IP .打开cmd命令窗口 .输入命令:,,) DO ping -w -n .%i //这个是自己局域网的ip地址前三位 查看自己ip信息的命令是ipcon ...
- windows重建ESP分区修复引导
开始 装在虚拟机里面的win7实在是太卡了,所以准备把虚拟磁盘文件复制到固态硬盘,,,但是,,, 我只有128GB固态... 那就只能卸载之前通宵装的linux 好气 首先需要装进入PE UEFI + ...
- python3练习100题——026
原题链接:http://www.runoob.com/python/python-exercise-example26.html 题目:利用递归方法求5!. 是25题递归方式的简化版所以很容易. 我的 ...