[智能计算]AutoDiffusion-基于进化NAS的扩散模型

一、概述

该论文的核心思想是:对于一个已训练好的扩散模型,在不训练的前提下,通过自动选择采样时间和每一步执行的网络结构 ,实现更快、更高质量的图像生成。其核心方法是:将时间步序列与各时间步子网络联合编码,用生成图片的FID评价候选方案,再通过进化算法获取最优配置。

传统的扩散模型在去噪的时候,需要每次调用网络,评估当前噪声,再由采样器计算下一状态。所以生成成本(时间)主要有两个方面的因素:时间因素和网络因素 。AutoDiffusion设置了一个目标步数K,通过与之关联的搜索来确定:在哪些时间点去噪+每个时间点调用哪一部分网络。由于是一种调优策略,AutoDiffusion可以直接叠加到现有的模型上。

二、方法

图1. Atuo-Diffusion工程执行流图

如图1所示,AutoDiffusion包含三个部分,从左往右分别是统一搜索空间、进化搜索、性能评估 。其整个工作流程是:候选配置->实际生成图片->计算FID->选择、交叉、变异->新候选配置。本文的FID评价并没有使用代理模型,而是基于生成图片直接评价,该方法减少了评价所需的样本数量。

2.1基因编码

本文的基因编码被定义为:

其中包含时间步编码 和网络结构编码 ,这两个编码都依赖于实际步数。由于采样器(U-NET)采用共享权重,并不进行重新训练和微调,所以实际上搜索到的是一套随时间步变化的子网络执行方案。

在实际工程层面,未选中的模块会使用跳跃连接绕过;上采样和下采样不纳入搜索空间;索索空间按照完整的模块进行。

2.2搜索算法

本文的联合搜索分为两个部分:完整网络,搜索时间步+联合搜索时间步和结构。如下所示:

需要注意的是,第二阶段依旧允许修改时间步;这一设计有利于降低搜索的难度。完整搜索过程可以为:随机初始化种群->评估候选->选择父代->交叉->变异->重复迭代并保留较优结果。

2.2.1时间步搜索

设预训练模型的时间范围为0-1000,其中只允许4次去噪(K=4)。假设有两种去噪方案

A=250,500,750,1000

B=100,350,600,1000

虽然执行的模型相同,但由于每次去噪时模型接收到的噪声信号都不一样,所以最终的去噪结果也会有很大的区别。时间步搜索的工作是在保证K不变的前提下,寻找合适的时间点。

2.2.2网络搜索

时间点选好后,进一步优化每次网络的调用。设原网络有6个模块可选,分别为:,其调用情况可以表示为二进制代码M=1,1,0,1,0,1。同一个预训练网络,在不同时间步采用不同的模块执行配置,所有保留模块直接继承原权重 。在搜索时可以设置总层数预算,来约束计算代价,可以写作公式:,其中是第步执行的层数。

2.2.3联合优化

一个完整的候选可以写作:

式中,每一对表示在时间点使用子网络预测噪声。

2.3FID评估

FID 评价的是一批生成图片与一批真实图片的特征分布差异,不是给单张图片打分,也不需要生成图片与真实图片一一配对。对于一个候选,完整的过程如下:

①按候选方案生成N张图片

,如果是条件生成还需要满足条件

②提取真实图片和生成图片

设特征提取网络为:,可以得到,,然后分别计算特征均值与协方差。

③计算分布距离

④将FID作为候选适应度

相关推荐
非优秀程序员2 小时前
第12章 烧钱无底洞!!!不烧就死,烧了也不知道啥时候死|《互联网产品恩仇录》
人工智能
Zelman9453 小时前
第06章-交互与观察动作空间
人工智能
冬奇Lab3 小时前
开源项目第258期:Harness² —— Google Research 的「递归式 Agent Harness 优化」,模型权重不动,只改 Agent 的外壳
人工智能·开源
字节跳动视频云技术团队4 小时前
每两家头部手机厂商就有一家选它:火山引擎如何成为 AI 手机助手的“隐形底座”?
人工智能
泯泷5 小时前
像项目经理一样指挥 AI 团队:管理者模式
人工智能·llm·agent
京东云开发者5 小时前
双11囤Token火了:京东搜索量暴涨7倍,AI生产力成新刚需
人工智能
ahccqw5 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
人工智能AI技术5 小时前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能
Flynn Liang6 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope