神经网络前向传播
字数 1106 2025-11-15 10:10:37

神经网络前向传播

  1. 基础概念
    前向传播是神经网络进行预测的核心过程。输入数据从输入层开始,逐层经过加权求和与激活函数处理,最终在输出层生成预测结果。以单个人工神经元为例:

    • 输入向量 \(x = [x_1, x_2, ..., x_n]\) 与权重向量 \(w = [w_1, w_2, ..., w_n]\) 进行点积运算
    • 加上偏置项 \(b\) 得到预激活值:\(z = \sum_{i=1}^{n} w_i x_i + b\)
    • 通过激活函数 \(f(\cdot)\)(如 Sigmoid、ReLU)输出最终值:\(a = f(z)\)
  2. 多层网络的前向传播
    在深度神经网络中,前向传播按层顺序进行:

    • 输入层接收原始数据(如图像像素、文本向量)
    • 隐藏层对前一层的输出进行线性变换后应用激活函数,例如第 \(l\) 层的计算:
      \(a^{(l)} = f(W^{(l)} a^{(l-1)} + b^{(l)})\)
      其中 \(W^{(l)}\) 为权重矩阵,\(a^{(l-1)}\) 为前一层输出
    • 输出层根据任务类型选择激活函数(如分类任务用 Softmax,回归任务用线性函数)
  3. 具体计算示例
    以一个三分类任务的神经网络为例:

    • 输入特征维度为 4,隐藏层有 5 个神经元,输出层 3 个神经元
    • 输入数据 \(a^{(0)} = [1.2, -0.5, 2.1, 0.8]\)
    • 隐藏层计算(使用 ReLU 激活):
      \(z^{(1)} = W^{(1)} a^{(0)} + b^{(1)}\)\(a^{(1)} = \text{ReLU}(z^{(1)})\)
    • 输出层计算(使用 Softmax):
      \(z^{(2)} = W^{(2)} a^{(1)} + b^{(2)}\)\(a^{(2)} = \text{Softmax}(z^{(2)})\)
      最终输出 \(a^{(2)}\) 表示三个类别的预测概率分布
  4. 与前向传播相关的特性

    • 计算图结构:前向传播构建了从输入到输出的计算路径,为后续反向传播提供基础
    • 并行化能力:同层神经元的计算相互独立,可通过 GPU 并行加速
    • 数值稳定性:激活函数的选择会影响梯度流动,例如 ReLU 可缓解梯度消失问题
  5. 实际应用中的优化

    • 批量处理:通过矩阵运算同时处理多个样本,提升计算效率
    • 内存管理:前向传播需缓存中间结果(如 \(z^{(l)}, a^{(l)}\))供反向传播使用
    • 推理优化:在模型部署时,可通过层融合、量化等技术加速前向过程
神经网络前向传播 基础概念 前向传播是神经网络进行预测的核心过程。输入数据从输入层开始,逐层经过加权求和与激活函数处理,最终在输出层生成预测结果。以单个人工神经元为例: 输入向量 \( x = [ x_ 1, x_ 2, ..., x_ n] \) 与权重向量 \( w = [ w_ 1, w_ 2, ..., w_ n ] \) 进行点积运算 加上偏置项 \( b \) 得到预激活值:\( z = \sum_ {i=1}^{n} w_ i x_ i + b \) 通过激活函数 \( f(\cdot) \)(如 Sigmoid、ReLU)输出最终值:\( a = f(z) \) 多层网络的前向传播 在深度神经网络中,前向传播按层顺序进行: 输入层接收原始数据(如图像像素、文本向量) 隐藏层对前一层的输出进行线性变换后应用激活函数,例如第 \( l \) 层的计算: \( a^{(l)} = f(W^{(l)} a^{(l-1)} + b^{(l)}) \) 其中 \( W^{(l)} \) 为权重矩阵,\( a^{(l-1)} \) 为前一层输出 输出层根据任务类型选择激活函数(如分类任务用 Softmax,回归任务用线性函数) 具体计算示例 以一个三分类任务的神经网络为例: 输入特征维度为 4,隐藏层有 5 个神经元,输出层 3 个神经元 输入数据 \( a^{(0)} = [ 1.2, -0.5, 2.1, 0.8 ] \) 隐藏层计算(使用 ReLU 激活): \( z^{(1)} = W^{(1)} a^{(0)} + b^{(1)} \) → \( a^{(1)} = \text{ReLU}(z^{(1)}) \) 输出层计算(使用 Softmax): \( z^{(2)} = W^{(2)} a^{(1)} + b^{(2)} \) → \( a^{(2)} = \text{Softmax}(z^{(2)}) \) 最终输出 \( a^{(2)} \) 表示三个类别的预测概率分布 与前向传播相关的特性 计算图结构 :前向传播构建了从输入到输出的计算路径,为后续反向传播提供基础 并行化能力 :同层神经元的计算相互独立,可通过 GPU 并行加速 数值稳定性 :激活函数的选择会影响梯度流动,例如 ReLU 可缓解梯度消失问题 实际应用中的优化 批量处理 :通过矩阵运算同时处理多个样本,提升计算效率 内存管理 :前向传播需缓存中间结果(如 \( z^{(l)}, a^{(l)} \))供反向传播使用 推理优化 :在模型部署时,可通过层融合、量化等技术加速前向过程