【论文阅读】(DALLE-3)Improving Image Generation with Better Captions

(DALLE-3)Improving Image Generation with Better Captions

引用: Betker J, Goh G, Jing L, et al. Improving image generation with better captions[J]. Computer Science. https://cdn. openai. com/papers/dall-e-3. pdf, 2023, 2(3): 8.

论文链接: https://arxiv.org/abs/2212.09748

简介

论文展示了通过在高度描述性的生成图像captions上训练,可以显著提高文本到图像模型的提示跟随能力。现有的文本到图像模型在遵循详细图像描述方面存在困难,经常忽略提示中的单词或混淆提示的含义。作者假设这个问题源于训练数据集中图像标题的噪声和不准确性。通过训练一个定制的图像captions生成器并用它来重新标注训练数据集来解决这个问题。然后,训练了几个文本到图像模型,并发现在这些合成captions上训练可靠地提高了提示跟随能力。最后,使用这些发现构建了DALLE 3:一个新的文本到图像生成系统,并在设计用来衡量提示跟随、连贯性和美学的评估中测试了其性能,发现它与竞争对手相比具有优势。

Method

论文提出的文本到图像模型是在由大量配对(t,i)组成的数据集上训练的,其中i是图像,t是描述该图像的文本。在大规模数据集中,t通常来源于人类作者,他们专注于对图像主题的简单描述,而忽略了图像中描绘的背景细节或常识关系。t中通常省略的重要细节可能包括:

  1. 厨房水槽或人行道上的停车标志等物体的存在以及对这些物体的描述。
  2. 场景中对象的位置和这些对象的数量。
  3. 常识性细节,如场景中对象的颜色和大小。
  4. 显示在图像中的文本。

糟糕的是,在互联网上发现的captions往往根本不正确;描述图像的切向相关细节。例如,在通常用于为图像制作captions的文本中,通常会发现广告或表情包。作者假设所有这些缺点都可以通过综合生成的 captions来解决。

图像字幕与预测文本的传统语言模型非常相似。语言模型首先使用标记器将文本字符串分解为离散的标记。一旦以这种方式分解,语料库的文本部分就可以表示为一个序列,t=[t1,t2,…,tn]。然后,可以通过最大化以下可能性函数,在文本上建立一个语言模型:

其中,θ是要优化的captioner的参数。要将此语言模型转换为captioner,只需要对图像进行调整即可。这里的挑战是图像是由成千上万的像素值组成的。对目前的神经网络来说,对所有这些信息进行调节是非常低效的,所以需要一个压缩的表示空间。方便的是,CLIP提供了这一点。因此,给定预先训练的CLIP图像嵌入函数F(i),扩展语言模型的优化目标如下:

为了改进图像生成数据集中的captions,希望使caption生成器产生有利于学习文本到图像模型的图像描述。在第一次尝试中,构建了一个小的caption数据集,只描述图像的主要主题。然后继续在这个数据集上训练captioner。该过程引起的θ更新可以导致模型偏向于描述图像的主要主题。将此微调生成的captions称为"short synthetic captions"。

然后,第二次重复这个过程,创建一个由长的、高度描述性的captions组成的数据集,描述微调数据集中每个图像的内容。这些captions不仅描述了图像的主要主题,还描述了图像周围的环境、背景、图像中的文本、风格、颜色等。再次在此数据集上captioner。将此captioner生成的captions称为“描descriptive synthetic captions”。图3显示了基本事实、简短合成和描述性合成captions的示例。

构建完成后,将图像captioner微调应用于文本到图像数据集中的每个图像,从而生成一组合成字幕,用于后续实验。

实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 01:02:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 01:02:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 01:02:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 01:02:04       18 阅读

热门阅读

  1. C#求最大公约数: 欧几里得算法 vs 辗转相除法

    2024-03-12 01:02:04       20 阅读
  2. 如何在Ubuntu上部署最新的Google Chrome和ChromeDriver

    2024-03-12 01:02:04       24 阅读
  3. c++基础学习第四天(内存分区,引用)

    2024-03-12 01:02:04       20 阅读
  4. 010-$nextTick

    2024-03-12 01:02:04       19 阅读
  5. 浏览器内核小知识

    2024-03-12 01:02:04       19 阅读
  6. Linux报错排查-安装PHP的remi库报错

    2024-03-12 01:02:04       21 阅读
  7. 设计模式-适配器模式

    2024-03-12 01:02:04       27 阅读
  8. 热销商品-爬虫销量信息

    2024-03-12 01:02:04       19 阅读
  9. 【PICO 4教程】Unity3D中实现对PICO 4的手柄按键响应

    2024-03-12 01:02:04       19 阅读
  10. Linux: 调用接口

    2024-03-12 01:02:04       19 阅读
  11. 使用Docker安装Redis并运行

    2024-03-12 01:02:04       25 阅读
  12. springboot之异步任务、邮件任务、定时任务

    2024-03-12 01:02:04       19 阅读