258篇文献!浙大、UB联合发布最新综述:基于扩散模型的条件图像生成

【综述】Diffusion Models: A Comprehensive Survey of Methods and Applications 论文:github:Conditional Image Generation (Image Super Resolution, Inpainting, Translation, Manipulation) 阅读详情
AI摘要

本文围绕扩散模型的条件图像生成展开,介绍了条件嵌入方法,包括去噪网络和采样过程的条件植入,还指出该领域面临的挑战及解决方案。此外,提供了大模型AI的学习路径,涵盖初阶应用、高阶应用、模型训练和商业闭环四个阶段,并分享了学习资料。

基于用户给定的控制信息进行条件图像生成(Conditional Image Synthesis)在创建复杂视觉内容中起着关键作用。近年来,扩散模型(Diffusion Models)已经成为图像生成的高效方法,这使得基于扩散的条件图像生成(Diffusion-based Conditional Image Synthesis, DCIS)工作迅速增长。

然而,扩散模型的复杂性、图像生成任务的多样性,以及条件嵌入方法的多元化,给该方向的研究人员深入理解和分析该领域的核心工作带来挑战。

在我们看来,这些工作的核心在于如何将用户给定的条件嵌入扩散模型。因此在本综述中,我们根据条件是如何嵌入扩散建模的两个基本组成部分(即**去噪网络(Denoising Network)和采样过程(Sampling process)**对现有工作进行了分类,并进一步总结了对扩散模型进行条件嵌入的主要方法。

对于去噪网络,我们着重分析了构建去噪网络的三个阶段:训练阶段(Training Stage)、重用阶段(Re-purposing Stage)以及定制化阶段(Specialization Stage)**中不同条件嵌入方法的基本原理、优势以及潜在的挑战。

对于采样过程,我们总结了采样过程中常见的六种主流的条件嵌入方法。此外,我们给出了各类条件生成任务与现有的主要条件嵌入方法之间的关联。我们希望这可以帮助读者为自己所期望的任务设计基于扩散模型条件生成框架,甚至包括尚未被探索的新颖任务。

最后,我们指出了一些尚未解决的重要问题,并提出了可能的解决方案,以供未来研究参考。

论文标题:

Conditional Image Synthesis with Diffusion Models: A Survey

论文地址:

https://arxiv.org/abs/2409.19365

Github链接:

https://github.com/zju-pi/Awesome-Conditional-Diffusion-Models

引言

图像生成是生成式人工智能(Generative Artificial Intellgence)中的一项核心任务。在该领域中,结合用户提供的条件进行可控的图像生成从而精确控制生成符合用户多样化需求的图像在实际应用中尤为重要。早期的研究在多个条件图像生成任务上取得了显著进展,例如通过文本生成图像、图像修复等。

然而,基于早期深度学习生成模型(如生成对抗网络(GANs)和自回归模型(ARMs))的条件图像生成方法的表现并不尽如人意,原因在于这些早期生成模型模型存在固有的局限性:

  • GANs 易受到模式崩溃(Mode Collapse)以及训练不稳定的影响;

  • 变分自编码器(VAEs)常常生成模糊的图像;

  • 自回归模型(ARMs)则面临序列误差累积(Sequential Error Accumulation)和计算时间长的难题。

近年来,扩散模型(Diffusion Models, DMs)凭借其强大的生成能力和广泛的适用性,逐渐成为最先进的图像生成模型。在扩散模型中,图像通过从高斯噪声出发,经过去噪网络预测引导的多次迭代去噪步骤逐步生成。此独特的多步骤采样过程,使得扩散模型能够实现稳定的训练、生成多样化的输出,同时具备卓越的样本质量。

与单步骤生成模型相比,这一过程也使得扩散模型在条件约束的嵌入上具有独特优势。得益于这些优势,扩散模型已成为条件图像生成中的首选工具,近年来基于扩散的条件图像生成(Diffusion-based Conditional Image Synthesis, DCIS)的研究发展迅速。

随着该领域研究的快速发展,模型架构、训练方法和采样技术的多样化,以及条件生成任务范围的广泛性,使得研究人员难以全面掌握基于扩散模型的条件图像生成(DCIS)领域的全貌。

对于该领域的新进入者而言,这一复杂性尤为突出。因此,亟需一份系统性的综述,能够在提供全方位视角的同时,以结构化的方式对这一不断发展的研究领域进行梳理和介绍。

本综述基于 DCIS 框架中主流的条件嵌入技术对现有的工作进行分类, 旨在提供一个全面且结构化的框架,涵盖当前基于扩散模型的条件图像生成(DCIS)领域的广泛研究。

在本文中, 我们对 DCIS 框架中与条件嵌入相关的组件和设计选择进行清晰且系统的分解。具体而言,我们通过分析条件如何嵌入扩散模型的两个核心组件——去噪网络和采样过程,对现有的 DCIS 方法进行回顾和总结。

对于去噪网络部分,我们将建立条件去噪网络的过程分为三个阶段进行了详细分析。对于采样过程部分,我们归纳了六种主流的条件嵌入方法,详细说明了条件控制如何植入到采样过程的不同组件中。我们的目标是为读者提供一个高层次且易于理解的现有 DCIS 工作的概览,帮助他们为自己所期望的任务设计条件生成框架,甚至包括尚未被探索的新颖任务。

图 1 展示了本综述中提出的 DCIS 分类结构。

▲ 图1 本文的结构

条件图像生成任务

▲ 图2. 主流的条件图像生成任务

一个条件图像生成任务 可以定义为从条件分布 中采样生成目标图像 :

其中, 是条件输入 的定义域, 表示由任务 定义的条件分布。

基于条件输入的形式及其与目标图像间构成的条件分布 的关联,我们将常见的条件图像生成任务划分为七大类,如图 1 所示:

(a) 图文生成(Text-to-image),根据文本提示生成对应的图像;

(b) 图像修复(Image restoration),从退化的图像中恢复出清晰图像;

© 视觉信号到图像的转换(Visual signal to image),将给定的视觉信号(如素描、深度图和人体姿态)转换为相应的图像;

(d) 图像编辑(Image editing),基于提供的语义、结构或风格信息对给定的源图像进行编辑;

(e) 个性化定制(Customization),为给定的用户给定的物体生成不同的编辑效果;

(f) 图像生成(Image composition),将来自不同图像中的物体和背景组生成一幅图像;

(g) 布局控制(Layout control),利用提供的前景物和背景的空间信息控制生成图像的布局。

我们在表 1 中整理了各类条件生成任务与现有工作的条件嵌入方法之间的关联。

▲ 表1 主流条件生成任务常用的条件嵌入方法的组合

对于去噪网络的条件植入

▲ 图3 对去噪网络的条件植入

在基于扩散模型的生成框架中,去噪网络是关键组成部分。它通过估计每个前向步骤中添加的噪声,将初始的高斯噪声分布逆向还原为数据分布。在条件图像生成中,实现条件控制的最直接方法是将条件输入植入去噪网络。在本节中,我们将去噪网络中的条件整合过程分为三个阶段:

(a) 训练阶段:从头开始基于成对的条件输入和目标图像训练去噪网络;

(b) 重用阶段:将预训练的去噪网络应用于超出其原始训练任务的条件生成场景;

© 定制化阶段:根据用户指定的条件输入对去噪网络进行调整优化。图 3 展示了一个示例性工作流程,展示了如何通过这三个条件整合阶段构建满足条件生成任务(包括图文生成、视觉信号到图像以及个性化定制需求)的去噪网络。

3.1 训练阶****段

对于去噪网络, 植入条件控制信号 的最直接的方法是从头开始进行监督训练,采用以下损失函数:

其中, 和 表示成对的条件输入和目标图像。通过此机制,学习到的条件去噪网络 可以用于从 中进行采样。

3.2 重用阶段

▲ 图4 对Denoising Network的重用阶段

当前,扩散模型正被应用于日益多样和复杂的条件生成任务中,如果每次针对每一个条件生成场景都从头训练去噪网络,将对计算资源造成严重负担。

幸运的是,预训练的图文生成(Text-to-image, T2I)扩散模型能够有效地关联文本与其对应的图像,作为一种语义丰富的骨干网络,适用于超越图文生成的广泛条件生成任务。已有研究基于 T2I 骨干设计了任务特定的去噪网络,并通过针对成对的条件输入和图像进行微调,将 T2I 去噪网络重用到目标任务。

在实践中,重任务应用的去噪网络可以细分为三个关键模块:

(a) 条件编码器(Conditional encoder):将任务特定的条件输入编码为特征嵌入的模块;

(b) 条件注入(Condition injection):将任务相关的特征嵌入注入到 T2I 骨干模型中的模块;

© 骨干网络(Backbone):T2I 骨干网络,在重任务应用阶段可选择保持冻结或进行微调。重任务应用时,条件微调可以针对这些组件中的每一个来实现条件植入。

接下来,我们将总结当前研究在重用阶段对这些组件进行条件植入时的设计选择。图 4 展示了重用阶段去噪网络的模型架构。

3.3 定制化阶段

▲ 图5 对 Denoising Network 的定制化阶段

虽然理论上我们可以在训练和重用阶段将任何形式的条件输入 植入到去噪网络 中,但在复杂的条件图像生成场景下,将这种控制信号整合到去噪网络的条件空间中面临挑战,主要体现在标注训练数据集的收集难度大以及建模条件输入与期望输出之间复杂关联。这限制了模型在面对零样本或少样本条件输入时的处理能力。

解决这些问题的一个直接思路是通过一个定制化阶段,将给定的条件输入与通用 T2I 骨干的条件空间对齐。如图 5 所示,针对特定条件输入的定制化通常通过以下两种方式实现:

(a) 条件投影(Conditional projection):该方法通过嵌入优化或视觉-语言预训练(VLP)框架,将给定的条件输入投射到 T2I 骨干的条件空间中;

(b) 模型微调(Testing-time model fine-tuning):在测试阶段微调去噪网络,以将条件输入插入到 T2I 骨干的先验知识中。

在实际应用中,对去噪模型的定制化阶段往往用于实现图像编辑(Image editing)和定制任务(Customization),旨在对用户指定的视觉主体(包括源图像(image editing)和用户给定的物体(Customization))进行所需的修改,同时保持这些视觉主体的特征和细节。

对于生成过程的条件植入

▲ 图6 对生产过程的条件植入

在基于扩散模型的图像生成框架中,采样过程通过去噪网络的预测,迭代地将含噪声的隐变量逐步还原为目标图像。如在第 3 节中提到的,将条件控制信号植入到去噪网络中通常需要耗时的训练、微调或优化。

为了减轻去噪网络的条件植入所带来的计算负担,许多研究在采样过程中进行条件植入,以确保生成图像与给定的条件输入保持一致,同时避免计算密集型的监督训练或微调过程。

根据条件控制信号如何融入到采样过程中,我们将主流的对于采样过程的条件植入机制划分为六类:(a) 反演(Inversion),(b) 注意力操控(Attention manipulation),© 噪声混合(Noise blending),(d) 扩散过程修正(Diffusion process revision),(e) 引导(Guidance),以及 (f) 条件校正(Conditional correction)。

我们在图 6 中通过一个示例性的图像编辑过程详细展示了这些对生成过程的条件植入机制。

未来展望

尽管基于扩散模型的条件图像生产在根据用户提供的多种条件生成高质量图像方面取得了显著进展,但学术领域的突破与实际需求之间仍存在较大差距。在本节中,我们总结了该领域的主要挑战,并提出了潜在的解决方案,以供未来研究探讨和应对。

5.1 采样加速

在基于扩散模型的图像生成中,耗时的采样过程往往成为瓶颈,加速采样过程将有助于模型在实际中的部署。早期关于采样加速的研究,主要通过更高效的数值求解器来减少采样步骤,或通过蒸馏预训练扩散模型以建立能够加速采样的捷径。

然而,蒸馏模型中的去噪步骤过少,可能会削弱采样过程中条件整合的效果。当前另一类关键采样加速研究通过知识蒸馏(Knowledge distillation)和架构搜索(Architecture search)等技术,减少模型参数以降低每一步去噪处理的计算成本。

目前,大多数基于扩散模型的参数压缩方法主要针对文本生成图像模型。分析其他条件生成任务的模型是否也存在类似于文本生成图像模型中的参数冗余,并将这些模型压缩方法扩展到更复杂的下游任务,是未来值得探索的方向。

5.2 采样过程的条件植入引发的伪影问题

如第 4 节所总结的,基于扩散模型的图像生成中对于采样过程条件植入方法,允许在不对去噪网络进行耗时条件整合的情况下,灵活地进行条件注入。然而,这些条件控制机制对扩散框架中的标准采样过程进行了修改,导致生成的图像偏离了模型学习的数据分布,从而产生伪影。大多数相关研究采用复杂的调整机制来解决在采样过程中引入条件时出现的伪影问题。

然而,这些方法通常仅仅针对某些特定的应用场景。我们认为未来一个更具通用性的解决方向是,在包含条件控制机制的采样过程中,基于中间的潜变量对去噪网络进行轻量级微调,并使用扩散损失进行优化。此方法可以平滑掉由采样过程中的条件控制机制引发的伪影,并在相对较低的计算成本下生成期望的图像,相较于直接在去噪网络中进行条件整合,该方法更为高效。

5.3 训练数据集

在众多对于扩散模型条件植入方法中,最基础且最有效的条件植入途径仍然是基于条件输入与图像对的监督学习。尽管在处理单一模态条件输入的生成任务中训练数据集相对充足,但对于处理复杂多模态条件输入的任务获取足够的数据仍然是一个挑战。

随着大型语言模型训练和高效微调技术的不断发展,具备强大多模态表征学习能力和内容生成能力的各种大型模型陆续被开发出来,这使得可以利用这些预训练模型自动生成所需的训练数据集成为可能。我们还可以考虑使用自监督学习或弱监督学习,来减少对大量高质量训练数据的需求。

5.4 鲁棒性

由于某些复杂的条件图像生成任务缺乏客观的、特定任务的评估数据集和评估指标,针对这些任务的研究通常基于一组自定义的条件输入来比较模型性能,从而导致性能看起来过于乐观。

事实上,不少知名的文本生成图像模型 在面对特定类别的文本提示时,生成的结果并不理想。例如,Imagen 在生成人脸图像时所暴露的不足便是一个典型例证。我们认为提升模型鲁棒性的潜在方向包括增加训练数据集的多样性、精心设计条件编码器的架构,以及改进条件控制机制以实现更细粒度的控制。

5.5 安全性

由扩散模型驱动的条件生成技术在人工智能生成内容(AI-Generated Content, AIGC)及其下游应用中的卓越表现,导致了在偏见与公平性、版权以及接触有害内容风险等方面的严重安全隐患。基于扩散模型的安全导向条件图像生成旨在通过在生成的图像中嵌入可轻松复制的水印,以检测版权侵权问题,从而缓解这些风险。

此外,安全导向的生成方法还通过经典的条件机制(如微调 、引导和条件修正)来增强模型对少数群体的生成倾向,从而减少偏见。同时,一些研究也通过有害提示检测(Harmful prompt detection) 、文本修正(Prompt engineering)和安全引导(Safety guidance)来防止文本生成图像任务中产生有害内容。

目前,这些对于扩散模型安全性的工作主要集中在基本的无条件生成和文本条件生成领域。我们认为,对于更复杂的条件生成场景,安全相关的努力可以集中在以下四个方面:(a) 检测有害的条件输入,(b) 过滤和消除训练数据集中的偏见,© 为采样过程提供安全导向的引导,(d) 对去噪网络进行以安全为重点的微调。

结论

本综述对基于扩散模型的条件图像生成进行了深入研究,主要关注框架层面的构建以及在七类代表性任务中关于条件植入的常见设计选择。尽管该领域已有显著进展,未来在实际应用中仍需面对诸多挑战。

后续研究应重点关注如何收集和创建足够的高质量、无偏的特定任务数据集,精心设计条件编码器架构和在采样过程中进行有效的条件机制,以实现稳定且无瑕疵的生成结果。

此外,快速采样与生成质量之间的权衡也是实际部署中的关键问题。最后,作为一种广泛应用的 AIGC 技术,必须充分考虑其带来的安全性问题及合法性。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

CONDITIONAL IMAGE SYNTHESIS WITH AUXILIARY CLASSIFIER GANS 论文下载地址:这里[目录] 摘要 简介 背景知识 AC-GANs 结果 生成高分辨率图像改善可分性 测量生成图像的多样性摘要合成高分辨率图像是机器学习中一个长期存在的挑战,文中介绍了图像合成的一个改进训练GAN s的新方法。我们运用标签条件构建了一个变种GANs,产生显示出全局一致性的128×128分辨率的图像样本。我们扩展了以前的图像质量评价工作,提出了两种新的分析方法,以评价类别条件图像合成模型 阅读详情

相关推荐

深入探索条件扩散模型:一个详尽解读

条件扩散模型是一种生成模型,它通过学习数据的条件分布来生成新的样本。与传统的生成模型不同,条件扩散模型使用扩散过程(Diffusion Process)来建模数据的生成过程。在扩散过程中,模型通过逐步加入噪声来逼近目标分布,从而生成与目标分布相似的样本。条件扩散模型的主要思想是通过一系列的扩散步骤,将噪声逐渐转化为目标样本。每个扩散步骤可以看作是一个条件生成模型,它将当前样本和噪声作为输入,生成下一个样本。通过多次迭代这个过程,模型可以生成高质量的样本。

loop_syntax648的博客 7477

辅助分类器的条件图像合成AC-GAN(Conditional Image Synthesis with Auxiliary Classifier GANs)

原文链接:Conditional Image Synthesis with Auxiliary Classifier GANs 文章贡献: 1.在D的输出部分添加一个辅助的分类器来提高条件GAN的性能 2.提出 Inception Accuracy 这种新的用于评判图像合成模型的标准 3.引进MS-SSIM用于判断模型生成图片的多样性   本文工作与前人不同之处(图片来自互联网,当前版...

风一样的自由,色彩斑斓的雨季 1万+

5G边缘计算:核心网下沉革命

5G核心网与边缘计算的深度融合,通过UPF下沉、本地流量卸载等关键技术,实现了低时延、高效能的分布式计算架构。该技术将数据处理从核心网向边缘节点转移,支持工业控制、车联网、远程医疗等场景的1-10ms超低时延需求。5G核心网的SBA架构和CUPS设计为边缘计算提供了灵活部署基础,SMF、PCF等网元协同确保业务质量与可靠性。

Qinti_mm的博客 1402

Conditional image synthesis with auxiliary classifier GANs

Conditional image synthesis with auxiliary classifier GANs 本文介绍了一种新的图像合成生成对抗网络(gan)改进训练方法。我们使用标签条件作用构建了GANs的一个变体,结果在128 × 128分辨率的图像样本中显示出全局一致性。我们扩展了以往的图像质量评估工作,提供了两种新的分析方法来评估分类条件图像合成模型中的样本的可辨别性和多样性。 这些分析表明,高分辨率样本提供了低分辨率样本中不存在的类信息。在1000个ImageNet类中,128 × 128

weixin_37958272的博客 910

IEEE Transaction期刊模板使用注意事项

本文将总结使用IEEE Transactions系列期刊的投稿模板时的一些注意事项,包括模板本身的使用规范、参考文献的正确格式等其他内容。

weixin_39529207的博客 2万+

全志DRM框架下LVDS双屏异显配置实战

本文详细介绍了在全志DRM框架下配置LVDS双屏异显的实战经验。涵盖硬件连接、内核配置、设备树修改、背光控制及U-Boot适配等关键步骤,重点解析屏参转换技巧与双屏route配置,帮助开发者解决工业控制台等多屏应用中的显示适配问题,提升开发效率。

rnn9storyteller的博客 813

Awesome-Conditional-Diffusion-Models:基于条件扩散模型的条件图像生成

Awesome-Conditional-Diffusion-Models:基于条件扩散模型的条件图像生成 项目介绍 在计算机视觉和图像处理领域,条件图像生成是一个极为重要的任务,它可以根据用户的特定需求生成复杂的视觉内容。近年来,基于扩散模型的生成模型在条件图像生成方面显示出了极高的效率,吸引了大量研究者的关注。然而,扩散模型本身的复杂性、图像生成任务的多样性以及条件机制的多样性给研究者带来了巨大...

gitblog_00416的博客 718

040、未来展望:MLIR与编译技术的演进方向

MLIR不是又一个编译框架,它更像是一套“元框架”——提供构建专用编译工具的能力。未来几年,我们会看到更多垂直领域(自动驾驶、射频信号处理、生物计算)出现基于MLIR的专用编译器,它们可能不会挂“MLIR”的名字,但内核都是这套可扩展的IR基础设施。不要等MLIR“成熟”再用,现在就该把它当成一把瑞士军刀,先挑刀口最锋利的那个功能(比如图优化、循环变换)用起来。编译技术的演进不再是学术界的独角戏,而是越来越贴近实际生产中的异构、动态、领域专用需求。

m0_50546716的博客 175

论文阅读:Diffusion Model-Based Image Editing: A Survey

这篇文章是一篇基于扩散模型(Diffusion Model)的图片编辑(image editing)方法综述。作者从多个方面对当前的方法进行分类和分析,包括学习策略、用户输入、和适用的任务等。为了进一步评估文本引导的图片编辑算法,作者提出了一个新的基准,EditEval,采用了一个创新的指标:LMM Score。最后,作者分析了当前方法的局限和未来可能的研究方向。

huzimu_的博客 3419

TSP:车为什么能和云端交互?

TSP:车为什么能和云端交互?

天赐好车的博客 410

PCIe协议之 Equalization篇 之 理论篇 之 FFE

作为最后一道“精加工”工序,DFE利用其不放大噪声的优势,精准地消除残余的、强烈的后光标ISI,最终得到一个非常干净、张得很开的眼图,供判决器使用。信号经过信道衰减后变得模糊,首先由CTLE进行“粗调”,提供一个宽频带的增益,将眼图初步打开,为后面的DFE创造一个可以正常工作的信号环境。,它通过将输入信号在不同时间点上的多个副本(称为“抽头”)进行加权求和,来直接塑造或“整形”输出信号的波形。:这是最主要的信号路径,通常系数为正值,决定了信号的幅度。:将所有加权后的信号相加,产生最终的均衡输出。

那么菜的博客 755

从卷积的视角看不同退化的区别

今天分享的论文是2023CVPR《All-in-one Image Restoration for Unknown Degradations Using Adaptive Discriminative Filters for Specific Degradations》

Alex抱着爆米花的博客 454

Python全栈入门到实战【基础篇 19】函数进阶:默认参数、递归函数与偏函数应用

本文深入探讨Python函数进阶的三大核心知识:默认参数、递归函数与偏函数。针对默认参数,揭示了可变对象作为默认值的陷阱,提出使用None替代的方案;解析递归函数的三大要素(终止条件、递归调用、问题拆解),并通过阶乘和斐波那契数列示例演示实现方法,同时给出尾递归和缓存装饰器两种优化策略;最后介绍偏函数如何通过functools.partial固化参数简化调用。这些技巧能显著提升函数在复杂场景下的灵活性与复用性,帮助开发者编写更高效的Python代码。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3864

Hierarchical Integration Diffusion Model for Realistic Image Deblurring

Hierarchical Integration Diffusion Model for Realistic Image Deblurring 论文思考

jakekiller00的博客 459

TIA博途WINCC的触摸屏VB脚本入门指南(嵌入式)

通过编写事件处理程序,您可以响应触摸屏元素的各种事件,并实现自定义的功能。本文将为您提供TIA博途WINCC触摸屏VB脚本的入门指南,帮助您了解基本的脚本编写和嵌入式开发。假设我们有一个名为"Button1"的按钮元素,当用户点击该按钮时,触发相应的事件处理程序,并在触摸屏上显示一条消息。然后回到触摸屏界面编辑器,在按钮元素的属性窗口中找到"按下"事件,并选择刚才创建的脚本文件作为事件处理程序。现在,当用户点击按钮时,触摸屏将执行相应的事件处理程序,并显示一条消息框,内容为"按钮被点击了!

CodeSageX的博客 4418

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Diffusion Models for Image Restoration and Enhancement – A Comprehensive Survey

图像恢复(IR)一直是低水平视觉领域不可或缺的一项具有挑战性的任务,它致力于提高因各种形式的退化而失真的图像的主观质量。近年来,扩散模型在AIGC的视觉生成方面取得了重大进展,由此提出了一个直观的问题,即“扩散模型能否促进图像恢复”。为了回答这个问题,一些开创性的研究试图将扩散模型集成到图像恢复任务中,从而获得比以前基于GAN的方法更好的性能。尽管如此,关于基于扩散模型的图像恢复的全面而有启发性的研究仍然很少。

通街是密人有的博客 6665

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

图像编辑技术的新篇章:基于扩散模型的综述

扩散模型,作为生成人工智能领域的一项突破性技术,其灵感来源于非平衡热力学的原理。这些模型通过逐步向数据样本中添加噪声,将它们从原始分布转换为预定义的、通常更简单的分布,如高斯分布,然后通过迭代过程逆转这一过程,以生成与原始数据分布相匹配的数据。与传统的生成模型相比,扩散模型的特点是它们在迭代时间步骤中动态执行,涵盖前向和后向的时间运动。这种模型的前向扩散过程将数据分布转换为高斯分布,而反向扩散过程的目标是学习前向过程的逆过程,以生成与原始未修改数据样本紧密对齐的分布。

人工智能讲师分享前沿技术 2347

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

High-Resolution Image Synthesis with Latent Diffusion Models 论文重点

通过将图像生成过程分解为去噪编码器的迭代应用,扩散模型(DMs)在图像数据和其他数据上实现了最先进的合成结果。此外,它们的表述还提供了一种引导机制来控制图像生成过程,而无需再训练。然而,由于这些模型通常直接在像素空间中操作,优化功能强大的dm通常会消耗数百个GPU天,而且由于顺序计算,推理是昂贵的(耗时)。为了在有限的计算资源上进行DM训练,同时保持其质量和灵活性,我们将其应用于强大的预训练预编码的潜在空间。与以前的工作相比,在这种表示上训练扩散模型首次允许在复杂性减少和细节保留之间达到一个接近最优点,极大

qq_45373485的博客 3634

扩散模型(Diffusion Model)最新综述!

点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达本综述来自西湖大学李子青实验室、香港中文大学Pheng-Ann Heng和浙江大学陈广勇团队,对现有的扩散生成模型进行了全面的回顾。本文首先提出了diffusion model改进算法的细化分类与深度解析,同时对diffusion model的应用进行了系统的回顾,最后率先汇总领域内benchmarks。这也促进了后续工作《Dif...

阿木寺的博客 3万+

生成对抗网络资源 Adversarial Nets Papers

来源:https://github.com/zhangqianhui/AdversarialNetsPapers AdversarialNetsPapers The classical Papers about adversarial nets The First paper ✅[Generative Adversarial Nets][Paper][Code](the first ...

weixin_33690367的博客 449

图像合成——《Semi-parametric Image Synthesis》阅读笔记

根据大致的草图框架(语义布局法),深度神经网络现在可以直接合成真实效果的图片。 参数模型(parametric models)的优点是具有高度的表现力,可进行端到端的训练。非参数模型(Non-parametric models)的优点是可以在测试时提取大型的真实图片数据集里的素材。 集结这两种方法的优势,提出了SIMS(半参数模型) SIMS工作思路: (1)先用大型真实图像数据集先训练非参数...

LetItBe的博客 3492

论文阅读 Conditional Image Synthesis with Auxiliary Classifier GANs

Abstract 本文介绍了一种改进的图像合成生成对抗网络训练方法。我们利用标签条件作用构建了一个GANs变体,得到了具有全局一致性的128128分辨率的图像样本。我们在先前图像质量评估工作的基础上,提供了两种新的分析方法来评估类条件图像合成模型样本的可辨性和多样性。这些分析表明,高分辨率样本提供了在低分辨率样本中不存在的类信息。在1000个ImageNet类中,128128的样本的鉴别能力是人工...

zero 773

《High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs》论文笔记

              High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs   解决问题:用CGAN合成分辨率为2048*1024的高分辨率且纹理逼真的图像。   方法:1、coarse-to-fine 生成器(G1(全局生成器) 、G2(局部增强生成器))       2、m...

sunny0121的博客 7281

DivCo Diverse Conditional Image Synthesis via Contrastive Generative Adversarial Network

DivCo: Diverse Conditional Image Synthesis via Contrastive Generative Adversarial Network 条件生成对抗网络(Conditional generative advictorial networks,cGANs)的目标是在给定输入条件和latent codes的情况下合成各种不同的图像,但不幸的是,它们通常会遇到模式崩溃的问题。为了解决这个问题,以前的工作[47,22]主要集中在鼓励latent codes与其生成的图像之

weixin_37958272的博客 744

[生成对抗网络GAN入门指南](9)ACGAN: Conditional Image Synthesis with Auxiliary Classifier GANs

本篇blog的内容基于原始论文ACGAN:Conditional Image Synthesis with Auxiliary Classifier GANs和《生成对抗网络入门指南》第六章。 完整代码见文章末尾 一、为什么要研究ACGAN? 使用标签的数据集应用于生成对抗网络可以增强现有的生成模型,并形成两种优化思路。 1. cGAN使...

gdtop的个人笔记 1万+
上一篇: xLAM: 一个赋能AI agent系统的动作大模型家族
下一篇: 你对大模型认知的开始——大模型的能力问题
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值