当前位置: 首页 > news >正文

碎片笔记|AIGC核心技术综述

前言:AIGC全称为AI-Generated Content,直译为人工智能内容生成。即采用人工智能技术来自动生产内容。AIGC在2022年的爆发,主要是得益于深度学习模型方面的技术创新。不断涌现的生成算法、预训练模型以及多模态等技术的融合引发了AIGC的技术变革,使得AI模型成为了自动化内容生产的“工厂”和“流水线”。下面对AIGC使用的主要模型进行介绍。

目录

  • 一、生成模型
    • 1. 变分自编码器(Variational AutoEncoder,VAE)
    • 2. 生成对抗网络(Generative Adversarial Network,GAN)
    • 3. 流模型(Flow)
    • 4. 扩散模型(Diffusion Model)
    • 5. Transformer
    • 6. Vision Transformer(ViT)
    • 7. GPT系列
  • 二、预训练大模型
  • 三、AIGC相关产品

一、生成模型

1. 变分自编码器(Variational AutoEncoder,VAE)

变分自编码器[1]由Kingma和Welling于2014年提出,与传统的自编码器通过数值方式描述潜空间不同,它以概率方式对潜在空间进行观察。VAE分为编码器与解码器两部分,其中,编码器将原始高维输入数据转换为潜在空间的概率分布描述;解码器从采样的数据进行重建生成新数据。

假设一张人脸图片通过编码器生成了“微笑”、“肤色”、“性别”、“胡须”、“眼镜”、“发色”等多种特征,传统的自编码器对输入图像编码后生成的潜在特征为具体的数值,比如,微笑=0.5,肤色=0.8等,将这些数值送入解码器解码得到与输入接近的图像,即该张人脸的信息已经被存储至网络中,输入此人脸,就会输出一张固定的与该人脸相似的图像。然而,上述方法无法生成多样化的与输入近似的图像,因此,VAE将每个特征都由概率分布来表示,假设“微笑”的取值范围为0~5,“肤色”的取值范围为0~10,在此范围内进行数值采样可得到生成图像的潜在特征表示,同时,通过解码器生成的潜在特征解码得到生成图像。

2. 生成对抗网络(Generative Adversarial Network,GAN)

生成对抗网络[2]于2014年由Ian GoodFellow等人提出,使用零和博弈策略学习,在图像生成中应用广泛。GAN包含两个部分:

  • 生成器:学习生成合理的数据。对于图像生成来说是给定一个向量,生成一张图片。其生成的数据作为判别器的负样本,真实数据作为判别器的负样本。
  • 判别器:判别输入是生成数据还是真实数据。网络输出越接近于0,生成数据可能性越大;反之,真实数据可能性越大。
    生成器与判别器相互对立。在不断迭代训练中,双方能力不断加强,最终的理想结果是:对于生成器生成的数据,判别器无法判别真是假。

3. 流模型(Flow)

流模型[3]于2014年被Yoshua Bengio等人提出,它和VAE、GAN属于同时期的成果。但流模型由于整体偏数学化,加上早期效果没有特别好但计算量特别大,直到OpenAI发布基于流模型的Glow模型[4],关于Flow模型的研究才逐渐被重视。Flow模型的目标是通过直面生成模型的概率计算,找到输入样本的分布。Flow模型的转换通常是可逆的。整体上来说,流模型是为了对复杂的高维数据进行非线性变换,将高维数据映射到潜在空间,产生独立的潜在变量。这个过程是可逆的,即可以从高维数据映射到潜在空间,也可以从潜在空间反过来映射到高维数据。

4. 扩散模型(Diffusion Model)

扩散是受到非平衡热力学的启发,定义一个扩散步骤的马尔科夫链,并逐渐向数据中添加噪声,然后学习逆扩散过程,从噪声中构建出所需的样本。扩散模型[5]的最初设计是用于去除图像中的噪声。随着降噪系统的训练时间越来越长且越来越好,可以从纯噪声作为唯一输入,生成逼真的图片。扩散模型的工作原理是通过添加噪声来破坏训练数据,然后使模型学习如何学去除噪声从而恢复数据。然后,该模型将此去噪过程应用于随机种子以生成逼真的图像。

一个标准的扩散模型分为两个过程:(1)前向扩散:向原图中逐步加入噪声,直到图像成为完全随机噪声;(1)反向扩散:在每个时间步逐步去除预测噪声,从而从高斯噪声中恢复原数据。

Stable diffusion是一个基于Latent Diffusion Models(LDMs)的以文生图模型的实现,因此掌握LDMs,就掌握了Stable Diffusion的原理。为了降低训练扩散模型的算力,LDMs使用一个Autoencoder去学习能尽量表达原始image space的低维空间表达(latent embedding),这样可以大大减少需要的算力。

5. Transformer

Transformer[6]于2017年由谷歌提出,最初用来完成不同语言之间的翻译。其主体包括Encoder与Decoder,前者对源语言进行编码,后者将编码信息转换为目标语言文本。Transformer采用注意力机制对输入数据各部分重要性的不同而分配不同权重,其并行化处理的优势能够使其在更大的数据集训练,加速了GPT等预训练大模型的发展。

6. Vision Transformer(ViT)

ViT[7]于2020年由谷歌团队提出,是将Transformer应用至图像分类任务的成功案例。ViT将图像分为14*14的patch,并对每个patch进行线性变换得到固定长度的向量送入Transformer,后续与标准的Transformer处理方式相同。

7. GPT系列

GPT[8]的全称为Generative Pre-trained Transformer,其结构基于Transformer模型,它能够通过预测单词序列中的下一个单词来生成类似人类的文本。GPT-2[9]和GPT-3[10]相较于GPT主要是在模型规模、训练数据、生成控制和生成质量等方面进行改进。GPT-3.5加入了新的训练方法,包括元学习(Meta Learning)和基于人类反馈的强化学习(Reward Learning from Human Feedback,RLHF)。RLHF技术可以帮助模型从人类反馈中学习,不断提高自己的生成质量。同时,这种技术还可以避免模型生成不合适或有害的内容,保证生成的文本符合人类价值观和道德标准。

ChatGPT与InstructGPT[11]是兄弟模型,它在GPT-3.5的基础上引入了一些新的训练数据和Fine-tuning技术,如对话历史的建模和多轮对话的处理等,以提高模型在对话生成任务中的表现和效果。同时,ChatGPT还采用了一些人工干预和交互式学习的方法,以进一步提高模型的可控性和自然度。

2023年3月,OpenAI推出了GPT-4[12],GPT-4在事实性、可控性和避免超出限制等方面取得了迄今为止最好的结果。

二、预训练大模型

虽然过去各种模型层出不穷,但是生成的内容偏简单且质量不高,远不能够满足现实场景中灵活多变以高质量内容生成的要求。预训练大模型的出现使AIGC发生质变,诸多问题得以解决。大模型在CV/NLP/多模态领域成果颇丰,如CV领域:微软Florence(SwinTransformer),NLP领域:谷歌的Bert&LaMDA&PaLM、OpenAI的GPT-3&ChatGPT,以及多模态领域:OpenAI的CLIP[13]&DALL-E、微软的GLIP以及Stability AI的Stable Diffusion.

三、AIGC相关产品

文本生成:JasperAI、copy.AI、ChatGPT、Bard、AI dungeon、文心一言等;
图像生成:EditGAN,Deepfake,DALL-E 2[14](文生图&图生图)、Imagen[15](文生图)、Midjourney、Stable Diffusion[16](文生图&文图生图),文心一格等;
音频生成:DeepMusic、WaveNet、Deep Voice、MusicAutoBot等;
视频生成:Deepfake,videoGPT,Gliacloud、Make-A-Video、Imagen video等。


参考资料

  1. 万字长文:AIGC技术与应用全解析 - 知乎 (zhihu.com)
  2. 人工智能内容生成(AIGC)白皮书(中国信息通讯研究院&京东探索研究院)
  3. AIGC发展趋势报告2023(腾讯研究院)

参考文献

  1. DP Kingma and Max Welling. Auto-Encoding Variational Bayes. ICLR, 2014.
  2. Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, et al. Generative Adversarial Nets. NIPS, 2014.
  3. Laurent Dinh, David Krueger, Yoshua Bengio. NICE: Non-linear Independent Components Estimation. ICLR (Workshop), 2015.
  4. Diederik P. Kingma and Prafulla Dhariwal. Glow: Generative Flow with Invertible 1x1 Convolutions. NeurIPS, 2018.
  5. Jascha Sohl-Dickstein, Eric A. Weiss, Niru Maheswaranathan, et al. Deep Unsupervised Learning using Nonequilibrium Thermodynamics. ICML 2015: 2256-2265.
  6. Ashish Vaswani, Noam Shazeer, Niki Parmar, et al. Attention Is All You Need. NIPS, 2017.
  7. Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, et al. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR, 2021.
  8. Radford Alec, Karthik Narasimhan, Tim Salimans, et al. Improving language understanding by generative pre-training. 2018.
  9. Radford Alec, Jeffrey Wu, Rewon Child, et al. Language models are unsupervised multitask learners. OpenAI blog 1, no. 8, 2019.
  10. Brown, Tom, Benjamin Mann, Nick Ryder, et al. Language models are few-shot learners. NIPS, 2020.
  11. Long Ouyang, Jeffrey Wu, Xu Jiang, et al. Training language models to follow instructions with human feedback. NeurIPS, 2022.
  12. https://openai.com/research/gpt-4
  13. Alec Radford, Jong Wook Kim, Chris Hallacy, et al. Learning Transferable Visual Models From Natural Language Supervision. ICML, 2021.
  14. Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, et al. Hierarchical Text-Conditional Image Generation with CLIP Latents. arXiv, 2022.
  15. Chitwan Saharia, William Chan, Saurabh Saxena, et al. Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding. NeurIPS, 2022.
  16. Robin Rombach, Andreas Blattmann, Dominik Lorenz, et al. High-Resolution Image Synthesis with Latent Diffusion Models. CVPR, 2021.

相关文章:

碎片笔记|AIGC核心技术综述

前言:AIGC全称为AI-Generated Content,直译为人工智能内容生成。即采用人工智能技术来自动生产内容。AIGC在2022年的爆发,主要是得益于深度学习模型方面的技术创新。不断涌现的生成算法、预训练模型以及多模态等技术的融合引发了AIGC的技术变…...

28385-2012 印刷机械 锁线机 学习笔记

声明 本文是学习GB-T 28385-2012 印刷机械 锁线机. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了锁线机的型式、基本参数、要求、试验方法、检验规则、标志、包装、运输与贮存。 本标准适用于用线将书帖装订成书芯的锁线机。 …...

【大规模 MIMO 检测】基于ADMM的大型MU-MIMO无穷大范数检测研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

MySQL数据库记录的删除操作与特殊字符

在数据库管理中,除了添加和修改记录之外,删除操作也是一个重要的方面。同时特殊字符序列的处理也是必不可少的一步。 本文将深入探讨如何在MySQL数据库中进行表记录的删除操作,以及如何处理特殊字符序列。将使用《三国志》游戏数据作为示例来进行解释。 文章目录 表记录的…...

什么是TypeScript

TypeScript是一个开源的编程语言,它是JavaScript的超集。它允许开发人员编写更具可靠性和高效性的代码,同时提供了强类型支持、类、接口、模块等新的特性。TypeScript的代码可以编译成纯JavaScript代码,可以在任何支持JavaScript的平台上运行…...

[docker]笔记-网络故障处理

1、同事在虚拟机上部署docker,发现电脑无法登录虚拟机了。首先ping测是通的,从我电脑继续进行登录测试发现没问题,初步判断是她电脑网络和虚拟机网络之间连接出错。 2、进行虚拟机登录查看,首先使用route -n命令查看路由&#xf…...

牛客网_HJ1_字符串最后一个单词的长度

HJ1_字符串最后一个单词的长度 原题思路代码运行截图收获 原题 字符串最后一个单词的长度 思路 从最后一个字符开始遍历&#xff0c;遇到第一个空格时的长度即为最后一个单词的长度 代码 #include <iostream> #include <string> using namespace std;int main…...

智算创新,美格智能助力智慧支付加速发展

9月21日&#xff0c;以“智算引领创新未来”为主题的紫光展锐2023泛物联网终端生态论坛在深圳举行。作为紫光展锐重要战略合作伙伴&#xff0c;美格智能标准模组产品线总经理郭强华、高级产品总监刘伟鹏受邀出席论坛。美格智能基于紫光展锐5G、4G、智能SoC、Cat.1 bis等芯片平台…...

常用SQL语法总结

1.库操作 1.1.创建数据库 CREATE DATABASE 语句用来创建一个新的数据库。 语法&#xff1a;CREATE DATABASE DatabaseName; DatabaseName 为数据库名字&#xff0c;它的名字必须是唯一的&#xff0c;不能和其它数据库重名。 1.2.删除数据库 DROP DATABASE语句用来删除已经…...

Promise击鼓传花的游戏

Promise击鼓传花的游戏 Promise系列导航前言一、学习Promise的原因二、揭开击鼓传花游戏的面纱补充小知识 Promise系列导航 1.Promise本质击鼓传花的游戏 2.Promise四式击鼓 3.Promise击鼓传花 4.Promise花落谁家知多少 前言 &#x1f468;‍&#x1f4bb;&#x1f468;‍&…...

蓝桥杯每日一题2023.9.29

蓝桥杯大赛历届真题 - C&C 大学 B 组 - 蓝桥云课 (lanqiao.cn) 题目描述1 题目分析 看见有32位&#xff0c;我们以此为入手点&#xff0c; B代表字节1B 8b b代表位&#xff0c;32位即4个字节 (B) 1KB 1024B 1MB 1024KB (256 * 1024 * 1024) / 4 67108864 故答案…...

Spring Boot的自动装配中的@ConditionalOnBean条件装配注解在Spring启动过程中,是如何保证处理顺序靠后的

前言 为什么Spring Boot条件注解那么多&#xff0c;而标题中是ConditionalOnBean呢&#xff1f; 因为&#xff0c;相比之下我们用的比较多的条件装配注解也就是ConditionalOnClass、ConditionalOnBean了&#xff0c;而ConditionalOnClass对顺序并不敏感&#xff08;说白了就是判…...

玩转数据-大数据-Flink SQL 中的时间属性

一、说明 时间属性是大数据中的一个重要方面&#xff0c;像窗口&#xff08;在 Table API 和 SQL &#xff09;这种基于时间的操作&#xff0c;需要有时间信息。我们可以通过时间属性来更加灵活高效地处理数据&#xff0c;下面我们通过处理时间和事件时间来探讨一下Flink SQL …...

【论文笔记】A Review of Motion Planning for Highway Autonomous Driving

文章目录 I. INTRODUCTIONII. CONSIDERATIONS FOR HIGHWAY MOTION PLANNINGA. TerminologyB. Motion Planning SchemeC. Specificities of Highway DrivingD. Constraints on Highway DrivingE. What Is at Stake in this Paper III. STATE OF THE ARTA. Taxonomy DescriptionB…...

YOLOv8改进算法之添加CA注意力机制

1. CA注意力机制 CA&#xff08;Coordinate Attention&#xff09;注意力机制是一种用于加强深度学习模型对输入数据的空间结构理解的注意力机制。CA 注意力机制的核心思想是引入坐标信息&#xff0c;以便模型可以更好地理解不同位置之间的关系。如下图&#xff1a; 1. 输入特…...

2023年10月腾讯云优惠活动汇总:腾讯云最新优惠、代金券整理

腾讯云作为国内领先的云服务提供商&#xff0c;致力于为用户提供优质、稳定的云服务。为了更好地满足用户需求&#xff0c;腾讯云推出了各种优惠活动。本文将给大家分享腾讯云最新优惠活动&#xff0c;帮助用户充分利用腾讯云提供的优惠。 一、腾讯云优惠券领取【点此领取】 腾…...

BUUCTF reverse wp 65 - 70

[SWPU2019]ReverseMe 反编译的伪码看不明白, 直接动调 这里显示"Please input your flag", 然后接受输入, 再和32进行比较, 应该是flag长度要求32位, 符合要求则跳转到loc_E528EE分支继续执行 动调之后伪码可以读了 int __cdecl main(int argc, const char **arg…...

xorm数据库操作之Join、Union

golang的数据库操作xorm使用起来非常方便&#xff0c;不用再自己写SQl语句&#xff0c;而且xorm自己给我们做了SQL防注入等操作&#xff0c;用起来既方便又安全。此次文章我不会记录xorm的基本操作&#xff0c;我值记录一些特殊用法问题&#xff0c;包括动态创建表单、基于xorm…...

排序:基数排序算法分析

1.算法思想 假设长度为n的线性表中每个结点aj的关键字由d元组 ( k j d − 1 , k j d − 2 , k j d − 3 , . . . , k j 1 , k j 0 ) (k_{j}^{d-1},k_{j}^{d-2},k_{j}^{d-3},... ,k_{j}^{1} ,k_{j}^{0}) (kjd−1​,kjd−2​,kjd−3​,...,kj1​,kj0​)组成&#xff0c; 其中&am…...

用go实现http服务端和请求端

一、概述 本文旨在学习记录下如何用go实现建立一个http服务器&#xff0c;同时构造一个专用格式的http客户端。 二、代码实现 2.1 构造http服务端 1、http服务处理流程 基于HTTP构建的服务标准模型包括两个端&#xff0c;客户端(Client)和服务端(Server)。HTTP 请求从客户端…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...