zejinwang / Blind2Unblind

This is an official implementation of the CVPR2022 paper "Blind2Unblind: Self-Supervised Image Denoising with Visible Blind Spots".
https://arxiv.org/abs/2203.06967
118 stars 13 forks source link

关于损失函数和一些参数的疑问 #11

Closed spongebobpie closed 1 year ago

spongebobpie commented 1 year ago

想问下损失函数中的“can be considered as an ordinary constant. It only remains to design a new objective function”这个变量是代表什么呢不是很明白。另外在代码损失函数定义部分用到了两个lamda和thread以及beta alpha几个参数,这个分别有什么用呢,希望能解答一下,谢谢!

zejinwang commented 1 year ago

Q1:这个变量表示隐式主任务的去噪结果。噪声图像y直接作为输入会陷入身份映射,无法达到移除噪声的目的。因此,主任务必须和辅助掩码分支共享模型参数,辅助掩码分支提供梯度反传能力。而隐式主任务,也就是损失函数中的隐式变量,得设计个新的目标函数,令其和噪声图像y的残差也加入到显式辅助掩码分支的梯度更新中。 Q2:lambda初始值固定为2,确保训练前期的重心部分放在显式掩码辅分支 上,从epoch(thread*100)-100线性增加到21,近似达到仅优化隐式主任务的目的。Thread取40或80,由噪声模式是否唯一决定。

spongebobpie commented 1 year ago

好的 第一个问题明白了 但是第二个有一点抽象 可以更具体的解释thread lambda alpha以及beta分别代表什么吗 谢谢 另外那个increase ratio是指什么呢 代码这个部分实在是不太明白 谢谢

zejinwang commented 1 year ago

thread1表示开始线性增长lambda的起始阈值,0.4表示从epoch 40(0.4*100)开始改变lambda的值,thread2即终止阈值。 lambda就是论文中的初始值$\lambda$,alpha是论文中正则项的系数,beta是当前epoch下论文中的$\lambda$值,increase ratio指论文中$\lambda$的终值。