一、概述
该论文的核心思想是:对于一个已训练好的扩散模型,在不训练的前提下,通过自动选择采样时间和每一步执行的网络结构 ,实现更快、更高质量的图像生成。其核心方法是:将时间步序列与各时间步子网络联合编码,用生成图片的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作为候选适应度