| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 未标注目标语料是否均适合用于跨语言学习?『基于对抗判别器高效利用未标注语料的跨语言NER算法AdvPicker』 -> 正文阅读 |
|
[人工智能]未标注目标语料是否均适合用于跨语言学习?『基于对抗判别器高效利用未标注语料的跨语言NER算法AdvPicker』 |
本文公式较多,建议转至博客阅读 简单介绍一下韦乐,我,千惠,B?rje,Yi Guan 等人在 ACL21 上的这篇工作。 AdvPicker: Effectively Leveraging Unlabeled Data via Adversarial Discriminator for Cross-Lingual NER (ACL-IJCNLP 2021) ??Weile Chen, Huiqiang Jiang, Qianhui Wu, B?rje F. Karlsson, Yi Guan. 👨?💻 Code in Github Motivation事实上,经济实力注定会影响所有科技技术发展的进程。 而在拥有丰富高质量的英语语料下(其实还是少数 domain),FLAT NER 任务已经能够做到比较高的准确率,如何将这种能力合适的迁移到其他低资源,甚至无资源的目标语言中,是一个很有挑战性的问题。 但是这些方法都假设所有未标注语料都具有这种跨语言特性,都适合来做迁移学习,这是一个开放的问题。 本文的目标是设计一个能够与模型蕴含的与语言无关特征一致的数据判别器。 AdvPicker如何去构造这样的一个判别器?既然我们的目标是扑捉 Language-independent 的信息,那么就应该让模型避免拥有 Language-specific 的能力。 这种能力又如何来衡量呢?首先,我们想到的是如果 freeze 掉模型的参数,在模型下游加一个 FFN 去做判断语料来源任务(2 分类任务,0-源语料,1-目标语料),如果模型能很容易判断这个任务的话,就说明模型对于 Language-specific 的特征学习的很好。 简单在 mBERT 和源语言上 Fine-tune 的 mBERT-ft 两个模型上进行测试,如下表所示。 de es nl Avg mBERT 99.08 % 99.66 % 98.98 % 99.24 % mBERT-ft 98.38 % 98.66 % 97.27 % 98.10 % mBERT-TLADV 79.62 % 82.89 % 77.45 % 79.99 % \begin{array}{c|cccc} \hline & \textbf{de} & \textbf{es} & \textbf{nl} & \textbf{Avg} \\ \hline \text{mBERT} & 99.08\% & 99.66\% & 98.98\% & 99.24\% \\ \text{mBERT-ft} & 98.38\% & 98.66\% & 97.27\% & 98.10\% \\ \text{mBERT-TLADV} & 79.62\% & 82.89\% & 77.45\% & 79.99\% \\ \hline \end{array} mBERTmBERT-ftmBERT-TLADV?de99.08%98.38%79.62%?es99.66%98.66%82.89%?nl98.98%97.27%77.45%?Avg99.24%98.10%79.99%?? 上述实验说明(先忽略第三行),在默认或者 Fine-tune 情况下,模型拥有极强的 Language-specific 能力。 如何去降低这种源模型对于 Language-specific 特征过于敏感的情况,我们想到的是利用对抗学习+多任务,使得源模型在源语言上做 Fine-tune 的同时, 式1,对抗的去学习一个 Token 粒度的语言判别器(Token-levl Adv, TLADV), 式2,即模型流程图的图(a)部分。 P θ ( Y NER ) = softmax ( W NER h + b NER ) \mathcal{P}_{\theta}({\boldsymbol{Y}}^{\text{NER}}) = \text{softmax}(\boldsymbol{W}^{\text{NER}}\boldsymbol{h} + \boldsymbol{b}^{\text{NER}}) Pθ?(YNER)=softmax(WNERh+bNER) P θ ( Y DIS ) = σ ( W DIS1 ReLU ( W DIS2 h ) ) \mathcal{P}_{\theta}({\boldsymbol{Y}}^{\text{DIS}}) = \sigma(\boldsymbol{W}^{\text{DIS1}}\text{ReLU}(\boldsymbol{W}^{\text{DIS2}} \boldsymbol{h})) Pθ?(YDIS)=σ(WDIS1ReLU(WDIS2h)) 其中 h = E ( x ) \boldsymbol{h} = {\boldsymbol{E}}(\boldsymbol{x}) h=E(x)为 Encoder, W x \boldsymbol{W}^{\text{x}} Wx为可学习参数, P θ ( Y X ) \mathcal{P}_{\theta}({\boldsymbol{Y}}^{\text{X}}) Pθ?(YX)任务输出概率估计。 🤦 一开始想的挺美好的,但是 Adversarial Learning 的调参过于玄学,此处省略无数实验 work,也许以后可以用 NNI 这种来完成这种工作。 完成上述工作之后,我们就可以获得一个在源语言上 Fine-tune 好的 NER 模型和一个语言判别器(共享一个 mBERT)。 这个时候如果我们拿 mBERT-TLADV 去做类似 UniTrans 的 Distillation 学习,其实已经是一篇工作了。 对抗学习的目的是模型判断不出来语料的来源,那么对于判别器学的比较好的数据(这里应该是输出概率接近 0.5 左右的, 式3),所拥有的 Language-independent 信息相对含量(相对于学习得到的 NER 模型而言)就会偏高。 ? score ( x T ) = 1 ? ∥ P θ ( Y DIS , x T ) ? 0.5 ∥ \ell_{\text{score}}(\boldsymbol{x}^{\text{T}}) = 1- \left\|\mathcal{P}_{\theta}({\boldsymbol{Y}}^{\text{DIS}}, \boldsymbol{x}^{\text{T}}) - 0.5\right\| ?score?(xT)=1?∥∥∥?Pθ?(YDIS,xT)?0.5∥∥∥? 知识蒸馏部分即使用在源语言上 Fine-tune 之后的 NER 模型作为 Teacher 模型
h
\boldsymbol{h}
h,在目标语言伪样本子集上学习一个目标语言 Student 模型
h
stu
T
\boldsymbol{h}^{\text{T}}_{\text{stu}}
hstuT?。 P θ ( Y T-NER ) = softmax ( W T-NER h stu T + b T-NER ) \mathcal{P}_{\theta}({\boldsymbol{Y}}^{\text{T-NER}}) = \text{softmax}(\boldsymbol{W}^{\text{T-NER}}\boldsymbol{h}^{\text T}_{\text{stu}} + \boldsymbol{b}^{\text{T-NER}}) Pθ?(YT-NER)=softmax(WT-NERhstuT?+bT-NER) L KD = 1 N ∑ i ∈ [ 1 , N ] ( P θ ( Y T-NER ) ? y ^ subset T-NER ) 2 \mathcal L^{\text{KD}} = \frac{1}{N} \sum_{i \in [1, N]} (\mathcal{P}_{\theta}({\boldsymbol{Y}}^{\text{T-NER}}) - \boldsymbol{\hat{y}}^{\text{T-NER}}_{\text{subset}}) ^ 2 LKD=N1?∑i∈[1,N]?(Pθ?(YT-NER)?y^?subsetT-NER?)2 Experiments在 CoNLL 语料上,对英语[en], 西班牙语[es], 荷兰语[nl]和德语[de]四种语言进行测试。 de es nl Avg Beto 69.56 % 74.96 % 77.57 % 73.57 % mBERT-ADV 71.9 % 74.3 % 77.6 % 74.60 % Meta-Cross 73.16 % 76.75 % 80.44 % 76.78 % UniTrans* 73.61 ± 0.39 % 77.3  ̄ ± 0.78 % 81.2  ̄ ± 0.83 % 77.37  ̄ ± 0.67 % mBERT-ft 72.59 ± 0.31 % 75.12 ± 0.83 % 80.34 ± 0.27 % 76.02 ± 0.47 % mBERT-TLADV 73.89  ̄ ± 0.56 % 76.92 ± 0.62 % 80.62 ± 0.56 % 77.14 ± 0.58 % AdvPicker 75.01 ± 0.50 % 79.00 ± 0.21 % 82.90 ± 0.44 % 78.97 ± 0.38 % \begin{array}{c|cccc} \hline & \textbf{de} & \textbf{es} & \textbf{nl} & \textbf{Avg} \\ \hline \text{Beto} & 69.56\% & 74.96\% & 77.57\% & 73.57\% \\ \text{mBERT-ADV} & 71.9\% & 74.3\% & 77.6\% & 74.60\% \\ \text{Meta-Cross} & 73.16\% & 76.75\% & 80.44\% & 76.78\% \\ \text{UniTrans*} & 73.61 \pm 0.39\% & \underline{77.3} \pm 0.78 \% & \underline{81.2} \pm 0.83 \% & \underline{77.37} \pm 0.67 \% \\ \hline \text{mBERT-ft} & 72.59 \pm 0.31 \% & 75.12 \pm 0.83 \% & 80.34 \pm 0.27 \% & 76.02 \pm 0.47 \% \\ \text{mBERT-TLADV} & \underline{73.89} \pm 0.56 \%& 76.92 \pm 0.62 \% & 80.62 \pm 0.56 \% & 77.14 \pm 0.58 \%\\ \textbf{AdvPicker} & \textbf{75.01} \pm 0.50 \% & \textbf{79.00} \pm 0.21 \% & \textbf{82.90} \pm 0.44 \% & \textbf{78.97} \pm 0.38 \%\\ \hline \end{array} BetomBERT-ADVMeta-CrossUniTrans*mBERT-ftmBERT-TLADVAdvPicker?de69.56%71.9%73.16%73.61±0.39%72.59±0.31%73.89?±0.56%75.01±0.50%?es74.96%74.3%76.75%77.3?±0.78%75.12±0.83%76.92±0.62%79.00±0.21%?nl77.57%77.6%80.44%81.2?±0.83%80.34±0.27%80.62±0.56%82.90±0.44%?Avg73.57%74.60%76.78%77.37?±0.67%76.02±0.47%77.14±0.58%78.97±0.38%?? 上表展示了部分 Baselines 和一些对比实验结果。 虽然上述结果可以说明 AdvPicker 在 Cross-lingual NER 任务上可以取得很不错的效果,但是我们还是想深入探究这样的操作到底改变了什么。 de es nl Avg D subset 77.87 % 76.45 % 84.33 % 79.55 % D ? D subset 63.83 % 69.23 % 66.97 % 66.68 % Δ 14.04 % 7.22 % 17.36 % 12.87 % \begin{array}{c|cccc} \hline & \textbf{de} & \textbf{es} & \textbf{nl} & \textbf{Avg} \\ \hline \mathbb{D}_{\text{subset}} & 77.87\% & 76.45\% & 84.33\% & 79.55\% \\ \mathbb{D}\setminus \mathbb{D}_{\text{subset}} & 63.83\% & 69.23\% & 66.97\% & 66.68\% \\ \Delta & 14.04\% & 7.22\% & 17.36\% & 12.87\% \\ \hline \end{array} Dsubset?D?Dsubset?Δ?de77.87%63.83%14.04%?es76.45%69.23%7.22%?nl84.33%66.97%17.36%?Avg79.55%66.68%12.87%?? 可以看出判别器筛选出来的 data 本身具有更好的 Soft label 质量。 D subset de D de ? D subset de D subset es D es ? D subset es D subset nl D nl ? D subset nl mBERT-ft 73.65 % 70.66 % 77.29 % 70.39 % 81.67 % 69.89 % mBERT-TLADV 74.05 % 72.49 % 78.04 % 73.86 % 81.83 % 77.89 % UniTrans* 74.48 % 71.71 % 77.29 % 73.18 % 83.15 % 70.39 % AdvPicker 75.11 % 73.76 % 79.19 % 75.68 % 84.19 % 79.15 % \begin{array}{c|cccccc} \hline & \mathbb{D}^{\text{de}}_{\text{subset}} & \mathbb{D}^{\text{de}}\setminus \mathbb{D}^{\text{de}}_{\text{subset}} & \mathbb{D}^{\text{es}}_{\text{subset}} & \mathbb{D}^{\text{es}}\setminus \mathbb{D}^{\text{es}}_{\text{subset}} & \mathbb{D}^{\text{nl}}_{\text{subset}} & \mathbb{D}^{\text{nl}}\setminus \mathbb{D}^{\text{nl}}_{\text{subset}} \\ \hline \text{mBERT-ft} & 73.65 \% & 70.66 \% & 77.29 \% & 70.39 \% & 81.67 \% & 69.89 \% \\ \text{mBERT-TLADV} & 74.05 \% & 72.49 \% & 78.04 \% & 73.86 \% & 81.83 \% & 77.89 \% \\ \text{UniTrans*} & 74.48\% & 71.71\% & 77.29\% & 73.18\% & 83.15\% & 70.39\% \\ \textbf{AdvPicker} & 75.11\% & 73.76\% & 79.19\% & 75.68 \% & 84.19\% & 79.15 \% \\ \hline \end{array} mBERT-ftmBERT-TLADVUniTrans*AdvPicker?Dsubsetde?73.65%74.05%74.48%75.11%?Dde?Dsubsetde?70.66%72.49%71.71%73.76%?Dsubsetes?77.29%78.04%77.29%79.19%?Des?Dsubsetes?70.39%73.86%73.18%75.68%?Dsubsetnl?81.67%81.83%83.15%84.19%?Dnl?Dsubsetnl?69.89%77.89%70.39%79.15%?? 可以看到虽然 AdvPicker 没有见过训练集中
?
score
(
x
T
)
\ell_{\text{score}}(\boldsymbol{x}^{\text{T}})
?score?(xT)比较小的数据,但是在测试集的 Other 子集上仍然超过所有的 Baselines。 此外,还进行了一些消融实验,进一步证明了各个组件的作用。 de es nl Avg AdvPicker 75.02 79.00 82.90 78.97 mBERT-ft 72.59 ( ? 2.43 ) 75.12 ( ? 3.88 ) 80.34 ( ? 2.56 ) 76.02 ( ? 2.95 ) mBERT-TLADV 73.89 ( ? 1.13 ) 76.92 ( ? 2.08 ) 80.62 ( ? 2.28 ) 77.14 ( ? 1.83 ) AdvPicker?w/o?KD 73.98 ( ? 1.04 ) 77.91 ( ? 1.09 ) 80.55 ( ? 2.35 ) 77.48 ( ? 1.49 ) AdvPicker?w?All-Data 74.02 ( ? 1.00 ) 78.72 ( ? 0.28 ) 80.69 ( ? 2.21 ) 77.81 ( ? 1.16 ) \begin{array}{c|cccc} \hline & \textbf{de} & \textbf{es} & \textbf{nl} & \textbf{Avg} \\ \hline \text{AdvPicker} & 75.02 & 79.00 & 82.90 & 78.97 \\ \hline \text{mBERT-ft} & 72.59 (-2.43) & 75.12 (-3.88) & 80.34 (-2.56) & 76.02 (-2.95) \\ \text{mBERT-TLADV} & 73.89 (-1.13) & 76.92 (-2.08) & 80.62 (-2.28) & 77.14 (-1.83) \\ \text{AdvPicker w/o KD} & 73.98 (-1.04) & 77.91 (-1.09) & 80.55 (-2.35) & 77.48 (-1.49) \\ \text{AdvPicker w All-Data} & 74.02 (-1.00) & 78.72 (-0.28) & 80.69 (-2.21) & 77.81 (-1.16) \\ \hline \end{array} AdvPickermBERT-ftmBERT-TLADVAdvPicker?w/o?KDAdvPicker?w?All-Data?de75.0272.59(?2.43)73.89(?1.13)73.98(?1.04)74.02(?1.00)?es79.0075.12(?3.88)76.92(?2.08)77.91(?1.09)78.72(?0.28)?nl82.9080.34(?2.56)80.62(?2.28)80.55(?2.35)80.69(?2.21)?Avg78.9776.02(?2.95)77.14(?1.83)77.48(?1.49)77.81(?1.16)?? 总结和讨论本文从 Cross-linugal 任务应该扑捉 Language-independent 特征的角度出发,设计了一个评价 Langauge-specific 程度的任务。 实际上,这种方式可以看做为一种带权值批处理版本的 Self-training 或者 Co-training。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:38:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |