AIGC: Textual Inversion 笔记
Inversion
假设我们手里有一个生成模型 (比如说,一个无条件的 GAN),这个生成模型可以将 latent
转化为一幅图像
. 那么,上述过程的逆操作(Inversion)就是,给出一幅图像
, 找到这幅图像所对应的
. 换句话说就是——找到最佳的
, 使
和
两者之间的距离最小。
Inversion 的一种应用是,在保持图像的构图不变的情况下,(通过操作 latent )对原图像进行操作——比如说,将白天改成晚上,改变面部表情,等等。
Textual Inversion
接下来进入到 "Textual Inversion" (以下简称 TI)。
TI 所做的事情,简单地说就是——我们想要生成某个物体X的图像(比如,某个网红),但是物体X不在我们的训练集里面,我们也不知道如何描述这个物体。我们不希望针对这个物体X重新训练一遍模型,而是希望在一个预训练好的模型上面,找到这么一个"单词" 去代表这个物体。然后,我们将这个"单词"放到我们的"句子"里面,就可以生成和这个物体X有关的图像。

本文所用原材料是一个 Latent Diffusion Model(2112.10752),比如 Stable Diffusion;一个文字编码模型,负责将输入文字转化为向量;最后是一些目标对象的图片。我们的目标是找到最优的 embedding , 使得
最小化。

代码可参考 Github 上面 chenxwh 的 replicate-sd-textual-inversion.

估计是目前AIGC几篇文章里面最短的一篇了😂。