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

论文浅尝 | 利用对抗攻击策略缓解预训练语言模型中的命名实体情感偏差问题...

5cf0f66c72d96c5a6ea69b4f4d95eb61.png

笔记整理:田家琛,天津大学博士,研究方向为文本分类

链接:https://ojs.aaai.org/index.php/AAAI/article/view/26599

动机

近年来,随着预训练语言模型(PLMs)在情感分类领域的广泛应用,PLMs中存在的命名实体情感偏差问题也引起了越来越多的关注。具体而言,当前的PLMs基于神经上下文编码器,倾向于将某些命名实体上下文中的情感信息应用到表示学习过程中,使得命名实体与情感之间容易形成虚假的相关性。本文提出了一种基于自适应Gumbel攻击的情感分类器Gater,在保证文本语义一致性的前提下,利用对抗攻击策略缓解情感偏差问题。首先,该分类器内置多个可生成Gumbel噪声的专家网络,通过最小化网络输出之间的互信息来增加噪声多样性。然后,在模型训练期间,利用Gumel噪声攻击分类器输出,根据攻击前后置信度的变化情况判断攻击是否有效。最后,采用多路参数优化算法将多个专家网络参数和分类器参数进行融合,使分类器对专家网络模拟的情感偏差产生免疫。实验结果表明,该方法在不破坏情感分类性能的前提下,有效地缓解了PLMs中存在的命名实体情感偏差问题。

亮点

Gater的亮点主要包括:

(1) 提出利用Gumbel噪声缓解命名实体情感偏差。Gumbel分布作为第一类型的广义极值分布,采样噪声大部分来自于分布的尾部,对分类器输出的改动幅度较小,有利于保护其原有的语义分布。

(2) 提出多路参数优化算法。根据专家网络的攻击效果,将多个专家网络的参数融合到分类模型中,有效地丰富了模型的参数更新方向。

模型简介

如图1所示,在前向传播阶段,Gater自适应地为原始分类器  添加  个专家网络,每个专家网络包含一个攻击模块  和一个基础模块  ,其中  。  负责模拟有情感偏差的情况,  负责模拟没有情感偏差的情况,它们经过对比之后输出模拟的情感偏差,用来攻击  中的情感偏差。

具体而言,  和  的输入是仅包含命名实体的文本向量表示。训练每个专家网络时,Gater通过最大化  输入与输出之间的互信息(损失函数  ),保证  中的情感偏差不再变化;通过最大化  输出与加入Gumbel噪声的输入之间的互信息(损失函数  ),使  学会Gumbel攻击;通过最小化  之间的互信息(损失函数  ),保证Gumbel噪声的多样性。此外,模型使用Softmax层的输出来评估采样效果。在下一轮的训练中,效果不好的专家网络将被重置参数。

在反向传播阶段,多路参数优化算法的目标是融合  与每个  和  的参数,使  获得情感去偏的能力。例如,对于  进行参数更新,首先使用梯度下降算法更新  的参数,并进一步融合  、  和  的参数。即:

f16e248de63a1796b5af8674c6e7fd9d.png

其中,  指的是  在第  个训练批次时的参数。  是选择的损失函数。  是  在第  个训练批次时的平均置信度。当 μ 时,表明第  个专家网络无法降低情感偏差,因此分类器  的参数应该远离第  个专家网络的参数。当 μ 时,表示第  个专家网络实现了情感去偏,因此分类器  的参数应该与第  个专家网络的参数接近。当 μ 时,表示第  个专家网络无效,应该保持分类器  原有的参数更新方向。

6fbc8060e3e20c1fdd0b8fc1bcfe77bd.png

图1  Gater总体架构图

实验

本文在七个真实数据集上进行实验,它们分别是IMDb、SST-2、YELP-2、YELP-5、Amazon-2、Amazon-5和SemEval。此外,本文选择的预训练模型分别是BERT、RoBERT、ALBERT和ELECTRA。

之前的研究发现,目前的去偏方法可能会过度去偏,导致下游任务的性能下降。实验结果表明(表1),Gater可以有效地避免过度去偏问题,且每个PLM的分类性能都比原始版本提升了0.0到2.0。

a021c8ba1c198f01cff297c4db11f90a.png表1 分类性能

本文使用NLTK版本的词性标记工具从每个数据集中随机选择400个命名实体,然后通过情感转移测试计算这些命名实体的情感得分。得分越高,情感偏差越严重。图2反映了这些实体在使用Gater前后的情感偏差变化。对于每个数据集,Gater将情感偏差保持在较低的水平,即这些命名实体的情感得分接近于0。相比之下,在不使用Gater的情况下,这些命名实体具有较高的情感得分。这说明Gater有效地减少了情感偏差。

3c4b53e81811e895e835cb2737dd2bff.png

0aecc8b2add16c5e4cc3836f4c14e78a.png

图2 情感去偏

总结

本文提出了一种基于自适应Gumbel攻击的情感分类器Gater,从对抗攻击的角度缓解了PLMs中的命名实体情感偏差。现实世界中的命名实体是复杂和多样的,它们的特征和属性会随着时间和不同的环境而变化。随着PLMs在现实场景中的广泛应用,Gater可以快速调整PLMs对命名实体的情感倾向性,从而有效地提高情感分类系统的鲁棒性。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

32e06c523bca7cb30329187231686281.png

点击阅读原文,进入 OpenKG 网站。

相关文章:

论文浅尝 | 利用对抗攻击策略缓解预训练语言模型中的命名实体情感偏差问题...

笔记整理:田家琛,天津大学博士,研究方向为文本分类 链接:https://ojs.aaai.org/index.php/AAAI/article/view/26599 动机 近年来,随着预训练语言模型(PLMs)在情感分类领域的广泛应用&#xff0c…...

springboot web开发springmvc自动配置原理

前言 我们也知道springboot启用springmvc基本不用做什么配置可以很方便就使用了但是不了解原理,开发过程中遇到点问题估计就比较头疼,不管了解的深不深入,先巴拉一番再说… 下面我们先看看官网…我的版本是2.3.2版本,发现官网改动也比较大…不同版本自己巴拉下吧,结构虽然变化…...

发表于《自然》杂志:语音转文本BCI的新突破实现62字/分钟的速度

语音脑机接口(BCI)是一项创新技术,通过用户的大脑信号在用户和某些设备之间建立通信通道,它们在恢复残疾患者的言语和通信能力方面具有巨大潜力。 早期的研究虽然很有希望,但尚未达到足够高的精度来解码大脑活动&…...

微软 Turing Bletchley v3视觉语言模型更新:必应搜索图片更精准

据微软新闻稿透露,在推出第三代Turing Bletchley视觉语言模型后,微软计划逐步将其整合到Bing等相关产品中,以提供更出色的图像搜索体验。这款模型最初于2021年11月面世,并在2022年秋季开始邀请用户测试。 凭借用户的反馈和建议&am…...

Ubuntu 22.04 x86_64 源码编译 pytorch-v2.0.1 笔记【2】编译成功

20230831继续: 当前状态 (pytorch-build) yeqiangyeqiang-MS-7B23:~/Downloads/src/pytorch$ pwd /home/yeqiang/Downloads/src/pytorch (pytorch-build) yeqiangyeqiang-MS-7B23:~/Downloads/src/pytorch$ python3 -V Python 3.10.6 (pytorch-build) yeqiangyeqi…...

IIR滤波器

IIR滤波器原理 IIR的特点是:非线性相位、消耗资源少。 IIR滤波器的系统函数与差分方程如下所示: 由差分方程可知IIR滤波器存在反馈,因此在FPGA设计时要考虑到有限字长效应带来的影响。差分方程中包括两个部分:输入信号x(n)的M节…...

【QT】使用qml的QtWebEngine遇到的一些问题总结

在使用qt官方的一些QML的QtWebEngine相关的例程的时候,有时在运行会报如下错误: WebEngineContext used before QtWebEngine::initialize() or OpenGL context creation failed 这个问题在main函数里面最前面加上: QCoreApplication::setAttr…...

230902-部署Gradio到已有FastAPI及服务器中

1. 官方例子 run.py from fastapi import FastAPI import gradio as grCUSTOM_PATH "/gradio"app FastAPI()app.get("/") def read_main():return {"message": "This is your main app"}io gr.Interface(lambda x: "Hello, …...

Ubuntu本地快速搭建web小游戏网站,公网用户远程访问【内网穿透】

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问 4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名 前言 网:我们通常说的是互联网&am…...

【LeetCode-中等题】199. 二叉树的右视图

文章目录 题目方法一&#xff1a;层序遍历取每一层最后一个元素方法二&#xff1a;深度优先搜索 题目 方法一&#xff1a;层序遍历取每一层最后一个元素 // 方法一 &#xff1a;层序 集合(取每层子集合最后一个元素)// List<List<Integer>> Rlist new ArrayList…...

【调试经验】Ubuntu22.04 安装和配置MySQL 8.0.34

本文共计1469字&#xff0c;预计阅读时间5分钟 在安装新版本的MySQL到电脑时&#xff0c;按着网上一些教程执行发现错误繁多&#xff0c;最后索性自己摸索并把服务装好了。自己也整理了一下在操作时的笔记&#xff0c;上传上来希望能帮助到大家。 目录 正文 安装MySQL 配置…...

Android 使用OpenCV实现实时人脸识别,并绘制到SurfaceView上

1. 前言 上篇文章 我们已经通过一个简单的例子&#xff0c;在Android Studio中接入了OpenCV。 之前我们也 在Visual Studio上&#xff0c;使用OpenCV实现人脸识别 中实现了人脸识别的效果。 接着&#xff0c;我们就可以将OpenCV的人脸识别效果移植到Android中了。 1.1 环境说…...

【自然语言处理】关系抽取 —— GDPNet 讲解

GDPNet 论文信息 标题:GDPNet: Refining Latent Multi-View Graph for Relation Extraction 作者:Fuzhao Xue, Aixin Sun, Hao Zhang, Eng Siong Chng 期刊:AAAI 2021 发布时间与更新时间:2020.12.12 主题:自然语言处理、关系抽取、对话场景、BERT、GCN arXiv:[2012.0678…...

【小沐学NLP】Python使用NLTK库的入门教程

文章目录 1、简介2、安装2.1 安装nltk库2.2 安装nltk语料库 3、测试3.1 分句分词3.2 停用词过滤3.3 词干提取3.4 词形/词干还原3.5 同义词与反义词3.6 语义相关性3.7 词性标注3.8 命名实体识别3.9 Text对象3.10 文本分类3.11 其他分类器3.12 数据清洗 结语 1、简介 NLTK - 自然…...

Angular安全专辑之三 —— 授权绕过,利用漏洞控制管理员账户

这篇文章是针对实际项目中所出现的问题所做的一个总结。简单来说&#xff0c;就是授权绕过问题&#xff0c;管理员帐户被错误的接管。 详细情况是这样的&#xff0c;我们的项目中通常都会有用户身份验证功能&#xff0c;不同的用户拥有不同的权限。相对来说管理员账户所对应的…...

使用Sumo以及traci实现交叉口信号灯自适应控制

使用Sumo以及traci实现交叉口信号灯自适应控制 文章目录 使用Sumo以及traci实现交叉口信号灯自适应控制 使用Sumo以及traci实现交叉口信号灯感应控制一、什么是交叉口感应控制二、Traci中的感应控制实现流程1.感应控制逻辑2.仿真过程 使用Sumo以及traci实现交叉口信号灯感应控制…...

自定义类型:结构体、枚举、联合

目录 结构体 结构体的基础知识 结构的声明 特殊的声明 结构体的自引用 结构体变量的定义和初始化 结构体内存对齐 修改默认对齐数 结构体传参 位段 什么是位段 位段的内存分配 位段的跨平台问题 位段的应用 枚举 枚举类型的定义 枚举的优点 联合体&#xff08;共…...

如何使用ZIP方式安装MySQL:简单、快速、高效的安装方法

下载MySQL的zip文件&#xff1a;从官方网站 https://dev.mysql.com/downloads/mysql/ 下载适用于您的操作系统的MySQL zip压缩包。 版本介绍(zip一般选第ZIP Archive版本) “Windows (x86, 64-bit), ZIP Archive” 是MySQL的发布版本&#xff0c;提供了MySQL服务器和相关的工具…...

python嵌套循环

在 Python 中&#xff0c;你可以使用嵌套循环来创建双循环&#xff0c;也就是一个循环包含在另一个循环中。通常有两种类型的双循环&#xff1a;嵌套循环和同时迭代多个迭代器的循环。我会详细说明这两种情况。 1. 嵌套循环&#xff1a; 嵌套循环是指一个循环嵌套在另一个循环…...

一文速学-让神经网络不再神秘,一天速学神经网络基础(五)-最优化

前言 思索了很久到底要不要出深度学习内容&#xff0c;毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新&#xff0c;很多坑都没有填满&#xff0c;而且现在深度学习的文章和学习课程都十分的多&#xff0c;我考虑了很久决定还是得出神经网络系列文章&#xff0c;…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

js 设置3秒后执行

如何在JavaScript中延迟3秒执行操作 在JavaScript中&#xff0c;要设置一个操作在指定延迟后&#xff08;例如3秒&#xff09;执行&#xff0c;可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法&#xff0c;它接受两个参数&#xff1a; 要执行的函数&…...