- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ] 。
论文标题:Multicomponent Adversarial Domain Adaptation: A General Framework 论文作者:Chang’an Yi, Haotian Chen, Yonghui Xu, Huanhuan Chen, Yong Liu, Haishu Tan, Yuguang Yan, Han Yu 论文来源:2023 aRxiv 论文地址: download 论文代码:download 视屏讲解:click 。
出发点: 现有的域对抗训练方法主要考虑对齐域级的数据分布,而忽略了不同域中的组件之间的差异。因此,不会过滤掉与目标域无关的组件,这可能造成负迁移; 。
贡献:
组件(component)的概念 :
Note :半监督域适应,协变量偏移; 。
在对抗自适应过程中,需要少量已标记的目标样本,其必要性如 Figure 4 所示:
即:对比于无监督来说,其类中心更加准确; 。
1) Adversarial Generation 。
可迁移样本应该满足两个条件:
生成可迁移样本的方法:
$f_{\text {Fake }} \leftarrow f_{\text {True }}+\alpha \nabla_{f_{\text {Tue }}} \mathcal{L}+\beta \text { Dist. }$ 。
注意:$f_{\text {Fake }}$ 为生成的对抗性样本,$f_{\text {True }}$ 原始样本; 。
使用可迁移样本可以增强分类器对 域变化 和 对抗性扰动 的鲁棒性:
$\mathcal{L}_{\text {cla }}=\mathcal{L}_{c}(x)+\mathcal{L}_{c, \text { adv }}\left(x^{*}\right)$ 。
使用可迁移样本可以有效的弥补域差异,定义如下:
$\mathcal{L}_{\text {dis }}=\mathcal{L}_{d}(x)+\mathcal{L}_{d, \text { adv }}\left(x^{*}\right)$ 。
第一阶段的优化问题可以总结如下:
$\underset{\Theta_{C}, \Theta_{D}}{\text{min}} \; \mathcal{L}_{\text {cla }}+\mathcal{L}_{\text {dis }}$ 。
该小结算法如下:
当数据分布被全局对齐后,接着便是考虑特征的内在特征,同一领域的样本往往具有不同的内在特征,而这些特征被域级的自适应所忽略。因此,应单独考虑它们,以有效地弥合分布差异.
每个域都应该被划分为不同的组件,可以通过使用基于距离的聚类方法来实现(如 k-means)。如果目标域 $D_{T}$ 被划分为 $N$ 个分量,那么 $D_{T}=\cup_{n=1}^{N} D_{T}^{n}$,其中 $D_{T}^{n} (1 \leqslant n \leqslant N)$ 表示第 $n$ 个分量。此外,$D_{S}$ 中的不同组件可能与 $D_{T}$ 中的组件之间有不同的关系。需要发现这些关系,然后分开对待它们。一个二部图可以捕获分量之间的关系。如果 $D_{S}$ 和 $D_{T}$ 分别有 $M$ 和 $N$ 个分量,则边数为 $N$,因为最终目的是对目标域进行预测。设分量级二部图为 $G=(V_s、V_t、E_{st})$,其中 $V_s$、$V_t$ 和 $E_{st}$ 分别表示源分量集、目标分量集和跨域边,$E_{\mathrm{st}}$ 中的每条边都表示基于距离的最近的关系。给定分别属于源域和目标域的两个分量 $D_{S}^{i} (1 \leqslant i \leqslant M)$ 和 $D_{T}^{j}(1 \leqslant j \leqslant N)$,这两个分量之间的距离由以下方法计算 。
$d_{\left(D_{S}^{i}, D_{T}^{j}\right)}=\left|\mathbb{E}_{x \sim D_{S}^{i}}[f(x)]-\mathbb{E}_{x \sim D_{T}^{j}}[f(x)]\right|$ 。
分量的距离矩阵由一个 $M \times N$ 矩阵来描述。接下来,将匹配组件来构建成对关系,只需要为目标域中的每个组件找到最相关的源组件.
由于不同的组件具有不同的内在特征,因此需要对在第一阶段学习到的基本模型 $C_0$ 进行微调,以适应每一对匹配的组件。与域级的对抗性适应不同,标记的目标样本对于组件级的适应是不必要的,因为 $C_0$ 已经包含了这些信息.
使用上述生成的二部图对 $P=\cup_{n=1}^{N}\left\langle D_{S}^{n}, D_{T}^{n}\right\rangle(1 \leqslant n \leqslant N)$ 进行对抗性训练 。
组件之间的对抗性样本:
$f_{S_{i}^{\omega}} \leftarrow+f_{S_{i}}{ }^{\omega}+\alpha \nabla_{f_{S_{i}} \omega} \mathcal{L}_{d}\left(f_{S_{i}}{ }^{\omega}, \Theta_{d}^{n}\right) +\alpha \nabla_{f_{S_{i} \omega}} \mathcal{L}_{c}\left(f_{S_{i} \omega}, \Theta_{c}^{n}\right) -\beta \nabla_{f_{S_{i}} \omega} \ell_{2}\left(f_{S_{i}}{ }^{\omega}, f_{S_{i}}{ }^{0}\right)$ 。
$f_{T_{i}{ }^{\omega+1}} \leftarrow f_{T_{i}{ }^{\omega}}+\alpha \nabla_{f_{T_{i}}{ }^{\omega}} \mathcal{L}_{d}\left(f_{T_{i}{ }^{\omega}}, \Theta_{d}^{n}\right) -\beta \nabla_{f_{T_{i}} \omega} \ell_{2}\left(f_{T_{i}{ }^{\omega}}, f_{T_{i}{ }^{0}}\right)$ 。
即:和原样本距离尽可能小,域鉴别和(分类)能力尽可能差; 。
$C_{n}$ 训练如下:
$\begin{array}{l}\mathcal{L}_{c}\left(P_{n},\left.\Theta_{C}^{n}\right|_{n=1} ^{N}\right)= \mathbb{E}_{\left(x_{s}^{(i)}, y_{s}^{(i)}\right) \sim D_{S}^{n}} \Phi_{\mathrm{ce}}\left(C_{n}\left(x_{s}^{(i)}\right), y_{s}^{(i)}\right) \\\mathcal{L}_{c, \text { adv }}\left(P_{n},\left.\Theta_{C}^{n}\right|_{n=1} ^{N}\right)= \mathbb{E}_{\left(x_{s}^{*(i)}, y_{s}^{(i)}\right) \sim D_{S}^{n}} \Phi_{\mathrm{ce}}\left(C_{n}\left(x_{s}^{*(i)}\right), y_{s}^{(i)}\right) +\mathbb{E}_{x_{t}^{*(i)} \sim D_{T}^{n}}\left\|C_{n}\left(x_{t}^{*(i)}\right)-C_{n}\left(x_{t}^{(i)}\right)\right\|_{2}\end{array}$ 。
$D_{n}$ 训练如下:
$\begin{array}{l}\mathcal{L}_{d}\left(P_{n},\left.\Theta_{D}^{n}\right|_{n=1} ^{N}\right)= -\mathbb{E}_{x_{s}^{(i)} \sim D_{S}^{n}} \log \left[D_{n}\left(x_{s}^{(i)}\right)\right] -\mathbb{E}_{x_{t}^{(i)} \sim D_{T}^{n}} \log \left[1-D_{n}\left(x_{t}^{(i)}\right)\right] \\\mathcal{L}_{d, \text { adv }}\left(P_{n},\left.\Theta_{D}^{n}\right|_{n=1} ^{N}\right)= -\mathbb{E}_{x_{s}^{*(i)} \sim D_{S}^{n}} \log \left[D_{n}\left(x_{s}^{*(i)}\right)\right] -\mathbb{E}_{x_{t}^{*(i)} \sim D_{T}^{n}} \log \left[1-D_{n}\left(x_{t}^{*(i)}\right)\right]\end{array}$ 。
对 $P_n(1⩽n⩽n)$ 的优化问题总结如下:
$\begin{aligned}\left(\hat{\Theta}^{1}, \ldots, \hat{\Theta}^{n}\right)= & \arg \underset{\Theta^{1}, \ldots, \Theta^{n}}{\text{min}} \mathcal{L}_{c}\left(P_{n}, \Theta_{C}^{n}\right)+\mathcal{L}_{d}\left(P_{n}, \Theta_{D}^{n}\right) \\& +\lambda \mathcal{L}_{c, \text { adv }}\left(P_{n}, \Theta_{C}^{n}\right)+\lambda \mathcal{L}_{d, \text { adv }}\left(P_{n}, \Theta_{D}^{n}\right)\end{aligned}$ 。
算法如下:
域适应结果:
最后此篇关于论文解读(MCADA)《MulticomponentAdversarialDomainAdaptation:AGeneralFramework》的文章就讲到这里了,如果你想了解更多关于论文解读(MCADA)《MulticomponentAdversarialDomainAdaptation:AGeneralFramework》的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
引言 深拷贝是指创建一个新对象,该对象的值与原始对象完全相同,但在内存中具有不同的地址。这意味着如果您对原始对象进行更改,则不会影响到复制的对象 常见的C#常见的深拷贝方式有以下4类:
人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具。一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法行驶迎来了自动驾驶的一个里程碑;IBM Waston击败了
我已经阅读了所有 HERE Maps API 文档,但找不到答案。 HERE实时流量REST API输出中的XML标签是什么意思? 有谁知道如何解释这个输出(我在我的请求中使用了接近参数)? 最佳答
我的 iPad 应用程序工作正常,我将其留在现场进行测试,但现在崩溃了[保存时?] 这是崩溃日志, Incident Identifier: 80FC6810-9604-4EBA-A982-2009A
我的程序需要 qsort 的功能才能运行,但到目前为止还没有完成它的工作。 我实际上是在对单个字符值的数组进行排序,以便将它们分组,这样我就可以遍历数组并确定每个属性的计数。我的问题是 qsort 返
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我正在尝试使用 AVR 代码对 Arduino Uno 进行编程,因为我不被允许在 9 月份开始的高级项目中使用 Arduino 库。我找到了数据表,让数字引脚正常工作,然后尝试通过 USB 串行连接
我遇到了多次崩溃,似乎 native iOS 方法正在从第三方库调用函数。这是一个例子: Thread: Unknown Name (Crashed) 0 libsystem_kernel.d
我理解如何按照 Dijkstra 算法的解释找到从头到尾的最短路径,但我不明白的是解释。在这里,从图中的图形来看,从 A 到 E 添加到我已知集合的顺序是 A,C,B,D,F,H,G,E 我没有得到的
我正在查看一些 Django 源代码并遇到了 this . encoding = property(lambda self: self.file.encoding) 究竟是做什么的? 最佳答案 其他两
Sentry 提供了很好的图表来显示消息频率,但关于它们实际显示的内容的信息很少。 这些信息是每分钟吗? 5分钟? 15分钟?小时? 最佳答案 此图表按分钟显示。这是负责存储该图数据的模型。 http
我对 JavaScript 和 Uniswap 还很陌生。我正在使用 Uniswap V3 从 DAI/USDC 池中获取价格。我的“主要”功能如下所示: async function main()
我正在尝试弄清楚我下载的 Chrome 扩展程序是如何工作的(这是骗子用来窃取 CS:GO 元素的东西,并不重要...)。我想知道使用什么电子邮件地址(或使用什么其他通信方式)来提交被钓鱼的数据。 这
引言 今天同事问了我一个问题, System.Windows.Forms.Timer 是前台线程还是后台线程,我当时想的是它是跟着UI线程一起结束的,应该是前台线程吧? 我确实没有仔
我需要一些使用 scipy.stats.t.interval() 函数的帮助 http://docs.scipy.org/doc/scipy/reference/generated/scipy.sta
当我在 Oracle 查询计划中看到类似的内容时: HASH JOIN TABLE1 TABLE2 这两个表中的哪一个是 hashed ? Oracle 文档指的是通常被散列的“较小”
我想知道 GridSearchCV 返回的分数与按如下方式计算的 R2 指标之间的差异。在其他情况下,我收到的网格搜索分数非常负(同样适用于 cross_val_score),我将不胜感激解释它是什么
本文分享自华为云社区《 多主创新,让云数据库性能更卓越 》,作者: GaussDB 数据库。 华为《Taurus MM: bringing multi-master to the clou
我真的需要一些帮助来破译这个崩溃报告: Process: Farm Hand [616] Path: /Applications/Farm
我写了一个从 YUV_420_888 到 Bitmap 的转换,考虑到以下逻辑(据我所知): 总结该方法:内核的坐标 x 和 y 与 Y 平面(2d 分配)的非填充部分的 x 和 y 以及输出位图的
我是一名优秀的程序员,十分优秀!