当前位置: 首页 > news >正文

论文阅读: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.shapehead_num = attn_prob.shape[0] // bstarget_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_positionsdef loss(self):return torch.cat(self.attn_probs).norm()def zero_attn_probs(self):self.attn_probs = []self.logs = []self.concept_positions = None
http://www.lryc.cn/news/322748.html

相关文章:

  • html5cssjs代码 036 CSS默认值
  • 小米路由器4A千兆版刷回官方固件
  • 【Leetcode每日一题】 递归 - 两两交换链表中的节点(难度⭐)(38)
  • 如何部署GPT模型至自有服务器:从零开始搭建你的智能聊天机器人
  • uniapp 之 一些常用方法的封装(页面跳转,页面传参等)
  • flutter 单列选择器
  • 管理类联考–复试–英文面试–问题–WhatWhyHow--纯英文汇总版
  • 亮数据代理IP轻松解决爬虫数据采集痛点
  • html5cssjs代码 035 课程表
  • Eclipse For ABAP:安装依赖报错
  • C++特性三:多态---纯析构和纯虚析构
  • 创建可引导的 macOS 安装器
  • ssm+vue的公廉租房维保系统(有报告)。Javaee项目,ssm vue前后端分离项目。
  • 【pycharm】作为Array查看出现数据无法显示问题(已解决)
  • matlab处理贝塞尔函数
  • 【Python】Pycharm 的 python_stubs
  • AI大模型智能大气科学探索之:ChatGPT在大气科学领域建模、数据分析、可视化与资源评估中的高效应用及论文写作
  • rpc详解rpc框架
  • 【评分标准】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷 无线网络勘测设计
  • 停止docker 容器并删除对应镜像
  • 什么是服务器,有什么特性?
  • 【Django】CORS跨域问题
  • npm 常用命令详解
  • 外包干了14天,技术退步明显。。。
  • RequestResponse使用
  • 知名的CDN厂商CloudFlare简介
  • C语言程序设计-谭浩强
  • 将OpenCV与gdb驱动的IDE结合使用
  • Java毕业设计-基于springboot开发的Java时间管理系统-毕业论文+答辩PPT(附源代码+演示视频)
  • AI原生安全 亚信安全首个“人工智能安全实用手册”开放阅览