关于梯度翻转层GRL的理解

  • 最近在看迁移学习中的DANN算法和DAAN算法,二者都用到了GRL层,是一种梯度翻转层,这里主要想讲一下梯度翻转层为什么有用。
  • 以DANN为例,倘若梯度翻转层不存在,那么,算法在迭代过程中,在减少Ly的时候,Gf层的各个卷积层的参数会趋向于减少Ly损失,提高标签分类精度;在减少Lg的时候,Gf层的各个卷积层的参数会趋向于减少Lg损失,也就是使得源数据和目标数据通过Gf层后的区别愈加明显,即提高域分类精度,这不是我们想要的,我们的目标是让区别越来越小,从而达到生成的目标数据特征和源数据特征相似,从而缩小边缘分布差异。最终函数收敛的时候,参数会在提高标签分类精度和提高域分类精度之间平衡。
  • 如何平衡呢?Gf前的参数尽量向着提高域分类精度方向变化,而Gf后用于标签分类的全连接层参数会向着提高标签分类精度的方向变化,也就是说,后者参数逐渐适应前者参数,而前者参数的变化有利于提高Gf后用于域分类的精度,也就是说,Gf前的参数将就域分类,Gf后用于标签分类的全连接层参数将就Gf前的参数,Gf后用于域分类的全连接层的参数将就Gf前的参数从而提高域分类精度,最终二者达到平衡,使得域分类精度很高,标签分类精度也很高,但是一旦把目标数据用于标签分类,则由于它和源数据的区别太大了(因为域分类精度高,意味着目标数据和源数据二者存在明显的特征不同,即通过Gf层之后的边缘分布差异非常大),使得他们通过Gf层后生成的特征差异很大,那么目标数据特征再通过Gf后的标签分类全连接层时得到的分类结果差异将非常大!即测试精度非常低,别忘了我们的目标是使得目标数据通过后标签分类精度大。
  • 所以不能对域分类太仁慈,它不应该提高精度,所以我们反向梯度更新,当Gf后的域分类全连接层反向传播的时候,传播到Gf的时候,让它们反向更新层数(即梯度翻转层),从而使得Gf产生的特征向着增大域分类精度,也就是缩小目标数据和源数据特征差异的方向发展,这样的话才是我们的目标,然后Gf层后的标签分类层参数会将就Gf层参数,得到好的标签分类精度,而域分类器很蒙蔽啊,反向传播了反而精度下降了,所以再继续反向传播,殊不知由于梯度翻转层,你以为你在做对的事,其实是无用功,梯度全部反向更新了。这样的话每一次迭代,Gf参数都向着促使域分类精度下降的方向变化,而Gf后的标签分类全连接层的参数向着分类精度增大的方向发展,将就Gf层的参数。域分类器则依然努力反向传播,但是由于梯度翻转层,所以最终的结果是标签分类器精度高,全连接层的参数将就特征层(Gf前的层)的参数。而域分类器精度差,因为没次梯度更新都不会使特征层产生的源数据特征和目标数据特征更加有区分度,反而由于翻转层,它们的区别越来越小,进而达到了混淆目标数据和源数据的目的,所以最终源数据和目标数据几乎边缘分布相同。
  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CtrlZ1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值