吴恩达深度学习复盘(4)神经网络的前向传播

笔者注

神经网络的前向传播(Forward Propagation)是指输入数据从输入层经过各隐藏层传递到输出层,逐层计算激活值的过程。这一过程不涉及参数更新,主要用于生成预测结果或为反向传播提供中间值。如果觉得理解起来过于抽象,就把这个过程作为为了得到结果所需要做的必要过程好了。

1. 神经网络结构基础

之前笔记介绍过

神经网络由多层神经元组成,一般有3层结构:

  • 输入层:接收原始数据。

  • 隐藏层:1个或多个中间层,通过非线性变换提取特征。

  • 输出层:生成最终预测结果。

  • 神经元连接:每层神经元通过带权重的边与下一层神经元相连,权重决定输入信号的重要性。

2. 前向传播核心步骤

假设神经网络有L层,第l层的输入为,输出为。每一层的计算分为两步:

步骤1:线性变换(Linear Transformation)

  • 公式:

  • :第l层的权重矩阵(维度为 )。

  • :第l层的偏置向量(维度为 )。

  • :第l-1层的激活值(输入)。

  • :第l层的线性组合结果(未激活值)。

步骤2:非线性激活(Non-linear Activation)

  • 公式:

  • :激活函数(如ReLU、sigmoid、tanh等)。

  • 作用:引入非线性,使神经网络能学习复杂模式。

3. 逐层计算示例

以一个简单的3层网络(输入层→隐藏层→输出层)为例:

1. 输入层到隐藏层:

  • 输入数据 (假设X为样本矩阵,维度为,m为样本数)。

  • 计算

  • 激活:

2. 隐藏层到输出层:

  • 计算

  • 输出层激活(根据任务选择函数):

  • 回归任务:线性激活

  • 分类任务:Softmax激活(输出概率分布)。

4. 激活函数的选择

  • 常见激活函数:

  • Sigmoid:输出范围(0,1),适合二分类。

  • ReLU:计算高效,缓解梯度消失()。

  • Softmax:输出层多分类常用,将值归一化为概率分布。

  • 选择依据:根据任务类型(分类/回归)和网络深度(避免梯度问题)。

5. 矩阵运算的高效性

  • 向量化计算:通过矩阵乘法同时处理多个样本,避免循环。

  • 示例:若有m个样本,每个样本的输入为 ,则 ,矩阵运算可批量计算所有样本的激活值。

6. 前向传播的作用

  • 预测阶段:输入新数据,逐层计算输出,得到预测结果。

  • 训练阶段:为反向传播提供中间值(如各层的z和a),用于计算梯度并更新参数。

7.简单的算法示例代码

复制代码
import numpy as np

# 定义激活函数
def sigmoid(z):
    return 1 / (1 + np.exp(-z))

# 前向传播函数
def forward_propagation(X, W1, b1, W2, b2):
    # 输入层到隐藏层的线性变换
    z1 = np.dot(W1, X) + b1
    # 隐藏层的激活函数
    a1 = sigmoid(z1)
    # 隐藏层到输出层的线性变换
    z2 = np.dot(W2, a1) + b2
    # 输出层的激活函数
    a2 = sigmoid(z2)
    return a2

# 示例数据
# 输入特征,假设有3个样本,每个样本有2个特征
X = np.array([[0.1, 0.2], [0.3, 0.4], [0.5, 0.6]]).T
# 隐藏层神经元数量
n_hidden = 3
# 输入层神经元数量
n_input = X.shape[0]
# 输出层神经元数量
n_output = 1

# 初始化权重和偏置
# 输入层到隐藏层的权重
W1 = np.random.randn(n_hidden, n_input)
# 隐藏层的偏置
b1 = np.zeros((n_hidden, 1))
# 隐藏层到输出层的权重
W2 = np.random.randn(n_output, n_hidden)
# 输出层的偏置
b2 = np.zeros((n_output, 1))

# 执行前向传播
output = forward_propagation(X, W1, b1, W2, b2)
print("前向传播的输出结果:")
print(output)

8. 总结

前向传播的核心是将输入数据通过层层线性变换和非线性激活,最终映射到输出空间。其数学本质是复合函数的嵌套计算,而矩阵运算的优化使得这一过程在大规模数据上高效运行。理解前向传播是掌握反向传播、梯度下降等神经网络核心算法的基础。

相关推荐
阿里云大数据AI技术2 分钟前
Hologres:一站式 Agentic 多模态检索分析平台
人工智能
回眸&啤酒鸭3 分钟前
【回眸】AI新鲜事——百度 AI 搜索实战应用场景与落地
人工智能·百度
jsl_jsl_jsl10 分钟前
《Agent 的记忆怎么做:实时记忆、被动压缩与主动整理的三层设计》
人工智能
词却12 分钟前
深度学习入门:数据预处理与自定义数据集
深度学习
林浩杨_21 分钟前
SIGIR 2026|南京大学:Video-GAR:“通过生成 Query 来验证视频语义理解”的生成增强范式
论文阅读·人工智能·算法
speop33 分钟前
Hello-Agents | Task00 环境配置
人工智能
71777733 分钟前
基于 Gitee 的软件成分分析(SCA)工具选型与集成参考
人工智能·gitee
子非鱼eva35 分钟前
Ascend950PR版本速配表
人工智能·ai
Henry-SAP35 分钟前
SAP PP模块核心机制解析
人工智能·云原生·sap·erp
imbackneverdie36 分钟前
论文中的机制图、原理图用什么软件画?AI生成可编辑矢量图的方法分享
人工智能·深度学习·计算机视觉·aigc·科研·ai绘图·科研绘图