李宏毅深度学习17学习笔记2

  •  capsule:

    其中c1 c2是dynamic routing的,而不是back propagation train出来的,c1和c2的和必须是1,如何得到c1和c2?:

    循环的意义在于,不断的调整中,使偏离集体的输入有更低的c,每一个capsule可以看成一个类似于rnn的结构,而真正起预测作用的,是v的模长:

    也就是说,当你需要n分类输出的时候,你需要在输出层有n个capsule,每个capsule输出的vector的模长表示该类的置信度
    同时,加上reconstruction层有助于训练:

 

  •  视频中讲到一个让我觉得眼界一开的训练方法:用RNN和Reinforcement Learning来调CNN的参数:
    甚至可以决定你网络的架构

    还可以用来决定train的过程中learning rate怎么变化

 

  • 当loss不再随着时间下降的时候,有可能是卡在local minima,更大的可能性是卡在saddle point, 还有可能是在山谷周围弹跳,所以需要检查梯度,在山谷周围弹跳的时候,梯度不会小

 

  •  用deep的network的输出来train shallow的network似乎会比直接用label取train shallow的network得到更好的效果:

 

  • GAN:

     

    • 首先是公式推导:

       
      其中KL散度为如下:




      有一个问题是,discriminator容易overfitting,一个原因是数据点是采样出来的,确实容易被over fitting,一个方法是把discriminator变笨一点,让他只能学习简单边界;另一个原因是,高维空间不容易有重叠和接近的地方,所以G产生的数据点和真实数据点在高维空间中经常可能相差很远,方法是加一些noise使他们有交集,使loss能够有减小的空间而不是保持0;


      还有一个问题,是你可能只学习了原始数据集众多模式中的一部分

      一个可能的原因如下,是因为取reverse的操作导致了,真实数据集无分布的地方,G不能产生点,否则loss会无穷大,就导致了G会变成真实数据集的一个子集,而不reverse之前是真实数据集有分布的地方G一定得有分布,但也有人提出来不是这个原因

      随后视频讲了一下conditional generator,就是根据你输入的条件产生符合条件的东西,但是此时generator可能会无视你的随机灵感输入,可以替换成drop-out;同时要注意,Disciriminatior的输入也有两个,而且训练的时候,如果原始数据输出和给定的conditional不匹配,会被判别成negative,只有原始数据输入匹配时才是是positive
    • GAN 的 JS divergence可以用任何f divergence 代替,只要 f 满足convex且f(1) = 0 :
    • 接下来讲到了fechel conjugate 
    • GAN的 Df 可以把 f-divergence 转化为 f*  ,需要找到这样一个D使得越等号后面的式子值最大,越大就越接近 Df
    • 这里划红线的地方正负号写错了

 

 

  • WGAN与GAN的区别是:
    • WGAN的loss没有log,所以GAN需要的D(x)最后一层需要的sigmiod对于WGAN来说不必要
    • 为了满足lipschitz条件,WGAN需要一个weight clipping的步骤
    • GAN要求CNN架构的filter每一层要是前一层的两倍,如果每层filter数量都相同结果会坏掉
    • WGAN不能用Adam来train,会坏掉,得用RMSProp
  • improved WGAN将求1-lipschitz的D转换为求普通的D加上一个惩罚项,当D的output对input的导数大于1时惩罚,惩罚项的x ~ P_penalty是用这种方法找的:在P_data和P_G分别sample一个点,在连线上sample,这个方法取消了weight clipping(因为不要求D是lipschitz函数了),事实也证明gradient penalty 的WGAN效果比weight clipping的WGAN效果好很多
  • 但事实上我们的惩罚项要改一下,因为当我们希望这个loss衡量Pdata和PG的时候有最大的差,但是又希望它的梯度有个上界,那么如果梯度处处达到上界,给定距离,PG和Pdata就会有最大的差,所以把max项改为梯度与1的距离项,也即希望梯度越接近1越好,而不是原来希望的那样小于1(理论上行得通,实际上发现改为距离会有更好的效果)
  • 跟DCGAN GAN LSGAN比较之下,WGAN的鲁棒性很好,在bad structure的情况下仍然能有不崩坏的结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值