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

AI(新手)

人工智能概览

图灵测试

如果一个人在与机器和人类对话时,无法可靠区分二者,则该机器被视为具有人类水平的技能

八种智能的具体内容

语言智能,逻辑-数学智能,空间智能,身体-动觉智能,音乐智能,人际智能,内省智能,自然观察智能

通用人工智能和代理式人工智能

通用人工智能,具有与人类同等或超越人类广泛认知能力的AI,能理解,学习和引用其智力来解决任何问题(尚未成功)

代理式人工智能指的是一个能够感知环境、自主做出决策并执行动作以实现特定目标的计算机系统。

人工智能基础术语

人工智能>机器学习>深度学习(模拟大脑学习)

召回率:宁可错杀一千,不能放过一个

过拟合:从中少量知识中学到错误的知识

欠拟合:连训练数据中基本模式和规律都没学好

模型结构简单:学习能力差

敏感度:激活函数的导数

我国人工智能技术应用已形成以计算机视觉,自然语言处理,语音处理为核心的三大技术支柱

四种法则

链式法则:用于反向传播算法中进行逐层求导。

累乘法则:在概率论和统计学中非常常见。

累加法则:同样在概率论和求和中广泛使用。

归一法则:数据预处理和概率转换。

人工智能学派

符号主义

将一件东西总结类别并用特定语言表示出来

优点:规则透明,适合逻辑推理

缺点:依赖人工规则,难以处理非结构化数据,无学习能力

连接主义

通过大量数据和神经网络权重调整,自动学习事物的特征和模式

行为主义

人工智能可以像人类智能一样进化

AI发展三要素:

数据,算力,算法

数据好坏决定模型的上限

自然语言处理(NLP)

让机器知道人类在说什么的语言

基本任务

文本分类:给定一段文本,将其分配到一个或多个预定的类别中,文本分类是最基础最重要的应用之一

序列标注:给定一句话,将每个字分配一个标签

文本生成:让计算机根据输入,输出连贯,有意义的自然语言文本,是使用频率最高的应用之一

知识图谱:为计算机提供一个结构化的知识库

计算机视觉(CV)

从看像素,到懂内容

基本任务
图像分类:拍照识图

目标检测:不仅识别图中的物体,还能标注他们的位置

图像分割:类似于ps抠图

目标跟踪:专门处理动态场景

文字识别:

大模型

大模型:是一种参数量巨大,能力超强的智能模型

大模型和小模型没有优劣之分,只有场景之别

大模型学习

大模型如何学习:1.通过海量知识学习,提取通用知识(基础大模型)

2.面向不同工业场景进行微调学习(行业,场景大模型)

多模态能力就是学习能力强的体现,会出现能力涌现的状态,就是会做没教过的事情

常见的涌现能力

逻辑推理能力,从只会复述,到能算能写能分析

跨领域联想能力,从单一领域到举一反三

复杂内容创作能力,从碎片化文字到完整作品

一步一步的思考,思维链

AI发展

计算智能:规则束缚,专家系统

感知智能:从能看会听,到能懂会想

认知智能:从能懂会想,到会创造

基础模型>行业模型>场景模型

人工智能的未来

技术层面:通用人工智能(会学习,能聊天),聚身智能(有身体,能行动)

底层提供算力的硬件设备,计算架构调用芯片算力,ai框架实现算法模型,应用使能加速模型落地,最终赋能行业应用

机器学习概览

当问题解决方案很复杂或者问题可能涉及大量大量数据却没有明确的数据分布函数时,比较适合使用机器学习

基于规则的方法和机器学习比较

基于规则的方法

用如果那么的语句

缺点:规则膨胀,维护困难,扩展性差shi

机器学习

依据算法给予数据让机器自己学习

试用场景:规则难以显式形式化,任务规则或环境持续演化,数据分布呈非平稳性

机器学习能解决的问题

分类:将不属于任何类别的物体分类

回归:构造函数

聚类:把距离近的和相似度高的聚在一起,使类内样本相似性最大化,类间样本差异性最小化

机器学习分类

监督学习:通过已标注数据训练模型的方法,性能高度依赖训练数据的精度与质量,整个过程依赖精确的标签指导

无监督学习:无标注数据训练模型的方法,核心目标是发现数据中隐藏的模式,聚类结构或降维表示,是无监督学习的最经典任务之一

半监督学习,是在少量有标记数据和大量无标记数据学习

强化学习,关注的是动态决策过程,智能体通过与环境持续交互,根据环境反馈的奖励信号,调整行为策略,以最大化长期积累奖励为目标,核心特点是试错学习和延迟回报,依赖评价性奖励信号引导学习过程

随着发展已经不再局限于上述类别

监督学习

监督学习的理论框架主要源于统计学习理论与函数逼近论,其分支包括判别式模型。根据标签类型又可以划分分类(输出分散值)与回归(输出连续值)两大任务

回归

包括线性回归,多项式回归,支持向量回归,决策树回归,基于集成学习的梯度提升树,概率贝叶斯线性回归,处理复杂非线性关系的高斯回归

分类

包括基于概率生成的朴素贝叶斯分类器,基于划分特征空间的数模型,通过间隔最大化构建线性或非线性边界的支持向量机,深度模型,逻辑回归虽名称中有回归但是为线性概率分类模型

无监督学习

算法必须自主探索数据内在分布特性,结构模式,相似性关系,从而完成归类,降维,密度估计,聚类分析,降维技术,关联规则挖掘

聚类

划分式方法,层次化方法,密度-baced方法,概率模型方法

半监督学习

自训练,标注数据训练,预测无标注,将高置信预测结果作为伪标签加入训练集

强化学习

理论基石:马尔可夫决策过程

Q-Learning深度学习强化中的DNO

机器学习的整体流程

数据准备,数据处理,模型构建,模型部署

数据集的质量被视为模型性能的基础决定性因素,通常以结构化或非结构化形式组织,每一个独立的数据单元成为一个样本,反应样本在某方面性质或表现可观测变量成为特征,在部分语境下也称为属性或协变量。数据分为训练集,验证集和测试集,测试集约等于平时练习题

常见数据预处理:数据清洗,缺失值处理,异常值检测与修订,多源数据整合,特征汇总与构造

脏数据:缺失值, 异常值,不一样的值,重复数据,格式错误,数据错误

特征工程

对于分类变量,采用编码技术将其转化为数值形式,独热编码,将每个类别映射为一个二进制,标签编码,为每个类别分配一个唯一整数

将连续的数值型数据离散化为类别型数据,称为分箱或分段

非结构数据类型需借助特定技术进行转换文本数据通过词嵌入,图像数据涉及像素级的变换与特征提取包括颜色空间转换,几何变换,haar特征计算以及图像增强操作, 此外,卷积神经网络可自动学习层次化的特征表示

特征构建阶段还包括特征缩放归一化,标准化,特征生成

维度灾难:解释了在低维世界中行之有效的方法,在高维世界中变得低效甚至失效,她告诉我们特征并非越多越好

特征选择

过滤法

根据数据本身的统计特性,来评估每个特征的重要性,筛选出排名最高的子集(本质是统计学)

皮尔逊相关系数(绝对值越接近一越相关),卡方检验,互信息(越大越相关)

包装器方法

选择"裁判"模型,定义搜索策略,设定停止标准,确定评估指标,提供初始数据

完全搜索(从全集开始),启发式搜索(从空集开始),随机搜索

嵌入法

自动学习特征的重要性,并对不重要的特征进行惩罚,使其权重变为零或接近零

监督学习

模型学习阶段与预测推断阶段

学习阶段对原始业务数据进行预处理,清洗后的应该包括特征向量和标签,将数据分为训练集与测试集,选择适当的算法--如逻辑回归,支持向量机,决策树和神经网络等,训练完成后在测试集上进行预测并通过准确率,精确率,召回率,F1分数或AUC-ROC曲线评估模型泛化能力

预测判断即实战环节

好模型定义

泛化能力:通过交叉验证,正则化技术,独立测试集评估保障

可解释性:模型为什么会得出这个结论,模型做出这个决策的依据,

预测速率:速度

偏差指模型预测值的期望与真实值之间的差异高偏差意味模型过于简化,高方差源于模型过度复杂,根据偏差与方差的组合可以对模型性能进行初步判断

回归任务致力于预测连续型目标变量,其核心并评价准则在于量化预测值与真实值之间的差异程度,常用指标包括平均绝对误差,均方误差,决定系数

对于分类任务性能评估往往基于混淆矩阵

梯度下降算法(盲人下山)最低点代表模型最优状态,模型参数从数据中学习到的内部变量

超参数调节,调节超参数,不能从数据中学习,必须手动预设

如:学习率,迭代次数,神经网络的层数,决策树的最大深度,随机森林中树的数量

算法函数

权重

权重是通过训练在学习中得到的

交叉验证:将一份数据平均分成N份,进行N次测试和训练 

线性回归

简单线性回归:y=w*x+b    多元线性回归:y=b+W1*X1+W2*X2+...+WnXn(回归问题)

线性回归用均方误差作为损失函数,他计算的是所有预测值与真实值之间误差的平方的平均值

MSE=(1/n)*Σ(y_true-y_pred)^2

n:表示样本的数量

y_true:真实值

y_pred:预测值

正则化

在模型训练的损失函数中增加一个惩罚项,惩罚项会限制模型的复杂度

L2正则化(什么都用但都不依赖过头)

损失函数=原始损失+λ×Σ(W_j)^2

λ是正则化强度超参数

Σ(W_j)^2是所有权重的平方和L2正则化主要效果是让所有权重都变小

L1正则化(只抓重点)

损失函数=原始损失+λ*Σ|w_j|

|w_j|是所有权重的绝对值之和

L1正则化将不重要的特征权重精确的压缩到0,从而实现自动特征选择

逻辑回归(概率判断专家,分类问题)

Sigmoid函数

softmax 为多选一,为了加大差距采用指数化

决策树

(根结点,内部节点,叶节点)

决策树的构建过程,就是一个自动寻找最佳提问顺序的过程。它通过一种叫做 “递归分割” 的方法来构建。

决策树用于划分节点的依据:信息增益率,方差

决策树通过计算 “不纯度” 来选择最佳分割点。目标是:找到一个特征和一个分割点,使得分割后的两个子集尽可能“纯净”。

基尼不纯度: 衡量从数据集中随机抽取两个样本,它们属于不同类别的概率。

信息增益(基于熵): 熵表示数据的混乱程度。信息增益表示通过某个问题,我们获得了多少“信息”,让数据变得多么有序。用来衡量一个问题的价值

支持向量机SVM

在两类数据点之间,找到一条最宽,最公平的“隔离带”的中间线作为决策边界。

支持向量,离决策边界最近最难分的数据点,只要支持向量不变,决策边界就不会改变

间隔是决策边界到两边支持向量之间的距离,间隔越大越好

决策边界为最终用来做分类的分界线

核函数

线性核,多项式核,高斯核,sigmoid

 为了在低维空间中解决高维空间的分类问题,我们只需要计算它们在原始空间中的某种相似度,就能得到高维空间中的内积结果。

线性核

公式: K(x, y) = x · y

工作原理:不做任何非线性变换,直接在原始特征空间中找到线性决策边界。相当于没有使用核技巧,就是普通的线性SVM。

优点: 计算速度快,参数少,不易过拟合,可解释性强

缺点: 只能解决线性可分问题

适用场景:特征数量很大(成千上万),样本数量相对较少,数据本身就是线性可分的,需要快速训练和预测,文本分类(TF-IDF特征通常是线性可分的)

多项式核

公式: K(x, y) = (γ × x · y + r)^d

参数说明:d:多项式次数,控制映射空间的维度

γ:缩放参数,控制内积的影响程度

r:偏置项,控制低次项的影响

工作原理: 通过多项式展开将数据映射到更高维的空间,d=2 时,相当于把所有特征的两两组合都考虑进来 

特点:

 优点: 可以捕捉特征间的交互作用

缺点: 当 d 很大时计算成本高,数值稳定性差

适用场景: 数据具有明显的多项式关系, 特征间的交互作用很重要,问题复杂度中等

高斯径向基函数核(RBF)

公式: K(x, y) = exp(-γ × ||x - y||²)

 γ:控制单个训练样本的影响范围

 γ 大 → 影响范围小 → 决策边界复杂 → 可能过拟合

 γ 小 → 影响范围大 → 决策边界平滑 → 可能欠拟合

工作原理:为每个训练样本创建一个"影响场",新样本的预测由所有训练样本的加权影响决定,距离越近的样本影响越大

特点:

优点: 极其灵活,可以拟合非常复杂的边界;只有一个主要参数需要调节

缺点: 可解释性差;对参数敏感;训练速度相对较慢

适用场景: 没有先验知识时的首选,复杂的非线性问题,样本数量不是特别大时,图像分类、语音识别等复杂模式识别

Sigmoid 核

公式: K(x, y) = tanh(γ × x · y + r)

特点: 源自神经网络,形状类似于S型曲线,在某些情况下不是正定核,可能导致训练不收敛,现在较少使用,通常用RBF核替代

适用场景:特定领域的问题(如某些神经网络相关的应用), 一般不作为首选

总结

线性核: 简单快速的基准

多项式核: 捕捉特征交互

RBF核: 万能选手,适用性最广

sigmoid核: 特殊用途

KNN

看看你周围的大多数邻居是什么样,你就是什么样

KNN 的工作原理

算法的三个基本要素: K 值,距离度量,分类规则

工作步骤

准备阶段: 把所有的训练数据(已经知道类别)放在一个“地图”上。

计算距离: 当一个新的、未知的数据点出现时,计算它到地图上每一个点的距离。

 找邻居: 找出距离最近的 K 个点(这就是“邻居”)。

投票决策: 看这 K 个邻居中,哪种类别最多,就把新数据点归为那个类别。关键参数:K 值的选择

K 值太小(比如 K=1)

行为: 只相信离你最近的那一个人。

风险: 容易受到噪声或异常值的干扰。

结果: 模型变得复杂,决策边界崎岖不平,容易过拟合。

K 值太大(比如 K=50)

行为: 询问了半个小区的人。

风险: 可能包括了太多远离你、不具代表性的邻居。

结果: 模型变得过于简单,决策边界平滑,可能欠拟合,忽略局部细节。

如何选择 K?

通常通过交叉验证来选择一个最佳的 K 值。

经验上,K 值一般取一个比较小的数值(比如 3, 5, 7),并且是奇数,以避免平票

距离度量

距离度量:如何定义“远近”?

不同的距离度量会改变“邻居”的圈定范围。

欧氏距离

最常用,就是两点间的直线距离。

公式:√(Σ(x_i - y_i)²)

 比喻: 地图上的直线距离。

曼哈顿距离

在网格状道路上行进的距离。

公式:Σ|x_i - y_i|

比喻: 在城市街区中,你不能穿墙而过,只能沿着街道走。

闵可夫斯基距离: 欧氏距离和曼哈顿距离的通用形式。

对于连续型特征,通常使用欧氏距离。对于类别型特征,需要使用汉明距离等其他度量方式。

朴素贝叶斯

通过分析特征与类别之间的概率关系,预测新样本最可能属于哪个类别

朴素贝叶斯基于贝叶斯定理:

P(类别|特征) = [P(特征|类别) × P(类别)] / P(特征)

集成学习(监督学习方法)

bagging独立构建数个基本学习器,然后平均他们的预测

随机森林

(双重随机性:数值层面的随机性,特征层面的随机性)使用交叉验证和绘制学习曲线

Bootstrap

Bootstrap既然我们拿不到整个真实世界的数据(总体),那就利用我们手头有限的样本数据(一份样本),通过“有放回地重复抽样”来模拟“从总体中多次抽样”的过程,从而估计统计量的不确定性。

特征随机性在节点分裂时仅考虑一个随机子集的特征

bootsting按顺序方式构成基本学习器,逐步减少综合学习器的偏差

GBDT

GBDT是一种串行的,通过不断修正残差来提升模型精度的集成算法

K-means算法

K-means算法是一种经典的划分式聚类算法,属于无监督学习,该算法的基本流程概括:用户预先指定期望的聚类数目k以及包含n个数据对象的数据集,算法通过迭代优化过程将数据集划分为K个互斥的聚类

层次聚类

层次聚类是一种非常直观且强大的无监督学习方式主要用于聚类分析

组成部分:距离度量,连接准则,平均连接

深度学习和大模型基础

浅层学习

深度学习:模型有多个隐藏层组成,能够进行多层次的特征变换和抽象.自动特征工程:直接从原始数据中学习出从低级到高级的复杂特征.需要海量标注数据才能发挥作用,黑箱问题

感知机

想象一个坐标系,能在平面上划线

与门  全1为1

或门  有1为1

与非门  全1为0

异或门  有1个1为1(无法完成)

多层感知机

输入层->中间层->输出层

神经网络

增加神经网络的深度(层数),增加宽度(个数)

深层神经网络

输入层->隐藏层(多层)->输出层    前馈神经网络不成循环

激活函数

阶跃函数

当输入小于0时,输入0,当输入大于0时,输入1,不可导(已淘汰)

sigmoid函数

是一个平滑的可导的函数,将任何实数输入映射到0和1之间

公式:σ(x) = 1 / (1 + e^(-x))

局限性:数据越大梯度越小,不是以0为中心

tanh函数

将任何实数映射到(-1,1)

公式:tanh(x) = (e^x - e^(-x)) / (e^x + e^(-x))

局限性:当|x|>2.5,梯度仍会变得很小,计算成本高

ReLU函数(修正线性单元)

ReLU(X)=max(0,X)

ReLU(x) = { x, 如果 x ≥ 0
{ 0, 如果 x < 0

1.完全解决梯度消失问题

2.计算效率极高

3.生物学合理性

局限性:一旦神经元输出为负数,梯度就为0,导致该神经元死亡且无法回复

leaky ReLU函数

在ReLU函数的基础上,为负数提供一个小小的斜率

Swish函数

Swish(x) = x / (1 + e^(-x))

根据具体情况智能的决定最佳响应级别,让网络学会如何激活自己

softmax函数

训练神经网络

数据集

损失函数

均方误差 - 适用

于预测数值
交叉熵损失 - 适用于分类问题

绝对值损失 - 更温和的数值预测

损失函数指导学习

梯度下降算法

优点:稳定性高,适合小数据集

缺点:计算效率低

前向传播

做预测 

信息只向前流动,不回头

输入数据→加权求和→激活函数→传递到下一层

输出 = 激活函数(权重 × 输入 + 偏置)

第一层特征提取,中间层特征组合,最后层决策判断


反向传播

分析错题

新权重 = 旧权重 - 学习率 × (权重对错误的责任)

权重对错误的责任 = 上游责任 × 本地责任

发现最终问题→逆向追溯责任→量化责任大小→针对性改变

前向传播计算损失→从输出层开始反向计算→逐层反向传递梯度→更新权重

最终梯度为所有梯度相乘

 梯度计算的四个步骤

步骤1:前向传播 - 记录证据

AI用当前知识做预测,同时记录所有计算证据:
输入数据 → 第一层计算 → 第二层计算 → ... → 最终预测

记录内容:

· 每层的输入值
· 每层的输出值
· 每个权重的作用
· 最终预测结果

步骤2:计算总损失 - 量化错误

比较AI预测与正确答案:
损失 = 预测答案与正确答案的差距

步骤3:反向传播 - 责任追溯

从最后开始,往前追溯每个"责任人":

对于输出层:
输出层责任 = (预测值 - 真实值) × 输出层敏感度

对于隐藏层:
当前层责任 = 后一层责任 × 连接权重 × 当前层敏感度

对于权重:
权重责任 = 当前层责任 × 前一层输出值

步骤4:得到梯度 - 责任报告

每个权重得到一个梯度值,告诉它:

· 该负多少责任
· 应该怎么调整

梯度消失:前面数都是小数

梯度爆炸:前面数都是大数

缓解梯度消失和爆炸的方法:使用Relu激活函数,梯度剪切

优化器

决定如何根据梯度来更新权重

动量优化器

优点:能够记住方向

能够向一个方向使劲,速度更快

缺点:不容易停下

参数需要手动调试,不适用于复杂地形

AdaGrad优化器

累积梯度平方 = 累积梯度平方 + 梯度²
学习率调整 = 初始学习率 / √(累积梯度平方 + ε)
新权重 = 旧权重 - 学习率调整 × 梯度

r_t = r_{t-1} + g_t ⊙ g_t

 r_t:累积梯度平方(每个参数独立)

g_t:当前梯度
⊙:逐元素相乘

学习率_实际 = η / (√r_t + ε)

θ_t = θ_{t-1} - 学习率_实际 ⊙ g_t

优点:可以调整

缺点:越来越保守,非平衡问题适应性差,需要静心调整初始学习率,内存消耗,对批量大小的敏感性,无法逃脱局部最小值,与现代深度学习不符

RMSprop优化器

累积梯度平方 = β × 旧累积 + (1-β) × 当前梯度² 

学习率 = 初始学习率 / √(累积值) 

优点:解决保守痛点

缺点:仍需手动调参,无惯性机制仍会震荡,会受极端噪音影响

adma优化器

它结合了三大技术:

1. 动量:记住梯度方向趋势(一阶矩)

2. RMSprop:自适应调整学习率(二阶矩)

3. 偏差校正:解决训练初期的估计偏差

2. Adam的工作原理(四步曲)

步骤1:计算动量(一阶矩)

m_t = β₁ × m_{t-1} + (1-β₁) × g_t

· 记住梯度的方向趋势

· 像动量优化器一样减少震荡

步骤2:计算自适应项(二阶矩)

v_t = β₂ × v_{t-1} + (1-β₂) × g_t²

· 记住梯度的大小变化

· 像RMSprop一样自适应学习率

步骤3:偏差校正

m_hat = m_t / (1-β₁^t)

v_hat = v_t / (1-β₂^t)

· 解决训练初期估计偏差问题

步骤4:更新参数

θ_t = θ_{t-1} - η × m_hat / (√v_hat + ε)

局限性:可能泛化能力稍差

在某些任务上,SGD+动量的最终精度可能略高于Adam

内存消耗

需要存储:参数 + 一阶矩 + 二阶矩

内存占用是SGD的3倍

理论分析复杂

收敛性分析比SGD复杂得多

在某些任务上的争议 图像分类:有些人更喜欢SGD+动量 ,生成模型:Adam通常是首选

耐心值 = 允许验证集性能连续不提升的轮次数

对于每个训练轮次:
1. 在训练集上训练模型
2. 在验证集上评估性能
3. 如果性能提升:保存最佳模型,重置计数器
4. 如果性能未提升:计数器+1
5. 如果计数器 ≥ 耐心值:停止训练,加载最佳模型

drobut

方法:随机减员

使用不当情况:drobut概率太大,网络本身太小,训练轮次不够,位置不当(不能在输出层)

全链接神经网络(多层感知机)缺点参数爆炸

卷积神经网络结构(CNN)(更适合图像学习)

平移不变性

局部感知

基础概念

卷积运算:相当于滤波器计算

填充:相当于在输入特征图的周围额外添加像素,防止特征图尺寸过快缩小

步幅: 步幅 = 1(标准卷积)

用于大多数卷积层,保持较高的空间分辨率,提取详细的特征信息

 步幅 = 2(下采样卷积)

替代池化层进行下采样,在分类网络的早期阶段减少计算量,增加感受野

步幅 > 2(大幅度下采样)

在需要快速降低分辨率的任务中, 实时应用或移动端部署, 处理高分辨率输入时

三维数据的卷积运算可以应用于RGB视频

求参数总数

· 每个卷积核的权重参数数量为卷积核大小乘以输入通道数。如果卷积核是方形的(大小为 b ×b),输入通道数为 a,则每个卷积核的权重参数数为 b × b ×a。
· 如果有 c 个卷积核,则总权重参数数为 c × b × b × a。
· 每个卷积核包含一个偏置项,因此总偏置参数数为 c。
· 因此,总可训练参数数为 c × (b × b × a + 1)。

根据卷积输出尺寸的计算公式


输出尺寸 = (输入尺寸 - 卷积核大小 + 2 × 填充) / 步长 + 1

卷积层

卷积层是用于特征提取的核心层,通过卷积核滑动

小核(3*3)参数少计算快,多个小核可替代大核

大核(7*7)感受野大用于早期层或需要大感受野的场景

池化层

池化层,相当于把“看”到的东西总结出来

默认步长为2,池化大小为n*n

最大池化:有重点的看(可能会中心错误,或者是过于片面)

平均池化:每一个都平等的看(可能平庸,模糊,反应慢)

全连接层(稠密层)

将前面提取的局部特征进行整合,将特征图拉直,送入全连接层计算

循环神经网络(RNN)

具有记忆功能

缺点:梯度消失是指在长序列,反向传播时梯度会指数级减小,早期时间部的参数无法更新。当权重矩阵特征值大于1时,梯度会指数级增长。记忆容量有限。计算效率,无法并行化,训练慢。内存。训练不稳定性

LSTM

遗忘门:决定遗忘哪些信息

输入门:决定存储哪些信息

细胞状态更新:结合遗忘门和输出门更新长期记忆

输出门:决定输入哪些信息

都通过0到1中间一个数决定输出多少

模型结构中上一层的细胞状态和当前层的输入信息决定了当前细胞状态保留哪种信息

RNN的使用类型

一对一,传统前馈网络

一对多,应用图像描述生成,音乐生成,文本生成

多对一,文本情感分析,文本分类,动作识别

多对多(同步),词性标注,视频帧分类,字符级预测

多对多(异步),机器翻译,语音识别,文本摘要(编码器-解码器)

Seq2Seq

编码器-解码器

Attention

是一种能让模型能够有选择的关注输入中相关部分的技术

计算注意力分数:衡量解码器状态与每个编码器状态的相关性

计算注意力权重

计算上下文向量

transformer

Transformer架构主要有三种路线图:

· Encoder-Only(只编码):例如BERT模型,专注于理解任务,如文本分类、问答等。
· Encoder-Decoder(既可以编码-又可以解码):例如T5、BART模型,适用于序列到序列任务,如机器翻译、摘要生成等。
· Decoder-Only(只解码):例如GPT系列模型,专注于生成任务,如文本生成、对话系统等。

用于捕获序列内的时序依赖关系层有自注意力层,位置编码

位置编码的作用:提供序列的顺序信息,实现方式,生成一个与位置相关的向量,直接加到词的嵌入向量上。就像给一篇文章里的每个字都标上页码和行号。模型不仅知道这个字是什么(语义),还知道它出现在文章的哪个位置(顺序)。

多头注意力

attention是一种技术 transformer是一种建筑

GPT

GPT 预训练微调+transformer

预训练就是在海量未标注文本上进行学习,掌握语音一般规律,然后再通过微调,让模型针对特定任务进行小范围训练,这是只需要少量标注数据,就可以完成想文本生成,翻译,问答等任务,用transformer的解码器

BERT

双向理解,能同时看前后文,只使用编码器

预训练阶段:掩码语言模型,随机遮盖词汇,然后猜词。下一句预测,判断两个句子是否连续。

输入处理流程:分词,添加特殊标记,三种嵌入相加,词嵌入,词语本身的含义。位置嵌入,词语的位置信息。段嵌入,区分两个句子

BERT内部处理

多头自注意力,同时从多个角度分析句子。层层深入,经过多个transformer编码层

微调阶段,适应具体任务

两种输出方式

[CLS] 表示 包含整个句子的综合信息,适合句子级任务(分类、相似度)

 每个词的表示 包含该词的上下文信息,适合词级任务(命名实体识别、问答)

BERT 的优势:上下文理解,少样本学习,通用性强

MoE

保持参数很大,但每次只激活部分参数。

构成:专家网络,多个独立子网络,每个都是某个领域的专家。门控网络,负责分配任务

MoE在Transformer中的实现:替换前馈网络

MoE训练挑战与解决方案,负载均衡问题,鼓励门控网络均匀分配任务。专家专业化,每个专家看到不同类型的数据,通过路由机制自然形成专业分工

优势:计算效率,模型容量,自然专业化

局限性:训练难度,通信开销,内存占用

人工智能开发框架

人工智能框架

AI开发框架:应用开发三个部分硬件使能,ai框架,算法应用

硬件使能,调取AI芯片的算力。算法应用,设计的学习算法和业务逻辑

AI框架提供:自动化数据处理。开发接口,为开发者提供统一的AI开发全流程接口。调试调优,可视化与调试工具。编译执行。推理部署。提供额外的工具链

作用:

1. 「数学计算器」作用 - 自动求导

没有框架时:手动计算成千上万个参数的梯度 😫(像用手算1000位的除法)

有框架时: 一句话,自动算出所有梯度 ✅

作用:把开发者从复杂的微积分计算中解放出来

2. 「硬件管理员」作用 - GPU加速

没有框架时:要自己写CUDA代码,管理GPU内存 😫(像要自己造发动机才能开车)

有框架时:一句话,模型自动在GPU上运行 

作用:自动利用GPU/TPU等硬件,让计算快几百倍。

3. 「乐高积木」作用 - 预制组件

没有框架时:从零开始写卷积层、注意力机制 😫(像要自己烧砖头才能盖房子)

有框架时:直接使用现成的卷积层 、 直接使用Transformer 

作用:提供各种现成的神经网络组件,像搭积木一样构建模型。

4. 「数据流水线」作用 - 高效数据管理

没有框架时:自己写数据加载、批处理、缓存逻辑 😫

有框架时:自动高效数据流水线 

作用:自动处理大数据集,优化数据流动,不让GPU等数据。

5. 「实验记录员」作用 - 训练监控

没有框架时:手动记录损失值、画学习曲线 😫

有框架时: 自动记录所有训练过程 

作用:自动监控训练过程,可视化学习状态。

6. 「格式转换器」作用 - 模型部署

没有框架时:训练模型和部署模型是两套系统 😫

有框架时: 训练好的模型一键保存,转换为手机可用的格式 

作用:打通从训练到部署的全流程。

7. 「标准制定者」作用 - 代码共享

没有框架时:研究者A用Matlab代码,研究者B用C++代码,无法互相理解 😫

有框架时:全世界研究者都用PyTorch/TensorFlow,代码可以轻松复用 

作用:建立行业标准,促进知识共享和合作。

 没有框架 = 从种菜开始,自己磨面粉,自己杀猪

有框架 = 在超市买现成食材,直接开始烹饪

张量(深度学习的通用语言)

本质上是多维数组

属性:1. 形状     - 每个维度的大小
2. 数据类型 - 张量中元素的类型  

浮点类型,整数类型,布尔类型

有符号整数类型

int8 8位 -128 到 127 模型量化、嵌入式部署
int16 16位 -32,768 到 32,767 音频处理、信号处理
int32 32位 -2³¹ 到 2³¹-1 通用整数计算
int64 64位 -2⁶³ 到 2⁶³-1 索引、标签、大数计算

无符号整数类型

uint8 8位 0 到 255 图像像素值、模型量化
uint16 16位 0 到 65,535 医学影像、高动态范围图像
uint32 32位 0 到 2³²-1 大规模计数
uint64 64位 0 到 2⁶⁴-1 超大数统计

标准浮点类型

float16 half 16位 半精度 2字节 混合精度训练、移动端

bfloat16 brain float16 16位 降低精度 2字节 AI专用、保持数值范围

float32 float 32位 单精度 4字节 默认类型、最常用

float64 double 64位 双精度 8字节 科学计算、高精度需求

复数类型

complex64 两个float32 64位 信号处理、傅里叶变换

complex128 两个float64 128位 科学计算、物理仿真

布尔值


3. 存储位置    - 张量存储的位置,如NPU,GPU
4. 秩或维数    - 标量为0向量为1
5. 名字      - 张量标识符

最外层有2个元素(即两个子张量)。

每个子张量有2个元素(即两个行或列)。

 每个元素有2个数值。

标量是0阶张量,向量是1阶张量,矩阵是2阶张量,而张量可以推广到任意阶(N阶)。

数据加载,加载后的数据以张量形式出现

两种格式的概览

MindRecord(华为)

华为MindSpore框架的专用数据格式

特点:为昇腾芯片优化,端边云统一格式
目标:提升训练性能,简化数据管理

TFRecord(Google)

TensorFlow的高效数据存储格式

 特点:工业级稳定,生态系统完善
目标:解决大数据集加载性能问题

文件模式

PyTorch: .pth, .pt (使用 torch.save())

TensorFlow: .h5, .pb, SavedModel 目录

ONNX: .onnx (跨框架通用格式)

Scikit-learn: .pkl, .joblib

Hugging Face: 整个模型目录

checpoint检查点

包括模型参数(权重和偏置),优化器状态(学习率,动量等),训练进度(当前训练的轮次,批次等),超参数(损失函数,网络结构等)

计算图

计算图 = 节点(Node) + 边(Edge)

节点:表示运算操作(加法、乘法、卷积等)
边:表示数据流动(张量)

前向传播就是按照箭头方向一步步计算,每一步都依赖前一步的结果,不能跳着来。

反向传播就是如果改变最终结果,每个因素应该调整多少

静态计算图详解

静态计算图就像建筑施工:先画完整蓝图 → 然后按图施工
一旦开工就不能修改设计
所有结构、管道、电路都要提前规划好

特征

1. 先定义,后执行

2. 不可变性图结构在运行前固定,运行时不能添加/删除节点,像模具一样,每次注入不同的数据

工作流程:图构建(设计蓝图)
程序员定义 → 框架解析 → 生成计算图 → 优化图结构

图执行(按图施工)
输入数据 → 执行计算图 → 输出结果

同样的计算结构,不同的输入数据

优化过程就像工厂流水线优化

优化前:
原料 → 工序A → 工序B → 工序C → 工序D → 成品

优化后:
原料 → [工序A+工序B合并] → [工序C优化] → [工序D并行] → 成品

具体优化技术:

1. 操作融合
原始:ReLU → BatchNorm → Conv2D
优化后:Fused_Conv_BN_ReLU(一个操作)

2. 常量折叠
原始:计算 x = 2 + 3 → y = x * 4
优化后:直接 y = 20

3. 内存优化

· 预先分配所有张量内存
· 重用内存空间
· 消除临时变量

优势:性能高,比动态图快2-5倍。部署友好一次构建,到处运行。内存高效,提前规划内存使用,知道每个操作需要多少内存,可以重用内存空间,避免内存碎片。跨平台支持,同一个计算图可以编译为CPU指令,GPU CUDA内核,手机NPU代码,专用AI芯片指令

局限性:调试困难。灵活性差,无法处理动态结构。开发体验差

"隔山打牛"式编程:
写代码 → 编译图 → 运行 → 看结果 → 修改代码 → 重新编译...

适用场景:模型结构固定,性能要求极高,需要跨平台部署,大规模生产环境

 动态计算图

动态计算图就像即兴表演

工作方式:即时构建,即时执行

灵活性:条件计算,可变长度处理

同一批改流程,但根据输入长度动态调整深度

动态控制流

构建过程像搭积木

优势:调试直观,开发友好,处理复杂逻辑

 局限性:性能开销,优化困难 - 像自由绘画,部署复杂

应用:自然语言对话,科学研究探索,原型开发

混合精度训练

AI芯片

AI芯片是专门为执行人工智能(尤其是机器学习和深度学习)算法而设计和优化的处理器。

核心思想: 随着AI模型变得越来越大(例如拥有万亿参数),通用CPU的计算效率太低、功耗太大。因此,我们需要为AI“定制”硬件,这就是AI芯片诞生的根本原因。

AI芯片诞生原因

1. 海量并行计算: 深度学习的核心运算是矩阵乘法和加法,这些运算可以高度并行化。通用CPU(只有几个到几十个核心)不擅长这个,而AI芯片(如GPU有数千个核心)可以同时处理成千上万个计算任务。
2. 能效比: 在数据中心,电力成本是巨大的开销。专用的AI芯片在执行相同AI任务时,其“性能/功耗比”远高于CPU,这意味着用更少的电完成更多的工作。
3. 内存带宽: 大型AI模型需要频繁地在处理器和内存之间搬运海量数据(权重和激活值)。AI芯片通常配备了高带宽内存(HBM),就像修建了更宽的高速公路,让数据流通不再拥堵。
4. 专用指令集和架构: AI芯片的指令集非常简单直接,就是为“乘加运算”等AI核心操作优化的。一些芯片还采用了存算一体等新颖架构,进一步减少数据搬运,提升效率。

 AI芯片的主要类型与技术路线

· GPU(图形处理器):
· 代表: NVIDIA的A100、H100;AMD的MI300系列。
· 特点: 目前AI训练领域绝对的主导者。拥有数千个计算核心,极其擅长大规模的并行浮点运算。CUDA生态是NVIDIA牢不可破的护城河。
· 适用场景: 大型模型的训练、高性能计算(HPC)。
· ASIC(专用集成电路):
· 代表: Google的TPU(张量处理器),华为的昇腾(Ascend),寒武纪的思元。
· 特点: 为特定AI任务(尤其是推理)量身定做的芯片。一旦设计完成,无法更改。优点是性能极强、能效比极高;缺点是研发成本高、周期长,灵活性差。
· 适用场景: 数据中心的AI推理、特定云端AI服务(如Google Search、Translate)。
· FPGA(现场可编程门阵列):
· 代表: 英特尔(收购了Altera)、赛灵思(已被AMD收购)。
· 特点: 硬件逻辑可以通过编程重复配置,灵活性介于GPU和ASIC之间。可以快速为特定的AI算法进行硬件优化。
· 适用场景: 算法还在快速迭代的领域、原型验证、小批量部署、网络加速。
· NPU(神经网络处理器):
· 代表: 苹果的A系列/M系列芯片、高通骁龙芯片、华为麒麟芯片中的NPU模块。
· 特点: 一种通常作为协处理器集成在SoC(系统级芯片)中的AI加速核心。专门用于加速手机、平板等终端设备上的AI应用。
· 适用场景: 智能手机上的照片增强、语音助手、人脸解锁等。

 按应用场景划分AI

· 云端AI芯片:
· 部署在数据中心,功能强大,功耗也高。主要用于训练复杂的AI模型,以及进行大规模并发的推理服务(比如同时处理成千上万个用户的AI绘图请求)。
· 代表: NVIDIA H100, Google TPU v4, 华为昇腾910。
· 边缘端AI芯片:
· 部署在终端设备上,如手机、摄像头、汽车、智能音箱等。更注重低功耗、低延迟、低成本和实时性。
· 代表: 手机SoC中的NPU,特斯拉的FSD芯片(用于自动驾驶),地平线的征程系列。

AI芯片面临的挑战

1. “内存墙”问题:
· 挑战: 计算单元的增速远高于内存带宽的增速。数据从内存搬到计算单元的时间,成为了主要的性能瓶颈。
2. 软件生态的构建:
· 挑战: 硬件再强大,如果没有易用的软件和编译器,开发者也不会用。NVIDIA的成功很大程度上归功于CUDA生态。
3. 能效比的极致追求:
· 挑战: AI模型的能耗越来越大,无论是为了环保还是降低成本,提升能效比都是核心目标。
4. 专用化与通用化的平衡:
· 未来可能会呈现“百花齐放”的局面:在云端,通用性强的GPU和专用性强的ASIC将长期共存;在边缘端,高度定制化的NPU/ASIC将成为主流。

AI芯片分类

架构分类

1.控制流(指令流)架构
· 描述:程序的执行由一个程序计数器(PC)控制,CPU从内存中取指令,解码并执行。执行顺序由控制逻辑(分支、跳转)决定。
· 特点:通用、灵活,但对于大规模并行数据计算效率较低。
2.数据流架构
· 描述:指令的执行由数据的可用性驱动。当一个操作的所有输入数据都准备就绪时,该操作就会被触发执行。计算图被直接映射到硬件上。

业务作用分类

训练芯片:学习创造模型

推理芯片:执行应用模型

应用场景与部署环境

云端

优势:弹性伸缩:按需使用,应对业务高峰。 免运维:无需管理硬件。 技术前沿:总能用到最新的算力。

业务挑战:网络依赖:必须有稳定网络。 数据安全:敏感数据需出域(合规风险)。 长期成本:大规模使用时,累积成本可能较高。

典型场景:• SaaS服务(如Office 365 Copilot) • 互联网大数据分析 • 社交媒体内容审核

边缘

优势:低延迟:响应极快,满足实时控制。 数据本地化:敏感数据不出厂/不出车,安全合规。 高可靠性:不受网络波动影响。

业务挑战:管理复杂:需要管理分布各地的硬件节点。 资源受限:算力、存储、功耗有上限。 升级困难:软件和模型更新不便。

典型场景:• 智能制造 • 智慧矿山 • 自动驾驶 • 智慧门店

终端

优势:极致实时:无任何延迟。 隐私保护:数据在本地处理。 永不掉线:无需网络连接。

业务挑战:极度资源受限:受限于电池、体积和成本。 算力有限:只能运行轻量级模型。

典型场景:• 智能手机(拍照、语音助手) • 智能手表(健康监测) • 智能家居设备

FPGA与ASIC

FPGA:硬件领域的“软件”

FPGA内部由大量的可配置逻辑块、布线资源和输入输出块组成。你可以通过硬件描述语言(如Verilog, VHDL)来“编程”,定义这些逻辑块之间的连接关系和功能,从而在芯片内部“搭建”出一个专用的数字电路。

· 优点:
· 快速上市:无需漫长的芯片制造过程。
· 灵活性无敌:今天可以是视频处理器,明天可以重配置为网络数据包处理器。
· 无一次性工程费用:没有动辄上千万的流片成本。
· 缺点:
· 性能/功耗劣势:你的“定制电路”是运行在通用可编程架构之上的,必然存在速度和能效的损失。
· 单位成本高:相比于ASIC,处理同样任务的FPGA芯片价格更贵。

ASIC:终极优化的“硬连线”

ASIC是为一个特定应用从头开始设计的芯片。它的每一颗晶体管、每一条电路走线都是为了实现那个唯一的功能而优化的。

· 优点:
· 性能王者:运行速度最快。
· 能效冠军:功耗最低。
· 成本杀手:在大规模生产时,单个芯片的成本可以降到极低。
· 缺点:
· 高昂的NRE成本:一次性工程费用极高,包括设计、验证、流片等,可能高达数千万美元。
· 不灵活:设计错误或功能变更意味着重新开始整个昂贵且漫长的流程,风险巨大。
· 开发周期长:从设计到量产可能需要1-2年甚至更久。

通用计算与AI计算

通用计算

通用计算 的核心是多样性和逻辑复杂性。它需要处理各种不可预测的任务,比如你点击鼠标、打开网页、编译代码,每个操作的流程和所需资源都不同。CPU作为通用计算的代表,其强大的控制单元和缓存系统就是为了高效处理这种复杂逻辑和随机访问而设计的。
· 通用计算(控制流):
驱动方式:由指令序列(程序) 驱动。CPU有一个程序计数器,按照指令顺序执行,遇到if/else、for循环等会进行跳转。
比喻:像一个严格的食谱,你必须按步骤一、二、三...来操作,中间可能会根据情况(比如“尝尝咸淡”)跳转到其他步骤。
通用计算 追求指令级并行,通过流水线、乱序执行、超标量等技术,让一个CPU核心在一个时刻尽可能多地执行指令。它像是一个深度挖掘的过程。

通用计算 必须100%精确。在银行交易中,1+1必须等于2,不能是2.0001。它使用高精度数据类型(如FP64, INT64)来保证正确性。
通用计算 的内存访问是不规则且难以预测的,这导致了大量的缓存失效,从而等待数据从主内存中读取,这是性能的主要瓶颈之一。

总结:优势:灵活性高、通用性强、擅长处理复杂逻辑和串行任务。 并行吞吐量巨大、能效比极高、专为大规模数值计算优化。
劣势:处理大规模并行计算时效率低、能耗高。 处理复杂逻辑和控制任务时非常笨拙甚至无法完成。

AI计算

AI计算 的核心是单一性和计算强度。它的任务非常明确: primarily 线性代数 运算,特别是矩阵乘法和卷积。这些运算可以分解为海量相同的“乘加运算”(MACC)。AI加速器(如GPU、TPU)的设计目标就是让这些乘加运算以最高的并行度和能效去执行。

AI计算(数据流):

  · 驱动方式:由数据可用性驱动。当一个计算节点的所有输入数据都准备好时,该节点就被触发执行。深度学习模型的计算图天然就是数据流图。

  · 比喻:像一条工厂流水线。原材料(数据)从一头进去,经过多个工位(处理单元)的加工,最终成品从另一头出来。每个工位只在收到上游的半成品时才开始工作。

AI计算 追求数据级并行,通过集成成千上万个简单的计算核心,让它们在同一时刻处理不同的数据。它像是一个广撒网的过程。一个GPU可以有5000个核心,同时处理5000个数据。

AI计算 具有内在容错性。神经网络通过统计概率工作,识别一只猫不需要像素级的完美计算。轻微的数值波动对最终结果影响很小。因此,AI计算可以大量使用FP16、BF16、INT8等低精度格式,这能大幅提升计算速度和能效(计算单元更小,数据搬运量更少)。

AI计算 的内存访问是规则且可预测的。矩阵运算需要连续地从内存中读取数据块。这种模式使得硬件可以进行预取,并将数据高效地分发到数千个计算核心上,极大地利用了内存带宽。

 

其他:

CANN中提供了DVPP和AIPP,。DVPP主要用于图像和视频数据的预处理,而不是语音处理。语音处理通常使用其他专用模块。而AIPP使用AI Core对图像进行处理

RNN顺序处理,计算时并行度较低Self-Attention在Transformer中可以同时处理序列中的所有位置

TensorFlow使用数据流图描述计算过程

TensorFlow 2.x特点:灵活,直观

升腾AI软件栈中MindStudio属于异构计算架构

Mindspeed使用NPU算力集群

SDN即软件定义网络。它是一种革命性的网络架构,其核心思想是将网络的控制平面与数据转发平面分离开来,并通过一个集中的控制器来对整个网络进行统一的、灵活的智能管理和控制。

传统网络:它们根据预设的、固定的规则独立工作,无法感知整个网络状况。

SDN能看到所有网络的实时信息,并根据实际情况动态地、智能地调整,从而实现全局最优。

RLHF 强化学习方法,主要用于优化模型行为

DBSCAN 密度聚类算法,属于无监督学习

Stacking集成学习策略

盘古大模型按照层级可划分为:行业模型,基础模型,场景模型

Mindspore支持端-边-云按需协作的关键作用:统一模型IR,云端协同Federal Meta Learning,软硬协同的图优化技术

数据选项决定了模型性能的上限

自然语言处理主要是处理语言,不包括图像

AI core数据通路多进单出

知识蒸馏的目标,就是让学生模型通过向教师模型学习,在保持自身小巧高效的同时,性能尽可能地接近强大的教师模型。

学习被形式化定义,设计关键要素

任务,经验,性能度量,假设空间,学习算法

 

——喜欢记得关注收藏

 

 

 

http://www.dtcms.com/a/617891.html

相关文章:

  • 海南城乡建设厅网站百度竞价关键词查询
  • QT开发——常用控件(2)
  • 【Java架构师体系课 | MySQL篇】⑥ 索引优化实战二
  • Spring Boot、Redis、RabbitMQ 在项目中的核心作用详解
  • 做完整的网站设计需要的技术长治建立公司网站的步骤
  • 南宁京象建站公司网站建设留言板实验心得
  • AI、LLM全景图
  • pip升级已安装包方法详解
  • 【Linux日新月异(六)】CentOS 7网络命令深度解析:从传统到现代网络管理
  • LangChain 构建 AI 代理(Agent)
  • 人工智能训练师备考——3.1.1题解
  • 【RL】ORPO: Monolithic Preference Optimization without Reference Model
  • 公益平台网站怎么做网站跳出
  • QT的5种标准对话框
  • 用Rust构建一个OCR命令行工具
  • 网站代码大全国内网站设计作品欣赏
  • LeetCode 热题 100——子串——滑动窗口最大值
  • CPP(容器)STL:
  • 【Java常用API】----- Math
  • RAG 系统 “检索 - 筛选 - 生成” 完整流程
  • 时间复杂度 和 嵌入式时钟概念 有关系。 我的理由是:时钟经常需要计算频率,而频率往往需要和时间进行计数次数i 。 时间复杂度就像是计数次数i
  • 公司做普通网站建立网站地图
  • Java 大视界 -- Java 大数据在智能农业病虫害精准识别与绿色防控中的创新应用
  • 【高并发架构】从 0 到亿,从单机部署到 K8s 编排:高并发架构的 8 级演进之路
  • 基于Streamlit的交互式3D手指运动学仿真
  • 甘肃做网站找谁金种子酒业网站建设
  • 使用 Flink CDC Elasticsearch Pipeline Connector 打通 MySQL 与 Elasticsearch 的实时链路
  • 基于视频识别的大模型项目实战心得
  • Firefly-Modeler 体积雕刻:AI 概念到 3D 基模
  • 提示词工程 - (2) 指南