WindVChen

Results 160 comments of WindVChen

可以在全局搜索 'cuda' 来找到相关代码段哈

对的哈,在运行生成对抗样本的代码时,也会进行鲁棒性测试哈~ 可以参考这里的代码: https://github.com/WindVChen/DiffAttack/blob/b90edffe932d19ee77d1aa849bc86a96d17c2c52/main.py#L191-L195

影响因素蛮多的,硬件架构,python库版本,不同机器的随机种子等等,都会带来精度误差.

哈喽,init是python语言Class类的基础用法哈,forward是pytorch库nn.Module的调用函数哈

哈喽呀 @hukexin326 , 对于第一个问题:对于文本扰动的实验,我们扰动的目标不再是latent,而变成了text embedding,可以参考我们[文章](https://arxiv.org/pdf/2305.08192)里的公式(16),其中优化项是C_2 text embedding。在我们的实验中,文本扰动实际上对于原图像的影响更加小(见表5的FID指标),这可能是因为(1)我们的自注意力很好的约束了图像结构变换;(2)我们inversion的步数较少,所以使得原图的粗糙语义结构都保留了,单凭几步text guidance不会使图像有较大改变。 对于第二个问题:正文里的方法梯度是传递到latent上的哈,可以见公式(6)优化项是x_t,所以DiffAttack是直接对latent进行扰动。 希望有所帮助~

哈喽 @hukexin326 , “效果很差”具体是指哪方面呢? 因为对比我之前在inception model上的测试结果 https://github.com/WindVChen/DiffAttack/issues/8#issuecomment-1694645347 , 你上面所附的攻击指标看起来更好些(accuracy on adv samples越低越好) 测试的数据集是自己的数据集嘛?

可以尝试调整参数来平衡攻击性能和不可查觉性哈~ 比如增大`--self_attn_loss_weight`,`--start_step`,或减少`--iterations`,来缩小对抗样本与干净样本的区别(不过也同时会降低攻击性能)

哈喽 @MingsiWang , 这儿的代码之前写的有些冗余了,实际上`self.loss`那一行做的工作就是使得`attn_base`和`attn_replace`相接近。由于`attn_base`对应的是`original latent`,`attn_replace`对应的是`optimized latent`(应该没记错),通过`self.loss`就能使得`optimized latent`的自注意力图与`original latent`的自注意力图靠近,从而有利于保留图像结构。

哈喽 @XXXK-K , 这个报错蛮奇怪的,可能不是代码的问题,可以检查下显存是否足够 (需要保证16GB以上)

哈喽 @MingsiWang , 可以参考我们在ImageNet, CUB和Standford Cars上的相关代码与数据集格式,代码层面需要准备一个label描述文件,参考[这里](https://github.com/WindVChen/DiffAttack/tree/main/dataset_caption),同时也可以参考下这个issue https://github.com/WindVChen/DiffAttack/issues/23 . 希望有帮助~