Hello Ai

为新生构建的可视化的入门AI学习指南,涵盖机器学习、深度学习、强化学习,神经网络,LLM,Ai安全与红队测试

基础概念

掌握AI、ML与DL的核心理论与关系

算法解析

详解各类机器学习算法原理与应用

安全实践

深入了解AI安全与红队测试技术

人工智能与机器学习

人工智能(AI)

人工智能(AI)是开发具备认知能力、能执行类人智能任务的系统的学科。其关键领域包括:

  • 自然语言处理(NLP):理解、解释和生成人类语言
  • 计算机视觉:解读图像和视频内容
  • 机器人学:研发能执行各种任务的机器人
  • 专家系统:模拟人类专家的决策过程

AI旨在增强人类能力,系统可提升决策效率,支持数据分析、预测和自动化。AI解决多个领域的复杂问题:

医疗

优化诊断流程,加速药物研发

金融

检测欺诈行为,优化投资策略

网络安全

识别并缓解网络威胁

机器学习(ML)

机器学习是AI的子领域,专注于构建能从数据中学习并提升性能的系统,无需显式编程。ML算法使用统计技术识别数据模式,通过分析数据集不断改进性能,是AI应用的核心技术。

机器学习的三大类型

监督学习

从标记数据中学习,数据点与已知输出相关联。算法分析输入与标签关系建立预测模型。

应用:图像分类、垃圾邮件检测、防欺诈
无监督学习

从无标签数据中学习,挖掘数据内在结构或模式。

应用:客户细分、异常检测、降维
强化学习

通过与环境互动,在试错中学习。算法根据结果获得奖励或惩罚,优化策略。

应用:玩游戏、机器人控制、自动驾驶

ML的应用领域

医疗健康
金融
营销
网络安全
交通

ML是AI的核心驱动力,其学习与适应能力是智能系统的基础。

深度学习(DL)

深度学习是ML的子领域,使用多层神经网络从复杂数据中学习特征。它能自动识别大数据集中的复杂模式,特别擅长处理非结构化或高维数据。

主要特征

  • 分层特征学习:模型学习数据的层次化表征
  • 端到端学习:支持原始输入到最终输出的直接映射
  • 可扩展性:能利用大规模数据和计算资源

常用的神经网络类型

卷积神经网络(CNN)

为图像/视频设计,专注检测局部模式

循环神经网络(RNN)

适用于序列数据,保留时序信息

变换器(Transformer)

尤其适用于NLP,通过自注意力处理远距离依赖

深度学习的变革性影响

DL在多个领域达到了SOTA(最先进水平)性能:

计算机视觉

  • 图像分类
  • 物体检测
  • 图像分割

自然语言处理

  • 情感分析
  • 机器翻译
  • 文本生成

语音识别

  • 语音转录
  • 语音合成

强化学习

  • 训练智能体执行复杂任务

AI、ML与DL的关系

人工智能(AI)
机器学习(ML)
深度学习(DL)

ML和DL是AI的子领域,共同赋予系统学习和决策能力

ML和DL是AI的支柱。ML算法(包括DL)使机器能够识别模式、提取特征并做出决策。不同类型的ML技术共同推动AI目标的实现。例如:

  • 计算机视觉:监督学习结合CNN使机器能够解读图像
  • 自然语言处理(NLP):传统ML与DL模型共同实现语言理解与生成

DL通过强大的特征提取能力增强ML性能,尤其在处理复杂非结构化数据方面表现突出。

ML、DL与AI的协同作用

ML、DL与AI协作解决复杂问题:

自动驾驶

ML与DL处理传感器数据、识别物体并作出决策

机器人学

强化学习训练机器人执行各种任务

ML与DL的结合极大提升了AI的潜力,推动技术进步,增强人类能力。这种协同效应不断推动AI前沿研究的发展。

人工智能数学复习

本节回顾AI学习中的关键数学概念,供学习参考。

基本算术运算

  • 乘法 ( * ) 3 * 4 = 12
  • 除法 ( / ) 10 / 2 = 5
  • 加法 ( + ) 5 + 3 = 8
  • 减法 ( - ) 9 - 4 = 5

代数符号

  • 下标符号 ( x_t ) 索引变量
  • 上标符号 ( xⁿ ) 指数
  • 范数 ( ||...|| ) 衡量向量大小
  • 求和符号 ( Σ ) 一系列项的和

对数与指数

  • 对数(基2) log₂(8) = 3
  • 自然对数 ln(e²) = 2
  • 指数函数 e² ≈ 7.389
  • 指数函数(基2) 2³ = 8

矩阵与向量运算

  • 矩阵-向量乘法 ( A * v ) 线性代数核心
  • 矩阵-矩阵乘法 ( A * B ) 用于线性变换、深度学习
  • 转置 ( Aᵀ ) 矩阵行列互换
  • 逆矩阵 ( A⁻¹ ) 满足 A * A⁻¹ = I 的矩阵

集合论

  • 基数 ( |S| ) |{1..5}| = 5
  • 并集 ( ∪ ) {1,2,3} ∪ {3,4,5} = {1..5}
  • 交集 ( ∩ ) {1,2,3} ∩ {3,4,5} = {3}
  • 补集 ( Aᶜ ) U={1..5}, A={1,2,3} → Aᶜ = {4,5}

比较运算符

  • 大于或等于 ( >= )
  • 小于或等于 ( <= )
  • 相等 ( == )
  • 不等 ( != )

特征值与特征向量

  • 特征值 ( λ )
    线性变换的标量参数,满足 A * v = λ * v
  • 特征向量
    满足 A * v = λ * v 的非零向量,用于降维(如PCA)

函数与概率

  • 函数 ( f(x) ) f(x) = x² + 2x + 1
  • 条件概率 ( P(x | y) ) 给定y时x的概率
  • 期望 ( E[...] ) 随机变量平均值
  • 方差 ( Var(X) ) 衡量数据离散度

监督学习算法

监督学习使系统能够从标记数据中学习并预测新数据。算法学习输入和输出之间的映射函数,并能够泛化到新的实例。

监督学习的工作原理

算法通过标记数据训练模型来预测新的标签。训练过程中不断调整参数以减少预测误差。

监督学习主要分两类

  • 分类:预测离散类别(如垃圾邮件检测)
  • 回归:预测连续值(如房价预测)

核心流程图

训练数据
模型训练
预测

监督学习的核心概念

训练数据

标记数据,包含输入特征和对应输出标签。其质量和数量影响模型性能。

特征

数据的可测量属性,作为模型的输入。特征选择和工程是关键步骤。

标签

训练数据对应的已知结果,是模型需要预测的"正确答案"。

模型

特征与标签关系的数学表达。可以是简单线性模型或复杂神经网络。

训练

输入训练数据,优化模型参数,减少预测误差的过程。

预测

使用训练后的模型预测新数据的标签。

模型评估与优化

评估指标

  • 准确率:正确预测的比例
  • 精确率:正预测中真正例的比例
  • 召回率:实际正例中正确预测的比例
  • F1分数:精确率与召回率的调和平均

优化技术

  • 交叉验证:评估模型泛化能力的技术
  • 正则化:防止过拟合的技术,包括L1和L2正则化
  • 过拟合防控:模型对训练数据学习过度,泛化能力下降
  • 欠拟合检测:模型过于简单,无法捕捉数据模式

线性回归

线性回归是最基础的监督学习算法,旨在建立输入特征与连续目标变量之间的线性关系。其目标是找到"最佳拟合线",使预测值与实际值之间的平方差和最小。

什么是回归?

回归分析预测连续目标变量,输出值可以在一个范围内取任何值。

回归示例

  • 预测房价
  • 预测气温
  • 估算网站访客数量

线性回归假设变量间存在线性关系。

线性回归寻找最佳拟合线

y = mx + c

简单线性回归

一个预测变量和一个目标变量。关系用线性方程表示:

y = mx + c

其中,y是目标变量,x是预测变量,m是斜率,c是截距。

算法的目标是找到最优的m和c,使预测误差最小化。常用普通最小二乘法(OLS)。

多元线性回归

有多个预测变量。方程扩展为:

y = b₀ + b₁x₁ + b₂x₂ + ... + bₙxₙ

其中,b₀是截距,b₁, b₂, ..., bₙ是各预测变量的系数。

普通最小二乘法(OLS)

OLS估计线性回归系数的最优值。目标是最小化残差平方和(RSS)。换句话说,找到一条直线,使数据点到线的"平方距离"之和最小。

OLS过程

  1. 计算残差(预测值与实际值之差)
  2. 残差平方(消除正负号)
  3. 求和(RSS)
  4. 最小化RSS:调整系数找到最小值

线性回归的假设

  • 线性:预测变量与目标变量之间存在线性关系
  • 独立性:观测值相互独立
  • 同方差性:误差的方差在所有预测变量值上恒定
  • 正态性:误差服从正态分布

应用前需验证这些假设。

逻辑回归

逻辑回归是一种分类算法,用于预测二元结果(0/1)。尽管名称中包含"回归",但它实际上是一种分类方法。

逻辑回归通过sigmoid函数建模目标属于某类的概率,将输入特征的线性组合映射为0到1之间的值。

什么是分类?

分类将数据点分配到特定类别,输出离散标签。

分类示例

  • 识别欺诈交易
  • 分类动物图像
  • 诊断疾病

逻辑回归的工作原理

逻辑回归输出概率分数。通过sigmoid函数将线性组合映射到0-1范围。

y = 1
y = 0

Sigmoid函数

P(x) = 1 / (1 + e⁻ᶻ)

Sigmoid函数

S形函数,表达式:

P(x) = 1 / (1 + e⁻ᶻ)

其中z是特征与权重的线性组合:z = w₀ + w₁x₁ + w₂x₂ + ... + wₙxₙ

决策边界

逻辑回归的关键概念。在二维空间中表现为一条直线;在高维中表现为超平面,划分正类和负类。

根据预测概率划分类别

逻辑回归通过预测概率进行分类。关键是设置阈值概率。

阈值默认0.5,可调整:

  • 若 P(x) > 阈值,归为正类("1")
  • 若 P(x) < 阈值,归为负类("0")

数据假设

逻辑回归有以下假设:

二元结果

目标变量须为二分类

对数几率线性

预测变量与结果对数几率间呈线性关系

无多重共线性

预测变量间避免高度相关

样本量充足

每类样本数应足够多

应用前验证这些假设。

决策树

决策树是一种监督学习算法,适用于分类和回归任务。它以树状结构表示决策过程,直观易懂。通过学习一系列决策规则,决策树可以预测目标变量的值。

决策树的结构

  • 根节点:树的起点,包含整个数据集
  • 内部节点:代表特征或属性,根据规则分支
  • 叶节点:终端节点,表示预测结果

决策树示例

天气如何?
温度?
不打球
打球
不打球

"打网球" 决策树示例

构建决策树

核心是在每个节点选择最佳特征来分割数据。依据是像基尼不纯度或信息增益这样的指标,目标是生成纯度更高的子集。

基尼不纯度

衡量随机抽取元素被错误分类的概率,值越低表示越纯。

Gini = 1 - Σ pᵢ²

衡量数据集的无序度,值越低表示越同质。

Entropy = - Σ pᵢ * log₂(pᵢ)

信息增益

衡量分割后熵的减少量,选择增益最高的特征进行分割。

InfoGain(S, A) = Entropy(S) - Σ (|Sᵥ| / |S|) * Entropy(Sᵥ)

构建过程

从根节点开始,选择最佳特征作为内部节点,创建分支划分数据。过程递归进行,直到满足停止条件:

  • 达到最大深度
  • 节点包含最小样本数
  • 节点内样本全部属于同一类(纯节点)

"打网球"示例:决策树的工作原理解析

数据集记录天气情况及是否打网球。特征包括:天气展望、温度、湿度、风力。目标变量是"打网球"(是/否)。决策树算法分析数据,找到最佳分割特征(基于信息增益或基尼不纯度)。例如,根节点可能基于"天气展望"生成三个分支。对每个子集继续分析最佳特征,递归进行直至满足停止条件,最终生成完整的树状结构。

数据假设

决策树对数据假设要求较低:

  • 无需线性假设
  • 无需正态性假设
  • 对异常值较为鲁棒

这使得决策树具有较高的通用性。

朴素贝叶斯

朴素贝叶斯(Naive Bayes)是一种基于概率的分类算法,基于贝叶斯定理。因其简单高效而广受欢迎,尤其在文本分类任务中表现出色。

贝叶斯定理解析

贝叶斯定理提供了一种根据新证据更新信念(概率)的方法。它计算在给定证据B的情况下,假设A成立的条件概率。

P(A|B) = (P(B|A) * P(A)) / P(B)

其中:

  • P(A|B):后验概率 - 在观察到B后,A的概率
  • P(B|A):似然概率 - 在A为真时观察到B的概率
  • P(A):先验概率 - A的初始概率
  • P(B):边缘概率 - B的概率

贝叶斯定理直观理解

如果90%的癌症患者测试呈阳性,5%的健康人也测试呈阳性,且总人群中1%有癌症,那么测试呈阳性的人真正患癌的概率是多少?

应用贝叶斯定理:P(癌症|阳性) = (P(阳性|癌症) * P(癌症)) / P(阳性) = (0.9 * 0.01) / (0.9 * 0.01 + 0.05 * 0.99) ≈ 15.4%

这个例子展示了如何使用贝叶斯定理更新我们对事件概率的判断。尽管测试准确率很高,但因为疾病本身很罕见(先验概率低),导致阳性预测值并不高。

朴素贝叶斯的工作原理

基于贝叶斯定理,朴素贝叶斯预测数据点属于某一类别的概率。"朴素"指的是假设特征之间条件独立。

工作流程

  1. 计算先验概率 P(类别)
  2. 计算似然概率 P(特征|类别)
  3. 应用贝叶斯定理计算后验概率 P(类别|特征) = (P(特征|类别) * P(类别)) / P(特征)
  4. 预测类别:将数据点归类到后验概率最高的类别

尽管特征独立的假设在现实中往往不成立,但朴素贝叶斯在实践中仍表现出色。

朴素贝叶斯分类器的类型

高斯朴素贝叶斯

用于连续特征,假定特征符合高斯(正态)分布

多项式朴素贝叶斯

用于离散特征(如文档中的词频)

伯努利朴素贝叶斯

专为二元特征设计(如词是否出现)

选择哪种变体取决于数据特性。

数据假设

  • 特征独立性:核心假设,简化计算过程
  • 数据分布:分类器选择取决于特征分布假设
  • 足够的训练数据:有助于更准确地估计概率

应用前需验证这些假设。

支持向量机(SVM)

支持向量机(SVM)是一种监督学习算法,适用于分类和回归任务。它特别擅长处理高维数据以及复杂的非线性关系。SVM的目标是找到最优超平面,最大化不同类别数据点之间的间隔。

最大化间隔

SVM的关键在于找到能最大化间隔的超平面。"间隔"是指超平面与各类最近点(支持向量)之间的距离。

最大化间隔有助于构建稳健的决策边界,提高模型的泛化能力。

SVM寻找最大间隔超平面

线性SVM

当数据线性可分时使用。目标是找到最优超平面,最大化间隔,同时正确分类训练样本。

寻找最优超平面

最优超平面是能够最大化不同类别最近点之间距离的分隔线/面。最大化间隔旨在打造鲁棒的分类器。

w · x + b = 0

SVM通过训练优化参数w和b。

非线性SVM

当数据非线性可分时使用。

核方法(Kernel Trick)

核方法使用核函数将数据映射到更高维的空间,使其在高维空间中线性可分。

常用核函数类型

  • 多项式核
  • 径向基函数(RBF)核:最通用
  • Sigmoid核

选择合适的核函数需要考虑数据特性。

图像分类应用

非线性SVM特别适用于图像分类等复杂模式识别任务。

SVM优化原理

约束优化问题:

最小化 1/2 ||w||²
约束条件: ∀i, yᵢ(w·xᵢ + b) ≥ 1

算法特性优势

  • 无分布假设:不假设数据遵循特定分布
  • 高维适应性:在高维空间中表现良好
  • 异常值鲁棒性:对噪声和异常值相对较为鲁棒

SVM是解决困难分类和回归问题的核心工具。

无监督学习算法

无监督学习是探索未标注数据的过程,旨在揭示潜在的模式、结构和关联。与监督学习不同,无监督学习没有预定义的标签。

算法工作原理

无监督学习算法识别数据中的相似性、差异性和潜在模式:

  • 将相似的数据点聚类或聚合
  • 精简变量维度,保留核心信息
  • 检测异常或不寻常的数据点

在标注数据稀缺的情况下,无监督学习特别有价值。

主要任务类型

聚类分析

根据相似性自动分组数据点

  • 按主题归类文献
  • 按消费行为划分用户

维度约简

降低特征维度,保留核心信息

  • 报告提炼摘要
  • 图像有损压缩

异常检测

识别显著偏离常规模式的异常点

  • 金融风控伪钞识别
  • 信用卡反欺诈

核心概念体系

无标注数据

无监督学习的基础。算法依赖数据的固有特征,而非外部标签。

相似性度量

量化数据点之间相似程度的工具:

欧氏距离 多维空间直线距离
余弦相似度 特征向量夹角的余弦值
曼哈顿距离 坐标绝对差之和

聚类特性评估

衡量聚类质量:

  • 内聚度:类内相似度
  • 分离度:类间差异度
  • 评估工具:轮廓系数、戴维斯-堡丁指数

维度问题

高维数据的挑战:

  • 维度灾难:高维数据的挑战,包括计算复杂、数据稀疏
  • 本征维度:数据真实信息含量的潜在维度,降维目标是保持本征维度

异常值处理

识别非典型数据点:

  • 异常点:显著偏离正常模式的数据点
  • 离群值:与主体分布极度偏离的观测点,需区分错误(剔除)或特殊现象

特征标准化

确保不同量纲特征的可比性:

极差归一化 (x - min) / (max - min)
Z-score标准化 (x - μ) / σ

K-Means聚类

K-Means聚类是将数据集按相似性(距离)划分为K个簇的无监督算法。它是最常用的聚类算法之一。

算法步骤

K-Means是一种迭代算法,目标是最小化簇内方差。

  1. 初始化:随机选择K个点作为初始簇中心
  2. 分配:将各点分配至最近的簇中心
  3. 更新:重新计算簇中心(簇内所有点的平均值)
  4. 迭代:重复步骤2和3,直到簇中心稳定

欧氏距离

衡量多维空间两点之间的直线距离。公式:

d(x, y) = √(Σ(xᵢ - yᵢ)²)

1. 初始簇中心

2. 分配到最近簇

3. 更新簇中心

4. 迭代至收敛

选择最佳K值

确定最佳簇数K至关重要。没有通用方法,需结合技术和领域知识。

肘部法则(Elbow Method)

图形技术,可视化簇数与簇内平方和(WCSS)关系,辅助估计最佳K。

  1. 在K值范围内运行K-Means
  2. 计算WCSS(簇内总方差)
  3. 绘制WCSS与K值对比图
  4. 识别"肘点":图中WCSS下降速度显著放缓处,通常为较好K值
K值
WCSS
肘点

轮廓分析(Silhouette Analysis)

提供量化评估不同K值的方法。衡量点与其自身簇及其他簇的相似度。

  1. 在K值范围内运行K-Means
  2. 计算轮廓系数(范围-1到1):
    • 接近1:分配良好
    • 接近0:位于边界
    • 接近-1:可能错分
  3. 计算平均轮廓系数
  4. 选择得分最高的K值
轮廓系数范围
-1
0
1

领域知识与其他考虑因素

领域知识常是选择K值的关键。需考虑问题背景和所需的粒度级别。其他因素包括计算成本和可解释性。

数据假设

  • 簇的形状:假设簇呈球形且大小相近
  • 特征尺度:对特征尺度敏感,需进行标准化
  • 异常值:对异常值敏感,可能影响簇中心位置

主成分分析(PCA)

主成分分析(PCA)是一种降维技术,将高维数据转换为低维表示,同时保留最多的信息。PCA通过识别主成分(捕捉最大方差的原始特征线性组合)来实现这一目标。PCA主要用于特征提取、数据可视化和降噪。

关键概念

  • 方差:衡量数据点分布程度
  • 协方差:衡量两变量之间的关系
  • 特征向量和特征值:特征向量表示主成分方向,特征值表示解释方差大小

PCA算法步骤

  1. 标准化数据
  2. 计算协方差矩阵
  3. 计算特征向量和特征值
  4. 对特征向量排序
  5. 选择主成分(前k个特征向量)
  6. 转换数据:将数据投影到选定主成分上
第一主成分
第二主成分

PCA寻找最大方差方向作为主成分

特征值和特征向量

特征向量是在线性变换时方向不变的特殊向量:A * v = λ * v。特征值(λ)表示缩放因子。

主成分分析中的特征值方程

求解特征值方程获取主成分:

C * v = λ * v

其中,C是协方差矩阵,v是特征向量(主成分方向),λ是特征值(解释方差)。

求解特征值方程

  • 特征值分解(Eigendecomposition)
  • 奇异值分解(SVD):数值上更稳定

选择主成分

按特征值降序排列。前k个特征向量构成新特征空间。原始数据X转为低维表示Y:Y = X * V,其中V是所选特征向量矩阵。

选择成分数量

常用方法是绘制解释方差比例与成分数关系图(scree plot)。选择保留足够信息(如95%)的成分数。

PC1
PC2
PC3
PC4
PC5
解释方差图
解释方差比例

数据假设

  • 线性:假设特征之间存在线性关系
  • 相关性:当特征之间存在相关性时效果最佳
  • 尺度:对特征尺度敏感,需进行标准化

PCA是强大的降维和数据分析技术,广泛应用于各领域。

异常检测

异常检测识别显著偏离正常行为的数据点(离群值),这些可能预示关键事件或问题。

异常分类

异常可分为三类:

点异常

单个数据点明显不同于其他数据

上下文异常

数据点在特定背景下异常

集体异常

一组数据点共同偏离正常模式

异常检测技术

统计方法

假定正常点遵循特定分布,识别偏离点(如Z-score等)

基于聚类方法

识别不属于任何簇或属于小型稀疏簇的点

基于机器学习方法

学习正常模式,识别不符合的点(如单类SVM、孤立森林、LOF)

单类支持向量机

ML算法,学习包围正常数据点的边界,识别边界外点为异常。可用核函数处理非线性。

孤立森林

通过随机分割数据并构建孤立树隔离异常。异常点因"少而不同"路径较短。

L
R

异常点的路径通常较短

局部离群因子

基于密度算法,比较点的局部密度与其邻近点密度识别离群值。

局部可达密度

LOF关键概念,表示点p及其k个邻居的密度关系。公式:

lrd(p) = 1 / (平均reach_dist(p, o))

数据假设

  • 分布假设:部分方法假设正常点遵循特定分布
  • 特征相关性:特征间关系可能影响检测性能
  • 数据标注:部分ML方法需要标注数据进行训练

异常检测能够识别关键的异常模式,广泛应用于安全监控、欺诈检测等领域。

强化学习算法

强化学习(RL)是一种学习方法,智能体(Agent)通过与环境互动,通过试错进行学习。系统通过接收奖励或惩罚反馈来指导学习过程。

强化学习的工作原理

智能体执行行动,环境给予奖励或惩罚作为反馈,引导智能体学习最优策略(使累积奖励最大化)。RL算法分为:

  • 基于模型的RL:学习环境模型,用于预测和规划
  • 无模型RL:直接从经验中学习,不构建环境模型
智能体
环境
行动
状态、奖励

强化学习的基本交互循环

强化学习的核心概念

智能体(Agent)

学习者和决策者。目标是最大化长期累积奖励。

环境(Environment)

智能体运行的外部系统。

状态(State)

环境的当前情况。

行动(Action)

智能体影响环境的举动。

奖励(Reward)

环境的反馈,衡量行动的可取性。

策略(Policy)

智能体从状态到行动的战略。

价值函数(Value Function)

估计特定状态或行动的长期价值,分为状态价值函数和行动价值函数。

折扣因子(Discount Factor, γ)

决定未来回报的当前价值(0-1之间)。

Q-Learning

Q-learning是一种无模型RL算法,通过估计Q值学习最优策略。Q值表示在状态s下采取行动a,并在之后遵循最优策略的预期累积奖励。直接通过试错互动学习。

Q表(Q-Table)

存储所有状态-行动对的Q值,指导决策。

状态/行动 左移 右移 上移 下移
状态1 0.4 0.7 0.1 0.3
状态2 0.2 0.9 0.5 0.1
状态3 0.6 0.3 0.8 0.2

Q值更新规则(贝尔曼方程)

Q(s, a) = Q(s, a) + α [r + γ max(Q(s', a')) - Q(s, a)]

其中:

  • α:学习率
  • r:即时奖励
  • γ:折扣因子
  • s':新状态
  • a':在新状态可能的行动

Q学习算法

迭代过程:行动选择、观察、Q值更新。

  1. 初始化Q表
  2. 选择行动(平衡探索利用)
  3. 采取行动,观察新状态s'和奖励r
  4. 更新Q(s, a)
  5. 更新状态:s ← s'
  6. 迭代:重复2-5步至收敛

探索-利用策略(Exploration-Exploitation Strategies)

Q-learning面临探索(试新行动)与利用(用已知最佳行动)的两难。

ε-贪婪策略(Epsilon-Greedy Strategy)

以概率ε探索,1-ε利用。ε可以随时间调整。

if random() < ε:
    action = random_action() # 探索
else:
    action = argmax(Q(state, :)) # 利用

数据假设

  • 马尔可夫性质:下一状态只取决于当前状态和行动
  • 静态环境:环境动态不随时间变化

Q-learning是强大且通用的算法,无需环境模型即可学习。

SARSA

SARSA是一种无模型RL算法,是同策略算法(学习当前遵循策略的价值)。根据下一状态实际采取的行动a'的Q值进行更新。

SARSA更新规则

Q(s, a) ← Q(s, a) + α [r + γ Q(s', a') - Q(s, a)]

相比Q-learning,SARSA使用实际选择的下一行动a'的Q值,而非最大Q值。这使得SARSA更为保守,适用于需要严格遵守策略的环境。

SARSA算法步骤

  1. 初始化Q表
  2. 选择行动a(基于当前策略的探索利用)
  3. 采取行动a,观察s'和r
  4. 选择下一步行动a'(根据当前策略)
  5. 更新Q(s, a)
  6. 更新状态和行动:s ← s', a ← a'
  7. 迭代:重复2-6步至收敛

策略学习与非策略学习

同策略学习(On-policy)

算法学习当前正在使用的策略的价值。

异策略学习(Off-policy)

算法可以在不考虑当前策略的情况下学习最优策略。

SARSA是同策略学习

更新规则使用(s', a'),这意味着:

  • 学习当前正在使用的策略的价值
  • 更安全和稳定
  • 探索策略直接影响学习过程

SARSA是"边做边学"的算法。

SARSA与Q-learning对比

特性 SARSA Q-learning
学习策略 同策略 异策略
更新依据 实际选择的下一行动 最大Q值行动
行为特性 更保守/安全 更激进/最优
适用场景 安全性要求高的环境 追求最优策略的环境

神经网络

神经网络是深度学习的基础,由多层互连的神经元组成,能够学习复杂的非线性关系。多层神经网络(也称多层感知器MLPs)克服了单层感知器的局限性。

神经元(Neuron)

神经元是神经网络的基本计算单元。每个神经元接收输入,处理这些输入,然后应用激活函数产生输出。

x₁
x₂
x₃
Σ
y
w₁
w₂
w₃

神经网络的层次结构

输入层

数据的入口。每个神经元对应一个输入特征。

隐藏层

网络的核心部分。负责计算和特征提取。多个隐藏层使网络能学习复杂的非线性关系。

输出层

产生最终结果。神经元数量取决于任务类型(如分类器中的类别数)。

输入层
隐藏层1
隐藏层2
输出层

多层结构的优势

多层感知器可以逼近几乎任何复杂函数,能够捕捉数据中的非线性模式。这使MLP能够解决XOR等问题,这是单层感知器无法处理的。

激活函数

激活函数引入非线性,决定神经元的激活程度。没有激活函数,多层网络只能表示线性函数。

常见的激活函数类型

  • Sigmoid:将输出压缩到0-1范围
  • ReLU:对负输入返回0,对正输入保持不变。最常用
  • Tanh:将输出压缩到-1和1之间
  • Softmax:常用于多类分类的输出层
Sigmoid
ReLU
Tanh
Softmax

训练MLP

目标是调整权重和偏置,最小化预测错误。通过反向传播和梯度下降实现。

反向传播

计算损失函数关于参数梯度的算法。

  1. 前向传播:计算神经网络的输出
  2. 计算误差:预测值与实际值的差异
  3. 反向传播:从输出层向输入层传播误差
  4. 更新参数:根据梯度调整权重

梯度下降

迭代优化算法,寻找函数的最小值。沿负梯度方向更新参数,步长由学习率控制。

  1. 初始化参数(权重和偏置)
  2. 计算损失函数关于参数的梯度
  3. 沿负梯度方向更新参数
  4. 重复步骤2-3直到收敛

卷积神经网络(CNNs)

CNN是专门处理网格状数据(如图像)的深度神经网络。特别擅长捕捉空间层次结构特征。主要由三类层组成:

卷积层

CNN的核心。用滤波器对输入进行卷积操作,提取特征。输出称为特征图。

池化层

降低特征图的维度,减少计算复杂度,防止过拟合。常用最大池化或平均池化。

全连接层

类似MLP中的层。网络末端执行高级推理,做出最终预测。

CNN通常由卷积层和池化层交替堆叠,最后是全连接层进行分类或回归。

递归神经网络(RNNs)

RNN是专门处理序列数据(顺序重要)的神经网络。具有递归连接,能够保持"记忆"。

处理序列数据

递归连接形成循环,使信息从一时间步传到下一步。能"记住"上下文信息。每一步接收当前输入和上一步的隐藏状态,产出当前输出和更新后的隐藏状态。

梯度消失问题

RNN面临梯度消失问题。在BPTT(通过时间的反向传播)中,梯度在反向传播时可能变得极小接近零,阻碍学习长期依赖关系。

LSTM和GRU

为解决梯度消失而开发的变体:长短期记忆网络(LSTM)和门控循环单元(GRU)。引入门控机制控制信息流。

LSTM

包含存储单元和三个门:输入门、遗忘门、输出门。允许网络选择性地记忆或遗忘信息。

GRU

结构更简单,只有两个门:更新门和重置门。计算效率通常更高。

LSTM和GRU有效克服了梯度消失问题,在序列建模任务中取得了显著进展。

生成式人工智能

生成式AI侧重于生成原创内容(文本、图像、音乐等),而不仅仅是进行分类或预测。

生成式人工智能的工作原理

核心是基于神经网络的算法,学习数据的模式和结构,捕获其统计属性以生成新样本。过程包括:训练 -> 生成 -> 评估。

生成式人工智能模型的类型

  • 生成对抗网络(GANs):生成器与判别器对抗训练
  • 变分自编码器(VAEs):学习数据压缩表示(潜在空间)生成
  • 自回归模型:逐个生成后续元素
  • 扩散模型:逐步加噪去噪过程学习数据分布

重要的生成式人工智能概念

潜在空间

数据的压缩表示,捕获基本特征和关系。

采样

从学习到的分布中提取新内容的过程。

模式崩塌

生成器只学会产生有限种类的输出,缺乏多样性。

评估指标

衡量生成内容质量的标准:IS、FID、BLEU分数等。

大型语言模型(LLMs)

LLM能理解和生成类人文本。常基于Transformer架构,在海量文本上训练。LLM通常特点是规模庞大、快速学习能力和语境理解能力。

大型语言模型的工作原理

  • Transformer:神经网络架构,支持并行处理,包含自注意力机制
  • Tokenization:将文本转换为小单元(Token)
  • Embeddings:词/短语的数字向量表示,捕捉语义信息
  • 自注意力:计算词间相关性的机制
  • 训练:在海量文本上进行无监督训练
输入嵌入
多头自注意力
前馈神经网络
输出层

Transformer架构简化示意图

扩散模型(Diffusion Models)

生成高质量图像的模型。通过逐步加噪和去噪过程学习数据分布。

扩散模型的工作原理

核心是逐步向图像添加噪声,然后学习如何逆转这个过程来生成新图像。条件生成(如文本到图像)通过集成文本编码器(通常是Transformer或CLIP)将文本转换为潜在表征,作为去噪过程的条件。

  1. 文本编码:将文本提示转换为嵌入
  2. 去噪过程条件化:用文本嵌入指导去噪
  3. 采样过程:从纯噪声开始,逐步去噪
  4. 生成最终图像:完成去噪后获得结果

扩散过程

前向过程:添加噪声

逐步向数据添加噪声,直至变成纯噪声(高斯噪声)。x₀ → xₜ

逆向过程:去噪

学习如何去除噪声,从噪声xₜ映射回原始数据分布。训练神经网络预测每一步的噪声。

采样

从纯高斯噪声开始,迭代应用逆向过程逐步去噪生成新图像。

🎨
原始图像
🎨
添加噪声1
🎨
添加噪声2
🎨
添加噪声3
纯噪声
纯噪声
纯噪声
开始采样
🖼️
去噪步骤1
🖼️
去噪步骤2
🖼️
去噪步骤3
🖼️
生成图像

数据假设

  • 马尔可夫性质:每一步的状态只依赖于前一步
  • 静态数据分布:训练过程中数据分布不变
  • 平滑性假设:相似输入产生相似输出

AI安全与红队测试

评估ML系统的安全性需要深入理解其组件和算法。

什么是红队(Red Teaming)?

渗透测试

在目标时间限制内,发现并利用漏洞。

漏洞评估

自动化扫描,识别和分类已知漏洞。

红队评估

高级对抗性模拟。模仿真实攻击者TTPs测试防御。利用技术漏洞、社工等。持续数周数月。

ML系统面临独特漏洞。红队评估更优,因攻击通常需要较长时间。需评估所有交互组件。

针对机器学习系统的攻击(OWASP ML Top 10 2023)

ML01

输入操纵

修改输入致错误输出

ML02

数据投毒

注入恶意数据损害性能或植入后门

ML03

模型反演

重建输入信息泄露隐私

ML04

成员推理

判断数据点是否在训练集泄露隐私

ML05

模型窃取

查询训练副本模型窃取IP

ML06

AI供应链攻击

利用数据源、库、预训练模型漏洞

ML07

迁移学习攻击

操纵基线模型引入后门

ML08

模型偏斜

恶意扭曲模型行为

ML09

输出完整性攻击

模型输出被处理前篡改

ML10

模型投毒

直接操纵模型权重/参数

针对文本生成模型的攻击(LLM OWASP Top 10 2023)

LLM01

提示注入

操纵提示诱导恶意行为

LLM02

不安全输出处理

输出处理不当致下游漏洞(XSS, SQLi)

LLM03

训练数据投毒

注入恶意数据

LLM04

模型DoS

特制输入耗尽资源

LLM05

供应链漏洞

利用LLM生态系统漏洞

LLM06

敏感信息泄露

诱导LLM泄露敏感信息

LLM07

不安全插件设计

插件漏洞或处理不当

LLM08

过度授权/代理

赋予LLM过高权限

LLM09

过度依赖

未验证依赖LLM输出致损失

LLM10

模型窃取

未授权访问LLM模型本身

提示注入与越狱

提示注入(Prompt Injection)

LLM常处理组合后的单个输入,无结构区别致提示注入漏洞。对话历史作为上下文提供。

直接提示注入

攻击者输入直接影响用户提示内容,可能导致:

  • 泄露系统提示与敏感信息
  • 操纵LLM行为产生安全影响
间接提示注入

攻击者将载荷放入数据源,LLM读取作输入一部分。应用场景:

  • 滥用自动化内容处理
  • 基于URL(LLM总结网页,载荷藏HTML注释)
  • 基于SMTP(载荷藏邮件正文/HTML)

越狱(Jailbreaking)

绕过LLM限制(安全、道德、内容策略),常通过提示注入实现。目标是覆盖LLM预期行为。

越狱提示类型
  • DAN (Do Anything Now)
  • 角色扮演
  • 虚构场景
  • 令牌走私/分词操纵
  • 后缀攻击/对抗性后缀
  • 相反模式/Sudo模式
  • 无限多种含义(IMM)
防御措施
  • 提示工程:指导但不足以防注入
  • 基于过滤器:有限实用性,易绕过
  • 限制LLM权限:最小特权原则
  • 模型微调:提高鲁棒性
  • 对抗性提示训练:增强弹性
  • 实时检测模型(护栏模型):最有效