Jae Hyun Lim, Jong Chul Ye, Geometric GAN.

很有趣, GAN的训练过程可以分成

  1. 寻找一个超平面区分real和fake;
  2. 训练判别器, 使得real和fake分得更开;
  3. 训练生成器, 使得real趋向错分一侧.

主要内容

McGAN

本文启发自McGAN, 在此基础上, 有了下文.

结合SVM

设想, GAN的判别器\(D(x) = S(\langle w, \Phi_{\zeta}(x) \rangle)\), 其中\(S\)是一个激活函数, 常见如sigmoid, 先假设其为identity(即\(D(x)=\langle w, \Phi_{\zeta}(x) \rangle\)).

McGAN 是借助\(\langle w, \Phi_{\zeta}(x)\rangle\)来构建IPM, 并通过此来训练GAN. 但是,注意到, 若将\(\Phi_{\zeta}(x)\)视作从\(x\)中提取出来的特征, 则\(\langle w, \Phi_{\zeta}(x)\rangle\)便是利用线性分类器进行分类,那么很自然地可以将SVM引入其中(训练判别器的过程.

\[\begin{array}{rcl}
\min_{w, b} & \frac{1}{2} \|w\|^2 + C \sum_i (\xi_i + \xi_i') & \\
\mathrm{subject \: to} & \langle w, \Phi_{\zeta}(x_i) \rangle + b \ge 1-\xi_i & i=1,\ldots, n\\
& \langle w, \Phi_{\zeta}(g_{\theta}(z_i)) \rangle + b \le \xi_i'-1 & i=1,\ldots,n \\
& \xi_i, \xi_i' \ge 0, \: i=1,\ldots,n.
\end{array}
\]

类似于

\[\tag{13}
\min_{w,b} \: R_{\theta}(w,b;\zeta),
\]

其中

\[\tag{14}
\begin{array}{ll}
R_{\theta}(w,b;\zeta) =
& \frac{1}{2C n} \|w\|^2 + \frac{1}{n} \sum_{i=1}^n \max (0, 1-\langle w, \Phi_{\zeta} (x_i) \rangle -b) \\
& + \frac{1}{n} \sum_{i=1}^n \max (0, 1+ \langle w, \Phi_{\zeta}(g_{\theta}(z_i))\rangle+b).
\end{array}
\]

进一步地, 用以训练\(\zeta\):

\[\tag{15}
\min_{w,b,\zeta} \: R_{\theta}(w,b;\zeta).
\]

SVM关于\(w\)有如下最优解

\[w^{SVM} := \sum_{i=1}^n \alpha_i \Phi_{\zeta}(x_i) - \sum_{i=1}^n \beta_i \Phi_{\zeta} (g_{\theta}(z_i)),
\]

其中\(\alpha_i, \beta_i\)只有对支持向量非零.

定义

\[\mathcal{M} = \{\phi \in \Xi | |\langle w^{SVM}, \phi \rangle + b | \le 1\}
\]

为margin上及其内部区域的点.

于是

\[\tag{18}
\begin{array}{ll}
R_{\theta}(w,b;\zeta) = \frac{1}{n} \sum_{i=1}^n \langle w^{SVM}, s_i \Phi_{\zeta} (g_{\theta}(z_i))-t_i \Phi_{\zeta}(x_i) \rangle + \mathrm{constant},
\end{array}
\]

其中

\[\tag{19}
t_i =
\left \{ \begin{array}{ll}
1, & \Phi_{\zeta}(x_i) \in \mathcal{M} \\
0, & \mathrm{otherwise}
\end{array} \right. , \quad
s_i =
\left \{ \begin{array}{ll}
1, & \Phi_{\zeta}(g_{\theta}(z_i)) \in \mathcal{M}\\
0, & \mathrm{otherwise}.
\end{array} \right.
\]

训练\(\zeta\)

于是\(\zeta\)由此来训练

\[\zeta \leftarrow \zeta +\eta \frac{1}{n} \sum_{i=1}^n \langle w^{SVM}, t_i \nabla_{\zeta} \Phi_{\zeta}(x_i) - s_i \nabla_{\zeta}\Phi_{\zeta} (g_{\theta}(z_i)) \rangle .
\]

训练\(g_{\theta}\)

就是固定\(w,b,\zeta\)训练\(\theta\).

所以

\[\min_{\theta} \: L_{w, b, \zeta}(\theta),
\]

其中

\[L_{w,b,\zeta}(\theta)= -\frac{1}{n} \sum_{i=1}^n D(g_{\theta}(z_i)),
\]

\[\theta \leftarrow \theta+\eta \frac{1}{n} \sum_{i=1}^n \langle w^{SVM}, s_i \nabla_{\theta}\Phi_{\zeta} (g_{\theta}(z_i)) \rangle .
\]

理论分析

\(n \rightarrow \infty\)的时候





定理1: 假设\((D^*,g^*)\)是(24), (25)交替最小化解, 则\(p_{g^*}(x)=p_x(x)\)几乎处处成立, 此时\(R(D^*,G^*)=2\).

注: 假体最小化是指在固定\(g^*\)下, \(R(D^*,g^*)\)最小,在固定\(D^*\)下\(L(D^*,g^*)\)最小.

证明



注:文中附录分析了各种GAN的超平面分割解释, 挺有意思的.

Geometric GAN的更多相关文章

  1. [转]GAN论文集

    really-awesome-gan A list of papers and other resources on General Adversarial (Neural) Networks. Th ...

  2. 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis

    论文地址:MelGAN:条件波形合成的生成对抗网络 代码地址:https://github.com/descriptinc/melgan-neurips 音频实例:https://melgan-neu ...

  3. (转) How to Train a GAN? Tips and tricks to make GANs work

    How to Train a GAN? Tips and tricks to make GANs work 转自:https://github.com/soumith/ganhacks While r ...

  4. 不要怂,就是GAN (生成式对抗网络) (一)

    前面我们用 TensorFlow 写了简单的 cifar10 分类的代码,得到还不错的结果,下面我们来研究一下生成式对抗网络 GAN,并且用 TensorFlow 代码实现. 自从 Ian Goodf ...

  5. 基本概率分布Basic Concept of Probability Distributions 3: Geometric Distribution

    PDF version PMF Suppose that independent trials, each having a probability $p$, $0 < p < 1$, o ...

  6. geometric median

    The geometric median of a discrete set of sample points in a Euclidean space is the point minimizing ...

  7. Codeforces Round #Pi (Div. 2) C. Geometric Progression map

    C. Geometric Progression Time Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/5 ...

  8. nylg 640 Geometric Sum

    Geometric Sum 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 Compute (a + a^2 + … + a^n) mod m.(a+a2+…an)m ...

  9. CodeForces 567C Geometric Progression

    Geometric Progression Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...

随机推荐

  1. echo -e "\033[字背景颜色;字体颜色m字符串\033[0m

    格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033 ...

  2. Spring的事务传播机制(通俗易懂)

    概述 Spring的事务传播机制有7种,在枚举Propagation中有定义. 1.REQUIRED PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就 ...

  3. mybatis-扩展

    分页插件 使用pageHelper参考官方https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse. ...

  4. 【Services】【Web】【tomcat】配置tomcat支持https传输

    1. 基础: 1.1. 描述:内网的tomcat接到外网nginx转发过来的请求之后需要和外网的客户端进行通讯,为了保证通讯内容的安装,使用tomcat使用https协议. 1.2. 链接:http: ...

  5. SpringMvc分析

    1.用户单击某个请求路径,发起一个request请求,此请求会被前端控制器(DispatcherServlet)处理 2.前端控制器(DispatcherServlet)请求处理器映射器(Handle ...

  6. IIS 发布 WebService 连接DB2数据库报错如下图

    环境描述: 系统环境: Windows Server 2012 R2      IIS版本:IIS 6.2      C#环境:.NET Framework 4  DB2版本:9.7.500.702 ...

  7. VectorCAST - 通过确保测试的完整性控制产品质量

    软件测试面临的问题有一句格言是这样说的,"如果没有事先做好准备,就意味着做好了 失败的准备."如果把这个隐喻应用在软件测试方面,就可以这样说"没有测试到,就意味着测试失败 ...

  8. Mit6.830 - simpledb - 总览

    总览 github 地址: https://github.com/CreatorsStack/CreatorDB 在开始 simpledb 旅途之前, 我们先从整体上来看看 SimpleDb 是一个 ...

  9. 解决Vulnhub靶机分配不到IP问题

    没法找到他的 ip,可能是网卡配置问题 (之前打开 .ova 文件默认联网方式是桥接,改成NAT) 在开机选择的时候,摁 e 编辑一下 把 ro 改成 rw single init=/bin/bash ...

  10. LuoguP7222 [RC-04] 信息学竞赛 题解

    Content 给定一个角 \(\alpha\),求 \(\beta=90^\circ-\alpha\). 数据范围:\(\alpha\in[-2^{31},2^{31}-1]\). Solution ...