当前位置: 首页 > news >正文

论文阅读——ELECTRA

论文下载:https://openreview.net/pdf?id=r1xMH1BtvB

另一篇分析文章:ELECTRA 详解 - 知乎

一、概述

对BERT的token mask 做了改进。结合了GAN生成对抗模型的思路,但是和GAN不同。

不是对选择的token直接用mask替代,而是替换为一个生成器网络产生的token。

然后训练模型时并不是只被破坏的token,而是训练一个辨别模型来预测这些被破坏的输入的每一个token是否是被生成模型生成的样本替代的。因为将GANs应用于文本很困难,所以生成损坏token的生成器是以最大似然进行训练的。

小generator和大discriminator共同训练,但判别器的梯度不会传给生成器

fine-tuning 时丢弃generator,只使用discriminator

二、网络结构和训练

1、模型训练两个网络G和D。

        G:给定位置t,将该位置token替换为mask,输入到G,G输出一个概率,结合softmax层,来产生mask位置的xt,从而G产生损坏的输入。输出只在mask的token中计算分数,不是所有的token。

        D:给定位置t,D预测xt是否是真的。输出只在mask的token中预测是不是真的,不是所有的。

        对于给定一个随机位置序列,原始输入对应位置替换为[MASK] token,输入G,G学习恢复原始序列。D来分辨哪些token是被生成器产生的样本替换的。

文本损坏过程描述为:

2、损失函数为:

MLM损失的计算只计算m个,即m个被masked tokens

Disc损失 t的取值到 1..n,每个token都会更新参数

        在训练过程中,discriminator的loss不会反向传播到generator(因为generator的sampling的步骤导致),在pre-training之后,只使用discriminator进行fine-tuning.

http://www.lryc.cn/news/208821.html

相关文章:

  • Android开发知识学习——HTTP基础
  • 51单片机的hello world之点灯
  • Django 实战开发(一)项目搭建
  • Unity把余弦值转成弧度和角度
  • debian、ubuntu打包deb包工具,图形界面deb打包工具mkdeb
  • 微信小程序如何使用地球半径计算两组经纬度点之间的距离(自身位置与接口返回位置)【上】
  • postgis ST_ClipByBox2D用法
  • 【MyBatis Plus】深入探索 MyBatis Plus 的条件构造器,自定义 SQL语句,Service 接口的实现
  • 基于AI与物联网技术的智能视频监控系统架构剖析
  • mysql 基础知识
  • Flink CDC 2.0 主要是借鉴 DBLog 算法
  • win10 + VS2017 编译libjpeg(jpeg-9b)--更新
  • 使用pycharm远程调试
  • rust学习
  • GCC、g++、gcc的关系
  • IP应用场景API的反欺诈潜力:保护在线市场不受欺诈行为侵害
  • 常用的主流音乐编曲软件有哪些?
  • 面试题:为什么HashMap 使用的时候指定容量?
  • 基于C/C++的UG二次开发流程
  • “第五十二天”
  • Lvs+Nginx+NDS
  • JavaWeb——Servlet原理、生命周期、IDEA中实现一个Servlet(全过程)
  • Android 12.0 ota升级之SettingsProvider新增和修改系统数据相关功能实现
  • python---for循环结构中的else结构(是同级关系)
  • XLua中lua读写cs对象的原理
  • 新手小白怎么选择配音软件?
  • linux查看硬件信息命令
  • TSINGSEE青犀省级高速公路视频上云联网方案:全面实现联网化、共享化、智能化
  • 知识图谱相关的操作
  • 【Javascript】json