人工智能基础 知识点地图#
知识类别 :人工智能导论——从符号主义(搜索、知识表示)到
连接主义(机器学习、神经网络)的两大传统与它们的现代合流。
解决什么问题 :让机器在解空间里做决策(搜索)、表达并推理世界
知识(表示与推理)、从数据中归纳规律(学习)。
什么时候用到 :理解大语言模型的技术谱系、评估「这个场景该用
规则还是学习」、为后续深入学习 ML/NLP 打底。
1. 人工智能概述#
1.1 AI 发展历程#
阶段 年代 核心思想 符号主义 1950s-1980s 基于逻辑推理 连接主义 1980s-1990s 神经网络 统计学习 2000s-2010s 机器学习 深度学习 2012- 深层神经网络 大模型 2020- Transformer、LLM
1.2 AI 分类#
类型 定义 示例 弱AI 特定任务 图像识别、语音助手 强AI 通用智能 尚未实现 超级AI 超越人类 理论概念
2. 搜索算法#
2.1 无信息搜索#
算法 完备性 最优性 时间 空间 BFS 是 是(等代价) O ( b d ) O(b^d) O ( b d ) O ( b d ) O(b^d) O ( b d ) DFS 否 否 O ( b m ) O(b^m) O ( b m ) O ( b m ) O(bm) O ( bm ) UCS 是 是 O ( b C ∗ / ϵ ) O(b^{C*/\epsilon}) O ( b C ∗ / ϵ ) O ( b C ∗ / ϵ ) O(b^{C*/\epsilon}) O ( b C ∗ / ϵ ) IDS 是 是(等代价) O ( b d ) O(b^d) O ( b d ) O ( b d ) O(bd) O ( b d )
b b b :分支因子,d d d :解深度,m m m :最大深度
2.2 启发式搜索#
A* 算法 :
f ( n ) = g ( n ) + h ( n ) f(n) = g(n) + h(n) f ( n ) = g ( n ) + h ( n )
g ( n ) g(n) g ( n ) :从起点到 n n n 的实际代价
h ( n ) h(n) h ( n ) :从 n n n 到目标的启发式估计
最优性条件 :h ( n ) h(n) h ( n ) 是可采纳的(不高估实际代价)。
A* 的效率 :
有效分支因子 = b ∗ : N = 1 + b ∗ + ( b ∗ ) 2 + . . . \text{有效分支因子} = b^* : N = 1 + b^* + (b^*)^2 + ... 有效分支因子 = b ∗ : N = 1 + b ∗ + ( b ∗ ) 2 + ...
2.3 对抗搜索#
Minimax 算法 :
V ( s ) = { utility ( s ) 终止状态 max a V ( result ( s , a ) ) MAX 节点 min a V ( result ( s , a ) ) MIN 节点 V(s) = \begin{cases} \text{utility}(s) & \text{终止状态} \\ \max_{a}V(\text{result}(s,a)) & \text{MAX 节点} \\ \min_{a}V(\text{result}(s,a)) & \text{MIN 节点} \end{cases} V ( s ) = ⎩ ⎨ ⎧ utility ( s ) max a V ( result ( s , a )) min a V ( result ( s , a )) 终止状态 MAX 节点 MIN 节点
Alpha-Beta 剪枝 :
α \alpha α :MAX 节点当前最优值
β \beta β :MIN 节点当前最优值
剪枝条件:α ≥ β \alpha \geq \beta α ≥ β
最佳情况下搜索节点数:O ( b d / 2 ) O(b^{d/2}) O ( b d /2 )
3. 知识表示与推理#
3.1 一阶谓词逻辑#
基本元素 :
常量:John, 5
变量:x x x , y y y
谓词:L i k e s ( x , y ) Likes(x, y) L ik es ( x , y )
函数:F a t h e r ( J o h n ) Father(John) F a t h er ( J o hn )
量词:∀ \forall ∀ , ∃ \exists ∃
推理规则 :
假言推理(Modus Ponens):P , P → Q ⊢ Q P, P \to Q \vdash Q P , P → Q ⊢ Q
全称实例化:∀ x P ( x ) ⊢ P ( a ) \forall x P(x) \vdash P(a) ∀ x P ( x ) ⊢ P ( a )
存在实例化:∃ x P ( x ) ⊢ P ( c ) \exists x P(x) \vdash P(c) ∃ x P ( x ) ⊢ P ( c )
3.2 语义网络#
用图结构表示概念间的关系:
[鸟] --is-a--> [动物]
[企鹅] --is-a--> [鸟]
[企鹅] --cannot--> [飞]
3.3 本体论#
使用 OWL(Web Ontology Language)定义概念层次和关系:
类(Class)
属性(Property)
个体(Individual)
公理(Axiom)
4. 机器学习#
4.1 学习范式#
范式 训练数据 目标 监督学习 标注数据 预测标签 无监督学习 无标注数据 发现结构 半监督学习 部分+大量无标注 预测标签 强化学习 环境反馈 最大化奖励 自监督学习 自生成标签 学习表示
4.2 线性回归#
y ^ = w T x + b \hat{y} = \mathbf{w}^T \mathbf{x} + b y ^ = w T x + b
损失函数(MSE) :
L = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 L = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2 L = n 1 ∑ i = 1 n ( y i − y ^ i ) 2
正规方程 :
w ∗ = ( X T X ) − 1 X T y \mathbf{w}^* = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y} w ∗ = ( X T X ) − 1 X T y
4.3 逻辑回归#
P ( y = 1 ∣ x ) = σ ( w T x + b ) = 1 1 + e − ( w T x + b ) P(y=1|\mathbf{x}) = \sigma(\mathbf{w}^T\mathbf{x} + b) = \frac{1}{1+e^{-(\mathbf{w}^T\mathbf{x}+b)}} P ( y = 1∣ x ) = σ ( w T x + b ) = 1 + e − ( w T x + b ) 1
交叉熵损失 :
L = − 1 n ∑ i = 1 n [ y i log y ^ i + ( 1 − y i ) log ( 1 − y ^ i ) ] L = -\frac{1}{n}\sum_{i=1}^{n}[y_i\log\hat{y}_i + (1-y_i)\log(1-\hat{y}_i)] L = − n 1 ∑ i = 1 n [ y i log y ^ i + ( 1 − y i ) log ( 1 − y ^ i )]
4.4 支持向量机(SVM)#
最大间隔 :
max w , b 2 ∥ w ∥ s.t. y i ( w T x i + b ) ≥ 1 \max_{\mathbf{w},b} \frac{2}{\|\mathbf{w}\|} \quad \text{s.t.} \quad y_i(\mathbf{w}^T\mathbf{x}_i+b) \geq 1 max w , b ∥ w ∥ 2 s.t. y i ( w T x i + b ) ≥ 1
核技巧 :
K ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) K(\mathbf{x}_i, \mathbf{x}_j) = \phi(\mathbf{x}_i)^T\phi(\mathbf{x}_j) K ( x i , x j ) = ϕ ( x i ) T ϕ ( x j )
常用核函数:
核函数 公式 线性核 K = x i T x j K = \mathbf{x}_i^T\mathbf{x}_j K = x i T x j 多项式核 K = ( x i T x j + c ) d K = (\mathbf{x}_i^T\mathbf{x}_j + c)^d K = ( x i T x j + c ) d RBF核 K = e − γ ∥ x i − x j ∥ 2 K = e^{-\gamma\|\mathbf{x}_i-\mathbf{x}_j\|^2} K = e − γ ∥ x i − x j ∥ 2
4.5 模型评估#
指标 公式 准确率 T P + T N T P + T N + F P + F N \frac{TP+TN}{TP+TN+FP+FN} T P + T N + F P + F N T P + T N 精确率 T P T P + F P \frac{TP}{TP+FP} T P + F P T P 召回率 T P T P + F N \frac{TP}{TP+FN} T P + F N T P F1 2 × P × R P + R 2 \times \frac{P \times R}{P+R} 2 × P + R P × R AUC-ROC ROC曲线下面积
偏差-方差权衡 :
泛化误差 = 偏差 2 + 方差 + 噪声 \text{泛化误差} = \text{偏差}^2 + \text{方差} + \text{噪声} 泛化误差 = 偏差 2 + 方差 + 噪声
5. 神经网络#
5.1 多层感知机(MLP)#
h = σ ( W 1 x + b 1 ) \mathbf{h} = \sigma(\mathbf{W}_1\mathbf{x} + \mathbf{b}_1) h = σ ( W 1 x + b 1 )
y = W 2 h + b 2 \mathbf{y} = \mathbf{W}_2\mathbf{h} + \mathbf{b}_2 y = W 2 h + b 2
反向传播 :
∂ L ∂ W = ∂ L ∂ y ⋅ ∂ y ∂ h ⋅ ∂ h ∂ W \frac{\partial L}{\partial \mathbf{W}} = \frac{\partial L}{\partial \mathbf{y}} \cdot \frac{\partial \mathbf{y}}{\partial \mathbf{h}} \cdot \frac{\partial \mathbf{h}}{\partial \mathbf{W}} ∂ W ∂ L = ∂ y ∂ L ⋅ ∂ h ∂ y ⋅ ∂ W ∂ h
5.2 常用激活函数#
函数 公式 特点 ReLU max ( 0 , x ) \max(0, x) max ( 0 , x ) 计算快,有死亡问题 Leaky ReLU max ( α x , x ) \max(\alpha x, x) max ( α x , x ) 缓解死亡 GELU x Φ ( x ) x\Phi(x) x Φ ( x ) Transformer 常用 Swish x σ ( β x ) x\sigma(\beta x) x σ ( β x ) 平滑
5.3 优化算法#
算法 更新规则 SGD θ = θ − η ∇ L \theta = \theta - \eta \nabla L θ = θ − η ∇ L Momentum v = β v + ∇ L , θ = θ − η v v = \beta v + \nabla L, \theta = \theta - \eta v v = β v + ∇ L , θ = θ − η v Adam 结合 Momentum 和 RMSProp
Adam 更新规则 :
m t = β 1 m t − 1 + ( 1 − β 1 ) g t m_t = \beta_1 m_{t-1} + (1-\beta_1)g_t m t = β 1 m t − 1 + ( 1 − β 1 ) g t
v t = β 2 v t − 1 + ( 1 − β 2 ) g t 2 v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2 v t = β 2 v t − 1 + ( 1 − β 2 ) g t 2
θ t = θ t − 1 − η v ^ t + ϵ m ^ t \theta_t = \theta_{t-1} - \frac{\eta}{\sqrt{\hat{v}_t}+\epsilon}\hat{m}_t θ t = θ t − 1 − v ^ t + ϵ η m ^ t
5.4 正则化技术#
技术 方法 防止 Dropout 随机丢弃神经元 过拟合 L2 正则 λ ∥ w ∥ 2 \lambda\|\mathbf{w}\|^2 λ ∥ w ∥ 2 过拟合 Batch Norm 归一化层输入 内部协变量偏移 数据增强 扩充训练数据 过拟合 早停 验证集性能下降时停止 过拟合
6. 深度学习#
6.1 CNN(卷积神经网络)#
核心操作:
卷积:提取局部特征
池化:降维,增强平移不变性
全连接:分类决策
经典架构:
网络 年份 创新 LeNet 1998 开创性 CNN AlexNet 2012 ReLU、Dropout VGG 2014 小卷积核堆叠 ResNet 2015 残差连接 EfficientNet 2019 复合缩放
残差连接 :
y = F ( x ) + x \mathbf{y} = F(\mathbf{x}) + \mathbf{x} y = F ( x ) + x
解决深层网络的梯度消失问题。
自注意力机制 :
Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention ( Q , K , V ) = softmax ( d k Q K T ) V
多头注意力 :
MultiHead ( Q , K , V ) = Concat ( head 1 , . . . , head h ) W O \text{MultiHead}(Q,K,V) = \text{Concat}(\text{head}_1, ..., \text{head}_h)W^O MultiHead ( Q , K , V ) = Concat ( head 1 , ... , head h ) W O
head i = Attention ( Q W i Q , K W i K , V W i V ) \text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V) head i = Attention ( Q W i Q , K W i K , V W i V )
6.3 大语言模型(LLM)#
基于 Transformer Decoder 的生成式模型:
GPT 系列:自回归生成
BERT:双向编码
LLaMA:开源大模型
缩放定律 :
L ( N ) ≈ ( N c N ) α L(N) \approx \left(\frac{N_c}{N}\right)^{\alpha} L ( N ) ≈ ( N N c ) α
模型性能随参数量 N N N 、数据量 D D D 、计算量 C C C 的增加而可预测地提升。
动手实践#
任务 :不借助任何机器学习库,手写一个单层感知机学习逻辑或(XOR 前后
各做一次),用实验验证本文第 5 节「单层网络无法解决线性不可分问题」的论断。
实现 4 个样本的 XOR 真值表训练:感知机收敛(误判为 0)即成功;
对 OR 真值表重复同一训练,观察它能收敛;
对比两者的错误曲线,用「能否画出一条 separating line」解释差异;
进阶:在输入层加一个隐藏节点(手写 2-2-1 结构),再试 XOR。
提示 :感知机更新规则 w += lr * (y - y_hat) * x;XOR 永远不收敛
是数学事实,设定最大迭代轮数(如 100)后输出「未收敛」即实验结论;
加隐藏层后建议直接写两个固定的隐藏单元分别模拟 OR 与 NAND,
只训练输出层,避免手写反向传播。
参考实现(先自己写,再展开对照)
# perceptron_lab.py —— 单层感知机:OR 可收敛,XOR 不收敛
def train (X, y, epochs = 100 , lr = 0.5 ):
w = [ 0.0 , 0.0 ]; b = 0.0
for ep in range (epochs):
errors = 0
for (x1, x2), t in zip (X, y):
y_hat = 1 if w[ 0 ] * x1 + w[ 1 ] * x2 + b > 0 else 0
if y_hat != t: # 感知机学习规则
w[ 0 ] += lr * (t - y_hat) * x1
w[ 1 ] += lr * (t - y_hat) * x2
b += lr * (t - y_hat)
errors += 1
if errors == 0 :
return True , ep # 收敛
return False , epochs
OR = [([ 0 , 0 ], 0 ), ([ 0 , 1 ], 1 ), ([ 1 , 0 ], 1 ), ([ 1 , 1 ], 1 )]
XOR = [([ 0 , 0 ], 0 ), ([ 0 , 1 ], 1 ), ([ 1 , 0 ], 1 ), ([ 1 , 1 ], 0 )]
print ( "OR :" , train([s for s,_ in OR ], [t for _,t in OR ]))
print ( "XOR:" , train([s for s,_ in XOR ], [t for _,t in XOR ]))
# 预期:OR 在个位数轮收敛;XOR 输出未收敛 —— 证明单层线性不可分
逐段讲解 :(t - y_hat) 取值 -1/0/1,正是误分类时把超平面朝正确
方向挪的更新方向;OR 四点线性可分所以必然停机(感知机收敛定理),
XOR 永远存在误判点。把训练换成本文第 6 节的深度学习叙述:加一个
隐藏层(两个单元分别算 x1 OR x2 与 x1 NAND x2,输出层做 AND)
后 XOR 可解——这就是 1969 年《Perceptrons》一书批评与 1986 年
反向传播复兴的历史公案的数学内核。