UniLM:给Bert插上文本生成的翅膀

Bert用在seq2seq任务上——UNILM实战 文章目录1.UNILM简介2.实战2.0 租服务器2.0.1 基础配置2.0.2 网络和安全组2.0.3 系统配置2.0.4 服务器的状态2.0.5 查看账单2.1 环境配置2.1.0 登录服务器2.1.1 安装torch2.1.2 配置 UNILM 要求的包2.2 训练2.3 验证3.结语 1.UNILM简介 按照我粗浅的理解: 传统的seq2seq模型需要用一个encoder把输入的语料处理成向量,一个decoder把向量转换为词表里的词,生成目标语句。 Bert是一个预训练好的语言模型,有三层 阅读详情

UniLM:给Bert插上文本生成的翅膀

今天分享一个论文UniLM,核心点是掌握三种LM任务形式:单向LM,双向LM,序列到序列LM;

1. 生成任务

NLP任务大致可以分为NLU和NLG两种;Bert在NLU任务上效果很好,但是天生不适合处理生成任务。

原因在于Bert的预训练过程是使用的MLM,和生成任务的目标并不一致。

生成任务目标是每次蹦出来一个词,只能看到当前位置之前的词汇。

而Bert采用的是双向的语言模型,除了mask的单词,两个方向的词汇都可以被看到。

所以对Bert的一个改进思路就是让它在具有NLU能力的时候,同时兼备NLG能力。

2. 三种LM任务

UniLM做的就是这样一个事情。

具体的实现方式是设计了一系列的完形填空任务,这些完形填空任务的不同之处在于对上下文的定义。

  1. 从左到右的LM:使用mask单词的左侧单词来预测被遮掩的单词
  2. 从右到左的LM:和上面第一个相比就是方向的变化,使用mask单词的右侧单词来预测遮掩的单词
  3. 双向LM:就是当前mask的左右词汇都可以看到
  4. sequence-to-sequence LM:这个就是UniLM能够具有生成能力的关键。我们的输入是source句子和target句子,mask单词在target上,那么当前mask的上下文就是source句子的所有单词和target句子中mask单词左侧的词汇可以被看到

我们把从左到右LM和从右到左LM我们归为一种任务叫单向LM;

有个点需要注意,三个任务是一起优化的,具体来讲是这样做的:

在训练的时候,1/3的时候使用双向LM,1/3的时候使用序列到序列 LM,1/6的时候使用从左到右的LM,1/6的时间使用从右到做的LM。

我们是使用不同的Mask矩阵来对应不同任务输入数据形式。

文中使用的是这样一张图来展示:

UniLM不同mask

3. 其他细枝末节

  1. Gelu 激励函数
  2. 24层TRM,最大长度512,1024Hidden Size,16Heads,340M参数量
  3. 初始化使用Bert Large
  4. 15%被mask,其中80%真正替换mask,10%随机替换,10%不动。替换的时候,80% 的时候替换单个token,20%的时候替换bigram 或者 trigram

第四个步骤类似中文实体词的mask,也算是一点改进。

有个细节点需要注意的是,作者强调,不同的segment embedding用来区分不同LM任务。

Bert的时候,区分上下句子,我们使用0和1,在这里,我们使用这个segment embedding用来区分任务:

比如说,双向对应0和1;单向left-right对应2;单向right-left对应3;序列对应4和5;

4. 总结

掌握以下几个细节点就可以:

  1. 联合训练三种任务:单向LM,双向LM,序列LM
  2. 使用不同的attention矩阵控制三种任务形式的参与
  3. segment embedding可以区分不同的任务形式
  4. mask的时候15% 的有被替换的概率,其中80% 被真正替换。在这80%真正替换的里面有80%单个token被替换,20%的二元或者三元tokens被替换

5. 加我微信,点赞之交

个人微信

参考链接:

UniLM论文阅读笔记 - 刘聪NLP的文章 - 知乎 https://zhuanlan.zhihu.com/p/113380840

BERT生成式之UNILM解读 - rumor的文章 - 知乎 https://zhuanlan.zhihu.com/p/68327602

2025秋招NLP算法面试真题(十六)-UniLM:给Bert插上文本生成的翅膀 今天分享一个论文[UniLM](https://arxiv.org/pdf/1905.03197.pdf, "Unified Language Model Pre-training for Natural Language Understanding and Generation"),核心点是掌握三种LM任务形式:单向LM,双向LM,序列到序列LM; 阅读详情

相关推荐

[论文笔记]UNILM

⭐ 提出了一个新的统一预训练语言模型UniLM,可以同时用于自然语言理解和生成任务的微调。该模型基于三种语言建模任务来进行预训练:单向、双向和序列到序列预测。通过使用共享的Transformer网络和特定的自注意力掩码控制预测所依赖的上下文来实现统一建模。

日积月累,天道酬勤 879

UniLM:基于bert的Seq2Seq

论文地址:Unified Language Model Pre-training for Natural Language Understanding and Generation 概述:   UniLM是微软研究院在Bert的基础上,最新产出的预训练语言模型,被称为统一预训练语言模型。它可以完成单向、序列到序列和双向预测任务,可以说是结合了AR和AE两种语言模型的优点,Unilm在抽象摘要、...

qq_42189083的博客 6548

《软件工程——实践者的研究方法》重难点复习笔记(第八章——理解需求)

8项需求工程任务 inception 开始 8.1.1 identify stakeholders 定义:从软件开发中收益 例如:市场人员、销售经理、顾客、顾问、维护团队等(P139) 8.1.2 这个阶段的问题是context-free的。有三套(P140) 8.1.3 提到NFR(nonfunctional requirement)和QFD(quality

whooiif的博客 1815

NLP-预训练模型-2019-NLU+NLG:UniLM(自然语言理解与生成的统一预训练语言模型)

UniLM论文全名为Unified Language Model Pre-training for Natural Language Understanding and Generation,译为自然语言理解与生成的统一预训练语言模型。 本文提出了采用BERT的模型,使用三种特殊的Mask的预训练目标,从而使得模型可以用于NLG,同时在NLU任务获得和BERT一样的效果。 模型使用了三种语言模型的任务: unidirectional prediction bidirectional prediction

u013250861的博客 1581

电赛MSP430F5529之超声波测距+OLED 显示(含主要代码)

目录 前言 一、超声波介绍 二、部分代码 三、总结 题外话: 前言 哎,又双叒叕,电赛延期了,看起来像是遥遥无期,但是肯定要考虑大局,大家就继续抓紧时间学习知识,巩固自己的知识,更进一步。好了,今天主要是继承上一篇博文(OLED显示)写的,主要是写超声波测距的(US-015) 一、超声波介绍 利用TI公司的MSP430F5529单片机+超声波模块+OLED 实现 这里主要是利用单片机定时器的捕获功能来捕获超声波高电平持续时间,再计算得到距离,最后再在OLED 屏幕上显示出来,上图

不说二话的自家人的博客 1万+

Cisco Packet Tracer 7.3免登录技巧:3种方法快速跳过注册界面(附详细截图)

本文针对Cisco Packet Tracer 7.3启动时遇到的登录界面问题,提供了三种合法高效的解决方案。详细介绍了如何利用官方访客模式快速启动、注册思科账号实现一劳永逸登录,以及通过调整本地安装配置优化启动流程,帮助网络学习者与备考者绕过繁琐步骤,快速进入实验环境。

weixin_29305337的博客 745

UNILM-Bert与Seq2Seq结合

将Bert与Seq2Seq结合的比较知名的工作有两个:MASS和UNILM,两者都是微软的工作,两者还都在同一个月发的~其中MASS还是普通的Seq2Seq架构,分别用Bert类似的Transformer模型来做encoder和decoder,它的主要贡献就是提供了一种Seq2Seq思想的预训练方案;真正有意思的是UNILM,它提供了一种很优雅的方式,能够让我们直接用单个Bert模型就可以做Seq2Seq任务,而不用区分encoder和decoder。而实现这一点几乎不费吹灰之力——只需要一个特别的Mask

zephyr_wang的博客 494

CentOS7 编译升级GCC至9.3.0

1)下载GCC9.2.0源码并解压 从GCC官方FTP下载地址可以看到GCC最新版本为9.3.0。由于官网下载速度慢,实际上用清华大学的镜像站进行下载,代码如下: wget -c /opt/tmp/ https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz #考虑到安装失败的可能性,创建一个临时文件夹来安装GCC...

haha123486的博客 1万+

如何让BERT具有文本生成能力

来自:NLP从入门到放弃今天分享一个论文UniLM[1],核心点是掌握三种LM任务形式:单向LM,双向LM,序列到序列LM;1. 生成任务NLP任务大致可以分为NLU和NLG两种;Ber...

zenRRan的博客 6659

13-单片机模块化程序: 单片机AT指令配置模块程序模板(非阻塞版)

资料源码:https://gitee.com/yang456/OpenProgrammingModuleForMCU.git 点击加入群聊【单片机,物联网,上位机】: 说明1:知识从未如此性感。 烂程序员关心的是代码,好程序员关心的是数据结构和它们之间的关系! 说明2:学的是思想,而非程序!此代码思路适用于所有的单片机。 说明3:学会以后,下面的代码可能会跟你一辈子! 说明4:这一系列文章是为大幅度裁剪本人博客文章!使博客文章更有条理。便于推其它教程! 拷贝这两个文件到自己的工程 ..

杨奉武的博客 1281

Qt实战:用QCustomPlot实现毫秒级时间轴数据动态刷新(附完整代码)

本文深入探讨了在Qt框架下,如何利用QCustomPlot库高效实现毫秒级时间轴数据的动态刷新与实时可视化。针对工业物联网等高频数据场景,文章提供了从原理剖析、核心代码实现到性能优化的完整实战指南,包括滑动窗口管理、双定时器策略及坐标轴精确配置,帮助开发者构建稳定、流畅的专业级监控界面。

qsc90123456的博客 759

Instant 服务器 JVM 自动扩缩容:基于堆压力与 GC 停顿压力的 AWS 弹性伸缩实战

Instant 是一个面向 AI 编码应用的后端平台,提供认证、权限、存储、在线状态与流式能力。本文聚焦于其服务端在 AWS Elastic Beanstalk 环境下的一套 JVM 自动扩缩容(JVM autoscaling)方案:API 进程每 30 秒向 CloudWatch 发布堆压力(heap pressure)、GC 停顿压力(GC pause pressure)与运行时长(uptim

gitblog_00538的博客 481

用SOEM库搞定汇川SV660N伺服电机:一个Linux C程序员的EtherCAT实战笔记

本文详细介绍了如何在Linux系统下使用SOEM库驱动汇川SV660N伺服电机,包括环境搭建、EtherCAT从站设备识别、PDO映射配置、状态机切换与运动控制等关键步骤。通过实战代码示例和常见问题排查指南,帮助开发者快速掌握工业自动化中的EtherCAT通信技术,实现对伺服电机的精准控制。

weixin_29185199的博客 426

UniLM详解,统一语言模型(Unified Language Model,UniLM)

预训练模型按照训练方式或者网络结构可以分成三类:一是以BERT[2]为代表的自编码(Auto-Encoding)语言模型,它使用MLM做预训练任务,自编码预训模型往往更擅长做判别类任务,或者叫做自然语言理解(Natural Language Understanding,NLU)任务,例如文本分类,NER等。二是以GPT[3]为代表的自回归(Auto-Regressive)语言模型,它一般采用生成类任务做预训练,类似于我们写一篇文章,自回归语言模型更擅长做生成类任务。

AI生成式技术曾小健 2894

代谢组数据分析(二十四):基于tidymass包从质谱原始数据到代谢物注释结果的实践指南

本教程介绍了如何使用 R 语言中的 tidymass 包进行代谢组学数据分析。tidymass 是一个专为液相色谱-质谱(LC-MS)数据设计的开源工具,提供从数据准备到统计分析的全流程支持。教程详细讲解了数据准备、数据处理、数据探索、数据清洗、代谢物注释、统计分析及结果输出的步骤。用户需准备 MS1、MS2 数据和样本信息表,并通过 tidymass 进行峰识别、峰分组、保留时间校正等操作。数据处理后,用户可进行数据探索、清洗和代谢物注释,最终通过统计分析发现潜在的生物标志物,并输出结果。教程还提供了代码

专注生信领域 1637

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

UNILM与BERT之中MASK处理比较

将Bert的Transformer架构跟Seq2Seq结合起来进行操作 从原则上来讲,任何NLP问题都可以转化为Seq2Seq来做,它是一个真正的万能模型,因此,如果能够做到Seq2Seq,理论上就可以实现任意任务了。 UNILM提供了一种优雅的方式,能够让我们直接用单个Bert模型就可以做Seq2Seq任务,而不需要区分encoder和decoder。实现这一点几乎不费吹灰之力----------------只需要一个特别的Mask。 不过左图只是最朴素的方案,它把“你想吃啥”也加入了预测范围了(导致它

小姑仔的博客 546

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

站在BERT肩膀上的NLP新秀们:XLMs、MASS和UNILM

作者丨高开远学校丨上海交通大学硕士生研究方向丨自然语言处理写在前面在前一篇站在 BERT 肩膀上的 NLP 新秀们(PART I)[1]介绍了两个都叫 ERNIE 的模...

Paper weekly 1398

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【NLP】UNILM粗读

上周讲了一个MASS模型,我觉得挺好的,参考BERT提出了新的Seq2Seq任务的预训练方法,今天要讲的是另一个BERT-based生成模型-UNILM,也是微软出的。论文链接UNILM全名Unified Language Model Pre-training for Natural Language Understanding and Generation,其实也是提出了一种预训练方法,而且很简...

weixin_34297300的博客 2155

深入浅出语言模型(四)——BERT的后浪们(RoBERTa、MASS、XLNet、UniLM、ALBERT、TinyBERT、Electra)

引言 上一节我们讲到了BERT,如果要用一句时下正流行的话来形容 BERT 的出现,这句话大概再恰当不过: 一切过往, 皆为序章。 Bert出现之后,研究者们开始不断对其进行探索研究,提出来各式的改进版,再各类任务上不断超越Bert。针对Bert的改进,主要体现在增加训练语料、增添预训练任务、改进mask方式、调整模型结构、调整超参数、模型蒸馏等。下面对近年来Bert的改进版本的关键点做叙述。 上一章说了BERT模型存在一些缺点。 所以,AR方式所带来的自回归性学习了预测 token 之间的依赖,这是

一个nlp探险者的博客 4993

后BERT时代

目录 一、迁移学习与模型预训练:何去何从 迁移学习分类 何去何从 现状分析 未来可期 二、各类代表性工作 有监督模型预训练:CoVe 自监督学习同时训练:CVT 无监督模型预训练 ELMo ULMFiT & SiATL GPT/GPT-2 BERT ERNIE: Enhanced Representation through Kn...

程序猿废柴的博客 3595

UniLM解读

UniLM是一种语言模型,类似BERT,但是比BERT优的点在哪里,它不仅能很好处理NLU的问题,也能很好处理NLG的问题,可以解释为一种既能阅读又能自动生成的预训练模型。 一、概述 UniLM,(统一预训练语言模型),对应论文:Unified Language Model Pre-training for Natural Language Understanding and Generation UniLM 是在微软研究院在BERT的基础上,最新产出的预训练语言模型,被称为统一预训练语言模型。使用

6418

奇点已过?聊聊BERT之后的NLP时代

作者吴金龙,爱因互动技术合伙人,算法负责人。本文转自知乎专栏“智能对话机器人技术”,欢迎大家关注。2018年是NLP的收获大年,模型预训练技术终于被批量成功应用于多项N...

weixin_45583158的博客 595

文献阅读:(UNILM)Unified Language Model Pre-training for Natural Language Understanding and Generation

0. 背景 机构:微软 作者:Li Dong、Nan Yang 发布地方:arxiv 面向任务:Natural Language Understanding and Generation 论文地址:https://arxiv.org/abs/1905.03197 论文代码:暂未 0-1. 摘要 本文提出一个能够同时处理自然语言理解和生成任务UNIfied pre-trained Language M...

ljp1919的专栏 7712

bert可以做哪些nlp任务

读了bert的论文大概知道bert可以做下面几个事情: 一、文本分类 二、问答 三、实体识别 四、句子关系判断 不能做的事情 一、机器翻译

woshiliulei0的专栏 1万+

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 379
上一篇: tBERT-BERT融合主题模型
下一篇: NLP中的XLNET
onnx
博客等级 码龄5年 1万+粉丝 416原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值