翻译: LLM大语言模型图像生成原理Image generation

文本生成是许多用户正在使用的,也是所有生成式人工智能工具中影响最大的。但生成式人工智能的一部分兴奋点也在于图像生成。目前也开始出现一些可以生成文本或图像的模型,这些有时被称为多模态模型,因为它们可以在多种模式中操作,如文本或图像。在这个视频中,我想与您分享图像生成是如何工作的。
在这里插入图片描述

让我们来看看。只需一个提示,您就可以使用生成式人工智能生成一个从未存在过的人的美丽图片,或者一个未来主义场景的图片,或者像这样一个酷炫的机器人的图片。这项技术是如何工作的呢?今天的图像生成主要是通过一种称为扩散模型的方法完成的。
在这里插入图片描述

扩散模型从互联网或其他地方找到的大量图像中学习。事实证明,扩散模型的核心是监督学习。这是它的工作原理。假设算法在互联网上找到了一个苹果的图片,像这样,它希望从这样的图片和其他数亿张图片中学习如何生成图像。第一步是拿这张图片,逐渐添加越来越多的噪声。你可以从这个漂亮的苹果图片,变成一个更嘈杂的,再到一个更嘈杂的,最后变成一个看起来像纯噪声的图片。所有像素都是随机选择的,一点也不像苹果。然后扩散模型使用这样的图片作为数据,通过监督学习,学会输入一个噪声图片并输出一个稍微清晰一点的图片。具体来说,它会创建一个数据集,其中第一个数据点说如果给出第二张输入图片,我们希望监督学习算法学会输出这个苹果的更清晰版本。这是另一个数据点,给出这第三张更嘈杂的图片,我们希望算法学会输出像这样稍微清晰一点的图片。最后,给出一个像这第四张图片的纯噪声,我们希望它学会输出一个暗示苹果存在的稍微清晰一点的图片。

在经过可能数亿张图片的培训后,像这样的过程,当你想要应用它来生成一张新图片时,这就是你运行它的方式。
在这里插入图片描述

首先是从纯噪声图片开始。首先拍摄一张图片,图片中的每一个像素都是完全随机选择的。然后我们将这张图片输入到我们之前行的监督学习算法中。
在这里插入图片描述
当我们输入纯粹噪声时,它学会从这张图片中去除一点噪声,你可能会得到一张暗示着中间有某种水果的图片,但我们还不确定它是什么。给定第二张图片,我们再次输入到模型中,它会去除更多的噪声,现在看起来我们可以看到一张带有噪声的西瓜图片。

如果你再应用一在这里插入图片描述
次这个过程,我们最终会得到这张第四张图片,看起来像是一张漂亮的西瓜图片。我在前一张幻灯片中用四个步骤说明增加噪声的过程,在这张幻灯片中用四个步骤说明去除噪声的过程。
在这里插入图片描述

但在实践中,扩散模型大概有100个步骤会更典型。这个算法适用于完全随机生成图片。
在这里插入图片描述

但我们想能够通过指定一个提示来控制它生成的图像,告诉它我们想要生成什么。让我描述一下这个算法的修改,让你添加文本或提示来告诉它你想生成什么。在这个训练数据中,我们得到了这样的苹果图片,以及可能生成这个苹果的描述或提示。这里,我有一个文本描述说这是一个红苹果。然后我们会像以前一样,向这张图片中添加噪声,直到得到第四张图像,即纯粹的噪声。但我们要改变构建学习算法的方式,也就是说,不是将稍微嘈杂的图片作为输入,期望它生成一张干净的图片,我们会将输入A给监督学习算法B,这个嘈杂的图片,以及能生成这张图片的文本标题或提示,即红苹果。给定这个输入,我们希望算法输出这张干净的苹果图片。

同样,我们将使用其他嘈杂的图像为算法生成额外的数据点。每次,给定一个嘈杂的图像和文本提示红苹果,我们希望算法学会生成一个红苹果的更清晰的图片。

在这里插入图片描述

在从大量数据集中学习之后,当你想应用这个算法生成比如说绿色香蕉时,这就是你要做的。和以前一样,我们从一张纯粹噪声的图像开始。每一个像素都是完全随机选择的。如果你想生成一个绿色的香蕉,你就把这张纯粹噪声的图片和提示“绿色香蕉”输入到监督学习算法中
在这里插入图片描述

。现在它知道你想要一个绿色的香蕉,希望它会输出这样的图片。看不清楚香蕉,但可能中间有一些建议绿色的水果,这是图像生成的第一步。下一步是,我们将这张右边的图像作为输出B,再次作为输入A,再加上提示“绿色香蕉”,让它生成一张稍微清晰的图片,现在我们清楚地看到,看起来有一个绿色的香蕉,但是相当嘈杂的。
在这里插入图片描述

我们再做一次这个过程,它最终去除了大部分噪声,直到我们得到了那张相当不错的绿色香蕉图片。这就是扩散模型用于生成图像的工作方式。在生成美丽图像的这个神奇过程的核心,再次是监督学习。感谢您坚持观看这个可选视频,期待下周见到您,届时我们将更深入地探讨使用生成AI构建的应用程序。下一个视频见。

参考

https://www.coursera.org/learn/generative-ai-for-everyone/lecture/CQP1v/image-generation-optional

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/217867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第四十二天|背包问题理论基础、01背包理论基础(滚动数组)、416. 分割等和子集

代码随想录算法训练营第四十二天|背包问题理论基础、01背包理论基础(滚动数组)、416. 分割等和子集 背包问题理论基础 背包问题理论基础 文章讲解:https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E…

谈谈常用的分布式ID的设计方案?

典型回答 首先,我们需要明确通常的分布式ID定义,基本的要求包括: 全局唯一,区别于单点系统的唯一,全局是要求分布式系统内唯一。 有序性,通常都需要保证生成的ID是有序递增的。例如,在数据库存…

iframe 与主应用页面之间如何互相通信传递数据

背景 当我们的Web页面需要复用现有网站的页面时,我们通常会考虑代码层面的抽离引用,但是对于一些过于复杂的页面,通过 iframe 嵌套现有的网站页面也是一种不错的方式,。目前我就职的项目组就有多个业务利用 iframe 完成业务的复用…

springboot整合websocket实现控制输入流

WebSocket 是一种在客户端和服务器之间进行实时双向通信的协议。它提供了一种更高效、更可靠的替代方案,以替代传统的HTTP请求-响应模式。 WebSocket 的特点包括: 双向通信:客户端和服务器可以同时发送和接收消息,而不像HTTP一样需…

QT 基础篇

目录 QPushButton QT帮助文档 QT 对象树 QPushButton QPushButton是Qt图形界面控件中的一种,看英文的意思,他就是按钮,是最基本的图形控件之一。在我们的最基本的项目中,运行: 是一个空白的窗体,里面什么也没有&am…

云原生之深入解析如何在Kubernetes中快速启用Cgroup V2支持

一、cgroup v2 有哪些优势? Linux 中有两个 cgroup 版本:cgroup v1 和 cgroup v2。cgroup v2 是新一代的 cgroup API。Kubernetes 自 v1.25 起 cgroup2 特性正式 stable。cgroup v2 提供了一个具有增强资源管理能力的统一控制系统,cgroup v2…

在Node.js中使用MongoDB连接数据库、创建集合

本文主要介绍在Node.js中使用MongoDB连接数据库、创建集合的方法。 目录 连接数据库使用原生驱动程序连接MongoDB数据库使用Mongoose连接MongoDB数据库 创建集合使用mongodb驱动程序 连接数据库 在Node.js中使用MongoDB连接数据库有两种方式:使用原生驱动程序和使用…

静态HTTP应用的性能优化技巧

在Web开发中,静态HTTP应用以其简单、快速和安全的特点受到了广泛欢迎。然而,随着Web应用的规模不断扩大,性能问题也日益突出。本文将为你介绍一些静态HTTP应用的性能优化技巧,让你的应用飞得更快、更稳定。 一、压缩文件 文件压…

以pycharm为例,生成Python项目所需要的依赖库/包文档:requirements.txt

平时我们在编写或者使用别人的Python项目时,往往会看到一个文档requirements.txt,该文档是描述一个Python项目中的第三方库的名称以及版本。本文介绍导出python当前项目依赖包requirements.txt的操作步骤。 方法一:如果每个项目有对应的虚拟…

Sumdiv

title: Sumdiv date: 2023-12-12 21:45:09 tags: 分治 categories: 算法进阶指南 题目大意 求 A B A^B AB 的所有约数之和 m o d mod mod 9901 9901 9901( 1 1 1 ≤ \leq ≤ A , B A,B A,B ≤ \leq ≤ 5 ∗ 1 0 7 5 * 10 ^ 7 5∗107) 解题思路 将 A A A 分解质因数&…

4-Docker命令之docker export

1.docker export介绍 docker export命令是用来将docker容器中的文件系统导出为一个tar归档文件 2.docker export用法 docker export [参数] container [rootcentos79 ~]# docker export --helpUsage: docker export [OPTIONS] CONTAINERExport a containers filesystem a…

开源工业以太网现场总线协议栈汇总

开源现场总线协议栈 EtherNet/IP、EtherCAT master、Profinet开源汇总: EtherNet/IP:https://github.com/EIPStackGroup/OpENer EtherCAT master:https://gitlab.com/etherlab.org/ethercat EtherCAT master:https://github.com/OpenEtherCATsociety/soem http…

【C++】哈希表

文章目录 哈希概念哈希冲突哈希函数哈希表闭散列开散列 开散列与闭散列比较 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站。 哈希概念 顺…

PHP基础 - 数据类型

数据类型 序号数据类型描述1字符串(String)用于表示文本数据2整型(Integer)用于表示整数数据3浮点型(Float)用于表示带有小数部分的数值4布尔型(Boolean)用于表示真或假两个状态5数组(Array)用于存储多个值的有序集合6对象类型(Object)用于表示自定义的复杂数据结构…

CPython(将Python编译为so)

环境 先配一下环境,我使用的是python3.8.5 pip install Cython 编译过程 我们准备一个要编译的文件 test.py def xor(input_string): output_string "" for char in input_string: output_string chr(ord(char) ^ 0x66) return output_string…

Redis - 事务隔离机制

Redis 的事务的本质是 一组命令的批处理 。这组命令在执行过程中会被顺序地、一次性 全部执行完毕,只要没有出现语法错误,这组命令在执行期间是不会被中断。 当事务中的命令出现语法错误时,整个事务在 exec 执行时会被取消。 如果事务中的…

C++入门【7-C++ 存储类】

C 存储类 存储类定义 C 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C 程序中可用的存储类: autoregisterstaticexternmutablethread_local (C11) 从 C 17 开始,auto 关键字不再…

PyTorch深度学习实战(25)——自编码器

PyTorch深度学习实战(25)——自编码器 0. 前言1. 自编码器2. 使用 PyTorch 实现自编码器小结系列链接 0. 前言 自编码器 (Autoencoder) 是一种无监督学习的神经网络模型,用于数据的特征提取和降维,它由一个编码器 (Encoder) 和一…

20分钟部署ChatGLM3-6B

准备工作 1.下载源代码: https://github.com/THUDM/ChatGLM3 2.下载预训练模型: https://modelscope.cn/models/ZhipuAI/chatglm3-6b/files 可以创建一个py文件,直接使用如下代码下载到本地: from modelscope.hub.snapshot_dow…

python实现形态学建筑物指数MBI提取建筑物及数据获取

前言 形态学建筑物指数MBI通过建立建筑物的隐式特征和形态学算子之间的关系进行建筑物的提取[1]。 原理 上图源自[2]。 实验数据 简单找了一张小图片: test.jpg 代码 为了支持遥感图像,读写数据函数都是利用GDAL写的。 import numpy as np import …