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

news2024/11/24 9:18:42

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

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

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

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

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

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

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

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

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

在这里插入图片描述

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

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

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

参考

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

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

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

相关文章

【Matlab】如何将二阶线性微分方程进行Laplace变换得到传递函数

二阶线性微分方程进行Laplace变换 前言正文代码实现 前言 二阶线性微分方程: 一个二阶线性微分方程通常可以写成如下形式: y ′ ′ ( t ) p ( t ) y ′ ( t ) q ( t ) y ( t ) f ( t ) y^{\prime \prime}(t)p(t) y^{\prime}(t)q(t) y(t)f(t) y′′(t)p(t)y′(t)q(t)y(t)f(…

基于Python+WaveNet+MFCC+Tensorflow智能方言分类—深度学习算法应用(含全部工程源码)(三)

目录 前言引言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型构建1)定义模型结构2)优化损失函数 3. 模型训练及保存1)模型训练2)模型保存3)映射保存 相关其它博客工程源代码下载其它资料下载…

Redis系列之简单实现watchDog自动续期机制

在分布锁的实际使用中,可能会遇到一种情况,一个业务执行时间很长,已经超过redis加锁的时间,也就是锁已经释放了,但是业务还没执行完成,这时候其它线程还是可以获取锁,那就没保证线程安全 项目环…

文件操作及函数

什么是文件? 在程序设计中,文件有两种:程序文件和数据文件。 程序文件 包括源程序文件(.c),目标文件(.obj),可执行程序(.exe)。 数据文件 文件的内容不一定是程序&…

mybatis的快速入门以及spring boot整合mybatis(二)

需要用到的SQL脚本: CREATE TABLE dept (id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT ID, 主键,name varchar(10) NOT NULL UNIQUE COMMENT 部门名称,create_time datetime DEFAULT NULL COMMENT 创建时间,update_time datetime DEFAULT NULL COMMENT 修改…

P1044 [NOIP2003 普及组] 栈——卡特兰数

传送门: P1044 [NOIP2003 普及组] 栈 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1044 公式一:递推式(注意开 long long ,然后 先乘完再除,防止下取整) typedef long long ll;…

超过 1450 个 pfSense 服务器因错误链而遭受 RCE 攻击

在线暴露的大约 1450 个 pfSense 实例容易受到命令注入和跨站点脚本漏洞的攻击,这些漏洞如果链接起来,可能使攻击者能够在设备上执行远程代码。 pfSense 是一款流行的开源防火墙和路由器软件,允许广泛的定制和部署灵活性。 它是一种经济高效…

SpringCloud-高级篇(七)

前面在微服务里整合了Seata,下面利用Seata去解决分布式事务的问题,回去学习Seata中的四种解决方案 :首先学习XA模式 (1)XA模式 RM在前面讲的是资源管理器,在XA标准中RM都是由数据库来实现的,数…

【二分查找】【双指针】LeetCode:2565最少得分子序列

作者推荐 【动态规划】【广度优先】LeetCode2258:逃离火灾 本文涉及的基础知识点 二分查找算法合集 有序向量的二分查找,初始化完成后,向量不会修改。 双指针: 用于计算子字符串是s的字符串的子系列。 题目 给你两个字符串 s 和 t 。 你…

19.java绘图

A.Graphics类 Graphics类是java.awt包中的一个类,它用于在图形用户界面(GUI)或其他图形应用程序中进行绘制。该类通常与Component的paint方法一起使用,以在组件上进行绘制操作。 一些Graphics类的常见用法和方法: 在组…

Java基础语法之类和对象

类的定义 类就是对一个实体的属性功能进行描述 类的定义格式 首先要用到class关键字; 其次,类名采用大驼峰形式例如Dog ClassName Student…… 最后,类中包含该类的属性,即成员变量;以及该类的功能&#xff0…

HelpLook VS Confluence:知识管理方面谁更有优势?

多年来,在线协作和文档工具市场一直被Confluence所主导。Confluence由Atlassian于2004年创立,很迅速地成为企业寻求强大而全面的协作解决方案和知识管理的热门选择。然而,随着新工具如Notion和HelpLook的出现,市场格局发生了变化&…

各地加速“双碳”落地,数字能源供应商怎么选?

作者 | 曾响铃 文 | 响铃说 随着我国力争2030年前实现“碳达峰”、2060年前实现“碳中和”的“双碳”目标提出,为各地区、各行业的低碳转型和绿色可持续发展制定“倒计时”时间表,一场围绕“数字能源”、“智慧能源”、“新能源”等关键词的创新探索进…

十六 动手学深度学习v2计算机视觉 ——样式迁移

文章目录 基于CNN的样式迁移 基于CNN的样式迁移 我们通过前向传播(实线箭头方向)计算风格迁移的损失函数,并通过反向传播(虚线箭头方向)迭代模型参数,即不断更新合成图像。 风格迁移常用的损失函数由3部分组…

【lombok】从easyExcel read不到值到cglib @Accessors(chain = true)隐藏的大坑

背景: 在一次使用easyExcel.read 读取excel时,发现实体类字段没有值,在反复测试后,发现去掉Accessors(chain true)就正常了,为了验证原因,进行了一次代码跟踪 由于调用链路特别长,只列举出部分代码&#x…

141 环形链表

解题思路: \qquad 最容易想到的方法,就是遍历链表同时用哈希表unordered_map把节点存下来: \qquad\qquad 遇到重复节点则认为存在环,返回true; \qquad\qquad 遍历到nullptr,则链表中不存在环&#xff0c…

使命召唤9缺少buddha.dll的解决方法分享,如何快速修复buddha.dll

《使命召唤》系列作为备受欢迎的第一人称射击游戏,经常会在新作发行后引起广大玩家的讨论。最近,《使命召唤9》玩家中出现了一个常见的技术问题:游戏无法启动,因为系统找不到 buddha.dll 文件。这篇文章将探讨 buddha.dll 的相关信息、丢失原…

奥比中光 Femto Bolt相机ROS配置

机械臂手眼标定详解 作者: Herman Ye Auromix 测试环境: Ubuntu20.04/22.04 、ROS1 Noetic/ROS2 Humble、X86 PC/Jetson Orin、Kinect DK/Femto Bolt 更新日期: 2023/12/12 注1: Auromix 是一个机器人爱好者开源组织。 注2&#…

机器学习笔记 - 基于C# + .net framework 4.8的ONNX Runtime进行分类推理

该示例是从官方抄的,演示了如何使用 Onnx Runtime C# API 运行预训练的 ResNet50 v2 ONNX 模型。 我这里的环境基于.net framework 4.8的一个winform项目,主要依赖下面版本的相关库。 Microsoft.Bcl.Numerics.8.0.0 Microsoft.ML.OnnxRuntime.Gpu.1.16.3 SixLabors.ImageShar…

“百里挑一”AI原生应用亮相,百度智能云千帆AI加速器首个Demo Day来了!

作者简介: 辭七七,目前大二,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖&#x1f…