AI大模型学习笔记之四:生成式人工智能(AIGC)是如何工作的?

OpenAI 发布 ChatGPT 已经1年多了,生成式人工智能(AIGC)也已经广为人知,我们常常津津乐道于 ChatGPT 和 Claude 这样的人工智能系统能够神奇地生成文本与我们对话,并且能够记忆上下文情境。

GPT-4

Midjunery和DALL·E 这样的AI绘图软件可以通过Prompt 输入文本提示生成多张令人惊艳的美图,看起来相当神奇。

Midjunery V6

但是,你有没有想过,生成式人工智能(AIGC)究竟是怎么运作的呢?在这篇文章里,我们就来简单了解一下生成式人工智能技术(AIGC)的基本原理,看看它到底能做些什么,还有啥时候你可能不太想依赖它。

一、从有监督学习到生成式人工智能

大多数传统类型的人工智能(如判别式人工智能)都是为了对现有数据进行分类或归类而设计的。相反,生成式人工智能模型的目标是生成前所未见的完全原创的人工制品。

在今天,有监督学习(Supervised Learning)和生成式人工智能(Generative Artificial Intelligence)是当今人工智能领域的两个最重要领域,其重点是创建算法和模型,以便从训练数据集生成与模式相似的新的真实数据。
在这里插入图片描述

生成式人工智能模型经过训练,可以从庞大的数据集中学习其中的潜在模式,并使用该知识生成与原始数据集相似但不相同的全新样本或数据。

在这里插入图片描述

例如,在人类或者猫狗的图像数据集上训练的生成式人工智能算法可以生成全新的人类图像或者猫和狗的图像,这些图像看起来与原始数据集中的图像相似,但不是精确的复制品。因此,"生成 "一词被用来描述它。

生成式人工智能(Generative AI)的涌现标志着人工智能技术的重大进步。

1.1 有监督学习的局限性与挑战

在2010年左右,随着大规模有监督学习逐渐成为主流,人们开始寄希望于大数据能够为AI模型的性能带来质的飞跃。

然而,从那时起,AI 科学家们开始观察到一个令人困扰的问题:尽管我们有大量的数据可供使用,但即使我们向小型AI模型继续提供更多的数据,它们的性能改善并不明显。例如,在构建语音识别系统时,尽管AI接受了数千乃至数十万小时的训练数据,但其准确性与仅使用少量数据的系统相比并无显著提高。这一现象引发了人们对监督学习有效性的怀疑。

监督学习的基本流程

进一步的研究表明,仅靠大规模监督学习和大数据集并不能无限地提升 AI 模型的准确性。

这是因为:

  • 首先,大规模数据集可能存在着标签噪声或错误,导致模型学习到了不准确的模式。

  • 此外,数据可能存在偏差,导致模型在面对新颖数据时表现不佳。

  • 其次,随着数据量的增加,模型的容量可能变得不足以有效地利用数据。即使有更多的数据可用,模型也可能因其结构或参数的限制而无法充分利用这些信息。

  • 再次,大规模监督学习通常依赖于端到端的训练方法,其中模型直接从输入到输出进行训练。这种方法可能会导致模型在理解数据背后的真实机制方面缺乏深入的抽象能力,从而限制了其性能。

1.2 生成式人工智能的出现

随着人们对监督学习的限制和挑战有了更深入的认识,研究人员开始寻求其他方法来克服这些问题。
在这个过程中,生成式人工智能(Generative Artificial Intelligence)应运而生,并逐渐成为人工智能领域的重要组成部分。

生成式人工智能(AIGC)与传统的机器学习算法不同,它不仅仅局限于对已有数据的分类或预测,而是可以通过学习数据的分布,创造出全新的、以前从未见过的内容,它能够像一座神奇的创意工厂一样,通过Prompt 提示词不断地生产出令人惊叹的全新数据、图像、音频和文本内容。

生成式人工智能与其他类型人工智能之间的另一个关键区别是,生成式人工智能模型通常使用无监督和半监督机器学习算法。

无监督学习的基本流程

这意味着它们不需要对学习的数据进行预先标记,这使得生成式人工智能在结构化或组织数据稀缺或难以获取的应用中特别有用。

  • 这些生成式人工智能系统通常基于深度学习模型构建,这些模型能够从大量的训练数据中学习数据的统计结构和语义信息。

  • 其次,生成式模型具有更强的表达能力,能够捕捉数据中的复杂结构和分布。相比之下,传统的监督学习方法可能会受到数据标签的限制,无法完全表达数据的多样性和复杂性。

  • 此外,生成式人工智能还为解决监督学习中的标签噪声和数据偏差问题提供了新的途径。通过学习数据的潜在表示,生成式模型可以更好地理解数据背后的真实机制,从而提高模型对噪声和偏差的鲁棒性。

生成式人工智能的出现为人工智能领域带来了新的思路和解决方案,克服了传统监督学习方法的一些限制和挑战。通过结合生成式方法和传统的监督学习技术,我们可以更好地利用数据,提高模型的性能和泛化能力。

二、生成式人工智能的思想

2.1 生成式人工智能的基本工作原理:

生成式人工智能的基本工作原理是通过学习数据的分布特征,从而能够生成与原始数据相似的新数据。其核心思想是从训练数据中学习数据的概率分布,并使用学习到的分布模型来生成新的数据样本。

生成式人工智能通常采用生成对抗网络(GANs)或变分自编码器(VAEs)、Transformer 等模型来实现。

就拿生成对抗网络(GANs)来说,GANs 模型包括两个主要组成部分:

生成对抗网络(GANs)

1. 生成器(Generator): 生成器是一个神经网络模型,用来接收一个随机噪声向量或其他形式的输入,并将其映射到数据空间。生成器的目标是通过根据用户输入的分析数据模式来创建新数据。通过不断调整生成器的参数,使得生成的样本尽可能地接近真实场景中的数据分布。

2. 判别器(Discriminator): 判别器也是一个神经网络模型,其任务是对生成器生成的样本与真实数据进行区分,估计样本来自于训练数据的概率。它接收来自生成器产生的样本和真实数据的输入,并尝试将它们分类为真实或伪造。判别器的目标是最大化正确地将真实数据分类为真实样本,同时将生成的样本正确分类为伪造样本。

每当有用户输入时,生成器就会生成新的数据,判别器将分析它的真实性。来自判别器的反馈使算法能够调整生成器参数并不断地重新调整和细化输出。

在数学上可以证明,在任意函数的生成器(G)和判别器(D)空间中,存在唯一的解决方案,使得生成器(Generator)生成的内容可以重现真实训练数据的分布,也就是当判别器 D=0.5 时,生成器 G 产生的信息与输入的信息达到平衡。

生成对抗网络的工作过程

通过训练生成器和判别器的对抗过程,生成式人工智能模型不断地提高生成样本的质量,使得生成的样本更加逼真,并且与真实数据的分布更加接近。这种对抗性训练的过程使得生成器和判别器之间达到一种平衡,最终这个过程一直持续到生成器产生与输入信息无法区分的数据为止。

2.2 生成式人工智能的工作过程

生成式人工智能的工作过程通常如下:

生成式AI的工作过程

  1. 学习数据分布:生成式模型首先通过大量的训练数据学习输入数据的分布。这些数据可以是图像、文本、音频等形式。模型通过学习数据的特征和统计分布来理解输入数据的内在规律。

  2. 生成新数据:一旦生成式模型学习到了数据的分布,它就可以通过随机采样或输入特定的条件来生成新的数据。生成的数据可能具有与训练数据相似的统计特性和结构,但通常是全新的、之前未见过的数据。

  3. 优化过程:生成式模型的训练通常涉及到一个优化过程,通过最小化生成数据与真实数据之间的差异来调整模型参数。对抗性生成网络(GANs)中使用了对抗训练的思想,包括生成器和判别器两个部分,它们相互竞争并共同提高模型的性能。

  4. 控制生成过程:一些生成式模型允许用户在生成新数据时提供一些条件或控制参数,以影响生成结果。例如,在生成图像时可以指定生成的图像类别或风格,或者在生成文本时可以指定生成的主题或情感。

  5. 评估生成结果:生成式模型通常需要经过一定的评估和调优来确保生成的数据质量和多样性。这可能涉及到定量指标如生成数据的多样性、真实度等,以及定性评估如人工评价生成数据的质量和逼真度。然后通过一个称为 "推理 "的过程来完善输出。在推理过程中,模型会调整其输出,以更好地匹配所需的输出或纠正任何错误。这样就能确保生成的输出更加逼真,更符合用户希望看到的效果。

三、如何评估生成式人工智能模型

选择正确的模型对于某些特定的任务至关重要,因为每个任务都有其独特的需求和目标,而不同的生成式人工智能模型也各有其优缺点。比如,某一些模型可能比较擅长生成高质量的图像内容,而另一些模型则更擅长生成顺畅连贯的文本内容。

因此在选择时,需要重视对生成模型进行评估以确定最适合特定任务的模型。这种评估不仅有助于选择正确的模型,还有助于确定需要改进的方面。通过这种方式,可以完善模型并增加实现预期结果的可能性,从而提高人工智能系统的整体成功率。

在评估模型时,通常需要考虑三个关键要素:

评估模型的三要素

  1. Quality 质量:生成式模型的输出质量至关重要,尤其是在直接与用户交互的应用程序中。例如,在文本生成模型中,前言不搭后语的文本可能会让人感觉一团糟,在语音生成模型中,低质量的语音可能会让人听不懂;而在图像生成模型中,生成的图像最好是能够做到浑然天成,和真实的图像无法区分。

  2. Diversity 多样性:优秀的生成式模型应该能够捕获数据分布中的各种模式,而不会降低生成的质量。这种多样性有助于减少模型中不必要的偏差。

  3. Speed 速度:许多交互式应用程序需要快速生成结果,例如实时图像编辑,以支持内容创建的工作流程。因此,在评估生成模型时,生成的速度也是一个重要的考量因素。

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

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

相关文章

随机过程及应用学习笔记(一)概率论(概要)

概率是随机的基础,在【概率论(概要)】这个部分中仅记录学习随机过程及应用的基本定义和结果。 前言 首先,概率论研究的基础是概率空间。概率空间由一个样本空间和一个概率测度组成,样本空间包含了所有可能的结果&…

服务器解析漏洞及任意文件下载

1.服务器文件解析漏洞 文件解析漏洞,是指Web容器(Apache、nginx、iis等)在解析文件时出现了漏洞,以其他格式执行出脚本格式的效果。从而,黑客可以利用该漏洞实现非法文件的解析。 (1) Apache linux系统中的apache的php配置文件在/etc/apac…

【数据结构】顺序栈和链式栈的简单实现和解析(C语言版)

数据结构——栈的简单解析和实现 一、概念二、入栈(push)三、出栈(pop)四、顺序栈简单实现 (1)进栈操作(2)出栈操作 一、概念 本篇所讲解的栈和队列属于逻辑结构上的划分。逻辑结构…

综合项目---博客

一.运行环境 192.168.32.132 Server-Web linux Web 192.168.32.133 Server-NFS-DNS linux NFS/DNS 基础配置 1.配置主机名静态ip 2.开启防火墙并配置 3.部分开启selinux并配置 4.服务器之间通过阿里云进行时间同步 5.服务器之间实现ssh免密…

SpringCloud-Ribbon:负载均衡(基于客户端)

6. Ribbon:负载均衡(基于客户端) 6.1 负载均衡以及Ribbon Ribbon是什么? Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负…

MMKV:轻巧高效的跨平台键值存储解决方案

MMKV:轻巧高效的跨平台键值存储解决方案 引言 在移动应用的开发中,数据存储是一个至关重要的环节。随着移动应用的普及和功能的增多,应用需要存储和管理各种类型的数据,包括用户配置信息、缓存数据、临时状态等。传统的数据存储…

python巧用定理判断素数

目录 判断一个数n是否是素数 求一个数的素因数个数 求大于等于指定数的最小素数 在数论中有三个非常重要的关于素数的定理 1、任何数都可以表示成若干个素数的乘积 2、任意数的一个素因子如果小于根号n,那么另一个与其对应的素因子必然大于根号n。 3、除了2和…

浅谈应该遵守的伦敦银交易规则

做伦敦银投资的朋友应遵守伦敦银交易规则,伦敦银交易规则不是指那些伦敦银交易技巧,而是在这个市场中要遵循的一些约定,下面我们就来讨论一下。 风险管理。风险管理即指投资者控制自己一笔乃至整体交易的风险,没有风险管理意识的投…

JavaSE——方法(1/2)-介绍、方法的各种形式、使用的要求

目录 方法的介绍 方法的其他形式 方法使用的要求 方法的介绍 方法是什么 方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。 方法的完整格式 修饰符 返回值类型 方法名 ( 形参列表 ) { 方法体代码(需要执行的功能代码) return…

OpenCV-36 多边形逼近与凸包

目录 一、多边形的逼近 二、凸包 一、多边形的逼近 findContours后的轮廓信息countours可能过于复杂不平滑,可以用approxPolyDP函数对该多边形曲线做适当近似,这就是轮廓的多边形逼近。 apporxPolyDP就是以多边形去逼近轮廓,采用的是Doug…

面试经典150题——三数之和

​"The road to success and the road to failure are almost exactly the same." - Colin R. Davis 1. 题目描述 2. 题目分析与解析 2.1 思路一——暴力方法 因为三个数相加为0,那么说明其中两个加数的和与另一个加数为相反数则满足题意。所以可以得到…

ClickHouse时区

clickhouse数据库的时间是UTC时间。服务器默认的是上海时间。 sudo vim /etc/clickhouse-server/config.xml clickhouse默认的时区是注释的就是UTC时间 %F 表示日期,格式为 YYYY-MM-DD。%T 表示时间,格式为 HH:MM:SS。 因此,formatDateT…

主干网络篇 | YOLOv5/v7 更换主干网络为 VGG13 / VGG16 / VGG19 | 对比实验必备

论文地址:https://arxiv.org/pdf/1409.1556.pdf 在这项工作中,我们研究了卷积网络深度对其在大规模图像识别环境中准确性的影响。我们的主要贡献是对使用非常小(33)卷积滤波器的架构的不断增加深度的网络进行了彻底评估,这表明通过将深度推进到16-19个权重层,可以在先前…

第72讲后台管理Container布局实现

新建layout目录 登录成功后&#xff0c;跳转layout布局容器页面 login页面&#xff1a; 导入router import router from "/router";登录成功&#xff0c;跳转后台管理页面 选用布局容器&#xff1a; <template><div class"common-layout">…

javaweb物业管理系统jsp项目

文章目录 物业管理系统一、系统演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 物业管理系统 可用作javaweb项目、servlet项目、jsp项目的项目设计 一、系统演示 物业管理系统 二、项目介绍 语言&a…

Vue3中Setup概述和使用(三)

一、引入Setup 1、Person.Vue 与Vue3编写简单的App组件(二) 中的区别是&#xff1a;取消data、methods等方法,而是将数据和方法定义全部放进setup中。 <template><div class"person"><h1>姓名:{{name}}</h1><h1>年龄:{{age}}</h…

Acwing---839. 模拟堆

模拟堆 1.题目2.基本思想3.代码实现 1.题目 维护一个集合&#xff0c;初始时集合为空&#xff0c;支持如下几种操作&#xff1a; I x&#xff0c;插入一个数 x&#xff1b;PM&#xff0c;输出当前集合中的最小值&#xff1b;DM&#xff0c;删除当前集合中的最小值&#xff08…

好看的登录界面源码,希望您喜欢

闲来无事&#xff0c;写几个好看的html界面玩一玩&#xff01; 登录界面一&#xff1a; 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-widt…

MySQL表的基础操作

创建表 create table 表名&#xff08;列名 类型&#xff0c;列名 类型……&#xff09; 注意 1.在进行表操作之前都必须选中数据库 2.表名&#xff0c;列名等一般不可以与关键字相同&#xff0c;如果确定相同&#xff0c;就必须用反引号引住 3.可以使用comment来增加字段说…

c++水仙花数

一.什么是水仙花数 水仙花数是一个三位数它的个位,十位,百位的三次幂相加的和为他本身 例如:1*1*15*5*53*3*3153及153为水仙花数 二.代码 三.样例