AI 常用术语
刚刚加入AI公司,听组会听的头都大了,沟通过程中很多术语都不了解,于是简单学习记录一下
机器学习
Ground Truth
真实值
ACC
Accuracy
准确率=正确预测数/总样本数
Loss
损失
Focal Loss
F0 Loss
一种用于解决类别不平衡问题的损失函数,通过引入动态缩放因子,降低易区分样本的权重,将模型的注意力集中在难区分样本上
Epoch
在模型训练过程中,数据集被完整遍历一遍的过程
Overfit
过拟合
SOTA
State of the Art
表示在某个特定领域中的最好成果、最佳实践
良定义
Well-Defined
一个定义要满足:明确性、一致性、完备性、无歧义性
- 明确性:明确指出所定义对象的范围和特征
- 一致性:定义不能自相矛盾
- 完备性:定义要包含足够的信息,使得人们可以通过定义判断一个对象是否属于定义的范围
- 无歧义性:定义要避免使用含糊不清、多义词
监督学习
Supervised Learning
从一组标记好的输入和期望出发,得到一个 $x\rightarrow y$ 的映射,目的是泛化知识,输入未标记的数据也能得到标记
由于需要提供正确答案,导致标注量和成本很大
- 分类问题
- 回归问题
无监督学习
输入没有标签,系统会从数据中特征提取,从而可以将数据进行聚类、分类
强化学习
Reinforcement Learning, RL
比如我们要设计一个自动驾驶的汽车,这个车我们称之为智能体,学习驾驶是一种行为,车当前的速度、位置等数字向量是车的当前状态,刹车、加速、转向是车的动作,根据当前状态决定动作是车的策略,如果这个策略好,应当给与奖励,这种反馈机制被称为奖励,汽车不能控制的其他事物被称为环境
强化学习最初没有系统的先验知识,而是进行探索和收集反馈,不断调整自己的动作,最终得到目标
策略梯度算法
我们希望能够得到最大化的奖励期望,于是对上面的期望$\bar{R}{\theta}$做梯度下降
PPO
Proximal Policy Optimization, PPO
近端策略优化,是对策略梯度算法的改进(额,完全没看懂,等我看懂了再来补)
DPO
Distributed Proximal Policy Optimization
对PPO的改进,能并行计算
偏好学习
Preference Learning
模型不是直接预测一个目标值(如在回归问题中)或一个类别标签(如在分类问题中),而是预测一个偏好顺序或者选择。这种偏好可以是全序的(例如,对一组电影进行排名),也可以是部分的(例如,只确定哪部电影比另一部更受欢迎,而不是对所有电影进行排名)。
对比学习
一种自监督学习方法,让相似的数据在嵌入空间中更近,不相似的更远,会有数据增强、映射、对比损失等过程,在多模态中很常用
CLIP
Contrastive Language–Image Pre-Training
OpenAI开发的基于对比学习的文本-图像模型,可以进行图像分类、图像搜索、图像生成,无需对特定任务进行专门的训练
ImageBind
Meta开发的基于对比学习的多模态模型,可以将六个模态映射到同一个嵌入空间中
自学习
Self-Training
无条件生成
Unconditional Generation
模型在没有特定输入条件或限制的情况下,自主生成内容的能力
通常使用GANs和VAEs
VAE
VAE(Variational Autoencoder)变分自编码器,输入一组数据,学习其中的潜在表示,并生成新的数据样本
VAE由Encoder和Decoder组成,Encoder将输入数据映射到潜在空间(latent space),Decoder将潜在空间的数据映射回数据
VAE使用变分推断来估计数据的潜在表示,用最小化重构误差和潜在表示的先验分布之间的KL散度来优化模型
Codec
Coder-Decoder
编解码器,用于压缩和解压数据的算法,目的是在保证数据质量的同时减少数据数量
通常对于模型来说,一个更大的词表往往意味着更难学习,而越大的词表往往数据质量更高,需要在其中做抉择
神经网络
Neural Networks
MLP
Multilayer Perceptron
多层感知器,一种最简单的前馈神经网络
RNN
Recurrent Neural Network,循环神经网络
$$
y_t=f(y_{t-1}, x_t)
$$
CNN
Convolutional Neural Network,卷积神经网络
卷积(一维的就是窗口遍历,二维的类似高斯滤波)
- 卷积层:通过卷积核在二维平面遍历,卷积核的数值就是该神经网络的权重
- 池化层:将数据降维,比如选取四个像素中最大的值,使得数据量减少
- 全连接层
GAN
Generative Adversarial Network,生成对抗网络
由生成器(Generator)和判别器(Discriminator)组成
生成器负责从噪声中生成与真实数据尽可能相似的数据,判别器负责区分真实数据还是生成的数据
VAE
Variational Autoencoder,变分自编码器
由编码器和解码器组成,编码器将输入数据映射到潜在空间,解码器根据潜在表示重构原始数据
扩散模型
Diffusion Models
一种深度生成模型,能基于一个噪声和一组参数,生成数据,包含前向加噪和反向去噪两个步骤
前向加噪会逐步在原始数据中添加高斯噪声(马尔可夫链),直到数据被破坏,失去可辨别性
$$
x_t = x_{t-1} + \sqrt{1-\beta_t} \cdot \epsilon_t
$$
- $\epsilon$:噪声样本
- $\beta$:噪声强度
反向去噪是训练一个神经网络,能使用噪声样本来还原原始数据,去噪声过程也是逐层进行的
$$
\widetilde{x} = x_T - \sum^{T}_{t=1}\alpha_t \cdot \epsilon_t
$$
- $x_T$:前向扩散结束时的完全噪声样本
自回归模型
Autoregressive Model, AR
利用时间序列自身的过去值来预测未来值
稀疏激活
Sparse Activation
稀疏激活是指在神经网络中,大部分神经元的输出为0(或接近0),只有少量神经元输出非零值
使用稀疏激活可以提高计算效率,加速收敛,降低损失
通常通过使用特定的激活函数(activation function)实现,比如ReLU
ReLU
Rectified Linear Unit
$$
f(x)=\max(0, x)
$$
大模型
Alignment
对齐,引导AI行为,使其符合设计者的利益和目的,一个已对齐的AI会朝着预期方向发展
Baseline
通常指一个基本的、简单的、表现较好的模型,作为参考点来评估其他新模型
Priors
先验知识,比如在模型设计、训练时引入的一些假设或约束
Condition
作为动词时,通常表示对数据进行预处理、归一化
涌现
当模型规模大到一定程度,会瞬间拥有某种能力,这些能力有可能超出了设计之初到预期,比如在准确率曲线上随着训练数据的提升呈阶梯状上升
退化
当模型在学习某一方面知识时,如果数据集中没能覆盖之前某些方面的知识,可能会失去之前已经拥有的能力
大模型训练时,如果使用了很糟糕的数据,或者反复训练某些数据,有可能会快速退化
如果每次训练的数据都能覆盖模型的每一个能力,就很难退化
困惑度
在模型训练时,会检查数据的质量,可以通过一个小模型去扫描数据,判断数据的困惑度。比如读WIKI的前几个字,让模型输出下一个字,查看正确率
有监督微调
Supervised Fine-Tuning, SFT
对标记数据进行微调,以实现将预训练的大模型调整为特定的任务,可以利用到预训练模型的通用特征,不需要从头开始训练模型,节省大量资源
微调的数据量并不大,对模型的改动非常小,效果主要是激发,学知识还是要预训练
o
这里的o是Omnipotence的缩写,意思是全能,表示这个大模型是一个通用的全功能大模型
freeze
在微调训练中冻结模型的大部分参数,只对一小部分参数进行微调,可以节省资源,也可以避免发生灾难性遗忘
finetune
微调
token factorization
将token分解为更多的因子
CoT
Chain of Thought
思维链,将一个大问题拆分为多个小的子问题,逐步解决这些问题,模型的输入输出包含中间结果,模拟人类思考的过程
能提高数学问题、符号推理的求解能力
大模型为什么能学会输出固定长度的token?
大模型在输出token时,是有一个位置索引,可以驱动输出固定长度的任务
LoRA
Low-Rank Adaptation,参考
是一种用于大型语言模型微调的优化技术,旨在减少模型的参数量和计算量,同时保持模型的性能
核心思想是在模型的特定层中引入低秩矩阵,来近似模型的权重更新
大模型的参数空间特别特别巨大,这些空间的大小超越了实际解决这个问题所需的维度,这个现象叫做过参数化,这意味着参数空间有压缩的空间,这就是LoRA的核心
秩
分为行秩和列秩,意思是矩阵中线性无关的行/列的数量
在机器学习中,我们使用一个矩阵表示一个全连接层,这个矩阵具有很多参数,但是这些参数往往是过参数化的,可以通过计算秩来降维
可以使用主成分分析(PCA)或奇异值分解(SVD)的方式,对矩阵进行很好的降维
提示学习
Prompt Learning
将任务转化为一个语言模型的预测问题,通过调整提示的格式和内容,使模型能够更准确地理解任务要求并生成相应的答案
你可以把很多奇怪的任务比如用矩阵控制人物表情转为训练一个模型输出字符串,再将这个字符串转回矩阵
适配器学习
Adapter Learning
在一个预训练模型的某一层中插入一个轻量级的适配器模块
EOS
End of Sequence
用于标记序列的结束,使得模型能够识别序列的长度和边界,能让模型学会什么时候停止生成
计算机视觉
Landmark
使用关键点、特征点来处理计算机视觉任务,比如人脸识别中使用眼睛、嘴巴、鼻子为关键点来检测追踪
Talking Head
一个CV任务,用于生成一个逼真的、会说话的人脸模型
SMPL
Skinned Multi-Person Linear Model
SMPL是一种用于描述人体形状(shape)和姿态(pose)的模型,shape是类似blendshape的channel,用于描述人的高矮胖瘦,pose是描述了定义好的关节节点(通常为24个)的旋转状态,使用轴角存储
SMPL可以转为.bvh,再转为.fbx,以导入游戏引擎中
RGB 数据集
指图片、视频、深度等数据,在CV领域用途很多
Inpaint
使用周围像素对图像进行修复/填充
逆渲染
正向渲染:从三维模型出发,得到二维图像的过程(也就是图形学的渲染)
逆向渲染:从二维图像出发,重建三维场景的过程
可微渲染
Reparameterizing Discontinuous Integrands for Differentiable Rendering
可微渲染(Differentiable Rendering)是一种实现逆向渲染的方法
从一个近似的三维场景出发渲染一张二维图片,求与Ground True的损失(loss),对三维场景的参数求偏导(Partial derivatives),即可使用梯度下降(Gradient descent)的方法得到和GT最相似的三维场景参数
问题:
- 传统的渲染器并不能对参数求偏导:搭建一个可微渲染器
- 很多参数不连续:对不连续的参数换元,并乘以一个平滑函数
NeRF
《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》
NeRF的任务是从一组已知的图片出发,得到其他视角下的图片
- 环绕物体拍摄一组2d的照片,在神经网络中构建一个5维的函数,输入为世界坐标$(x,y,z)$和视角$(\theta,\phi)$,输出为体密度和颜色
- 使用光线步进的方式进行体渲染
Gaussian Splatting
与NeRF类似,Gaussian Splatting也是从多个视角的图片出发,构建场景描述,通过高斯点染的方式,生成新视图
高斯点染的概念和光栅化很像,使用一个个椭球状的2D高斯函数为图元,将3D场景映射到2D图像上
未来帧预测
旨在基于已有的视频内容生成未来的帧序列,常用于自动驾驶、异常检测、视频压缩、视频编辑、动画制作
- 外观约束(Spatial Constraints):基于像素强度和梯度等空间信息,确保未来帧与已有帧外观相似
- 动作约束(Temporal Constraints):基于光流等运动信息,确保未来帧与已有帧连贯
长承预测
世界线
Worldline
一个物体在时空中运动轨迹,比如月球绕着地球转,轨迹是圆,如果加上时间轴,会变成螺旋线
视觉问答
Visual Question Answering,VQA
MEMC
运动估计和运动补偿(Motion Estimation and Motion Compensation)
通过分析视频中的运动信息,估计物体的运动轨迹,并根据这些信息来合成新的帧,常用于视频插帧
Edge
对图像进行边缘描边,由于数据简单纬度低,更利于预测等操作
结构纹理分解
Structure-Texture Decomposition
将图像分解为两个部分:结构(物体的类别、位置和姿态)和纹理(纹理的粗糙度、方向性和频率)
FACS
Facial Action Coding System
光流
Optical Flow
光流是CV领域用于描述图像序列中像素运动的一种方法,通过计算连续两帧图像中像素点的位移来估计物体的运动
光流基于三个假设:
- 亮度恒定假设:物体运动中,其表面亮度不变(真的假的?)
- 小运动假设:相邻两帧物体的运动是微小的,于是第一帧大部分点都可以在第二帧中找到
- 空间一致性假设:相邻像素的运动是相似的,其光流向量应该相似
光流的工作核心是用一些算法得到像素的运动向量
NLP
自然语言处理
BPE
Byte Pair Encoding,字节对编码
一种子词切分技术,通过将文本中的字符或字节对进行统计和合并,生成更小的子词单位,从而实现对文本的切分
- 构建词汇表
- 统计字符、字节的出现频率
- 按照频率从高到低合并为一个单独的字符,循环进行,直到没有字符对可以合并
- 得到最终的词汇表
Seq2Seq
Sequence-to-Sequence
- 编码器:将序列输入转为一个固定长度的上下文向量
- 解码器:使用上下文向量和过去生成的输出序列,循环生成一个元素,直到达到某些条件(比如已经输出一个完整序列、输出了一个终止符号)
Transformer
将输入数据转化为向量表示,以便模型理解
Diffusion Transformer
DiT
VIT
Vision Transformer
基于Transformer的计算机视觉技术,将大模型NLP和CV整合在一起
Attention
ASR
Automatic Speech Recognition,自动语音识别
将人类语言转化为文字,以便AI理解并处理人类语言
EOS
End of Sequence
用于标注序列的结束
音频
RTF
Real Time Factor,实时率
处理音频所需的时间 / 音频时长
如果实时率小于1,则可以通过串流的方式实时给用户
VAD
Voice Activity Detection
语音检测,用于提取音频的特征,常用于语音识别