UniLM模型简单介绍

目录

一、概要

二、深入扩展

2.1 预训练任务

2.2 模型精调 


一、概要

如果将基于Transformer的双向语言模型(如BERT模型中的掩码语言模型)与单向的自回归语言模型(如BART模型的解码器)进行对比,可以发现,两者的区别主要在于模型能够使用序列中的哪部分信息进行每一时刻隐含层表示的计算。对于双向 Transformer,每一时刻隐含层的计算可以利用序列中的任意单词;而对于单向Transformer,只能使用当前时刻以及“历史”中的单词信息。基于这一思想,研究人员提出了单向Transformer结构的 统一语言模型 Unified LanguageModel,UniLM)。
不同于BART模型的编码器--解码器结构,UniLM只需要使用一个Transformer网络,便可以同时完成语言表示以及文本生成的预训练,进而通过模型精调应用于语言理解任务与文本生成任务。它的核心思想是通过使用不同的自注意力掩码矩阵控制每个词的注意力范围,从而实现不同语言模型对于信息流的控制。

二、深入扩展

2.1 预训练任务

UniLM 模型提供了一个统一的框架,可以利用双向语言模型、单向语言模型和序列到序列语言模型进行预训练。其中,基于双向语言模型的预训练使模型具有语言表示的能力,适用于语言理解类下游任务;而基于单向语言模型以及序列到序列语言模型的预训练任务使模型具有文本生成的能力。下图展示了不同的预训练任务对应的自注意力掩码模式

假设第 L 层 Transformer 的自注意力矩阵为AL,在UniLM中,AL可由下式计算

式中,QL、KL分别为第L层上下文表示经线性映射后得到的查询、键分别对应的向量:d是向量的维度。UniLM在原始自注意力计算公式的基础上增加了掩码矩阵M ∈ R(维度:n x n) ,n是输入序列的长度,M 是一个常数矩阵,定义如下

通过控制M,便可以实现不同的预训练任务。

(1)双向语言模型。输入序列由两个文本片段组成,由特殊标记 [EOS] 相隔。与 BERT 模型类似,在输入文本中随机采样部分单词,并以一定概率替换为[MASK]标记,最后在输出层的相应位置对正确词进行预测。在该任务中,序列中的任意两个词都是相互“可见”的,因此在前向传播过程中都能够被“注意”到。反映在Transformer模型中,则是一个全连接的自注意力计算过程,如图(a)所示。此时,对原始自注意力掩码矩阵不作任何变化,即M=0。
(2)单向语言模型。包括前向(自左向右)与后向(自右向左)的自回归语言模型。以前向语言模型(图(b))为例,对于某一时刻隐含层表示的计算,只能利用当前时刻及其左侧(前一层)的上下文表示。相应的自注意力分布是一个三角矩阵,灰色代表注意力值为0。相应的,掩码矩阵M在灰色区域处的值为负无穷(−∞)。
(3)序列到序列语言模型。利用掩码矩阵,还可以方便地实现序列到序列语言模型,进而应用于条件式生成任务。此时,输入序列由分别作为条件以及目标文本(待生成)的两个文本片段构成。条件文本片段内的词相互“可见” ,因此使用全连接的自注意力;对于目标文本片段,则采用自回归的方式逐词生成,在每一时刻,可以利用条件文本中的所有上下文表示,以及部分已生成的左侧上下文表示,如图(c)所示。在有关文献中,也将该结构称为前缀语言模型(PrefixLM)
与BART模型的编码器--解码器框架不同,这里的编码与解码部分共享同一套参数,而且在自回归生成的过程中,与条件文本之间的跨越注意力机制也有所区别。

2.2 模型精调 

(1)分类任务。对于分类任务,UniLM的精调方式与BERT类似。这里使用双向Transformer编码器(M=0),并以输入序列的第一个标记[BOS]处的最后一层隐含层表示作为文本的表示,输入至目标分类器,再利用目标任务的标注数据精调模型参数。
(2)生成任务。对于生成任务,随机采样目标文本片段中的单词并替换为[MASK]标记,精调过程的学习目标是恢复这些被替换的词。值得注意的是,输入序列尾部的[EOS]标记也会被随机替换,从而让模型学习什么时候停止生成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/12972.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot+vue职称评审管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的职称评审管理系统。项目源码请联系风歌,文末附上联系信息 。 目前有各类成品java毕设,需要请看文末联系方式 …

[Java]监听器(Listener)

过滤器(Filter)https://blog.csdn.net/m0_71229255/article/details/130246404?spm1001.2014.3001.5501 一 : Listener监听器简述 监听器就是监听某个对象的的状态变化的组件 监听器的相关概念: 事件源: 被监听的对象 ----- 三…

(补)4.13每日一题

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 题目连接:https://leetcode.cn/problems/longest-substring-without-repeating-characters/ 解题 开始我把这个题目想简单了,我想的是输入一个字符串,从第一…

【系统集成项目管理工程师】项目整体管理

💥十大知识领域:项目整体管理 项目整体管理包括以下 6 个过程: 制定项目章程定项目管理计划指导与管理项目工作监控项目工作实施整体变更控制结束项目或阶段过程 一、制定项目章程 制定项目章程。编写一份正式文件的过程,这份文件就是项目章程…

pushmall推贴共享电商2023年4月计划

Pushmall推贴共享电商2023年4月计划 2023年 二月份优化完成 1、商圈套餐卡:商品、优惠券、活动优化; 2、会员预充值一卡通:指定商家会员卡充值优惠; 3、商家海报:店铺海报、商品海报、商圈卡海报优化。 4、首页重新布…

MLCC周期性分析:当前时点处于周期反转前夜

MLCC是电子工业大米,供需波动导致行业成周期性波动 MLCC是最常用的被动元器件之一,终端下游涵盖消费电子、家电、汽车、通信等。在5g、汽车电子、智能硬件的推动下,MLCC行业需求稳步增长。供给端来看,中国大陆厂商合计市场份额不…

数据要素化全面提速,数据复制将迎来春天?

数据复制市场将迎来真正的春天? 目前看的确如此。近日,国家发改委密集发文,从产权、分配、流通、安全等多个角度解读“数据二十条”( 《中共中央国务院关于构建数据基础制度更好发挥数据要素作用的意见》,简称“数据二…

Bots攻击威胁石油石化企业 瑞数动态安全实现从“人防”到“技防”

近日,中国石油石化企业信息技术交流大会暨油气产业数字化转型高峰论坛在京召开。本届大会由中国石油学会、中国石油、中国石化、中国海油、国家管网、国家能源、中国中化、中国航油、延长石油、中国地质调查局等单位共同主办。 作为我国石油石化行业的盛会&#xf…

什么是设计模式?

目录 常见的设计模式 创建型模式 结构型模式 行为型模式 总结 设计模式(Design Pattern)是一些被认为是最佳实践的面向对象编程经验的总结,它们提供了解决特定场景问题的可复用方案。设计模式可以加速开发过程并提高代码质量和可读性&…

GFD233A 3BHE022294R0103

GFD233A 3BHE022294R0103 ABB KUC321AE PLC模块 HIEE300698R0001 KU C321 AE01 ABB KUC711 3BHB004661R0001 高压变频模块 KUC711AE ABB KUC755AE105 3BHB005243R0105 驱动控制系统模块 KUC755 ABB KUC755AE106 3BH005243R006 控制系统模块 KU C755 AE 106 ABB LDGRB-01 3BSE01…

【C语言】基础语法1:变量和数据类型

下一篇:运算符和表达式 ❤️‍🔥前情提要❤️‍🔥   欢迎来到C语言基本语法教程   在本专栏结束后会将所有内容整理成思维导图(结束换链接)并免费提供给大家学习,希望大家纠错指正。本专栏将以基础出发…

知乎版ChatGPT「知海图AI」加入国产大模型乱斗,称效果与GPT-4持平

“2023知乎发现大会”上,知乎创始人、董事长兼CEO周源和知乎合作人、CTO李大海共同宣布了知乎与面壁智能联合发布“知海图AI”中文大模型。 周源据介绍,知乎与面壁智能达成深度合作,共同开发中文大模型产品并推进应用落地。目前,知…

vue 报错 error:03000086:digital envelope routines::initialization error解决方案

目录 1. 引言: 2. 更换版本出现问题: 3. 出现原因: 4. 解决办法: -> 4. 1 删了 再换回16.15版本 -> 4.2 指令修改(好使) ---> 4.2.1效果如图 -> 4.3 其他指令就别试了 压根不好使 1. 引言: npm出现问题 , 卸载后 装了个新node 18.15版本 2. 更换版本…

JavaScript【三】JavaScript中的数组

文章目录 🌟前言🌟数组🌟声明:🌟 隐式创建:🌟 实例化构造函数: 🌟 注意:一个值为数组的长度。🌟 访问:🌟 遍历&#xff1a…

SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈(Eureka、Ribbon)

微服务技术栈导学 微服务技术是分布式架构(把服务做拆分)的一种 而springcloud仅仅是解决了拆分时的微服务治理的问题,其他更复杂的问题并没有给出解决方案 一个完整的微服务技术要包含的不仅仅是springcloud 微服务技术栈 包括什么 …

深度学习中的各种不变性

不变性 平移不变性(Translation Invariance)旋转不变性(Ratation Invariance)尺度不变性(Size Invariance)光照不变性(Illumination Invariance)仿射不变性(Affine Invar…

springcloud2.1.0整合seata1.5.2+nacos2.10(附源码)

springcloud2.1.0整合seata1.5.2nacos2.10(附源码) 1.创建springboot2.2.2springcloud2.1.0的maven父子工程如下,不过多描述: 搭建过程中也出现很多问题,主要包括: 1.seataServer.properties配置文件的组…

第二部分——长难句——第一章——并列句

conjunction(and,but,if,when(while)) 想把两个句子(多件事)连在一块,就必须加上连词。 所以长难句到底是啥? 所以长难句(直白表达,并不是语法表述)就是几个简单句多家上几个连接词就齐活了&am…

【vue2】使用vue-admin-template动态添加路由的思路/addRoutes的使用

😉博主:初映CY的前说(前端领域) ,📒本文核心:用原生js实现省市区联动 【前言】在通用的后台管理项目的开发中,不仅仅是会涉及到对表单数据等的增删改查操作还会涉及到一些关于权限管理的问题。我们将基于一个RBAC的思维…

C++STL大全----容器篇(上)

(一)概念 STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。…