27. T2I-Adapter : Learning Adapters to Dig Out More Controllable Ability for Text-to-Image Diffusion Models
该文提出一种根据外部控制信号引导文本图像生成的方法,外部控制信号包括边缘图、线稿图、关键点等,使生成的图像在满足文本描述的前提下,还能够符合外部控制信号提供的布局和结构。这个想法与ControlNet类似,但本文提出的方法更加高效、精简,只需要训练一个额外的小模型Adapter,无需对文本-图像生成模型(如SD)进行微调训练。
该文实现的方法也非常简单,设计了一个层级式的Adapter模块,输入条件信息,如边缘图、线稿图等,从中提取布局和空间结构等信息,并将提取得到的特征图按照对应的尺度,与SD中的UNet的编码器对应层级相加,最终输出生成结果。如下图所示
图中带有火苗的部分就是需要训练的T2I-Adapter模块,它可以接收不同形式的外部控制信号输入,但权重不是共享的,每种条件输入都要单独训练一个Adapter模块。将不同的条件信息对应的特征图按照一定的权重进行加权求和之后,再与UNet的编码器对应层的特征图相加,这里与ControlNet不同,ControlNet是与解码器的部分相加。
下面我们再看一下T2I-Adapter模块的实现细节,输入的条件图经过一个Pixel Unshuffle的下采样方法缩小到输入尺寸的1/8,然后输入包含四个尺度层级的特征提取模块,每个层级的特征提取模块都包含一个卷积层和两个残差连接块,每个层级之间都还包含一个下采样层,每次都将特征图压缩2倍。四个层级提取到的特征图为Hi,i=1,2,3,4H^i,i=1,2,3,4Hi,i=1,2,3,4,将特征图与UNet编码器对应层的中间特征FenciF_{enc}^iFenci,具体过程如下H=A(y)F^enci=Fenci+Hi,i∈{1,2,3,4}\begin{aligned}&\mathbf{H}=\mathcal{A}(\mathbf{y})\\&\hat{\mathbf{F}}_{enc}^{i}=\mathbf{F}_{enc}^{i}+\mathbf{H}^{i}, i\in\{1,2,3,4\}\end{aligned}H=A(y)F^enci=Fenci+Hi,i∈{1,2,3,4}其中y\mathbf{y}y表示条件输入,A\mathcal{A}A表示Adapter模块。条件输入除了我们刚刚提到的类似边缘图、线稿图、深度图这种,作者还提出一种空间颜色引导,就是让生成的图像能够符合一定的颜色空间分布特征。作者将一幅引导图像下采样至原图的1/64大小,然后再采用最近邻上采样的方式恢复尺寸,在这个过程中语义啊、结构啊等信息已经被破坏,只保留了非常粗糙的颜色分布情况,如下图所示
前文我们也提到,多种条件引导是可以叠加同时使用的,只需对提取到的特征图HiH^iHi进行加权求和即可,如下式H=∑n=1NωnAn(yn)\mathbf{H}=\sum_{n=1}^N\omega_n\mathcal{A}_n(\mathbf{y}_n)H=n=1∑NωnAn(yn)其中的权重ωn\omega_nωn可以根据需要自由调整,但需要人手动设置。将引导条件通过特征图的方式引入到UNet中,就可以按照扩散模型的训练方式进行训练了,损失函数如下L=Ez0,t,H,ϵ∼N(0,1)[∣∣ϵ−ϵθ(zt,t,C,A(y))∣∣22]\mathcal{L}=\mathbb{E}_{\mathbf{z}_0,t,\mathbf{H},\epsilon\sim\mathcal{N}(0,1)}\begin{bmatrix}||\epsilon-\epsilon_\theta(\mathbf{z}_t,t,\mathbf{C},\mathcal{A}(\mathbf{y}))||_2^2\end{bmatrix}L=Ez0,t,H,ϵ∼N(0,1)[∣∣ϵ−ϵθ(zt,t,C,A(y))∣∣22]当然在这个过程中,噪声估计网络ϵθ\epsilon_\thetaϵθ和文本条件CCC是不更新的,只有Adapter模块参数A\mathcal{A}A被更新。在普通的扩散模型训练过程中,时间步数ttt是在一个范围内,如[1,1000][1,1000][1,1000],随机采样的。但作者发现这种方式并不利于Adapter模块的训练,因为在不同时刻加入引导,其效果是截然不同的,如下图所示
如果在采样的早期加入,其引导的效果很好,而在中期或晚期才加入引导的话,此时的生成图像结构已经基本确定的,引导条件基本不再其作用了。因此作者就希望不按照均匀采样的方式获取时间步数,而是增加早期的采样概率,为此作者采用了一种叫做立方时间步数采样的策略,其采样的数量曲线如下图所示
实验表面采用了新的时间步数采样方式,能够改善引导条件的训练效果,其对比结果如下
在引导图像生成效果方面,T2I-Adapter取得了与ControlNet相近的性能,但所需的训练参数数量更少,推理速度也更快,因此相比而言更加的高效。