DNN:从神经元数学原理到现代深度学习架构

DNN(Deep Neural Network,深度神经网络)是现代人工智能最基础、最重要的模型体系之一。

CNN解决了空间结构数据的问题,RNN解决了序列数据的问题,而Transformer进一步解决了长距离依赖和大规模并行计算问题。

但它们的共同基础仍然是:

神经元 + 线性变换 + 非线性激活 + 损失函数 + 反向传播 + 梯度下降。

因此,真正理解DNN,是理解CNN、RNN、Transformer、LLM乃至现代Agent模型底层训练机制的重要基础。


一、DNN到底是什么?

DNN:

Deep Neural Network

中文:

深度神经网络

最简单的神经网络:

Input
Output

而DNN:

Input
Hidden Layer
Hidden Layer
Hidden Layer
Output

这里的核心概念是:

存在多个隐藏层。

因此:

Shallow Neural Network

通常指隐藏层较少的网络。

而:

Deep Neural Network

则通过多层网络逐渐学习更加复杂的特征。


二、DNN解决的核心问题

假设我们要预测:

用户是否会购买商品?

输入:

年龄
收入
访问次数
停留时间
历史购买次数
设备类型
地区

可以表示:

x = [age, income, visits, duration, purchases, ...]

传统程序可能写:

if income > X
and visits > Y
and purchases > Z:
    buy

问题是:

人工很难写出复杂的数据规律。

DNN的思路是:

Data
Neural Network
自动学习规律
Prediction

也就是说:

DNN通过数据自动学习输入与输出之间的复杂非线性映射。

数学上:

y = f(x)

DNN希望学习:

fθ(x)

其中:

θ = 所有需要学习的参数

三、DNN最基本的组成:神经元

一个神经元可以表示:

x1 ──w1──┐
x2 ──w2──┤
x3 ──w3──┤
       Σ + bias
      Activation
          y

数学公式:

z = w1x1 + w2x2 + w3x3 + b

也可以写成:

z = wᵀx + b

然后经过激活函数:

a = f(z)

所以一个神经元实际上就是:

Linear Transformation
        +
Non-linear Activation

四、Weight到底是什么?

Weight是模型需要学习的参数。

例如:

x1 = 年龄
x2 = 收入
x3 = 购买次数

模型可能学习:

w1 = 0.2
w2 = 0.7
w3 = 1.8

意味着:

购买次数

对最终结果的影响可能比:

年龄

更大。

训练过程中,模型不断调整:

w1
w2
w3
...

最终找到一组比较合适的参数。


五、Bias是什么?

神经元:

z = wᵀx

可能无法灵活调整。

因此加入:

b

变成:

z = wᵀx + b

Bias可以理解成:

对神经元输出进行额外偏移。


六、DNN最重要的结构:Layer

一个Layer可以包含大量Neuron。

例如:

Input Layer
[ x1 x2 x3 x4 ]
Hidden Layer
[ ○ ○ ○ ○ ○ ○ ]
Hidden Layer
[ ○ ○ ○ ○ ]
Output
[ ○ ]

如果:

Input = 10
Hidden1 = 128
Hidden2 = 64
Output = 1

那么:

10
128
64
1

就是一个典型DNN。


七、Fully Connected Layer

DNN中最常见的层:

Fully Connected Layer

PyTorch:

nn.Linear()

例如:

nn.Linear(10, 128)

表示:

10 inputs
128 neurons

参数数量:

10 × 128 + 128

即:

1408

其中:

10 × 128

是Weight。

128

是Bias。


八、DNN的矩阵表示

如果:

x

是输入向量:

x ∈ R^n

Weight:

W ∈ R^(m×n)

那么:

z = Wx + b

输出:

z ∈ R^m

这就是DNN最核心的计算。

例如:

Input:
10

Weight:
128 × 10

Output:
128

九、为什么需要“深度”?

假设只有一层:

x
Linear
y

本质上还是:

y = Wx + b

这是线性模型。

如果连续堆叠:

x
Linear
Linear
Linear
y

如果中间没有激活函数:

W3(W2(W1x))

最终仍然可以合并成:

W'x

也就是说:

单纯增加Linear层并不会产生真正的深度表达能力。

因此必须加入非线性激活函数。


十、Activation Function为什么重要?

核心结构:

Linear
Activation
Linear
Activation

例如:

z1 = W1x + b1

a1 = ReLU(z1)

z2 = W2a1 + b2

a2 = ReLU(z2)

于是模型变成:

y = f(W2 f(W1x + b1) + b2)

由于:

f()

是非线性的,网络才能表达复杂函数。


十一、ReLU:最经典的激活函数

ReLU:

ReLU(x) = max(0, x)

例如:

-3 → 0
-1 → 0
 0 → 0
 2 → 2
 5 → 5

PyTorch:

nn.ReLU()

ReLU的优势:

计算简单
梯度传播相对稳定
训练速度快

因此长期成为深度学习中的经典激活函数。


十二、Sigmoid

Sigmoid:

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

输出范围:

(0, 1)

因此特别适合:

Binary Classification

例如:

Spam = 0.95

可以理解为:

95% probability

但是Sigmoid在深层网络中容易出现:

Vanishing Gradient

因此隐藏层通常不再首选Sigmoid。


十三、Tanh

Tanh:

tanh(x)

输出范围:

(-1, 1)

相比Sigmoid:

中心在0附近

因此在一些传统RNN网络中比较常见。

但在现代深度网络中:

ReLU
GELU
SiLU

更加常见。


十四、GELU

Transformer和现代深度学习模型中常见:

GELU

GELU可以理解为一种更加平滑的激活函数。

Transformer类模型中常见:

Linear
GELU
Linear

例如:

nn.GELU()

十五、DNN的完整前向传播

假设:

Input
Linear
ReLU
Linear
ReLU
Linear
Output

数学:

z1 = W1x + b1

a1 = ReLU(z1)

z2 = W2a1 + b2

a2 = ReLU(z2)

z3 = W3a2 + b3

最终:

ŷ = z3

这就是:

Forward Propagation

即:

前向传播。


十六、Loss:模型怎么知道自己错了?

模型预测:

ŷ

真实值:

y

我们需要衡量:

ŷ 和 y 差多少?

因此定义:

Loss Function

例如回归:

MSE

分类:

Cross Entropy

十七、Mean Squared Error

MSE:

MSE = 1/n Σ(y - ŷ)²

例如:

真实值:

10

预测:

8

误差:

2

平方:

4

预测:

10

则:

Loss = 0

因此:

Loss越小,说明模型预测通常越接近目标。


十八、Cross Entropy

分类问题中经常使用:

Cross Entropy Loss

假设真实类别:

Cat

模型:

Cat = 0.9
Dog = 0.1

Loss较低。

如果:

Cat = 0.01
Dog = 0.99

Loss非常高。

因此模型会通过Loss获得反馈:

Prediction
Loss
Gradient
Weight Update

十九、DNN真正的学习过程:反向传播

DNN最重要的机制之一:

Backpropagation

完整过程:

Input
Forward
Prediction
Loss
Backward
Gradient
Optimizer
Update Weight

二十、什么是Gradient?

Gradient表示:

Loss对于某个参数变化的敏感程度。

例如:

Loss = f(w)

梯度:

dLoss / dw

如果:

gradient > 0

说明增加w可能导致Loss增加。

如果:

gradient < 0

说明增加w可能使Loss下降。

所以模型可以根据梯度调整参数。


二十一、Gradient Descent

最简单的更新公式:

w_new = w_old - η * gradient

其中:

η = Learning Rate

例如:

w = 10
gradient = 2
learning_rate = 0.1

更新:

w_new
=
10 - 0.1 × 2
=
9.8

不断重复:

Forward
Loss
Gradient
Update

最终寻找一个Loss较低的位置。


二十二、Learning Rate为什么非常重要?

Learning Rate:

η

决定:

每次参数走多远。

太大:

Loss
 │      /\    /\
 │  /\ /  \  /  \
 └────────────────→

模型可能:

震荡
发散

太小:

Loss下降非常慢

因此:

Learning Rate

是训练DNN最重要的超参数之一。


二十三、SGD

最经典优化器:

Stochastic Gradient Descent

基本公式:

w = w - η∇L

PyTorch:

optimizer = torch.optim.SGD(
    model.parameters(),
    lr=0.01
)

二十四、Momentum

SGD可能:

上下震荡

Momentum引入历史梯度:

velocity

大致思想:

当前方向
+
历史运动方向

类似:

一个带惯性的优化过程。

这样可以帮助模型更快地沿正确方向前进。


二十五、Adam

现代深度学习中非常常用:

Adam

Adam结合了:

Momentum
+
Adaptive Learning Rate

PyTorch:

optimizer = torch.optim.Adam(
    model.parameters(),
    lr=0.001
)

DNN实验中:

Adam

通常是非常好的起点。


二十六、Batch是什么?

假设有:

1,000,000

训练数据。

不可能每次把100万个样本全部送入GPU。

因此划分:

Batch

例如:

Batch Size = 32

每次训练:

32 samples

然后:

Next Batch

二十七、Epoch是什么?

一个Epoch表示:

整个训练数据集完整训练一次。

例如:

Dataset = 32000
Batch = 32

那么:

32000 / 32
= 1000 steps

一个Epoch:

1000 iterations

如果训练:

50 epochs

那么:

50000 iterations

二十八、Batch Size如何影响训练?

Batch太小:

Gradient Noise
GPU利用率可能较低

Batch太大:

显存消耗
Generalization可能变化

因此需要根据:

GPU Memory
Dataset
Model
Learning Rate

进行调整。


二十九、Overfitting:DNN最常见的问题

训练集:

Accuracy = 99.9%

测试集:

Accuracy = 75%

这说明模型:

记住了训练数据,却没有很好地学习一般规律。

这就是:

Overfitting

三十、如何解决Overfitting?

常见方法:

Data Augmentation
Dropout
Weight Decay
Early Stopping
More Data
Simpler Model
BatchNorm

核心目标:

让模型学习规律,而不是记忆训练样本。


三十一、Dropout

假设隐藏层:

○ ○ ○ ○ ○ ○ ○ ○

训练过程中随机关闭:

○ × ○ ○ × ○ × ○

这样可以减少:

神经元之间过度依赖。

PyTorch:

nn.Dropout(0.5)

表示训练过程中大约50%的激活被随机丢弃。


三十二、Weight Decay

Weight Decay通常对应L2正则化思想。

目标函数:

Loss_total
=
Loss_data
+
λ Σw²

这样可以惩罚过大的权重。

PyTorch:

optimizer = torch.optim.AdamW(
    model.parameters(),
    lr=1e-3,
    weight_decay=1e-4
)

现代深度学习中:

AdamW

非常常见。


三十三、Batch Normalization

BatchNorm可以对中间激活进行归一化。

大致:

x
Normalize
Scale
Shift

公式:

x̂ = (x - μ) / √(σ² + ε)

y = γx̂ + β

其中:

γ
β

也是可以学习的参数。


三十四、为什么BatchNorm有帮助?

它可以:

稳定激活分布
改善训练
加快收敛
一定程度减少对初始化的敏感性

CNN中:

Conv
BatchNorm
ReLU

非常经典。


三十五、LayerNorm

Transformer中更加常见:

LayerNorm

它和BatchNorm的归一化维度不同。

简单理解:

BatchNorm
→ 关注Batch维度上的统计

LayerNorm
→ 关注单个样本内部的特征维度

因此:

CNN
→ BatchNorm很常见

Transformer
→ LayerNorm / RMSNorm很常见

三十六、DNN参数初始化

如果所有参数:

W = 0

会出现:

Symmetry Problem

不同神经元会学习到相同的东西。

因此通常需要:

Random Initialization

常见:

Xavier Initialization
He Initialization

三十七、Xavier Initialization

适合:

Sigmoid
Tanh

核心思想是:

控制不同层之间的激活和梯度方差。

避免:

激活越来越大

或者:

激活越来越小

三十八、He Initialization

对于:

ReLU

通常使用:

He Initialization

PyTorch:

nn.init.kaiming_normal_()

核心目的是保持深层网络中:

Variance

相对稳定。


三十九、Vanishing Gradient

深层DNN中可能出现:

Gradient
越来越小
0

于是:

前面的Layer

几乎无法学习。

这就是:

Vanishing Gradient

常见原因:

Sigmoid
Tanh
Network太深
初始化不合理

解决方式包括:

ReLU
Better Initialization
BatchNorm
Residual Connection

四十、Exploding Gradient

另一种情况:

Gradient
越来越大

导致训练:

NaN

或者:

Loss突然爆炸

常用:

Gradient Clipping
Better Initialization
Normalization
Lower Learning Rate

PyTorch:

torch.nn.utils.clip_grad_norm_(
    model.parameters(),
    max_norm=1.0
)

四十一、为什么Residual Connection可以解决深层网络问题?

传统:

x
Layer
Layer
Layer
y

Residual:

       ┌───────────────┐
       │               │
x ─────┼→ Layers ──────┤
       │               ↓
       └──────────────→+
                        y

数学:

y = F(x) + x

这样梯度可以沿着:

Identity Path

直接传播。

这也是:

ResNet能够训练很深网络的重要原因。


四十二、DNN与CNN是什么关系?

CNN可以理解成:

针对空间数据优化过的神经网络。

普通DNN:

Input
Linear
Linear
Output

CNN:

Image
Convolution
Feature Map
Pooling
Convolution
Output

核心区别:

DNN
→ Fully Connected

CNN
→ Local Connectivity + Parameter Sharing

四十三、DNN与RNN是什么关系?

RNN针对:

序列数据。

例如:

喜欢
学习
AI

RNN:

x1 → RNN → h1
x2 → RNN → h2
x3 → RNN → h3
x4 → RNN → h4

而DNN没有这种天然的:

Temporal Dependency

四十四、DNN与Transformer是什么关系?

Transformer中的核心组件:

Attention
+
Feed Forward Network
+
Normalization
+
Residual

其中:

Feed Forward Network

本质上就是一个特殊的DNN:

Linear
Activation
Linear

例如:

x
Linear
GELU
Linear
Output

所以:

DNN并没有消失,而是成为Transformer内部的重要组成部分。


四十五、Transformer中的FFN到底是什么?

经典Transformer:

Input
Self-Attention
Add & Norm
FFN
Add & Norm

FFN:

FFN(x)
=
W2 · Activation(W1x + b1) + b2

这实际上就是:

两层DNN

例如:

Hidden Size = 4096

4096
16384
4096

这也是为什么理解DNN之后,再学习Transformer会容易很多。


四十六、LLM中的DNN在哪里?

一个Transformer Block:

                    Transformer Block
             ┌─────────────┴─────────────┐
             ↓                           ↓
       Self Attention                    FFN
             ↓                           ↓
          Linear                       Linear
             ↓                           ↓
             └─────────────┬─────────────┘
                      Residual
                       Norm

其中FFN就是:

DNN

因此一个LLM并不是完全不同于传统神经网络的神秘系统。

它仍然建立在:

Linear
Activation
Gradient
Backpropagation
Optimization

这些基础机制之上。


四十七、用PyTorch实现一个完整DNN

下面实现一个简单的分类网络。

import torch
import torch.nn as nn


class DNN(nn.Module):

    def __init__(self, input_dim, num_classes):
        super().__init__()

        self.network = nn.Sequential(
            nn.Linear(input_dim, 256),
            nn.BatchNorm1d(256),
            nn.ReLU(),
            nn.Dropout(0.2),

            nn.Linear(256, 128),
            nn.BatchNorm1d(128),
            nn.ReLU(),
            nn.Dropout(0.2),

            nn.Linear(128, 64),
            nn.ReLU(),

            nn.Linear(64, num_classes)
        )

    def forward(self, x):
        return self.network(x)

结构:

Input
Linear 256
BatchNorm
ReLU
Dropout
Linear 128
BatchNorm
ReLU
Dropout
Linear 64
ReLU
Output

四十八、DNN训练代码

model = DNN(
    input_dim=100,
    num_classes=10
)

criterion = nn.CrossEntropyLoss()

optimizer = torch.optim.AdamW(
    model.parameters(),
    lr=1e-3,
    weight_decay=1e-4
)

训练:

for epoch in range(10):

    model.train()

    for x, y in dataloader:

        optimizer.zero_grad()

        output = model(x)

        loss = criterion(output, y)

        loss.backward()

        optimizer.step()

    print(
        f"epoch={epoch}, loss={loss.item():.4f}"
    )

这几行代码实际上浓缩了整个深度学习训练机制:

zero_grad()
Forward
Loss
Backward
Optimizer Step

四十九、为什么要zero_grad()?

PyTorch默认会:

累积Gradient。

例如:

loss.backward()

计算:

∂Loss/∂W

之后Gradient会保存在:

parameter.grad

如果下一次不清理:

Gradient_previous
+
Gradient_current

所以训练循环通常:

optimizer.zero_grad()

然后:

loss.backward()

五十、DNN的计算图

现代深度学习框架核心思想之一是:

Computational Graph

例如:

x
W1x+b1
ReLU
W2x+b2
Loss

PyTorch会记录这些操作。

当执行:

loss.backward()

就可以沿着计算图反向计算:

∂Loss/∂W2
∂Loss/∂W1
∂Loss/∂b2
∂Loss/∂b1

这就是:

Automatic Differentiation


五十一、DNN训练的完整生命周期

一个生产级DNN项目通常不是:

写模型
训练

而是:

Data Collection
Data Cleaning
Feature Engineering
Train / Validation / Test
Model Design
Initialization
Training
Evaluation
Hyperparameter Tuning
Model Export
Inference
Monitoring

五十二、Train / Validation / Test

数据通常分成:

Training Set
Validation Set
Test Set

例如:

70% Training
15% Validation
15% Test

Training:

学习参数

Validation:

选择模型和超参数

Test:

最终评估

不能用Test数据不断调整模型,否则会产生:

Data Leakage


五十三、DNN中的超参数

需要人工决定:

Learning Rate
Batch Size
Epoch
Hidden Size
Number of Layers
Dropout
Weight Decay
Optimizer
Activation

这些叫:

Hyperparameters

而:

Weight
Bias

是模型自己学习的:

Parameters

这是两个非常重要的概念。


五十四、DNN为什么容易过拟合?

假设:

Dataset
= 10000 samples

而模型:

100 million parameters

模型拥有非常强的表达能力。

于是可能:

训练集
99.99%

测试集
70%

因此模型容量:

Model Capacity

必须和数据量匹配。


五十五、DNN的模型容量

通常:

Layers ↑
Hidden Units ↑
Parameters ↑

意味着模型容量增加。

但是:

Capacity ↑

不代表:

Generalization ↑

可能出现:

Underfitting
Good Fit
Overfitting

五十六、Underfitting

训练集表现就不好:

Train Accuracy = 60%
Test Accuracy = 58%

说明:

模型甚至没有学好训练数据。

可能原因:

模型太简单
训练不足
Learning Rate不合理
Feature不足

五十七、Overfitting

训练:

99%

测试:

70%

说明:

模型过度拟合训练数据。

可以尝试:

更多数据
Data Augmentation
Dropout
Weight Decay
Early Stopping
降低模型复杂度

五十八、DNN为什么不是万能的?

传统DNN最大的特点:

Fully Connected

这也意味着它对输入结构缺乏先验。

对于图像:

Pixel

如果Flatten:

Image
Vector
DNN

会丢失大量:

Spatial Relationship

因此:

Image
→ CNN

更加合理。

对于:

Sequence

则通常使用:

RNN / Transformer

五十九、DNN最适合什么数据?

DNN非常适合:

Tabular Data
Structured Data
Feature Vectors
Classification
Regression
Ranking

例如:

用户年龄
收入
交易次数
点击次数
信用评分

可以:

Feature Vector
DNN
Prediction

六十、DNN在推荐系统中的应用

例如推荐系统:

User Features
       +
Item Features
       +
Context
Embedding
DNN
Click Probability

例如:

User
 ├── Age
 ├── Gender
 ├── History
 └── Location

Item
 ├── Category
 ├── Price
 └── Brand

经过Embedding后:

User Vector
+
Item Vector
+
Context Vector

送入DNN:

DNN
CTR Prediction

这类架构在推荐系统中非常常见。


六十一、DNN在风控中的应用

例如:

Transaction
Feature Engineering
DNN
Risk Score

输入:

交易金额
交易时间
用户历史
设备
IP
地点
账户行为

输出:

Risk = 0.93

然后:

Risk > Threshold

触发:

Block
Review
MFA

六十二、DNN与传统机器学习的区别

传统机器学习:

Raw Data
Feature Engineering
ML Model
Prediction

DNN:

Raw / Processed Data
Neural Network
Representation Learning
Prediction

最大的区别之一:

DNN可以同时学习Representation和Prediction。

这也是深度学习的重要优势。


六十三、DNN、CNN、RNN、Transformer的统一理解

可以把它们理解成:

                 Neural Network
        ┌──────────────┼──────────────┐
        ↓              ↓              ↓
      DNN             CNN            RNN
        │              │              │
   Fully Connected   Spatial       Sequence
        │              │              │
        └──────────────┼──────────────┘
                  Transformer
                 Self-Attention
                      LLM

但从底层计算来看,它们仍然共享:

Tensor
+
Parameter
+
Forward
+
Loss
+
Gradient
+
Backpropagation
+
Optimizer

六十四、DNN是理解LLM的基础

一个现代LLM虽然拥有:

几十亿
甚至数千亿

参数,但底层仍然是大量:

Linear Layer
+
Activation
+
Normalization
+
Attention
+
Residual

例如Transformer FFN:

4096
16384
4096

就是一个非常典型的DNN结构。

因此:

理解DNN的矩阵计算、参数、梯度和优化机制,是深入理解LLM训练原理的基础。


六十五、从DNN到现代AI的技术演进

整个深度学习技术可以大致理解为:

Perceptron
MLP
DNN
CNN
RNN
LSTM / GRU
Attention
Transformer
BERT / GPT
LLM
Multimodal Model
Agent

每一次架构升级,本质上都是在解决前一代网络的某种限制。


六十六、DNN最值得掌握的十大概念

如果准备AI Engineer或者算法面试,我建议至少掌握:

1. Neuron
2. Linear Layer
3. Activation Function
4. Forward Propagation
5. Loss Function
6. Backpropagation
7. Gradient Descent
8. Optimizer
9. Normalization
10. Regularization

进一步:

11. Initialization
12. Vanishing Gradient
13. Exploding Gradient
14. Residual Connection
15. Batch / Epoch
16. Learning Rate
17. Overfitting
18. Generalization
19. Computational Graph
20. Automatic Differentiation

六十七、DNN最核心的一条公式

如果把DNN压缩成一个公式:

a₀ = x

z₁ = W₁a₀ + b₁
a₁ = σ(z₁)

z₂ = W₂a₁ + b₂
a₂ = σ(z₂)

...

zL = WLaL-1 + bL

最终:

ŷ = fθ(x)

训练目标:

minθ L(fθ(x), y)

使用梯度下降:

θ ← θ - η∇θL

这几行数学公式基本就是DNN训练的核心。


六十八、从工程师角度理解DNN

如果你有Java/Spring Boot等传统软件开发背景,可以把DNN类比成一个复杂的参数化计算系统:

Input
Layer
Transformation
Layer
Transformation
Output

传统软件:

Developer
编写规则
Program
Output

深度学习:

Developer
设计Network
Training Data
Optimization
Learned Parameters
Model
Prediction

最本质的区别:

传统软件的规则主要由程序员编写;DNN的规则主要通过数据和优化算法学习。


六十九、DNN真正改变了什么?

传统程序:

Rules + Data
    Output

机器学习:

Data + Labels
 Learning Algorithm
     Model

深度学习:

Raw Data
Representation Learning
Prediction

因此DNN最大的贡献并不是:

“用了很多层神经网络。”

而是:

让机器能够通过多层非线性变换自动学习越来越抽象的表示。


七十、总结:真正理解DNN

最终可以用下面这张图理解DNN:

                         DNN
             ┌────────────┴────────────┐
             ↓                         ↓
        Forward Pass              Training
             │                         │
             ↓                         ↓
        Linear Layer                Loss
             │                         │
             ↓                         ↓
       Activation                  Gradient
             │                         │
             ↓                         ↓
       Hidden Layer               Backprop
             │                         │
             ↓                         ↓
        Prediction                Optimizer
                                  Update Weight

而DNN与现代AI的关系:

DNN
 ├── CNN
 │    └── Computer Vision
 ├── RNN
 │    └── Sequence
 └── Transformer
      ├── BERT
      ├── GPT
      ├── LLM
      └── Multimodal AI

所以学习DNN最重要的不是背诵:

ReLU公式
Adam公式
BatchNorm公式

而是建立一个完整的因果链:

为什么需要Layer?
为什么需要Activation?
为什么需要Loss?
为什么需要Gradient?
为什么需要Backpropagation?
为什么需要Optimizer?
为什么会出现Vanishing Gradient?
为什么需要Normalization?
为什么需要Residual Connection?
为什么最终出现CNN、RNN、Transformer?

一旦这条链真正理解清楚,后面学习:

CNN
RNN
LSTM
Attention
Transformer
BERT
GPT
LLM
Vision-Language Model

就不再是孤立的技术点,而会变成一条完整的深度学习技术演进路线。

DNN是现代深度学习的“通用计算骨架”,而CNN、RNN、Transformer则是在这个骨架之上针对不同数据结构设计出来的专用架构。

Vincent zhai
Vincent zhai
Full-Stack Engineer