论文阅读:Forget-Me-Not: Learning to Forget in Text-to-Image Diffusion Models

Forget-Me-Not: Learning to Forget in Text-to-Image Diffusion Models

论文链接
代码链接
这篇文章提出了Forget-Me-Not (FMN),用来消除文生图扩散模型中的特定内容。FMN的流程图如下:
framework
可以看到,FMN的损失函数是最小化要消除的概念对应的attention map的 L 2 L_2 L2范数。这里需要补充一些关于diffusion model的知识。
首先,以Stable Diffusion为代表的模型使用U-Net对图片的低维嵌入进行建模。文本条件在被CLIP的text encoder编码为文本嵌入后,通过U-Net中的cross-attention layers输入到U-Net中。cross-attention层的具体映射过程是一个QKV (Query-Key-
Value)结构,如上图的中间所示。其中,Q代表图片的视觉信息,K和V都是文本嵌入经过线性层后计算得到的( k i = W k c i   a n d   v i = W v c i k_i = W_kc_i~and~v_i = W_vc_i ki=Wkci and vi=Wvci)。而FMN损失函数中的attention map的计算过程如下:
attention map
然而,attention map还不是cross attention层的输出,其输出通过以下公式计算:
cross-attention output
上面两个公式,也就是图3中间方框中的内容,可以用下面的公式概括,
cross-attention
从FMN的源码中可以看到对应的部分如下:

class AttnController:
        def __init__(self) -> None:
            self.attn_probs = []
            self.logs = []
        def __call__(self, attn_prob, m_name) -> Any:
            bs, _ = self.concept_positions.shape
            head_num = attn_prob.shape[0] // bs
            target_attns = attn_prob.masked_select(self.concept_positions[:,None,:].repeat(head_num, 1, 1)).reshape(-1, self.concept_positions[0].sum())
            self.attn_probs.append(target_attns)
            self.logs.append(m_name)
        def set_concept_positions(self, concept_positions):
            self.concept_positions = concept_positions
        def loss(self):
            return torch.cat(self.attn_probs).norm()
        def zero_attn_probs(self):
            self.attn_probs = []
            self.logs = []
            self.concept_positions = None
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
InteractDiffusion是一种基于对话控制的图像生成模型,其目的是通过对话控制图像的生成过程,来实现用户需求的精确控制。根据官方论文的描述,在这种模型中,生成器和对话控制模型相互作用,以生成更具语义一致性和可解释性的图像。 具体而言,InteractDiffusion模型将对话控制器嵌入到对抗式训练过程中,其目的是在条件生成图像的同时,同时生成与用户对话相对应的图像。这种方法可以用于生成带有特定属性的图像,例如特定的物体或场景。通过对话控制模型,用户可以控制生成器,以生成满足他们的需求的图像。 下面是这篇论文提出的InteractDiffusion模型的核心组件: - 明确对话建模:InteractDiffusion模型将对话控制器嵌入到生成图像的过程中,使得生成器可以通过对话控制器接受条件生成的输入和上下文,并生成与之相应的图像。这种对话建模的方法可以在不增加额外复杂度的情况下,提高模型生成图像时的语义一致性和可解释性。 - 双向条件生成:InteractDiffusion模型采用双向条件生成的方法,即通过对话控制器,生成器可以根据用户对输入和上下文的要求生成对应的图像,并且也可以根据生成的图像,生成相应的对话输出结果。这种方法使得模型在生成图像时能够有更好的灵活性和可控性。 - 对抗式训练:InteractDiffusion模型采用对抗式训练的方法,即结合生成器和判别器进行训练。在对抗式训练中,生成器的目标是生成逼真的图像,而判别器的目标是辨别生成器生成的图像和真实图像的区别。这种对抗式的学习方式可以使得生成器更加准确地生成逼真的图像,同时提高模型的鲁棒性和泛化能力。 请问你还有什么其他问题吗?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值