DiffAttack
DiffAttack copied to clipboard
代码实现中关于自注意力的计算
作者您好!我在阅读代码的时候发现在文件 attention_control.py 的第50行有这么一句:
if attn.shape[1] <= (self.res // 16) ** 2: # avoid memory overhead
这是否意味着实现中只用了分辨率小于 14*14 (假设self.res=224)的自注意力图来算损失?除了减少计算量还有其他考量吗,我很好奇您是否做了一些消融实验来选择特定的自注意力层?如果我理解错了还请您指出,谢谢!
哈喽 @fangxuehouwuming ,
不好意思回复晚了,自注意力层的选取我们没有做特别的消融实验哈,目前主要是为了减少些计算量哈~
不过经验上来看的话,分辨率更高的自注意力图能捕捉到更明显的结构信息,可以调整参数可视化出来看看~