麻省理工、Meta开源:无需人工标注,创新文生图模型

2024-01-10 20:12

本文主要是介绍麻省理工、Meta开源:无需人工标注,创新文生图模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文生图领域一直面临着一个核心难题,就是有条件图像生成的效果,远超无条件的图像生成。有条件图像生成是指模型在生成图像的过程中,会额外使用类别、文本等辅助信息进行指导,这样可以更好的理解用户的文本意图,生成的图像质量也更高。

而无条件图像生成完全基于模型自己学习的数据分布,难以形成有效的指导,所以,我们经常会有的AI平台生成的图像驴唇不对马嘴,或者图像有重大缺陷

为了解决这个问题,麻省理工学院和Meta的AI研究人员开发了RCG模型(Representation-Conditioned imageGeneration)。

RCG是一种创新性的“基于表示条件的图像生成”模型。所谓“表示条件”,就是让模型自己从数据中提取表示来进行指导,而无需任何人工数据标注。所以,RCG能以更小的消耗,生成与有指导模型相媲美的图片。

开源地址:https://github.com/LTH14/rcg

论文地址:https://arxiv.org/abs/2312.03701

图片

从RCG的论文来看,其图片生成流程采用了拟人化思路。先规划出要生成图片的大体轮廓,然后再根据这一构思去绘制图片的细节

就像我们人类画画一样,先在大脑中构思画作的整体思路,例如,想画一匹马,先想象马的形体;想画一个苹果,先想象个大红色的圆球,然后根据整体“表示”画出图像的细节。

图像编码器

图像编码器的作用是从图像中提取有意义的表示。这些表示在保留图像的语义信息的同时,也要比较简单、易于建模。

目前流行的自监督学习算法主要可以分为两大类:1)基于预训练任务,这类方法会人为设计一个预训练任务,让模型去预测一些伪标签。比如旋转预测任务,让模型预测图像被旋转的角度等。

2)基于对比学习,这类方法会构造正样本和负样本。让模型学会区分和拉远它们在表示空间的距离,代表性算法包括MoCo、SimCLR等。

实验证明,基于对比学习方法,可以获得更加有效的图像表示,因此RCG选择了这种方式。并使用了MoCo v3进行预训练,这是图像分类任务上效果最优的自监督对比学习算法之一。

为了使表示维度可控,RCG使用了带有预测头的Transformer模型。预测头会规划成256维的向量,这样就获得了编码器输出的表示。该表示同时还进行了归一化处理,以符合高斯分布。

表示生成模块

在提取到图像的表示之后,下一步就是对这些表示进行采样。通常,我们希望模型可以捕捉表示空间的分布,具有生成各种新颖表示的能力,从而指导下游的图像生成。

为此,RCG提出了表示扩散模型RDM。它使用全连接网络作为主干,包含数个残差块。每个块里面包括激活函数、线性层等。

图片

RDM模块训练时,采用了DDIM算法。即先将真实图像表示加入高斯噪声,让RDM去除噪并重构原始表示;生成时,从完全噪声表示出发,逐步采样清晰的表示。

图片

RDM模块的参数和计算量很小,所以即使增加块数和宽度,也不会带来太大的额外负担。这样我们可以充分发掘表示空间的丰富信息,指导下游生成。

像素生成器

提取表示并对其建模之后,最后一步就是根据表示来生成图像像素。RCG中的像素生成器可以使用任意的条件图像生成模型,只需要将原有的条件(比如类别标签)替换为RDM生成的表示即可。

图片

训练时,MAGE接收带有遮蔽(Mask)的图像作为输入,其中带X的是被遮蔽的,同时也输入对应图像的表示,然后学习重构被遮蔽的内容。

为了验证RCG模型的效果,研究团队基于ImageNet测试平台中的256×256数据集进行了实验。

图片

结果显示,RCG的FID分数为3.56和IS的253.4,超过了之前最好的无条件生成模型MAGE的结果,与当前状态最好的有条件模型CDM差不多。

本文素材来源RCG论文,如有侵权请联系删除

END

这篇关于麻省理工、Meta开源:无需人工标注,创新文生图模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/591943

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

无需邀请码!Manus复刻开源版OpenManus下载安装与体验

《无需邀请码!Manus复刻开源版OpenManus下载安装与体验》Manus的完美复刻开源版OpenManus安装与体验,无需邀请码,手把手教你如何在本地安装与配置Manus的开源版OpenManu... Manus是什么?Manus 是 Monica 团队推出的全球首款通用型 AI Agent。Man

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus