论文解读(AAD)《Knowledge distillation for BERT unsupervised domain adaptation》
Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ]
论文信息
论文标题:Knowledge distillation for BERT unsupervised domain adaptation
论文作者:Minho Ryu、Geonseok Lee、Kichun Lee
论文来源:2022 aRxiv
论文地址:download
论文代码:download
视屏讲解:click
1 介绍
出发点:域偏移导致的性能下降;
问题定义:UDA
比较有意思,这篇工作被抄袭了,但是抄袭的家伙还成功发论文了.............
2 相关工作
知识蒸馏 [7,8](KD)最初是一种模型压缩技术,旨在训练一个紧凑的模型(学生),以便将一个训练良好的更大的模型(教师)的知识转移到学生模型[28,29]。KD 可以通过最小化以下目标函数来表示:
$\mathcal{L}_{K D}=t^{2} \sum_{k}-\operatorname{softmax}\left(p_{k}^{T} / t\right) \times \log \left(\operatorname{softmax}\left(p_{k}^{S} / t\right)\right)$
其中,$p^{S}$ 和 $p^{T}$ 分别为学生模型和教师模型的预测,温度值 $t$ 控制着知识转移的程度。
推导过程:
$K L(p \| q)=\sum_{i=1}^{n} p\left(x_{i}\right) \log \left(\frac{p\left(x_{i}\right)}{q(x i)}\right)$
$\begin{array}{l} K L(p \| q)&=\sum_{i=1}^{n} p\left(x_{i}\right) \log \left(p\left(x_{i}\right)\right)-\sum_{i=1}^{n} p\left(x_{i}\right) \log \left(q\left(x_{i}\right)\right)\\&=H(p(x)) -\sum_{i=1}^{n} p\left(x_{i}\right) \log \left(q\left(x_{i}\right)\right)\end{array}$
注意:$P$ 代表着真实分布, $Q$ 代表着模型分布;
注意:学生模型训练时,教师模型的参数是固定的,因此 $H(p(x))$ 为常数,可以去掉;
注意:标准的监督训练,由于使用的是硬标签做监督训练,所以在重复训练的时候容易造成过拟合。由于较大的 $t$ 值产生较软的概率分布,知识蒸馏在结合领域自适应方法可以缓解这一问题。
3 方法
3.1 模型框架

3.2 Adversarial adaptation with distillation
Step 1: fine-tune the source encoder and the classifier
使用源域数据进行标准的监督训练,训练 $E_s$ 和 $C$:
$\underset{E_{S}, C}{\text{min}} \; \mathcal{L}_{S}\left(\mathbf{X}_{S}, \mathbf{y}_{S}\right)=\mathbb{E}_{\left(\boldsymbol{x}_{s}, y_{s}\right) \sim\left(\mathbb{X}_{S}, \mathbb{Y}_{S}\right)}-\sum_{k=1}^{K} \mathbb{1}_{\left[k=y_{s}\right]} \log C\left(E_{S}\left(\boldsymbol{x}_{S}\right)\right)$
Step 2: adapt the target encoder via adversarial adaptation with distillation
固定 $E_s$ 的参数,并使用 $E_s$ 初始化 $E_t$ 的参数,接着进行对抗性训练:
$\begin{array}{l}\underset{D}{\text{min}} \; \mathcal{L}_{\text {dis }}\left(\mathbf{X}_{S}, \mathbf{X}_{T}\right)=\mathbb{E}_{\boldsymbol{x}_{s} \sim \mathbb{X}_{S}}-\log D\left(E_{S}\left(\boldsymbol{x}_{s}\right)\right)+\mathbb{E}_{\boldsymbol{x}_{t} \sim \mathbb{X}_{T}}-\log \left(1-D\left(E_{t}\left(\boldsymbol{x}_{t}\right)\right)\right)\\\underset{E_{t}}{\text{min}} \; \mathcal{L}_{g e n} \left(\mathbf{X}_{T}\right)=\mathbb{E}_{\boldsymbol{x}_{t} \sim \mathbb{X}_{T}}-\log D\left(E_{t}\left(\boldsymbol{x}_{t}\right)\right)\end{array}$
然而,由于无法使用类标签,该公式很容易导致灾难性的遗忘,从而导致分类性能下降。对于一个使用大的 $t$ 的知识蒸馏模型,它不仅可以使得对抗性训练稳定,还可以良好的保存类信息。因此,引入了知识蒸馏损失:
$\mathcal{L}_{K D}\left(\mathbf{X}_{S}\right)=t^{2} \times \mathbb{E}_{\boldsymbol{x}_{s} \sim \mathbb{X}_{S}} \sum_{k=1}^{K}-\operatorname{softmax}\left(p_{k}^{S} / t\right) \times \log \left(\operatorname{softmax}\left(p_{k}^{T} / t\right)\right)$
其中,$p^{S}=C\left(E_{S}\left(\boldsymbol{x}_{s}\right)\right)$、$\boldsymbol{p}^{T}=C\left(E_{t}\left(\boldsymbol{x}_{s}\right)\right)$;
因此,训练目标编码器 $E_{t}$ 的最终目标函数变为:
$\underset{E_{t}}{\text{min}} \;\mathcal{L}_{T}\left(\mathbf{X}_{S}, \mathbf{X}_{T}\right)=\mathcal{L}_{\text {gen }}\left(\mathbf{X}_{T}\right)+\mathcal{L}_{K D}\left(\mathbf{X}_{S}\right)$
Step 3: test the target encoder on the target data
使用训练好的目标编码器 $E_t$ 和分类器 $C$ 对用于测试的目标数据情绪极性标签预测如下:
$\hat{y}_{t}=\arg \max C\left(E_{t}\left(\boldsymbol{x}_{t}\right)\right)$
4 实验
跨域情感分析

论文解读(AAD)《Knowledge distillation for BERT unsupervised domain adaptation》的更多相关文章
- 论文解读(CDCL)《Cross-domain Contrastive Learning for Unsupervised Domain Adaptation》
论文信息 论文标题:Cross-domain Contrastive Learning for Unsupervised Domain Adaptation论文作者:Rui Wang, Zuxuan ...
- 论文解读(CDTrans)《CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation》
论文信息 论文标题:CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation论文作者:Tongkun Xu, Weihu ...
- 论文解读(ToAlign)《ToAlign: Task-oriented Alignment for Unsupervised Domain Adaptation》
论文信息 论文标题:ToAlign: Task-oriented Alignment for Unsupervised Domain Adaptation论文作者:Guoqiang Wei, Cuil ...
- 论文解读(CAN)《Contrastive Adaptation Network for Unsupervised Domain Adaptation》
论文信息 论文标题:Contrastive Adaptation Network for Unsupervised Domain Adaptation论文作者:Guoliang Kang, Lu Ji ...
- 虚假新闻检测(CADM)《Unsupervised Domain Adaptation for COVID-19 Information Service with Contrastive Adversarial Domain Mixup》
论文信息 论文标题:Unsupervised Domain Adaptation for COVID-19 Information Service with Contrastive Adversari ...
- 迁移学习(IIMT)——《Improve Unsupervised Domain Adaptation with Mixup Training》
论文信息 论文标题:Improve Unsupervised Domain Adaptation with Mixup Training论文作者:Shen Yan, Huan Song, Nanxia ...
- 迁移学习(DCCL)《Domain Confused Contrastive Learning for Unsupervised Domain Adaptation》
论文信息 论文标题:Domain Confused Contrastive Learning for Unsupervised Domain Adaptation论文作者:Quanyu Long, T ...
- 迁移学习(TSRP)《Improving Pseudo Labels With Intra-Class Similarity for Unsupervised Domain Adaptation》
论文信息 论文标题:Improving Pseudo Labels With Intra-Class Similarity for Unsupervised Domain Adaptation论文作者 ...
- 迁移学习《Asymmetric Tri-training for Unsupervised Domain Adaptation》
论文信息 论文标题:Asymmetric Tri-training for Unsupervised Domain Adaptation论文作者:Kuniaki Saito, Y. Ushiku, T ...
- 迁移学习《Efficient and Robust Pseudo-Labeling for Unsupervised Domain Adaptation》
论文信息 论文标题:Efficient and Robust Pseudo-Labeling for Unsupervised Domain Adaptation论文作者:Hochang Rhee.N ...
随机推荐
- 工作中,Oracle常用函数
目录 1.序言 2.Oracle函数分类 3.数值型函数 3.1 求绝对值函数 3.2 求余函数 3.3 判断数值正负函数 3.4 三角函数 3.5 返回以指定数值为准整数的函数 3.6 指数.对数函 ...
- 2023-04-10:给定两个正整数x、y,都是int整型(java里) 返回0 ~ x以内,每位数字加起来是y的数字个数。 比如,x = 20、y = 5,返回2, 因为0 ~ x以内,每位数字加起
2023-04-10:给定两个正整数x.y,都是int整型(java里) 返回0 ~ x以内,每位数字加起来是y的数字个数. 比如,x = 20.y = 5,返回2, 因为0 ~ x以内,每位数字加起 ...
- 2022-12-12:有n个城市,城市从0到n-1进行编号。小美最初住在k号城市中 在接下来的m天里,小美每天会收到一个任务 她可以选择完成当天的任务或者放弃该任务 第i天的任务需要在ci号城市完成,
2022-12-12:有n个城市,城市从0到n-1进行编号.小美最初住在k号城市中 在接下来的m天里,小美每天会收到一个任务 她可以选择完成当天的任务或者放弃该任务 第i天的任务需要在ci号城市完成, ...
- 2022-07-12:以下go语言代码输出什么?A:1 1;B:1.0 1.0;C:编译不通过;D:1.0 1。 package main import “fmt“ func main() {
2022-07-12:以下go语言代码输出什么?A:1 1:B:1.0 1.0:C:编译不通过:D:1.0 1. package main import "fmt" func ma ...
- 2021-05-31:怎么判断n个数俩俩互质?比如7,8,9任意两个数最大公约数是1,所以7,8,9两两互质。比如8,9
2021-05-31:怎么判断n个数俩俩互质?比如7,8,9任意两个数最大公约数是1,所以7,8,9两两互质.比如8,9,10不是两两互质,因为8和10的最大公约数是2. 福大大 答案2021-05- ...
- Requested setting INSTALLED_APPS, but settings are not configured. You must either define the env...
解决办法 在test.py文件的最头部加上以下代码,配置环境 import os,django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djb ...
- 【实践篇】领域驱动设计:DDD工程参考架构
背景 为什么要制定参考工程架构 不同团队落地DDD所采取的应用架构风格可能不同,并没有统一的.标准的DDD工程架构.有些团队可能遵循经典的DDD四层架构,或改进的DDD四层架构,有些团队可能综合考虑分 ...
- kali系统安装redis步骤
环境: 攻击机:Kali 5.16.0-kali7-amd64 192.168.13.78 靶机: Kali 5.16.0-kali7-amd64 192.168.13.94 安装 ...
- python学习之-------OS 文件夹和文件操作
# OS模块 :查看一个文件夹下所有文件,这个文件夹有文件夹,不能用walk# -- coding: UTF-8 --import osimport sys#C:\Users\Administrato ...
- 案例分享-被*队友的mybatis蠢哭的一天
昨晚加班的时候被队友拉着看一个mybatis的问题,耗费了我一个小时时间,最后差点没被我打死,实在是觉得滑稽,今天回家写下来跟大伙分享一下. 问题现象 Invalid bound statement ...