|
|
||
|---|---|---|
| .. | ||
| README.md | ||
README.md
多模态网络
在变换器模型成功解决自然语言处理任务后,相同或类似的架构已被应用于计算机视觉任务。人们对构建能够结合视觉和自然语言能力的模型越来越感兴趣。OpenAI 就是这样的尝试之一,名为 CLIP 和 DALL.E。
对比图像预训练 (CLIP)
CLIP 的主要思想是能够将文本提示与图像进行比较,并确定图像与提示的对应程度。
图片来自 这篇博客文章
该模型在从互联网上获取的图像及其说明上进行训练。对于每个批次,我们获取 N 对 (图像, 文本),并将它们转换为某种向量表示 I 和 T。这些表示随后被匹配在一起。损失函数的定义是最大化对应于一对 (例如 I 和 T) 的向量之间的余弦相似度,并最小化所有其他对之间的余弦相似度。这就是这个方法被称为 对比 的原因。
CLIP 模型/库可以从 OpenAI GitHub 获取。该方法在 这篇博客文章 中进行了描述,并在 这篇论文 中进行了更详细的阐述。
一旦该模型经过预训练,我们可以给它一批图像和一批文本提示,它将返回一个包含概率的张量。CLIP 可用于多个任务:
图像分类
假设我们需要对图像进行分类,例如,猫、狗和人。在这种情况下,我们可以给模型一张图像,以及一系列文本提示:“一张猫的图片”,“一张狗的图片”,“一张人类的图片”。在结果的 3 个概率向量中,我们只需选择具有最高值的索引。
图片来自 这篇博客文章
基于文本的图像搜索
我们也可以做相反的事情。如果我们有一组图像,我们可以将这组图像传递给模型,以及一个文本提示——这将为我们提供与给定提示最相似的图像。
✍️ 示例: 使用 CLIP 进行图像分类和图像搜索
打开 Clip.ipynb 笔记本以查看 CLIP 的实际应用。
使用 VQGAN+CLIP 进行图像生成
CLIP 还可以用于从文本提示中生成图像。为此,我们需要一个生成器模型,能够根据某些向量输入生成图像。其中一个这样的模型被称为 VQGAN(向量量化 GAN)。
VQGAN 与普通 GAN 的主要区别如下:
- 使用自回归变换器架构生成组成图像的上下文丰富的视觉部分序列。这些视觉部分又通过 CNN 学习得到。
- 使用子图像判别器,检测图像的部分是否为“真实”或“虚假”(与传统 GAN 的“全有或全无”方法不同)。
在 Taming Transformers 网站上了解更多关于 VQGAN 的信息。
VQGAN 与传统 GAN 之间的重要区别之一是,后者可以从任何输入向量生成不错的图像,而 VQGAN 生成的图像可能不连贯。因此,我们需要进一步指导图像创建过程,这可以通过 CLIP 来实现。
为了生成与文本提示对应的图像,我们从一些随机编码向量开始,并将其传递给 VQGAN 以生成图像。然后使用 CLIP 生成一个损失函数,显示图像与文本提示的对应程度。目标是最小化这个损失,使用反向传播来调整输入向量参数。
一个实现 VQGAN+CLIP 的优秀库是 Pixray。
![]() |
![]() |
![]() |
|---|---|---|
| 根据提示 一张年轻男性文学教师手持书籍的水彩特写肖像 生成的图片 | 根据提示 一张年轻女性计算机科学教师手持电脑的油画特写肖像 生成的图片 | 根据提示 一张老年男性数学教师在黑板前的油画特写肖像 生成的图片 |
图片来自 人工教师 系列,由 Dmitry Soshnikov 提供
DALL-E
DALL-E 1
DALL-E 是一种经过训练的 GPT-3 版本,旨在根据提示生成图像。它的训练参数达到了 120 亿。
与 CLIP 不同,DALL-E 将文本和图像作为一系列令牌的单一流输入。因此,从多个提示中,您可以基于文本生成图像。
DALL-E 2
DALL-E 1 和 DALL-E 2 之间的主要区别在于,后者生成的图像和艺术作品更加真实。
DALL-E 生成的图像示例:
![]() |
![]() |
![]() |
|---|---|---|
| 根据提示 一张年轻男性文学教师手持书籍的水彩特写肖像 生成的图片 | 根据提示 一张年轻女性计算机科学教师手持电脑的油画特写肖像 生成的图片 | 根据提示 一张老年男性数学教师在黑板前的油画特写肖像 生成的图片 |
参考文献
- VQGAN 论文: 高分辨率图像合成的变换器驯化
- CLIP 论文: 从自然语言监督学习可转移的视觉模型
免责声明:
本文件使用基于机器的人工智能翻译服务进行翻译。尽管我们努力追求准确性,但请注意,自动翻译可能包含错误或不准确之处。原始文件的母语版本应视为权威来源。对于关键信息,建议进行专业人工翻译。我们对因使用此翻译而导致的任何误解或误释不承担任何责任。








