《深度学习基础》

《深度学习基础》

深度学习是以多层神经网络为核心、以数据驱动学习特征的机器学习分支。本文整理神经网络的基础概念:神经元、激活函数、前向/反向传播、损失与优化。

1 参考教材

2 基本组成

2.1 神经元

单个人工神经元对输入做「加权求和 + 偏置 + 非线性激活」:

z = w1*x1 + w2*x2 + ... + b y = f(z)

2.2 激活函数

引入非线性,使多层网络能够拟合复杂函数:

函数 公式 特点
ReLU max(0, x) 默认首选,缓解梯度消失,计算快
Sigmoid 1 / (1 + e^-x) 输出 (0,1),适合二分类输出层
Tanh (e^x-e^-x)/(e^x+e^-x) 输出 (-1,1),零中心
Softmax 归一化指数函数 多分类输出层,输出各类概率

2.3 层与网络

  • 全连接层(Dense):每个神经元连接上一层的所有神经元。
  • 卷积层(Conv):局部连接 + 权值共享,适合图像。
  • 循环层(RNN/LSTM):处理序列数据。
  • 深度:层数越多,网络可表达的函数越复杂,但也越容易过拟合。

3 训练过程:前向 + 反向传播

1. 前向传播:输入 -> 逐层计算 -> 输出预测值 2. 计算损失:预测值与真实值的差距(损失函数) 3. 反向传播:链式法则求出各层权重对损失的梯度 4. 更新参数:优化器沿负梯度方向调整权重(如 SGD / Adam) 5. 迭代直至收敛
# 一个最小示例(伪骨架,配合 Keras/TensorFlow) import numpy as np w = np.random.randn(784, 10) * 0.01 b = np.zeros(10) lr = 0.001 for epoch in range(10): # 前向 z = x @ w + b # logits p = softmax(z) # 概率 loss = cross_entropy(p, y) # 梯度(简化示意) dw = x.T @ (p - y) / n db = (p - y).sum(axis=0) / n # 参数更新 w -= lr * dw b -= lr * db

4 损失函数与优化器

场景 损失函数
多分类 categorical_crossentropy(softmax)
二分类 binary_crossentropy(sigmoid)
回归 mse(均方误差)
  • SGD:基础,可加动量。
  • Adam:自适应学习率,最常用,收敛快、对超参不敏感。

5 欠拟合 / 过拟合

  • 欠拟合(训练集表现差):加大模型容量、加深网络、增加训练轮数。
  • 过拟合(训练好、验证差):数据增强、Dropout、L1/L2 正则、EarlyStopping、减小模型。

6 小结

理解「数据 → 网络 → 损失 → 梯度 → 更新」这条主线后,再用框架(Keras/PyTorch/Paddle)实现,就不容易被 API 细节绕晕。

参考文档

阅读 — · 全站 —
🎸 我的歌单 0 首