[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........

文章目录

论文:Unified Language Model Pre-training for Natural Language Understanding and Generation

作者:Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xiaodong Liu, Yu Wang, Jianfeng Gao, Ming Zhou, Hsiao-Wuen Hon

时间:2019

地址:https://github.com/microsoft/unilm

一、完整代码

这里我们使用python代码进行实现

python 复制代码
# 完整代码在这里
# 有时间再弄.......

二、论文解读

2.1 介绍

这篇论文主要讲的是一个统一的语言模型的预训练 ,其就是结合三种语言模型来对结果进行优化:unidirectional, bidirectional, sequence-to-sequence;前者的代表是GPT;中间的代表是BERT;后面很新奇,但是其本质也很简单,类似于GPT在mask加掩码;

这里并不是一个模型中包含这三种层来进行训练,而是共享参数然后对每一个语言模型的要求进行mask再来训练;

一个语言模型对应一个或几个下游任务,让模型理解这个下游任务,然后叠加,这个就是UNILM

2.2 架构

模型架构如图所示:

这个不就是mask一下吗,换着花样水,感觉就是统一了一下,没想到这也能发论文,哈哈哈哈;

以上是其架构的公式;注意这里在训练时M结构是不发生改变的;

2.3 输入端

这里在输入端和bert一样,选择加随机掩码的方式,把随机的字符换成[mask]

2.4 结果

Question Answering

第一个被称为extractive QA,其中答案是段落中的文本跨度。另一种称为generative QA,答案需要动态生成。

Question Generation

Given an input passage and an answer span, our goal is to generate a question that asks for the answer.

就是给一段文本和答案,输出该答案的问题;

Response Generation

这样可以说明我们结合三种模型的效果在训练步骤一致的情况下和BERT是不相上下的,但是这里要清楚的是:UNILM的初始架构是和BERT large是一致的,这样看来UNILM有种类似于regularization的效果;

三、过程实现

实现过程比较简单,有时间再弄;

四、整体总结

这篇文章最重要一点就是结合多种模型来适配多种任务得到的效果要比单一的模型要好;

相关推荐
Empty_7778 小时前
编程之python基础
开发语言·python
哲Zheᗜe༘11 小时前
了解学习Python编程之python基础
开发语言·python·学习
麦麦大数据12 小时前
F024 RNN+Vue+Flask电影推荐可视化系统 python flask mysql 深度学习 echarts
python·rnn·深度学习·vue·echarts·电影推荐
Roc-xb13 小时前
ModuleNotFoundError: No module named ‘conda_token‘
开发语言·python·conda
weixin_5259363313 小时前
部分Spark SQL编程要点
大数据·python·sql·spark
Xyz996_13 小时前
python编程基础知识
python
人工干智能13 小时前
Python 开发中:`.ipynb`(Jupyter Notebook 文件)和 `.py`(Python 脚本文件)
开发语言·python·jupyter
woshihonghonga13 小时前
Jupyter Notebook单元格输出换行问题解决
ide·python·jupyter
~~李木子~~13 小时前
Jupyter Notebook(ipynb)转 Python(py)文件
python·jupyter
ERROR_LESS13 小时前
【ADS-1】【python基础-1】jupyter notebook环境极简搭建
python·jupyter