碎片笔记|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.

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

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

相关文章

MySQL数据库与表管理《三国志》为例

在数据库管理中,一个典型的应用场景是游戏数据的存储和管理。以经典游戏《三国志》为例,该游戏具有多个角色、任务、装备等元素,如何有效地存储和管理这些数据就成为了一个问题。 本文将通过《三国志》的实例,详细解释如何在MySQL中进行数据库和表的管理。 文章目录 《三国…

深度剖析Linux磁盘分区 | LVM逻辑卷 | VDO卷 | AutoFS存储自动挂载

深度剖析Linux磁盘分区 | LVM逻辑卷 | VDO卷 | AutoFS存储自动挂载 前言说明1. 安装操作系统分区配置2. 大磁盘分区管理3. LVM逻辑卷管理3.1. 创建LVM逻辑卷3.1.1. 创建物理卷PV3.1.2. 创建卷组VG3.1.3. 创建逻辑卷LV3.1.4. 创建并挂载文件系统3.1.5. 配置开机自动挂载 3.2. 逻…

华为云云耀云服务器L实例评测|华为云上安装etcd

文章目录 华为云云耀云服务器L实例评测|华为云上安装etcd一、什么是etcd官方硬件建议 二、华为云主机准备三、etcd安装1. 安装预构建的二进制文件2. 从源代码构建 四、etcd服务注册与发现1. 配置etcd2. 使用systemctl 管理启动etcd服务3. 注册服务4. 发现服务 五、其…

面试题:说一下SpringBoot的自动配置原理

文章目录 引言工作原理剖析EnableAutoConfiguration自动配置生效总结 引言 不论在工作中,亦或是求职面试,Spring Boot已经成为我们必知必会的技能项。除了某些老旧的政府项目或金融项目持有观望态度外,如今的各行各业都在飞速的拥抱这个已经…

C# 获取磁盘空间大小的方法

方法一:利用System.IO.DriveInfo.GetDrives方法来获取 /// 获取指定驱动器的空间总大小(单位为B)////// 只需输入代表驱动器的字母即可 (大写)///public static long GetHardDiskSpace(string str_HardDiskName){long totalSize new long();…

【PHP】如何关闭buffer实时输出内容到前端

前言 默认情况下,我们在PHP里使用echo等函数输出的内容,是不会马上发送给前端的,原因是有 buffer 的存在,buffer又分两处,一处是PHP本身的buffer,另一处是Nginx的buffer。只有当buffer满了之后&#xff0c…

if条件分支计算分段函数

分别罗列x的值域区间,if条件跳转相应分支计算函数值。 (本笔记适合正在研学if条件分支语句的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》&#xff0c…

【MySQL进阶】--- 存储引擎的介绍

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、什么…

ALOS2 PALSAR2 数据ID命名规则

场景ID AAAAABBBBBCCCC-YYMMDD AAAAA:卫星类别“ALOS2” BBBBB:以场景为中心的总计循环号码 CCCC:场景中心的帧编号 -: 分隔号 YYMMDD:场景中心的观测年月日 (YY:末两位年,MM:月,DD:日) 产品ID DDDEFFFGHI DDD:观测模式 SBS:聚光灯模式 UBS:高分辨…

HMTL知识点系列(3)

目录 1. 如何在HTML中嵌入视频和音频?2. 解释一下HTML的“盒模型”是什么,以及它如何影响布局?3. 你如何理解HTML的语义化标签和SEO优化之间的关系?4. 什么是HTML5的canvas元素,你如何使用它来创建图形?5. …

【k8s】【docker】web项目的部署

yaml配置文件 后端:springboot项目 前端:vue项目,之前镜像封装的nginx.conf反向代理配置直接使用了docker-compose.yml中services的名称,无法代理成功,可修改为127.0.0.1 # 后端 apiVersion: apps/v1 kind: Deployment…

Object.defineProperty()方法详解,了解vue2的数据代理

假期第一篇,对于基础的知识点,我感觉自己还是很薄弱的。 趁着假期,再去复习一遍 Object.defineProperty(),对于这个方法,更多的还是停留在面试的时候,面试官问你vue2和vue3区别的时候,不免要提一提这个方法…

(2023,ControlNet,CFGRW,diffusion,控制组合)向文本到图像扩散模型添加条件控制

Adding Conditional Control to Text-to-Image Diffusion Models 公众号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 1. 简介 2.相关工作 2.1. 微调神经网络 2.2. 图像扩散 …

git是什么,git常用命令

Git是一种分布式版本控制系统,最初由Linus Torvalds创作并用于管理Linux内核代码。 常见的一些Git命令包括: git init:初始化一个新的Git仓库;git add:将文件添加到Git仓库中;git commit:将更…

FFmpeg 命令:从入门到精通 | ffmpeg 命令分类查询

FFmpeg 命令:从入门到精通 | ffmpeg 命令分类查询 FFmpeg 命令:从入门到精通 | ffmpeg 命令分类查询ffmpeg -versionffmpeg -buildconfffmpeg -formatsffmpeg -muxersffmpeg -demuxersffmpeg -codecsffmpeg -decodersffmpeg -encodersffmpeg -bsfsffmpeg…

基于SSM+Vue的医院住院综合服务管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Axios有哪些常用的方法?

Axios是一个常用的JavaScript库,用于进行HTTP请求。它提供了一组简洁而强大的方法来发送各种类型的请求,并处理响应数据。以下是Axios中一些常用的方法及其格式: GET请求: axios.get(url[, config]).then(response > {// 请求…

三、2023.9.29.C++面向对象.3

文章目录 33、简述一下什么是面向对象?34、简述一下面向对象的三大特征?35、简述一下 C 的重载和重写,以及它们的区别?36、说说 C 的重载和重写是如何实现的?37、说说构造函数有几种,分别什么作用?38、只定…

汽车电子——产品标准规范汇总和梳理(开发体系)

文章目录 前言 一、设计架构 二、安全可靠 三、测试验证 四、过程能力 五、质量管理 六、开发指南 总结 前言 见《汽车电子——产品标准规范汇总和梳理》 一、设计架构 《Autosar R22-11 汽车开放系统体系架构》 二、安全可靠 《GB/T 34590.1-2022(ISO 262…

信息学奥赛一本通 2075:【21CSPJ普及组】插入排序(sort) | 洛谷 P7910 [CSP-J 2021] 插入排序

【题目链接】 ybt 2075&#xff1a;【21CSPJ普及组】插入排序&#xff08;sort&#xff09; 洛谷 P7910 [CSP-J 2021] 插入排序 【题目考点】 1. 排序&#xff1a; 插入排序 插入排序示例&#xff1a; #include <bits/stdc.h> using namespace std; int main() {int…