Closed gaoxiaoluo closed 2 years ago
Hi,这里的adv利用了GRL层使得原本应该是两步迭代优化的对抗生成过程,合为一步,具体来说,GRL做了一个梯度的反转(加负号),所以从前向传播来看,L_adv应该趋向于0,让判别器能够更好地做域判别,但是在反向传播的时候GRL加了负号,使得网络(非判别器的主体部分)其实朝着梯度反方向进行优化。具体可以看一下GRL的论文:Unsupervised Domain Adaptation by Backpropagation, ICML2015.
恩恩,谢谢大佬的回复,GRL的前面的梯度取反,最终判别器无法正确分类。所以经过多轮迭代后的结果不应该是判别器无法正确分类吗?loss越来越大啊,不应该是为0吧?
HI,由于GRL层的存在,网络(非判别器的主体部分)优化方向是与鉴别器优化方向相反。此外,梯度下降会不断使得loss下降。具体优化过程可以看一下GRL的论文。
epoch:305, mini-batch:1800, lr=0.0001, binary_loss=0.0015, constra_loss=-0.9984, adv_loss=0.0002, Loss=-0.9967 大佬,目前模型loss基本已经收敛,adv_loss为啥接近0呢?我的理解:接近0说明域判别器能够对content feature进行域标签分类,而我们期待的是提取域无关的特征迷糊判别器,adv_loss不应该为0。不知道哪里出了问题。请大佬指教,非常感谢
兄弟,你的对比损失函数也是负的吗?我训练出来的对比损失为负的,虽然也会下降,但是会发生震荡,请问这个情况正常吗
epoch:305, mini-batch:1800, lr=0.0001, binary_loss=0.0015, constra_loss=-0.9984, adv_loss=0.0002, Loss=-0.9967 大佬,目前模型loss基本已经收敛,adv_loss为啥接近0呢?我的理解:接近0说明域判别器能够对content feature进行域标签分类,而我们期待的是提取域无关的特征迷糊判别器,adv_loss不应该为0。不知道哪里出了问题。请大佬指教,非常感谢