[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的效果;

三、过程实现

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

四、整体总结

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

相关推荐
爱笑的眼睛111 小时前
超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计
java·人工智能·python·ai
Rose sait2 小时前
【环境配置】Linux配置虚拟环境pytorch
linux·人工智能·python
过期动态2 小时前
JDBC高级篇:优化、封装与事务全流程指南
android·java·开发语言·数据库·python·mysql
一世琉璃白_Y3 小时前
pg配置国内数据源安装
linux·python·postgresql·centos
liwulin05063 小时前
【PYTHON】COCO数据集中的物品ID
开发语言·python
小鸡吃米…3 小时前
Python - XML 处理
xml·开发语言·python·开源
我赵帅的飞起3 小时前
python国密SM4加解密
python·sm4加解密·国密sm4加解密
yaoh.wang3 小时前
力扣(LeetCode) 1: 两数之和 - 解法思路
python·程序人生·算法·leetcode·面试·跳槽·哈希算法
liwulin05064 小时前
【PYTHON-YOLOV8N】关于YOLO的推理训练图片的尺寸
开发语言·python·yolo
我送炭你添花4 小时前
Pelco KBD300A 模拟器:04+1.Python 打包详解:历史、发展与多种方式对比
python·测试工具·运维开发