一、核心组件
神经网络由四大核心组件构成:
层:基础结构单元,实现张量数据变换。
模型:多层组合形成的网络整体,完成输入到输出的映射。
损失函数:计算预测值与真实值差异,为参数优化提供方向。
优化器:通过算法(如梯度下降)最小化损失,更新模型参数。
二、核心构建工具
|---------------|----------------------|-------------------|
| 工具 | 特点 | 适用场景 |
| nn.Module | 可实例化对象,自动管理参数,支持状态切换 | 卷积层、全连接层等需参数学习的组件 |
| nn.functional | 纯函数,需手动传参,无状态切换 | 激活函数、池化层等无参数组件 |
三、模型构建方法
- 继承 nn.Module 基类:自定义层定义与前向传播,灵活性最高。
- nn.Sequential 顺序构建:支持可变参数、add_module、OrderedDict 三种方式,适用于线性串联的简单模型。
- 基类 + 模型容器:结合灵活性与便捷性,容器包括 Sequential(顺序封装)、ModuleList(列表存储)、ModuleDict(字典存储)。
四、自定义模块
以残差块为例:
1.基础残差块:输入输出直接相加,解决梯度消失问题。
2.下采样残差块:加 1×1 卷积调整形状,适配特征图尺寸 / 通道变化。
3.组合构建 ResNet18 等复杂网络。