AI 常用术语
记录一些AI常用术语
机器学习
任务
-
回归(Regression):预测连续型变量的值,如股票预测
-
分类(Classification):预测离散型变量的类别,如图像分类
-
聚类(Clustering):将数据划分为不同的组别,使得组内的相似性最大化,组间的相似性最小化,例如客户细分、图像分割
-
降维(Dimensionality Reduction):减少数据的维度,同时保留数据中的重要信息,例如主成分分析(PCA)
-
异常检测
-
序列预测
-
推荐系统
-
强化学习
-
生成模型
-
最大似然估计(Maximum Likelihood Estimation,MLE)
SOTA
State of the Art
表示在某个特定领域中的最好成果、最佳实践
良定义
Well-Defined
一个定义要满足:明确性、一致性、完备性、无歧义性
- 明确性:明确指出所定义对象的范围和特征
- 一致性:定义不能自相矛盾
- 完备性:定义要包含足够的信息,使得人们可以通过定义判断一个对象是否属于定义的范围
- 无歧义性:定义要避免使用含糊不清、多义词
代价函数
Focal Loss
F0 Loss
一种用于解决类别不平衡问题的损失函数,通过引入动态缩放因子,降低易区分样本的权重,将模型的注意力集中在难区分样本上
梯度下降
学习率
监督学习
Supervised Learning
从一组标记好的输入和期望出发,得到一个 $x\rightarrow y$ 的映射,目的是泛化知识,输入未标记的数据也能得到标记
由于需要提供正确答案,导致标注量和成本很大
- 分类问题
- 回归问题
偏好学习
Preference Learning
模型不是直接预测一个目标值(如在回归问题中)或一个类别标签(如在分类问题中),而是预测一个偏好顺序或者选择。这种偏好可以是全序的(例如,对一组电影进行排名),也可以是部分的(例如,只确定哪部电影比另一部更受欢迎,而不是对所有电影进行排名)。
无监督学习
Unsupervised Learning
输入没有标签,系统会从数据中特征提取,从而可以将数据进行聚类、分类
聚类
MAE
Masked Autoencoders
以一定比例mask掉图片中一些像素块、文本中一些内容,让模型去预测mask的部分。
自监督学习
Self-Supervised Learning
对比学习:一种自监督学习方法,让相似的数据在嵌入空间中更近,不相似的更远,会有数据增强、映射、对比损失等过程,在多模态中很常用
强化学习
Reinforcement Learning, RL
比如我们要设计一个自动驾驶的汽车,这个车我们称之为智能体,学习驾驶是一种行为,车当前的速度、位置等数字向量是车的当前状态,刹车、加速、转向是车的动作,根据当前状态决定动作是车的策略,如果这个策略好,应当给与奖励,这种反馈机制被称为奖励,汽车不能控制的其他事物被称为环境
强化学习最初没有系统的先验知识,而是进行探索和收集反馈,不断调整自己的动作,最终得到目标
策略梯度算法
我们希望能够得到最大化的奖励期望,于是对上面的期望$\bar{R}{\theta}$做梯度下降
PPO
Proximal Policy Optimization, PPO
近端策略优化,是对策略梯度算法的改进(额,完全没看懂,等我看懂了再来补)
DPO
Distributed Proximal Policy Optimization
对PPO的改进,能并行计算
生成模型
- 无条件生成(Unconditional Generation),如无条件生成蝴蝶图片
- 条件生成(Conditional Generation),如T2I
常见的生成模型有
- VAE
- GAN
- AR
- Diffusion
VAE
Variational Autoencoder
变分自编码器,在自编码器的基础上显性对$z$的分布$p(z)$进行建模,使得潜在空间(latent space)符合高斯分布,在潜在空间按高斯分布采样,再用decoder解码,就能生成数据
AE
自编码器AE是一种高级的PCA(主成分分析),由encoder和deocder组成,encoder可以将数据降维到潜在空间,decoder可以将潜在空间的数据还原为原始数据
AE不能用作生成模型,因为没有针对$z$的分布进行训练,在整个值域中有效的$z$非常少,随机采样到的基本都是无意义的$z$
Conditional VAE
我们在VAE的值域中采样,总是能得到有用的$z$,但是我们不知道到底是哪一种$z$
做法是引入标注$Y$,原本对$p_0(X)、p(z)$建模,现在改为对$p_0(X|Y)、p(z|y_i)$建模
VQVAE
潜在空间是一组整数,常用于数据降维,也不能用作生成模型
GAN
Generative Adversarial Network
由生成器(Generator)和判别器(Discriminator)组成
生成器负责从噪声中生成与真实数据尽可能相似的数据,判别器负责区分真实数据还是生成的数据
自回归模型
Autoregressive Model, AR
利用时间序列自身的过去值来预测未来值,可以通过逐步生成数据的每一部分来构建整个数据样本
扩散模型
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$:前向扩散结束时的完全噪声样本
LDM
latent diffusion model
在潜在空间进行扩散过程,大幅降低计算成本
召回率
Recall
样本中的正例有多少被预测正确了
$$
\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}
$$
- TP(True Positive):预测为正例且实际为正例的数量。
- FN(False Negative):预测为负例但实际为正例的数量
精确率
Precision
预测为正的样本中有多少是真正的正样本
$$
\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}
$$
- FP(False Positive):预测为正例但实际为负例的数量。
决策树模型
MCTS
Monte Carlo Tree Search
蒙特卡洛树搜索,一种得到最优决策的方法,通过大量的随机模拟(构建搜索树),来评估每个节点的价值
消融实验
Ablation Study
用于确定一个条件或参数对结果的影响程度,通过去除或修改模型的某种组成,观察其对模型性能的影响,进而分析这些组成对整体的贡献
神经网络
前向传播
激活函数
由于”线性函数的线性函数,还是一个线性函数“,而对神经元进行加权求和是一个线性操作,为了让模型能表示一些非线性的东西,我们需要激活函数
$$
a=f(z)
$$
- $f$:激活函数,任意一个非线性函数,常见为ReLU、Sigmoid
- $z$:上一神经元的加权求和结果
MLP
Multilayer Perceptron
多层感知器,一种最简单的前馈神经网络
前馈(Feedforward)是一种控制机制,通过在系统受到干扰之前就采取行动来预测和补偿干扰的影响,具有预测性
前馈的反义词是反馈,在生物学中很常见
CNN
Convolutional Neural Network,卷积神经网络
由卷积层、全连接层、池化层等部分组成
CNN模型结构中,卷积带来了局部性,使用相同卷积核带来了平移等变性,这些性质被称为先验知识(prior knowledge)
全连接层
该层每个神经元,都与上一层所有神经元相连。参数量会非常巨大,mxn

卷积层
卷积层=局部连接+空间权重共享
局部连接:卷积层的每个神经元只与输入数据的局部区域相连,而不是与整个输入数据相连(相邻像素相关性通常比远距离的像素大)
空间权重共享:使用相同的卷积权重在不同位置提取相同特征(图像的底层特征,如边缘,通常与具体位置无关)

池化层
使用一个滑动窗口在神经元间操作,如求最大值(最大池化),求平均值(平均池化)
池化层的目的是降采样,生成一个尺寸更小的特征图
池化层可以实现局部不变性:窗口内发生微小抖动,但仍旧可以得到相同/相似的特征表示


RNN
Recurrent Neural Network,循环神经网络,参考Understanding-LSTMs
$$
y_t=f(y_{t-1}, x_t)
$$
能够处理序列变化的数据(能够理解同一数据在不同上下文中含义不同)

由于RNN依赖先前的输出结果(RNN不是前馈的),因此对GPU并不友好
LSTM
长短期记忆,比RNN在长序列中表现更好
RNN的一个问题是,他无法从先前的关键词中有选择地提取重要信息

图中$\sigma$表示数据转为0或1
RNN的一大问题是顺序执行,节点的输入是上一节点的输出,有依赖关系
Transformer
Transformer一种基于Attention的神经网络架构,放弃了顺序循环,完全通过注意力机制(Attention)来建立输入和输出的依赖关系,具有更强的并行性
Attention结构

左侧是encoder,右侧是decoder,两者可以单独使用,也可以一起使用
Attention的参数不在于依赖关系,而与QKV有关
- Query:查询
- Key:键
- Value:值
encoder
如bert
encoder输入文本,将其转化为embeding或feature(每个单词变成一组数字),具有双向性
双向性:指生成某个单词的embeding时,会同时受到前后单词的影响
tokenizer可以实现将一句话分离为一组单词
decoder
如gpt-2,目前最流行的就是decoder-only
decoder通常具有encoder相同的能力,但是性能较弱,同样可以输入文本输出embeding,但是单向的
单向:decoder在生成单词embeding时,只会受前面的单词的影响
decoder通常是自回归的,常用于给定先前序列,生成新的内容(causal language modeling)
encoder-decoder
如T5
将两者合并得到encoder-decoder,可以用于seq2seq(Sequence-to-Sequence)
- encoder将序列输入转为一个固定长度的上下文向量(embedding)
- embedding和单词输入到decoder,生成一个新单词
WORD_1
- 将新单词
WORD_1
拼接到第一个单词后面,自回归调用decoder,生成下一次单词WORD_2
- 循环直到decoder输出出结束符号


Self-Attention
自注意力
Self-Attention是一种Attention,Self-Attention是计算单一序列内部每个元素和其他元素的关联程度,QKV均来自目标序列
由于递归能力更强,参数少,被广泛使用
Cross-Attention
交叉注意力
Cross-Attention也是一种Attention,输入两个不同的序列,Q来自Source序列,KV来自Target序列,可以建立序列间的联系
在SD画图中,使用Cross-Attention建立文本和latent区域的联系,实现文本修改图像中某一区域
Causal-Attention
因果注意力
Causal-Attention也是一种Attention,通过掩盖(Mask)未来的位置,使得模型生成时只关注过去的信息。通过因果注意力,使得Transformer具有自回归属性(Autoregressive)
FeedForward
前馈层,接受Attention的输出,添加非线性变换
处理序列的优势
Transformer由于使用了Attention,在处理序列数据时具有优势,下图为RNN、CNN、Attention表示序列模型示意。
-
三行绿色节点表示这些模型都是三层结构,都是从下向上依次执行
-
横着向右表示时间步骤
-
箭头表示相关联(并不代表可训练参数)

RNN | CNN | Attention | |
---|---|---|---|
上下文长度 | full | limited | full |
是否前馈 | 不前馈 | 前馈 | 前馈 |
问题 | 优化不行 | 卷积核太小 | 没问题 |
如果我们想要模型理解“小明在星期天要去露营,他准备叫上小红”,那么模型需要理解“他”指的是“小明”,那么模型的上下文需要同时看到“小明”和“他”
CNN使用一个滑动窗口在文本中卷积,如果我们的滑动窗口比较小,那么一个窗口中就无法同时包含“小明”和“他”,为此我们需要对窗口的信息再次卷积,即增加CNN的深度,不断加深使得“小明”和“他”的距离越来越近,最后能被一个滑动窗口捕捉到
RNN使用上一步的输出结果,先前的输入都会被汇总到一起,理论上“小明”对应的信息是可以传播打”他“这一步的,但实践中RNN训练极易导致梯度爆炸,一般最多只能处理二十个词
而注意力机制允许每个神经元在任何时间点,看先前所有步骤中的任意节点,计算一个新单词时,同时用到了先前所有词
应用
GPT
Generative Pre-trained Transformer
一个语言模型,输入句子前缀,预测下一个单词
Diffusion Transformer
DiT
VIT
Vision Transformer
基于Transformer的计算机视觉技术,将大模型NLP和CV整合在一起
深度学习
“深度学习是一种表示学习”——何凯明
LeNet
开创了卷积层、池化层、全连接层,并使用反向传播端到端训练整个架构,参考CNN。但受困于算力和数据集过少没有得到重视
端到端
end to end
AI系统直接从输入数据中学习,并产生期望的输出,无需人为分解中间步骤
流程简单,但非常黑盒,不可解释,会发生灾难性遗忘
AlexNet
使用了更大的数据集(ImageNet)和更大模型
结构
一共八层
稀疏激活
Sparse Activation
稀疏激活是指在神经网络中,大部分神经元的输出为0(或接近0),只有少量神经元输出非零值
使用稀疏激活可以提高计算效率,加速收敛,降低损失
通常通过使用特定的激活函数(activation function)实现,比如ReLU(Rectified Linear Unit)
$$
f(x)=\max(0, x)
$$
多GPU训练
单个GPU的显存太小,无法放下训练数据,由于当时显卡具有交火功能,可以直接从另一张卡中读写数据,于是作者将模型平分放在两张卡上
为了减少GPU间通信,模型被设计为好几层,只有在某些层(C3)两张卡才会进行数据通信,其他层的输入只使用当前GPU中上一层的输出,大幅减少了通信次数
LRN
Local Response Normalization
对模型的输出进行归一化,以提高模型泛化的能力
重叠池化
Overlapping Pooling
重叠池化的池化窗口在特征图上滑动时存在重叠部分。通过增加特征冗余性、减少空间信息损失、增强特征不变性、提高尺度不变性和降低特征维度等方式,有助于防止模型在训练过程中发生过拟合现象
数据增强
Data Augmentation
在不实质增加数据的情况下,扩展训练数据的方法
- 对图片旋转、缩放、裁剪、通道变换
- 对文本替换、插入、删除、同义替换
- 对语音添加噪声、改变语速、改变音调
dropout
对神经元的输出结果进行随机丢弃(以概率$\mathbf{p}$置零)
dropout很显然会影响神经元输出的均值,毕竟白白多出了这么多0,从x降到(1-p)x
model.eval()后,模型将不会dropout,为了实现训练和推理的一致性,模型所有神经元都会输出,但是每个输出都会乘以(1-p),以保证绝对值均值一致
Visualizing ConvNet
对神经网络进行可视化,发现神经网络可以学习数据的高级表示。并发现模型是可迁移的,可以在大数据集中预训练出能力,再在小数据集中fine-tune
迁移学习
模型能够学习大数据集中数据的抽象表示,这种表示在其他类似的小数据集中也有意义,于是我们可以在大数据集中做预训练,在其他数据集中做fine-tune
One-Shot Learning、few-shot learning是一种特殊的迁移学习,仅使用一个(或很少的)样本进行学习,使得模型可以识别新的类型。在人脸识别、物品检测、音频克隆中很常用
VGGNet
作者成功构建出一个非常深的卷积神经网络,并得到了更低的错误率和更强的泛化能力
为了构建一个很深的神经网络,作者
- 使用了非常小的卷积核
- 参数随机初始化
- 数据增强,比如随机裁剪、多尺度训练(放缩)
- 多GPU并行训练,将图像切分放入GPU中求梯度,将所有GPU中的梯度做均值,作为最终梯度
GoogLeNet
启发了标准化模块
normalization modules

- 对输入数据减去期望,再除以标准差,以实现归一化。
- 对归一化的结果引入一个线性变化,以提高自由度
ResNet
实现训练更深(上千层)的模型,减轻了退化现象
退化现象
先前的工作表明,模型越深越好,但实践中深到一定程度,会出现退化(degradation)现象:即随着网络深度的提升,准确性会饱和。
作者认为,如果解决一个任务最适合用K层网络,那么即使我们训练了一个比K深的网络,只要K之后的网络做恒等映射(Identity Mapping),直接返回输入的值,就能取得和K层网络相同的效果。因此,理论上比K深的模型效果不应比K层差,但实验结果是某个任务56层确实比20层差
于是作者认为,模型在试图用多个非线性层混合输出一个恒等映射(比如对一个数据先平方再开方之类的吗?),我们应该直接给模型一个恒等映射的能力
残差学习框架
作者引入了残差学习框架,来解决退化问题
残差网络的核心,是在非线性层基础上加了一个x,从
$$
y = F(x)
$$
变成(当然,新训练出的F(x)和之前是不同的)
$$
y = F(x)+x
$$
使用了这种操作(快捷连接)的网络都可以称作残差神经网络
理论上(万能近似定律),无论是$y=F(x)$还是$y=F(x)+x$,喂入足够的数据,都能拟合出所需的函数,区别是这两个模型的训练难度可能有所差异
通过观察可知,这一层模型是有可能被训练为$y=x$,也就是$F(x)$的输出恒为0,此时实现了恒等映射
维度映射
残差网络中输入和输出的维度应该是相同的,但实践中经常需要改变输出输出的通道数,可以用一个线性投影来匹配维度
$$
y=F(x, {W_i})+W_sx
$$
- zero-padding shortcuts:通过在输入中填充0来增加维度
- projection shortcuts:通过1x1的卷积线性增加或减少维度
作者发现投影效果比零填充要好,但也没有好太多,于是不是必须的
网络架构
- 和VGGNet很类似,使用3x3的滤波器进行卷积
- 当输出的维度减半时,滤波核的数量就跟着翻倍,以维持复杂度
- 每两层网络添加一个快捷连接,以实现残差网络
大语言模型
Alignment
对齐,引导AI行为,使其符合设计者的利益和目的,一个已对齐的AI会朝着预期方向发展
Baseline
通常指一个基本的、简单的、表现较好的模型,作为参考点来评估其他新模型
Priors
先验知识,比如在模型设计、训练时引入的一些假设或约束
Condition
作为动词时,通常表示对数据进行预处理、归一化
涌现
当模型规模大到一定程度,会瞬间拥有某种能力,这些能力有可能超出了设计之初到预期,比如在准确率曲线上随着训练数据的提升呈阶梯状上升
退化
当模型在学习某一方面知识时,如果数据集中没能覆盖之前某些方面的知识,可能会失去之前已经拥有的能力
大模型训练时,如果使用了很糟糕的数据,或者反复训练某些数据,有可能会快速退化
如果每次训练的数据都能覆盖模型的每一个能力,就很难退化
困惑度
在模型训练时,会检查数据的质量,可以通过一个小模型去扫描数据,判断数据的困惑度。比如读WIKI的前几个字,让模型输出下一个字,查看正确率
MoE
混合专家模式,Mixture of Experts
通过动态选择专门的子模型或“专家”来处理输入的不同部分,每个专家专注于特定任务
Switch Transformer
有监督微调
Supervised Fine-Tuning, SFT
对标记数据进行微调,以实现将预训练的大模型调整为特定的任务,可以利用到预训练模型的通用特征,不需要从头开始训练模型,节省大量资源
微调的数据量并不大,对模型的改动非常小,效果主要是激发,学知识还是要预训练
o
这里的o是Omnipotence的缩写,意思是全能,表示这个大模型是一个通用的全功能大模型
freeze
在论文的流程图中,经常画一个雪花标志
在微调训练中冻结模型的大部分参数,只对一小部分参数进行微调,可以节省资源,也可以避免发生灾难性遗忘
finetune
微调
token factorization
将token分解为更多的因子
CoT
Chain of Thought
思维链,将一个大问题拆分为多个小的子问题,逐步解决这些问题,模型的输入输出包含中间结果,模拟人类思考的过程
能提高数学问题、符号推理的求解能力
大模型为什么能学会输出固定长度的token?
大模型在输出token时,是有一个位置索引,可以驱动输出固定长度的任务
LoRA
Low-Rank Adaptation,参考
是一种用于大型语言模型微调的优化技术,旨在减少模型的参数量和计算量,同时保持模型的性能。很多人为SD画图训练了很多LoRA,只要少量图就能让模型学会生成新的画风
核心思想是在模型的特定层中引入低秩矩阵,来近似模型的权重更新
大模型的参数空间特别特别巨大,这些空间的大小超越了实际解决这个问题所需的维度,这个现象叫做过参数化,这意味着参数空间有压缩的空间,这就是LoRA的核心
秩
分为行秩和列秩,意思是矩阵中线性无关的行/列的数量
在机器学习中,我们使用一个矩阵表示一个全连接层,这个矩阵具有很多参数,但是这些参数往往是过参数化的,可以通过计算秩来降维
可以使用主成分分析(PCA)或奇异值分解(SVD)的方式,对矩阵进行很好的降维
Q-LoRA
提示学习
Prompt Learning
将任务转化为一个语言模型的预测问题,通过调整提示的格式和内容,使模型能够更准确地理解任务要求并生成相应的答案
你可以把很多奇怪的任务比如用矩阵控制人物表情转为训练一个模型输出字符串,再将这个字符串转回矩阵
适配器学习
Adapter Learning
在一个预训练模型的某一层中插入一个轻量级的适配器模块
EOS
End of Sequence
用于标记序列的结束,使得模型能够识别序列的长度和边界,能让模型学会什么时候停止生成
Scaling Laws
Transformer语言模型的性能与规模强相关,而对形状依赖弱
模型参数数量N,数据集大小D,训练用的计算量C
- 扩大规模会提高模型性能:同时增大N和D,性能会提升,但固定一方同时增加另一方,收益会递减
- 大模型比小模型更好:大模型比小模型更具样本效率,能以更少的优化步骤达到相同的性能水平,并使用更少的数据点
RAS
Repetition Aware Samping
vLLM
一个LLM推理框架,性能和吞吐量会更强,兼容多种开源模型
MFU
Model FLOPs Utilization
用于衡量模型训练中计算资源利用率的指标
$$
\mathrm {MFU} = \frac{模型一次迭代消耗的浮点运算次数 \mathrm{FLOPs}}{\mathrm{GPU}单卡算力 \times 卡数 \times 模型一次迭代的时间}
$$
RAG
Retrieval Augmented Generation
检索增强生成
指令调整
RLHF
Reinforcement learning from human feedback
人类反馈强化学习
计算机视觉
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,字节对编码
一种子词切分技术,通过将文本中的字符或字节对进行统计和合并,生成更小的子词单位,从而实现对文本的切分
- 构建词汇表
- 统计字符、字节的出现频率
- 按照频率从高到低合并为一个单独的字符,循环进行,直到没有字符对可以合并
- 得到最终的词汇表
ASR
Automatic Speech Recognition,自动语音识别
将人类语言转化为文字,以便AI理解并处理人类语言
LID
Language IDentification,语言识别,用于确定文本或语音所属语言类别的技术
EOS
End of Sequence
用于标注序列的结束
SSM
State Space Model
状态空间模型,是一种用于描述序列在各时间步的状态表示,并根据输入预测其下一个状态的模型,随着输入序列长度的增加,计算复杂度不会呈指数级增长
音频
Mel Spectrogram
梅尔频谱图是一种常用的标准的音频特征提取方法,可以用librosa
将音频转化为mel谱图
RTF
Real Time Factor,实时率
处理音频所需的时间 / 音频时长
如果实时率小于1,则可以通过串流的方式实时给用户
VAD
Voice Activity Detection
语音活动检测(语音端点监测),可以从有噪音的语音中定位语音的开始和结束点、分离静音片段
TTS
Text-to-Speech,文本转语音
Vocoder
声码器,将语音特征转化为声音的模型