AIGC技术的学习 系列二
文章目录
- 前言
- 一、AIGC是什么?
- 1.1. 基本概念
- 1.2机器学习分类
- 二、 语言模型
- 2.1. 基于统计的语言模型。
- 2.2. 基于神经网络的语言模型。
- 2.3. 基于预训练机制的的语言模型/大语言模型
- 三、读入数据
- 3.1. 不得不说的Transformer
- 3.2. 影响力
- 3.3. 根据人类反馈的强化学习
- 3.4. 生成式AI
- 3.5. AIGC
- 四. 各个领域最新的技术进展及应用
- 4.1. 网站
- 4.2. Text-to-Text
- 4.3. GPT-4
- 4.4. 其他LLM
- 4.5. Text-to-Image
- 4.6. Image-to-Text
- 4.7. Speech-to-Text
- 4.8. Text-to-Audio/Text-to-Speech
- 4.9. Text-to-Video
- 4.10. Text-to-3D
- 4.11. Text-to-Code
- 4.12. CV
- 4.13. Agents
- 4.14. Others
- 五、思考
- 总结
前言
从2022年11月30日OpenAI发布ChatGPT以来,人工智能的相关话题就一直占据新闻的头条,这个领域的相关技术更是日新月异,有人开玩笑说是“天天文艺复兴,日日工业革命”。虽然,这个说法略显夸张,但是还是说明这个话题目前的进展快速,而且收到了广泛的关注。
ChatGPT的爆火让大家感受到了大模型的能力,各大公司都在投入资源和人力去开发大模型。“对于大模型,当然会全力以赴,坚决拥抱”,这是雷总4月14号发微博表达的小米对于大模型技术的态度,我们也成立了大模型组去开发自己的大模型。我们是小米互联网业务部,对于大模型我们也应该全面拥抱,但是作为业务部门,我们拥抱大模型的方式应该是去想怎么用使用大模型,怎么去培养AI思维方式和理念,去助力业务发展。
大模型这个术语,是为了区分不同参数规模下的语言模型,研究团体创造的术语,大语言模型代指大型的预训练模型(如包含数百亿或数千亿个参数)。 从技术概念上讲,目前大家说的大模型都属于生成式AI(GAI,Generative Artificial Intelligence)。事实上,ChatGPT和其他生成式人工智能(GAI)技术可以统一到人工智能生成内容(AIGC)的范畴,这涉及到通过AI模型创建数字内容,如图像、音乐和自然语言等等。AIGC的目标是使内容创建过程更高效、更易于使用,从而以更快的速度生产高质量的内容。AIGC是通过从人类提供的指令中提取和理解意图信息,并根据其知识和意图信息生成内容来实现的。
那么,目前AIGC领域相关的技术都有哪些?技术是怎么演进的?目前SOTA(state-of-the-art)的技术都能做什么?本篇报告就是回答这些问题。希望大家看了本篇报告之后,能够对生成式AI技术的有一个简单的了解,然后能够把一些技术跟自己负责业务的一些功能点联系起来,能够有机会有能力助力业务发展。
一、AIGC是什么?
1.1. 基本概念
- 人工智能(AI):人工智能是指让计算机模拟人类智能的一种技术,它旨在使计算机能够执行复杂的任务,如学习、推理、感知、理解等。
- 机器学习(ML):机器学习是一种实现人工智能的方法,它允许计算机通过数据自动学习和改进性能,而无需事先进行编程。
- 深度学习(DL):深度学习是机器学习的一个子领域,它利用神经网络模型来学习数据的表示和特征。深度学习在图像识别、语音识别和自然语言处理等领域取得了显著的成果。
神经网络(NN):神经网络是一种模拟人脑神经元连接的计算模型,通常由多个神经元层组成。神经网络通过调整连接权重来学习和识别输入数据中的模式。
5. ANI(窄域人工智能,Artificial Narrow Intelligence),也称为弱人工智能。窄域人工智能专注于执行特定任务,如语音识别、图像识别或推荐系统等。这些系统虽然在特定领域的表现优秀,但缺乏在多种任务和领域中进行泛化和适应的能力。
6. AGI(通用人工智能,Artificial General Intelligence)是一种具有广泛应用和理解能力的人工智能系统。通用人工智能的目标是让机器能够像人类一样处理各种任务,理解并学习新的概念,解决问题,以及在各种环境中进行适应和自主决策。关于通用人工智能没有特别明确的统一的定义,一种定义是它是一种非常普遍的智力能力,其中包括推理、计划、解决问题、抽象、思考、理解复杂概念、快速学习和从经验中学习的能力 。

1.2机器学习分类

判别式学习(Discriminative Learning)
学习P(Y|X),其目标是学习输入数据(特征)与输出数据(标签)之间的映射关系。判别式学习关注于直接建立一个决策边界或函数,以便将不同类别的数据分开。它不能反映训练数据本身的特性,但它寻找不同类别之间的最优分裂面,反映的是异类数据之间的差异,直接面对预测往往学习准确度更高。具体来说有以下特点:
-
对条件概率建模,学习不同类别之间的最优边界。
-
捕捉不同类别特征的差异信息,不学习本身分布信息,无法反应数据本身特性。
-
学习成本较低,需要的计算资源较少。
-
需要的样本数可以较少,少样本也能很好学习。
-
预测时拥有较好性能。
-
无法转换成生成式。
生成式学习(Generative Learning)
学习P(Y,X),其目标是学习输入数据和输出数据的联合概率分布。生成式学习关注于为每个类别建立一个生成模型,从而能够生成与训练数据相似的新样本。它可以从统计的角度表示分布的情况,能够反映同类数据本身的相似度,它不关心到底划分不同类的边界在哪里。当存在隐变量时,依旧可以用生成式模型,此时判别式方法就不行了。具体来说,有以下特点: -
对联合概率建模,学习所有分类数据的分布。
-
学习到的数据本身信息更多,能反应数据本身特性。
-
学习成本较高,需要更多的计算资源。
-
需要的样本数更多,样本较少时学习效果较差。
-
推断时性能较差。
-
一定条件下能转换成判别式。
二、 语言模型
语言模型简单来说就是建模一个字符序列是一个句子的概率,是人工智能领域的一个重要研究领域,其发展历程可以分为以下几个阶段:
2.1. 基于统计的语言模型。
这一阶段的语言模型通过统计方法分析大量语料,并对语言中各个单词出现的概率进行建模。
N-gram模型就是这一阶段最常用的模型。

2.2. 基于神经网络的语言模型。
随着深度学习技术的发展,语言模型开始采用神经网络模型进行建模,从而更好地模拟人类语言理解的过程。
2003年Bengio提出神经网络语言模型NNLM。

从今天再看,网络结构非常简单。它的意义是把深度学习和语言模型结合起来,为之后的工作搭好了基础。
2.3. 基于预训练机制的的语言模型/大语言模型
- Autoregressive language modeling (Decoder-only)
- Masked language modeling (Encoder-only)


三、读入数据
3.1. 不得不说的Transformer
- 介绍
Transformer是大多数大模型的核心架构,例如GPT-3、DALL-E-2、Codex和stable diffusion等等等等。毫不夸张的说,就是因为Transformer架构的提出,大模型才能这么好效果,包括NLP和CV,才有多模态领域的突破发展。
它首次被提出是为了解决传统模型(如RNN)在处理可变长度序列和上下文感知方面的局限性。Transformer架构主要基于自注意力机制,使模型能够关注输入序列中的不同部分。
Transformer由编码器和解码器组成。编码器接收输入序列并生成隐藏表示,而解码器接收隐藏表示并生成输出序列。编码器和解码器的每一层都由多头注意力和前馈神经网络组成。多头注意力是Transformer的核心组件,它学会根据词元的相关性为它们分配不同的权重。这种信息路由方法使模型在处理长期依赖关系方面表现更好,从而提高了在广泛NLP任务中的性能。
Transformer的另一个优点是其架构使其具有高度可并行性,并允许数据优于归纳偏差。这种属性使Transformer非常适合大规模的预训练,使基于Transformer的模型能够适应不同的下游任务。
它设计上的一些优点有:
- 自注意力机制(Self-Attention Mechanism):Transformer通过自注意力机制在输入序列中捕捉长距离依赖关系,克服了循环神经网络(RNN)和长短时记忆网络(LSTM)在处理长序列时梯度消失和梯度爆炸的问题。
- 并行计算能力:与RNN和LSTM串行处理序列数据不同,Transformer可以同时处理整个序列,从而显著提高计算效率和模型训练速度。
- 可扩展性:Transformer架构易于扩展,可以通过堆叠多个编码器和解码器层来增加模型的深度和容量,从而提高模型性能。
- 位置编码(Positional Encoding):Transformer通过位置编码为模型提供序列中每个元素的位置信息,弥补了自注意力机制中无法获取位置信息的缺陷。
- 多头自注意力(Multi-Head Attention):多头自注意力可以让模型在不同的表示子空间中同时学习多个注意力分布,从而提高模型的表达能力和捕获不同级别依赖关系的能力。
- 层次归一化(Layer Normalization):Transformer中使用的层次归一化有助于加速训练过程并提高模型的泛化能力。
- 残差连接(Residual Connections):Transformer中的残差连接可以减轻梯度消失问题,帮助深度模型更有效地训练。
- 网络结构


3.2. 影响力

3.3. 根据人类反馈的强化学习
尽管在大规模数据上进行训练,但人工智能生成内容(AIGC)并不总是能产生与用户意图一致的输出,其中包括输出内容的有用性和真实性,而这块是非常重要的。为了更好地使AIGC的输出与人类的偏好相一致,人类反馈的强化学习(RLHF)已经被应用于对各种应用中的模型进行微调。
- RLHF
- RLAIF
3.4. 生成式AI
生成式AI是深度学习的一个子集,是上面说的生成式学习在深度学习领域的运用,使用大模型的方式解决生成式学习的问题。
Google的一个关于生成式AI的课程https://www.youtube.com/watch?reload=9&app=desktop&v=G2fqAlgmoPo
- 单模态
- 多模态

相关文章:
AIGC技术的学习 系列二
文章目录 前言一、AIGC是什么?1.1. 基本概念1.2机器学习分类二、 语言模型2.1. 基于统计的语言模型。2.2. 基于神经网络的语言模型。2.3. 基于预训练机制的的语言模型/大语言模型三、读入数据3.1. 不得不说的Transformer3.2. 影响力3.3. 根据人类反馈的强化学习3.4. 生成式AI3…...
惊艳!AI模型DIAMOND可模拟《反恐精英》,单张RTX 3090就能运行
最近,研究人员开发了一种名为 DIAMOND(Diffusion for World Modelling)的 AI 模型,它能够在神经网络中模拟著名的电脑游戏《反恐精英:全球攻势》(CS:GO)。 这个模型在一张 Nvidia RTX3090显卡上运行,能够达到每秒10帧…...
中波长线天线耦合的一个方法
围绕窗外墙外牵了10米的室外天线。 短波,fm都是很简单,一个夹子直接夹在拉杆天线上面,效果已经很好。 今天偶尔听到中波前面大约510khz的地方有个摩尔斯码。是成都附近机场的NDB。这个平时要在楼顶或者很空旷的地方才能收到。音量比较小&am…...
Java基础(6)
深拷贝和浅拷贝区别了解吗?什么是引用拷贝?关于深拷贝和浅拷贝区别,我这里先给结论:浅拷贝:浅拷贝会在堆上创建一个新的对象(区别于引用拷贝的一点),不过,如果原对象内部…...
[JAVAEE] 线程安全问题
目录 一. 什么是线程安全 二. 线程安全问题产生的原因 三. 线程安全问题的解决 3.1 解决修改操作不是原子性的问题 > 加锁 a. 什么是锁 b. 没有加锁时 c. 加锁时 d. 死锁 e. 避免死锁 3.2 解决内存可见性的问题 > volatile关键字 (易变的, 善变的) a. 不加…...
k8s 集群给用户生成 kubeconfig 文件
在 k8s 集群的 RBAC 里有用到用户、组的概念,但是它又不直接管理这些资源,而是通过外部身份验证机制(Authentication Mechanisms)来管理和定义的,比如证书进行签名时,将其配置为 Subject: O system:master…...
(八)Proteus仿真STM32单片机GPIO驱动数码管
1,参考上篇,将LED点阵屏更换成数码管如下图 2,修改驱动函数,数组seg[14]前10个是0-9数字的编码,后四个是空格,点,横线,下划线 char seg_decode(char num)//数字解码 {const char se…...
Python进阶知识1
Python函数 定义一个函数 1.什么是函数:函数是可以重复执行的语句块,可以重复调用 2.作用:用于封装语句块, 提高代码的重用性。 函数是面向过程编程的最小单位 def 语句 1.作用:用来定义( 创建)函数 2…...
单片机设计|基于STM32实现具有室内定位功能的智能手环的设计
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,…...
计算机网络——运输层(可靠传输、超时重传、选择确认、流量控制和拥塞控制、TCP连接和释放)
TCP可靠传输的实现 我们假定数据传输只在一个方向进行,即A发送数据,B给出确认。这样的好处是使讨论限于两个窗口,即发送方A的发送窗口和接收方B的接收窗口。 以字节为单位滑动窗口 发送方构造窗口 窗口前沿和后沿的移动情况 描述发送窗口的状…...
Web安全实践
前言 安全无小事,成败在细节,网络有风险,灾难弹指间。 安全一般情况下看不见,在你周围漂浮着,显现出来后,往往会刻骨铭心。正因为安全看不见,所以往往不受重视,因为感知到的概率真…...
【算法篇】动态规划类(2)——01背包+完全背包(笔记)
目录 一、理论基础 1. 问题类型 2. 01背包问题 3. 完全背包问题 4. 解题步骤 (1)确定dp数组(dp table)以及下标的含义。 (2)确定递推公式。 (3)dp数组如何初始化。 &#x…...
基于SpringBoot的“社区医院管理服务系统”的设计与实现(源码+数据库+文档+PPT)
基于SpringBoot的“社区医院管理服务系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 用户注册界面图 医生界面…...
二进制漏洞利用 | 整数溢出探究
什么是整数溢出? 整数溢出是指当算术运算的结果超出用于存储该结果的数据类型的容量时发生的现象。简单来说,就是当一个数值变得过大(对于有符号整数来说,也可能是过小),无法被正常存储,从而导…...
10种经典的螺栓防松设计
螺栓防松在机械设计中至关重要,不同方式的螺栓防松有哪些特点一起来看一下。 01双螺母 双螺母防松也称对顶螺母防松,当两个对顶螺母拧紧后,两个对顶的螺母之间始终存在相互作用的压力,两螺母中有任何一个要转动都需要克服旋合螺纹…...
开放式蓝牙耳机哪个品牌好用?开放式耳机排行榜测评!
开放式耳机,因其特殊的不入耳佩戴模式,让使用者在享受音乐或者进行通话的过程中,依然可以对外界声音保持敏感。在户外运动场景下,这种特性优势尽显,既保证了耳机佩戴的稳定和舒适,又提高了运动的安全性。为…...
新能源行业必会基础知识---电力现货问答---第5问---何为电力中长期市场?与电力现货市场之间有何关系?国内试点地区如何衔接?国外有哪些经验值得借鉴?
新能源行业必会基础知识-----电力现货问答-----主目录-----持续更新https://blog.csdn.net/grd_java/article/details/142909208 虽然这本书已经出来有几年了,现货市场已经产生了一定变化,但是原理还是相通的。还是推荐大家买来这本书进行阅读观看&#…...
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 2 部分:Elastic Agent
作者:来自 Elastic Hemendra Singh Lodhi 了解将数据从 AWS S3 提取到 Elastic Cloud 的不同选项。 这是多部分博客系列的第二部分,探讨了将数据从 AWS S3 提取到 Elastic Cloud 的不同选项。 在本博客中,我们将了解如何使用 Elastic Agent…...
DTL698电表数据 转 profinet IO协议项目案例
目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关 2 5 用PROFINET IO协议转发数据 4 6 其他说明 6 7 案例总结 7 1 案例说明 设置网关采集DLT698电表数据数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转…...
CSS @规则(At-rules)系列详解___@font-face规则使用方法
CSS 规则(At-rules)系列详解 ___font-face规则使用方法 本文目录: 零、时光宝盒 一、CSSfont-face规则定义和用法 二、font-face语法 三、font-face使用方法例子 3.1、指定一种字体 3.2、font-face 里添加文本的描述符 3.3、设置多个 font-face 规则。 3.4…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
