港科大&MSRA新研究:关于图像到图像转换,Finetuning is all you need

简介: 港科大&MSRA新研究:关于图像到图像转换,Finetuning is all you need

在自然语言处理领域,网络微调已经取得了许多进展,现在这一思想延展到了图像到图像转换的领域。


许多内容制作项目需要将简单的草图转换为逼真的图片,这就涉及图像到图像的转换(image-to-image translation),它使用深度生成模型学习给定输入的自然图片的条件分布。


图像到图像转换的基本概念是利用预训练的神经网络来捕捉自然图片流形(manifold)。图像转换类似于遍历流形并定位可行的输入语义点。系统使用许多图片对合成网络进行预训练,以从其潜在空间的任何采样中提供可靠的输出。通过预训练的合成网络,下游训练将用户输入调整为模型的潜在表征。


多年来,我们已经看到许多特定于任务的方法达到了 SOTA 水平,但目前的解决方案还是难以创建用于实际使用的高保真图片。


在最近的一篇论文中,香港科技大学和微软亚洲研究院的研究者认为,对于图像到图像的转换,预训练才是 All you need。以往方法需要专门的架构设计,并从头开始训练单个转换模型,因而难以高质量地生成复杂场景,尤其是在配对训练数据不充足的情况下。

因此,研究者将每个图像到图像的转换问题视为下游任务,并引入了一个简单通用框架,该框架采用预训练的扩散模型来适应各种图像到图像的转换。他们将提出的预训练图像到图像转换模型称为 PITI(pretraining-based image-to-image translation)。此外,研究者还提出用对抗训练来增强扩散模型训练中的纹理合成,并与归一化指导采样结合以提升生成质量。

最后,研究者在 ADE20K、COCO-Stuff 和 DIODE 等具有挑战性的基准上对各种任务进行了广泛的实证比较,表明 PITI 合成的图像显示出了前所未有的真实感和忠实度。


GAN 已死,扩散模型永存

作者没有使用在特定领域表现最佳的 GAN,而是使用了扩散模型,合成了广泛多样的图片。其次,它应该从两种类型的潜在代码中生成图片:一种描述视觉语义,另一种针对图像波动进行调整。语义、低维潜在对于下游任务至关重要。否则,就不可能将模态输入转换为复杂的潜在空间。鉴于此,他们使用 GLIDE 作为预训练的生成先验,这是一种可以生成不同图片的数据驱动模型。由于 GLIDE 使用了潜在的文本,它允许语义潜在空间。

扩散和基于分数的方法表现出跨基准的生成质量。在类条件 ImageNet 上,这些模型在视觉质量和采样多样性方面与基于 GAN 的方法相媲美。最近,用大规模文本图像配对训练的扩散模型显示出惊人的能力。训练有素的扩散模型可以为合成提供通用的生成先验。

框架

作者可以使用前置(pretext)任务对大量数据进行预训练,并开发一个非常有意义的潜在空间来预测图片统计。

对于下游任务,他们有条件地微调语义空间以映射特定于任务的环境。该机器根据预先训练的信息创建可信的视觉效果。

作者建议使用语义输入对扩散模型进行预训练。他们使用文本条件、图像训练的 GLIDE 模型。Transformer 网络对文本输入进行编码,并为扩散模型输出 token。按照计划,文本嵌入空间是有意义的。

上图是作者的作品。与从头开始的技术相比,预训练模型提高了图片质量和多样性。由于 COCO 数据集具有众多类别和组合,因此基本方法无法通过引人注目的架构提供美观的结果。他们的方法可以为困难的场景创建具有精确语义的丰富细节。图片展示了他们方法的多功能性。

实验及影响

表 1 显示,该研究所提方法性能始终优于其他模型。与较为领先的 OASIS 相比,在掩码到图像合成方面,PITI 在 FID 方面获得了显著的改进。此外,该方法在草图到图像和几何到图像合成任务中也显示出良好的性能。

图 3 展示了该研究在不同任务上的可视化结果。实验可得,与从头开始训练的方法相比,预训练模型显著提高了生成图像的质量和多样性。该研究所用方法可以产生生动的细节和正确的语义,即使是具有挑战性的生成任务。

该研究还在 Amazon Mechanical Turk 上的 COCO-Stuff 上进行了一项关于掩码到图像合成的用户研究,获得了 20 名参与者的 3000 票。参与者一次会得到两张图片,并被要求选择一张更真实的进行投票。如表 2 所示,所建议的方法在很大程度上优于从零开始的模型和其他基线。

条件图像合成可创建符合条件的高质量图片。计算机视觉和图形学领域使用它来创建和操作信息。大规模预训练改进了图片分类、对象识别和语义分割。未知的是大规模预训练是否有利于一般生成任务。

能源使用和碳排放是图片预训练的关键问题。预训练是耗能的,但只需要一次。条件微调让下游任务可以使用相同的预训练模型。预训练允许用更少的训练数据训练生成模型,当数据由于隐私问题或昂贵的注释成本而受到限制时,可以提升图像合成效果。

原文链接:https://medium.com/mlearning-ai/finetuning-is-all-you-need-d1b8747a7a98#7015

相关文章
|
缓存 JavaScript 前端开发
vue如何优化首页加载速度?
vue如何优化首页加载速度?
156 0
|
8月前
|
网络安全 Apache 开发工具
图解Git——服务器上的Git《Pro Git》
Git 远程仓库及通信协议简介:远程仓库为团队协作提供平台,支持共享代码。常见形式为裸仓库,仅保存 Git 元数据。Git 支持多种协议,包括本地协议(适合局域网)、HTTP/HTTPS(推荐智能 HTTP,安全易用)、SSH(企业内部协作首选)和 Git 协议(高效只读访问)。选择协议需根据协作需求、安全性和配置难度权衡。此外,搭建 Git 服务器涉及创建裸仓库、上传至服务器、初始化共享仓库等步骤。生成 SSH 公钥、配置服务器及使用 GitWeb 或 GitLab 等工具可进一步增强功能。第三方托管服务如 GitHub 提供便捷的托管选项,适合快速启动和开源项目。总结而言,自行运行服务器提
197 11
|
12月前
|
消息中间件 Dubbo Java
聊聊单体服务VS微服务系统
聊聊单体服务VS微服务系统
|
9月前
|
编译器 C语言
【C语言】常量的 “前缀和后缀” 大通关!
在C语言中,常量的前缀和后缀用于明确指定常量的类型和进制系统。前缀主要用于区分不同进制的数字常量,而后缀则用于区分不同类型的整数和浮点数。正确使用前缀和后缀,可以提高代码的可读性和可维护性,确保编译器正确地理解和处理常量。
362 1
|
供应链 监控 数据挖掘
ERP系统中的采购管理与供应商评估
【7月更文挑战第25天】 ERP系统中的采购管理与供应商评估
975 3
|
存储 芯片 内存技术
存储知识:U盘的实际容量要比标注容量小
存储知识:U盘的实际容量要比标注容量小
1908 0
|
存储 资源调度 前端开发
JavaScript 使用axios库发送 post请求给后端, 给定base64格式的字符串数据和一些其他参数, 使用表单方式提交, 并使用onUploadProgress显示进度
使用 Axios 发送包含 Base64 数据和其他参数的 POST 请求时,可以通过 `onUploadProgress` 监听上传进度。由于整个请求体被视为一个单元,所以进度可能不够精确,但可以模拟进度反馈。前端示例代码展示如何创建一个包含 Base64 图片数据和额外参数的 `FormData` 对象,并在上传时更新进度条。后端使用如 Express 和 Multer 可处理 Base64 数据。注意,实际进度可能不如文件上传精确,显示简单加载状态可能更合适。
1046 0
|
XML 存储 域名解析
EPC与物联网
本文主要介绍物联网怎么使用EPC连接万物。
941 1
|
iOS开发
iOS快速实现环形渐变进度条
进度条相信我们大家都不陌生,往往我们很多时候需要使用到圆形进度条。这篇文章给大家分享了利用ios如何快速实现环形进度条,下面来一起看看。
|
设计模式 JSON 前端开发
前后端分离开发架构
前后端分离开发架构
502 0
前后端分离开发架构