今天看啥  ›  专栏  ›  PaperWeekly

巧断梯度:单个loss实现GAN模型(附开源代码)

PaperWeekly  · 知乎专栏  · 科研  · 2019-03-07 16:59
作者丨苏剑林单位丨广州火焰信息科技有限公司研究方向丨NLP,神经网络个人主页丨kexue.fm我们知道普通的模型都是搭好架构,然后定义好 loss,直接扔给优化器训练就行了。但是 GAN 不一样,一般来说它涉及有两个不同的 loss,这两个 loss 需要交替优化。现在主流的方案是判别器和生成器都按照 1:1 的次数交替训练(各训练一次,必要时可以给两者设置不同的学习率,即 TTUR),交替优化就意味我们需要传入两次数据(从内存传到显存)、执行两次前向传播和反向传播。如果我们能把这两步合并起来,作为一步去优化,那么肯定能节省时间的,这也就是 GAN 的同步训练。注:本文不是介绍新的 GAN,而是介绍 GAN 的新写法,这只是一道编程题,不是一道算法题。如果在TF中如果是在 TensorFlow 中,实现同步训练并不困难,因为我们定义好了判别器和生成器 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照