- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ]
论文标题:Moka‑ADA: adversarial domain adaptation with model‑oriented knowledge adaptation for cross‑domain sentiment analysis 论文作者:Maoyuan ZhangXiang LiFei Wu 论文来源:2023 aRxiv 论文地址: download 论文代码:download 视屏讲解:click 。
出发点 :以往方法将特征表示转换为域不变的方法倾向于只对齐边缘分布,并且不可避免地会扭曲包含判别知识的原始特征表示,从而使条件分布不一致; 。
以往方法和本文方法的对比:我们采用对抗性判别域自适应(ADDA)框架来学习边际分布对齐的领域不变知识,在此基础上,在源模型和目标模型之间进行知识自适应以实现条件分布对齐。具体地说,我们设计了一个对中间特征表示和fnal分类概率具有相似性约束的对偶结构,以便训练中的目标模型从训练后的源模型中学习鉴别知识。在一个公开的情绪分析数据集上的实验结果表明,我们的方法取得了新的最先进的性能.
跨域情绪分析相关工作的联系 :
方法对比 :
研究目的 :除了对齐边缘分布,还对齐了类条件分布;
贡献 :
为了使训练中的目标编码器从训练后的源编码器中学习鉴别性知识,设计了一个面向模型的知识自适应模块,包括中间特征表示相似度约束(ISC)和最终分类概率相似度约束(FSC).
源域数据 $\boldsymbol{x}_{s} \sim \mathbb{D}_{S}$,通过源域编码器 $E_{s}$ 和 目标编码器 $E_{t}$ 分别得到特征表示 $\boldsymbol{h}_{s}=E_{s}\left(\boldsymbol{x}_{s}\right)$、 $\hat{\boldsymbol{h}}_{t}=E_{t}\left(\boldsymbol{x}_{s}\right)$,且满足 $\boldsymbol{H}_{S}=\left\{\left(\boldsymbol{h}_{s}^{i}\right)\right\}_{i=1}^{n} \sim \mathbb{H}_{S}$ 和 $\boldsymbol{H}_{T}=\left\{\left(\hat{\boldsymbol{h}}_{t}^{i}\right)\right\}_{i=1}^{n} \sim \mathbb{H}_{T} $,特征分布 $\mathbb{H}_{S}$ 和 $\mathbb{H}_{T}$ 之间的距离使用 $\text{MMD}$ 计算:
$\begin{aligned}\underset{E_{t}}{\text{min}} \; & \mathcal{L}_{\mathrm{ISC}}\left(\boldsymbol{x}_{s}\right) \\= & \operatorname{MMD}^{2}\left[\mathcal{F}, \boldsymbol{h}_{s}, \hat{\boldsymbol{h}}_{t}\right] \\= & \left\|\mathbb{E}_{\boldsymbol{h}_{s} \sim \mathbb{H}_{S}} \phi\left(\boldsymbol{h}_{s}\right)-\mathbb{E}_{\hat{\boldsymbol{h}}_{\boldsymbol{t}} \sim \mathbb{H}_{T}} \phi\left(\hat{\boldsymbol{h}}_{t}\right)\right\|_{\mathcal{H}}^{2} \\= & \mathbb{E}_{\boldsymbol{h}_{s}, \boldsymbol{h}_{s}^{\prime} \sim \mathbb{H}_{s}, \mathbb{H}_{S}} k\left(\boldsymbol{h}_{s}, \boldsymbol{h}_{s}^{\prime}\right) - 2 \mathbb{E}_{\boldsymbol{h}_{s}, \hat{\boldsymbol{h}}_{t} \sim \mathbb{H}_{s}, \mathbb{H}_{T}} k\left(\boldsymbol{h}_{s}, \hat{\boldsymbol{h}}_{t}\right) +\mathbb{E}_{\hat{\boldsymbol{h}}_{t}, \hat{h}_{t}^{\prime} \sim \mathbb{H}_{T}, \mathbb{H}_{T}} k\left(\hat{\boldsymbol{h}}_{t}, \hat{\boldsymbol{h}}_{t}^{\prime}\right),\end{aligned}$ 。
其中,核函数 $k(\boldsymbol{u}, \boldsymbol{v})=\sum_{i=1}^{m} \exp \left\{-\frac{1}{2 \delta_{i}}\|\boldsymbol{u}-\boldsymbol{v}\|_{2}^{2}\right\}$; 。
传统的方法将对目标样本设置一个硬标签(伪标签),这在重复训练过程中容易造成过拟合。为了缓解这一问题,利用知识蒸馏(KD),通过产生一个软概率分布来控制知识转移的程度.
软概率分布的优势:
接着将 $\boldsymbol{h}_{s}$、$\hat{\boldsymbol{h}}_{t}$ 放入放缩余弦分类器 。
$\boldsymbol{p}_{s}=C_{s}\left(\boldsymbol{h}_{s}\right)$ $\hat{\boldsymbol{p}}_{t}=C_{s}\left(\hat{\boldsymbol{h}}_{t}\right)$ $\boldsymbol{P}=\sigma\left(\boldsymbol{p}_{s} / T\right)$ $\boldsymbol{Q}=\sigma\left(\hat{\boldsymbol{p}}_{t} / T\right)$ 。
最终相似性约束如下:
$\begin{aligned}\underset{E_{t}}{\text{min}} \; & \mathcal{L}_{\mathrm{FSC}}\left(\boldsymbol{x}_{s}\right) \\& =T^{2} \cdot \operatorname{KL}(\boldsymbol{P} \| \boldsymbol{Q}) \\& =T^{2} \cdot \mathbb{E}_{\boldsymbol{x}_{s} \sim \mathbb{D}_{S}} \sum_{k=1}^{K} P_{k} \log \frac{P_{k}}{Q_{k}},\end{aligned}$ 。
2.1 节小结:综上所述,对源编码器和目标编码器的输入是相同的,目标编码器用“中间”和“fnal”来模拟源编码器,从而实现条件分布对齐的鉴别知识.
笔记 :
传统的余弦相似度计算公式为:
cosine similarity = dot product(A, B) / (norm(A) * norm(B)) 。
其中,dot product(A, B)表示向量 A 和 B 的点积,norm(A) 和 norm(B) 分别表示向量 A 和 B 的范数.
放缩余弦分类器通过引入放缩因子来调整余弦相似度的计算,公式如下:
scaled cosine similarity = dot product(A, B) / (scale_factor * norm(A) * norm(B)) 。
本文提出的 Moka-ADA 框架 如 Figure2 所示:
主要包括三个步骤:
Step1 ,目标是使用来自源域的标记数据来训练一个性能良好的源模型,它作为目标模型的后续训练的 “teacher”,通过使用交叉熵损失,通过对源编码器 $E_s$ 和分类器 $C_s$ 在 $(x_s,y_s)$ 进行监督训练,可以最小化源误差:
$\begin{array}{l}\underset{E_{s}, C_{s}}{\text{min}} \; \mathcal{L}_{\mathrm{cls}}\left(\boldsymbol{x}_{s}, y_{s}\right)=\mathbb{E}_{\left(\boldsymbol{x}_{s}, y_{s}\right) \sim \mathbb{D}_{S}}-\sum_{k=1}^{K} \mathbb{1}_{\left[k=y_{s}\right]} \log \sigma\left(\boldsymbol{p}_{s}\right)\end{array}$ 。
Step2 ,固定 $E_s$ 的参数,并使用 $E_s$ 初始化 $E_t$ 的参数,接着进行对抗性训练:
域分类损失最小化:
$\begin{aligned}\underset{C_{d}}{\text{min}} \; & \mathcal{L}_{\mathrm{dis}}\left(\boldsymbol{x}_{s}, \boldsymbol{x}_{t}, y_{s}^{d}, y_{t}^{d}\right) \\& =\min _{C_{d}}\left[\frac{\mathcal{L}_{\mathrm{s}}^{\mathrm{dis}}\left(\boldsymbol{x}_{s}, y_{s}^{d}\right)+\mathcal{L}_{\mathrm{t}}^{\mathrm{dis}}\left(\boldsymbol{x}_{t}, y_{t}^{d}\right)}{2}\right] \\& =\frac{\mathbb{E}_{\boldsymbol{x}_{s} \sim \mathbb{D}_{S}}-\log \left(1-\boldsymbol{q}_{s}\right)+\mathbb{E}_{\boldsymbol{x}_{t} \sim \mathbb{D}_{T}}-\log \boldsymbol{q}_{t}}{2} .\end{aligned}$ 。
域分类损失最大化(迷惑域鉴别器):
$\begin{aligned}\underset{E_{t}}{\text{min}} \;\; & \mathcal{L}_{\text {gen }}\left(\boldsymbol{x}_{t}, {\color{Red} y_{s}^{d}} \right) \\\quad & =\mathbb{E}_{\boldsymbol{x}_{t} \sim \mathbb{D}_{T}}-\left[y_{s}^{d} \log \boldsymbol{q}_{t}+\left(1-y_{s}^{d}\right) \log \left(1-\boldsymbol{q}_{t}\right)\right] \\& =\mathbb{E}_{\boldsymbol{x}_{t} \sim \mathbb{D}_{T}}-\log \left(1-\boldsymbol{q}_{t}\right),\end{aligned}$ 。
注意:对抗性训练中的 特征提取器这边指的是 目标编码器 $E_t$; 。
目标编码器的最终训练目标:
$\begin{array}{l}\underset{E_{t}}{\text{min}}\;\mathcal{L}_{\mathrm{tgt}}\left(\boldsymbol{x}_{s}, \boldsymbol{x}_{t}, y_{s}^{d}\right) \\\quad= \underset{E_{t}}{\text{min}}\left[\mathcal{L}_{\mathrm{gen}}\left(\boldsymbol{x}_{t}, y_{s}^{d}\right)+\mathcal{L}_{\mathrm{ISC}}\left(\boldsymbol{x}_{s}\right)+\mathcal{L}_{\mathrm{FSC}}\left(\boldsymbol{x}_{s}\right)\right]\end{array}$ 。
Step3 ,使用训练好的目标编码器 $E_t$ 和分类器 $C_s$ 对用于测试的目标数据情绪极性标签预测如下:
$\hat{y}_{t}=\arg \max \boldsymbol{p}_{t}$ 。
长这样的算法步骤:
情绪分类结果 。
可视化 。
消融实验 。
最后此篇关于论文解读(Moka‑ADA)《Moka‑ADA:adversarialdomainadaptationwith model‑orientedknowledgeadaptationfor cross‑domainsentimentanalysis》的文章就讲到这里了,如果你想了解更多关于论文解读(Moka‑ADA)《Moka‑ADA:adversarialdomainadaptationwith model‑orientedknowledgeadaptationfor cross‑domainsentimentanalysis》的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在这里的意图是创建一个单线程的 will-make-you-a-better-programmer-just-for-reading 之类的 文章 或 论文 或 真正站起来的博文作者付出了很多努力来
我想知道是否有人有很好的资源可以阅读或编写代码来试验“自动完成” 我想知道自动完成背后的理论是什么,从哪里开始什么是常见的错误等。 我发现 Enso、Launchy、Google chrome 甚至
市场上有许多工具,如 MPS,它们促进了面向语言的编程,据说这使程序员能够为任务设计(理想的?)语言。出于某种原因,这听起来既有趣又无聊,所以我想知道是否有人知道并可以推荐有关该主题的文章。 谢谢 最
我正在编写一个使用 JointJS 来显示图表的应用。 但是,我希望能够在页面中动态添加和删除图表。添加新图表相当简单,但是当我删除图表时,删除 DOM 元素并让图表和纸张对象被垃圾收集是否安全? 最
我在声明非成员函数listOverview()时出错; void listOverview() { std::cout #include class Book; class Paper
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
我正在将 Raphael 与 Meteor 一起使用,但遇到了问题。我正在创建一个 paper通过使用 var paper = Raphael("paper", 800, 600);如果我将此代码放在
我正在使用acm LaTeX template我在使纸张双倍行距时遇到困难。 我的 LaTeX 文档如下所示: \documentclass{acm_proc_article-sp} \usepack
H.Chi Wong、Marshall Bern 和 David Goldberg 的论文“An Image Signature for any kind image”中提到的算法步骤背后的原因是什么
我一直在使用Microsoft Academic Knoledge API一周了,直到现在我还没有遇到任何问题。我想获取某个 session 的所有论文,例如 ICLR 或 ICML。我正在尝试使用从
我正在读这篇论文Understanding Deep learning requires rethinking generalization我不明白为什么在第 5 页第 2.2 节“含义、Redema
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我必须为非程序员(我们公司的客户)创建一个 DSL,它需要提供一些更高级别的语言功能(循环、条件表达式、变量...... - 所以它不仅仅是一个“简单”的 DSL)。 使用 DSL 应该很容易;人们应
在卷积神经网络中梯度数据的可视化中,使用 Caffe 框架,已经可视化了所有类的梯度数据,对特定类采用梯度很有趣。在“bvlc_reference_caffenet”模型的 deploy.protot
auto(x)表达式被添加到语言中。一个理性的原因是我们无法以此完善前向衰减。 template constexpr decay_t decay_copy(T&& v) noexcept( i
我是一名优秀的程序员,十分优秀!