论文地址:Stacked DeBERT: All Attention in Incomplete Data for Text Classification

项目地址:https://github.com/gcunhase/StackedDeBERT

我们提出将去噪BERT (DeBERT)叠加作为一种新颖的编码方案,用于对不正确的句子进行不完全的意图分类和情绪分类。如图1所示,该模型的结构为嵌入层和普通变压器层的叠加,类似于传统的BERT[11],然后是新型降噪Transformer层。该模型的主要目的是通过对含有缺失词的句子进行隐藏嵌入重构,提高BERT对不完整数据的鲁棒性和有效性。通过重构这些隐藏的嵌入,我们可以改进BERT的编码方案。

图1:提出的叠加BERT模型分为三层:嵌入层、常规双向Transformer层和去噪双向Transformer层。

该模型的初始部分是传统的BERT,一个多层双向Transformer编码器和一个强大的语言模型。在训练过程中,BERT对不完整的文本分类语料库进行微调(见第3节)。它还用特殊字符“[CLS]”作为标记序列的前缀,用“[SEP]”字符作为每个句子的后缀。然后是一个用于输入表示的嵌入层,最后的输入嵌入是一组令牌嵌入、分段嵌入和位置嵌入。第一个是令牌嵌入层,它使用词汇表字典将每个令牌转换为更具代表性的嵌入。分段嵌入层通过标记1或0来指示哪些标记构成一个句子。在我们的例子中,由于我们的数据是由单个句子组成的,所以在第一个‘[SEP]’字符出现之前(表示片段A),然后它变成了0(片段B)。正如名称所示,位置嵌入层添加了与令牌在句子中的位置相关的信息。这为普通双向Transformer层考虑的数据做了准备,它输出一个隐藏的嵌入,可以被我们的新型去噪Transformer层使用。

尽管BERT在处理不完整的数据时表现得比其他基线模型更好,但它仍然不足以完整和有效地处理这些数据。因此,需要进一步改进从缺词句子中得到的隐含特征向量。基于这一目的,我们实现了一种新的编码方案,该方案由去噪Transformer和双向Transformer组成,其中去噪Transformer由多层感知器堆栈组成,通过提取更抽象和有意义的隐藏特征向量来重建缺失的词嵌入,而双向Transformer则用于改进嵌入表示。嵌入重构步骤以从不完整数据中提取的句子嵌入作为输入,以其完整版本对应的嵌入作为目标。输入和目标都得到应用嵌入层和vanilla transformers后,显示在图1中,并且形状(, 768, 128),其中,Nbs为批量大小,768为单个令牌的原始BERT嵌入大小,128为句子中的最大序列长度。

多层感知器的堆栈结构是由三层构成的两组,每组包含两个隐藏层。第一个集合负责将压缩为一个隐空间表示,将更多抽象特征提取到具有形状(, 128, 128)、(, 32, 128)和(, 12, 128)的低维向量和z中。这一过程如式(1)所示:

其中f(·)为参数化函数,将映射到隐藏状态z,第二组分别将、z重构为。这一过程如式(2)所示:                                       

其中g(·)是将z重构为的参数化函数

通过均方误差损失函数将重构后的隐藏句嵌入与完整的隐藏句嵌入进行比较,如Eq(3)所示:

根据不完全句重构出正确的隐藏嵌入后,将正确的隐藏嵌入提供给双向Transformer以生成输入表示。然后,在不完整的文本分类c上,以端到端方式对模型进行微调。

利用前馈网络和softmax激活函数进行分类。Softmax   σ为数控类是一个离散型概率分布函数,类概率的总和是1和预测类的最大价值。所预测的类可以用公式进行数学计算:

其中o = W t + b,用于分类的前馈层的输出。

Stacked DeBERT相关推荐

  1. 2020年NLP所有领域最新、经典、顶会、必读论文

    本资源整理了近几年,自然语言处理领域各大AI相关的顶会中,一些经典.最新.必读的论文,涉及NLP领域相关的,Bert模型.Transformer模型.迁移学习.文本摘要.情感分析.问答.机器翻译.文本 ...

  2. Python使用matplotlib可视化时间序列堆叠的面积图、堆叠面积图给出了多个时间序列的贡献程度的可视化表示,以便于相互比较(Stacked Area Chart)

    Python使用matplotlib可视化时间序列堆叠的面积图.堆叠面积图给出了多个时间序列的贡献程度的可视化表示,以便于相互比较(Stacked Area Chart) 目录

  3. python使用matplotlib可视化堆叠的柱状图(stacked bar plot)、多个类别的数据在分类变量层面累积堆叠起来

    python使用matplotlib可视化堆叠的柱状图(stacked bar plot).多个类别的数据在分类变量层面累积堆叠起来 目录

  4. python使用matplotlib可视化堆叠的直方图(stacked histogram plot)、多个类别的数据在直方图区间层面累积堆叠起来

    python使用matplotlib可视化堆叠的直方图(stacked histogram plot).多个类别的数据在直方图区间层面累积堆叠起来 目录

  5. R语言ggplot2可视化:可视化水平堆叠条形图(horizontal stacked bar plot)并在条形图中的每个分组条形区域显示区域占整体的百分比数值标签

    R语言ggplot2可视化:可视化水平堆叠条形图(horizontal stacked bar plot)并在条形图中的每个分组条形区域显示区域占整体的百分比数值标签(draw stacked bar ...

  6. R语言ggplot2可视化整体排序的水平堆叠条形图(Ordered Stacked Horizontal Barplot)

    R语言ggplot2可视化整体排序的水平堆叠条形图(Ordered Stacked Horizontal Barplot) 目录 R语言ggplot2可视化整体排序的水平堆叠条形图(Ordered S ...

  7. R语言ggplot2可视化:计算dataframe中每个数据列缺失值的个数、使用堆叠的条形图(Stacked Barplot)可视化每个数据列的缺失值的情况(自定义堆叠条形图的形式)

    R语言ggplot2可视化:计算dataframe中每个数据列缺失值的个数.使用堆叠的条形图(Stacked Barplot)可视化每个数据列的缺失值的情况(自定义堆叠条形图的形式) 目录

  8. R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart)

    R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart) 目录 R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart) #仿真数据 #绘制堆叠 ...

  9. R语言ggplot2可视化:使用堆叠的条形图(Stacked Barplot)可视化每个数据行(row)的缺失值的情况(Visualizing missing data counts in rows)

    R语言ggplot2可视化:使用堆叠的条形图(Stacked Barplot)可视化每个数据行(row)的缺失值的情况(Visualizing missing data counts in rows) ...

最新文章

  1. python自定义全局异常_flask中主动抛出异常及统一异常处理代码示例
  2. hibernate jpa_JPA / Hibernate:基于版本的乐观并发控制
  3. Linux搭建高并发高可用Redis集群
  4. python基础(笔记)
  5. 哥德巴赫猜想用计算机证明,用计算机证明有限数哥德巴赫猜想成立:运行结果...
  6. aop java intercept_关于 Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法
  7. I/O接口标准(1):LVTTL、LVCMOS、SSTL、HSTL
  8. Django入门4--admin
  9. 实操:(附环摄数据及三维模型)如何利用Smart3D将二维照片转换成三维模型?
  10. 阿里云如何选择带宽计费模式和带宽值
  11. 2012年九月六号阿里巴巴面试
  12. linux脚本无法执行命令,shell脚本在Windows下能执行,而Linux不能执行的原因及解决...
  13. 人脸检测进阶:更快的5点面部标志检测器
  14. 一文读懂HBase的存储模式--BigTable
  15. win10扬声器红叉_win10系统右下角小喇叭红叉显示扬声器耳机或者耳机已拔出的图文技巧...
  16. LeetCode——777.在LRX字符串中交换相邻字符
  17. 微软内部泄露的 XP的KEY和无限次激活码
  18. java 实现鼠标移动事件
  19. cad应用技巧:图层特性管理器
  20. Windows-注入技术学习总结

热门文章

  1. 单组学的多变量分析| 2.稀疏偏最小二乘判别分析(sPLS-DA)
  2. android 磁力解析,关于手机端磁力下载,看这篇教程就够了
  3. 易语言如何调用大漠插件
  4. 强化网络互连设备安全配置脚本
  5. ClassFormatException:Invalid byte tag in constant pool: 18
  6. 标准库intrins.h中的循环指令在多种流水灯方式上的应用
  7. Alex - 用python来写测手速游戏
  8. 关于linux下的嵌入式文件系统以及flash文件系统选择(转)
  9. 记录Spring cloud alibaba Nacos学习
  10. 查看BMP格式图片的十六进制代码