Adversarial Learning

article/2025/10/29 18:16:08

GAN

在这里插入图片描述
KL散度,JS散度

传统GAN 在辨别器最优时,生成器的loss为
在这里插入图片描述
根据KL,JS散度,在这里插入图片描述
但是如果两个分布完全没有重叠的部分,或者它们重叠的部分可忽略时
在这里插入图片描述
JS散度始终未log2
而这对于梯度下降方法意味着——梯度为0
生成样本分布的支撑集就在4096维空间中构成一个最多100维的低维流形
从某个低维(比如100维)的随机分布中采样出一个编码向量

  • 判别器训练得太好,生成器梯度消失,生成器loss降不下去;判别器训练得不好,生成器梯度不准,四处乱跑。只有判别器训练得不好不坏才行,但是这个火候又很难把握,甚至在同一轮训练的前后不同阶段这个火候都可能不一样,所以GAN才那么难训练。

第二种原始生成器loss(公式三)

在这里插入图片描述
最终可以把公式3化简为在这里插入图片描述
这个等价最小化目标存在两个严重的问题。

  • 第一是它同时要最小化生成分布与真实分布的KL散度,却又要最大化两者的JS散度,一个要拉近,一个却要推远!这在直观上非常荒谬
  • 第二,即便是前面那个正常的KL散度项也有毛病。因为KL散度不是一个对称的衡量
    在这里插入图片描述
    第一种错误对应的是“生成器没能生成真实的样本”,惩罚微小;第二种错误对应的是“生成器生成了不真实的样本” ,惩罚巨大。第一种错误对应的是缺乏多样性,第二种错误对应的是缺乏准确性。这一放一打之下,生成器宁可多生成一些重复但是很“安全”的样本,也不愿意去生成多样性的样本,因为那样一不小心就会产生第二种错误,得不偿失。这种现象就是大家常说的collapse mode。

小结:在原始GAN的(近似)最优判别器下,第一种生成器loss面临梯度消失问题,第二种生成器loss面临优化目标荒谬、梯度不稳定、对多样性与准确性惩罚不平衡导致mode collapse这几个问题。

对第一种问题的解决方案

对生成样本和真实样本加噪声,直观上说,使得原本的两个低维流形“弥散”到整个高维空间,强行让它们产生不可忽略的重叠。而一旦存在重叠,JS散度就能真正发挥作用,此时如果两个分布越靠近,它们“弥散”出来的部分重叠得越多,JS散度也会越小而不会一直是一个常数,于是(在第一种原始GAN形式下)梯度消失的问题就解决了。在训练过程中,我们可以对所加的噪声进行退火(annealing),慢慢减小其方差,到后面两个低维流形“本体”都已经有重叠时,就算把噪声完全拿掉,JS散度也能照样发挥作用。

但是仍然没能够提供一个衡量训练进程的数值指标。但是WGAN就从根源出发,用Wasserstein距离代替JS散度,同时完成了稳定训练和进程指标的问题。

Wasserstein 距离

Wasserstein距离又叫Earth-Mover(EM)距离,定义如下:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。

在这里插入图片描述

WGAN

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Domain Agnostic Learning with Disentangled Representations

This paper purposes a novel Deep Adversarial Disentangled Autoencoder (DADA), which aims to tackle domain-agnostic learning by disentangling the domain-invariant features from both domain-specific and class-irrelevant (background) features simultaneously.
在这里插入图片描述

求导

在这里插入图片描述

Sigmoid

在这里插入图片描述

tanh

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Relu

在这里插入图片描述
在这里插入图片描述

Softmax

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/DMRvrr7X.shtml

相关文章

Adversarial Detection methods

文章目录 Kernel Density (KD)Local Intrinsic Dimensionality (LID)Gaussian Discriminant Analysis (GDA)Gaussian Mixture Model (GMM)SelectiveNetCombined Abstention Robustness Learning (CARL)Adversarial Training with a Rejection Option Energy-based Out-of-distr…

【小家Spring】Spring AOP各个组件概述与总结【Pointcut、Advice、Advisor、Advised、TargetSource、AdvisorChainFactory...】

每篇一句 基础技术总是枯燥但有价值的。数学、算法、网络、存储等基础技术吃得越透,越容易服务上层的各种衍生技术或产品 相关阅读 【小家Spring】Spring AOP原理使用的基础类打点(AopInfrastructureBean、ProxyProcessorSupport、Advised、AjType&…

ADDA: Adversarial Discriminative Domain Adaptation

ADDA原理理解 ADDA中源域和目标域经过不同的映射来实现对齐。 ADDA的目标函数包括三项: 1.源域的分类误差项 2.域分类器的分类误差项 3.生成器在目标域的误差项 1.源域的分类误差项 源域数据在经过映射Ms后的分类误差最小: 2.域分类器的分类误差项 …

IllegalStateException: Cannot find current proxy: Set 'exposeProxy' property on Advised to 'true'

在使用 Async 注解实现异步线程的时候,为了能够在同类中调用,使用AopContext获取类的实例,结果报错: 调用如下: GetMapping("test03")public void testAsync03() throws InterruptedException {log.info(&…

ADVISOR - 1

文章目录 1. ADVISOR 是什么1. 2 ADVISOR 可以用来做什么1.3 ADVISOR 不能做什么 1. ADVISOR 是什么 它是基于 MATLAB/Simulink 开发的一系列模型、数据以及脚本,能帮助我们快速分析传统车、纯电车以及混动车的性能和油耗。 能找到的最新的 ADVISOR 版本是 2003&a…

Advisor-Advisee Relationship

一、实习目的及要求 此次实习的任务中有Advisor-advisee Relationships (AARs)和通过分别计算AAR的概率而取得的共同作者关系。在数据中,用八个4位代码表示作者。 数据从合作双方的学术经历,合作经历的角度提取了特征。例如,如果已知A与B在…

ADV

悦谷首城 我司是专业的房产服务公司,主要从事北京拆迁安置房买卖中介、房屋租赁中介、代办房屋权证、房屋产权过户手续、垫资开发商房款,收拆迁房子指标,房产信息咨询等业务。公司经营上追求规模化、规范化、服务一体化。公司本着“诚信为本…

【Spring源码三千问】Advice、Advisor、Advised都是什么接口?

Advice、Advisor、Advised都是什么接口? 前言版本约定正文Advice、Advisor、Advised 类图AdviceMethodInterceptor AdvisorPointcutAdvisor AdvisedSpring AOP 代理类可以转换为 Advised 类型 小结 前言 在看 Spring AOP 的源码时,经常可以看到 Advice、…

【小家Spring】Spring AOP原理使用的基础类打点(AopInfrastructureBean、ProxyProcessorSupport、Advised、AjType)

每篇一句 没被洪水灌溉过,你怎么能证明这个城市的下水道架构师合理的呢? 相关阅读 【小家Spring】探索Spring AOP中aopalliance的Joinpoint、MethodInvocation、Interceptor、MethodInterceptor… 【小家Spring】Spring AOP原理使用的基础类打点&#x…

Spring AOP名词解释Advice,Pointcut,Advisor,Joinpoint,Advised是什么?

Advice advice解释为通知,需要执行的增强逻辑方法。 advice规范接口如图,分为了before,after等等,为什么没有around呢,因为是通过interceptor实现的。 这里可以看出,AfterAdvice最终会被转换包装成AfterR…

Advised,Advisor,Advice,Pointcut

2019独角兽企业重金招聘Python工程师标准>>> Advised->在Spring中创建了AOP代理之后,就能够使用org.springframework.aop.framework.Advised接口对它们进行管理。 任何AOP代理都能够被转型为这个接口,不论它实现了哪些其它接口 Advisor-&g…

Spring AOP编程官方文档解读之操作Advised对象

Spring AOP编程官方文档解读目录 文章目录 org.springframework.aop.framework.Advised是啥?看一下下面这个类结构图 可以看到无论是ProxyFactoryBean还是ProxyFactory最终都实现了这个接口、这个接口中的方法非常的多,我们随便看一下 public interfac…

arduino知识点梳理(二)——INPUT_PULLUP模式

参考文章1 参考文章2 arduino的引脚模式有三种: INPUT——输入模式OUTPUT——输出模式INPUT_PULLUP——输入上拉模式 Arduino 微控制器自带内部上拉电阻。如果需要使用内部上拉电阻,则应使用pinMode()将引脚设置为输入上拉(INPUT_PULLUP&am…

Pull Up Field(字段上移)

两个子类拥有形同的字段 重构:将该字段移至超类

HAL库 output level 和 pull up/ pull down 的区别

从标准库过来的朋友可能对这两个选型有点分不清除 GPIO output level 即输出模式下初始化后端口的电位(高或低) GPIO Pull-up/Pull-down 即输入模式下的电位,例如按键检测

处理概括关系之一 :Pull Up Field(值域上移)

两个subclasses 拥有相同的值域。 将此一值域移至superclass。 动机(Motivation) 如果各个subclass 是分别开发的,或者是在重构过程中组合起来的,你常会发现它们拥有重复特性,特别是值域更容易重复。这样的值域有时拥有…

Push pull, open drain circuit, pull up, pull down resistor

Push pull 就以下面這個 電路來說, 因為沒有 pull up resistor, 所以 output voltage 由 low 往 high 的速度會較快。有兩個電晶體,一個on,一個 off, 可以 current sourcing,也可以 current sinking&#x…

上拉(Pull Up )或下拉(Pull Down)电阻详解

上拉(Pull Up )或下拉(Pull Down)电阻(两者统称为“拉电阻”)最基本的作用是:将状态不确定的信号线通过一个电阻将其箝位至高电平(上拉)或低电平(下拉&#x…

BetterScroll 2.x 的 pulldown 使用、pullup使用

官方文档:https://better-scroll.github.io/docs/zh-CN/plugins/ BetterScrol滚动原理 有唯一的子节点子节点必须超出包裹的高度new BScroll(‘容器名’) html内容必须已经渲染完成 绿色部分为 wrapper,也就是父容器&#xff…

【超详细】output level 和 pull up/ pull down 的真正区别

目录 【超详细】output level 和 pull up/ pull down 的真正区别1. Output Level2. Pull up/ Pull down3. 两者的区别1)对于Output口来说2)而对于Input口来说 总结参考资料 【超详细】output level 和 pull up/ pull down 的真正区别 今天在使用stm32f1…