当前位置: 首页 > news >正文

深度学习(十一):深度神经网络和前向传播

深度神经网络的核心思想是将输入数据通过多层非线性变换逐步映射到输出空间。这个过程的核心机制就是 前向传播(Forward Propagation, FP)

深度神经网络(DNN)

神经元模型

人工神经网络的灵感来源于生物神经元。一个神经元的基本计算过程为:

  1. 接收来自前一层的输入信号;
  2. 对输入加权求和并加上偏置项;
  3. 通过非线性激活函数得到输出;
  4. 将输出传递到下一层。

数学形式表示为:

在这里插入图片描述

网络层次结构

一个典型的深度神经网络由以下几部分组成:

  • 输入层:负责接收原始数据,如图像像素或文本特征;
  • 隐藏层:通常包含多个层,每层由大量神经元构成,逐步抽象和提取数据特征;
  • 输出层:给出最终结果,如分类概率或预测值。

当网络层数超过两层隐藏层时,就被称为“深度神经网络”。

前向传播(Forward Propagation)

定义

前向传播是指:数据从输入层经过各层神经元的加权求和与激活函数运算,逐层传递,最终在输出层得到预测结果的过程。

它可以看作是一种 函数复合

在这里插入图片描述

其中:

  • x 为输入,
  • L为网络层数,
  • f(l) 表示第 l 层的非线性变换。

数学推导

假设第 l 层有 n[l] 个神经元,则:

  1. 线性计算

    在这里插入图片描述

其中:

  • W[l] 是第 l 层的权重矩阵,
  • b[l] 是偏置向量,
  • a[l−1] 是上一层的输出(第0层为输入 x)。
  1. 激活函数

    在这里插入图片描述

  2. 最终输出

    在这里插入图片描述

激活函数的作用

若没有激活函数,神经网络就退化为简单的线性变换,无法表示复杂的非线性关系。常见激活函数包括:

  • Sigmoid:输出范围 (0,1),常用于二分类;
  • Tanh:输出范围 (-1,1),相对居中;
  • ReLU(Rectified Linear Unit):常用,计算简单,解决梯度消失问题;
  • Softmax:常用于多分类输出,将结果转化为概率分布。

前向传播的实现流程

一个典型的前向传播步骤如下:

  1. 输入数据准备:将训练样本或测试样本输入网络;
  2. 逐层线性计算与激活:对每一层执行 z=Wx+b 和 a=f(z);
  3. 结果输出:在最后一层获得预测值;
  4. 损失函数计算:通过损失函数衡量预测结果与真实标签之间的差异。

常见损失函数包括:

  • 均方误差(MSE):用于回归问题;

在这里插入图片描述

  • 交叉熵损失(Cross-Entropy Loss):用于分类问题;

在这里插入图片描述

前向传播的示例

假设一个简单的神经网络:

  • 输入层:2个神经元;
  • 隐藏层:2个神经元;
  • 输出层:1个神经元。

输入:

在这里插入图片描述

隐藏层计算:

在这里插入图片描述

输出层计算:

在这里插入图片描述

整个过程就是一次完整的前向传播。

前向传播特点

  1. 多层次抽象能力:前向传播通过层层变换,使低级特征(像素点、词向量)逐步转化为高级语义特征(物体类别、语义含义)。
  2. 参数规模大:DNN中通常包含数百万甚至数亿个参数,因此前向传播需要高效的矩阵运算库(如 BLAS、CUDA)。
  3. 可并行化计算:前向传播中的矩阵乘法和激活函数运算可高度并行化,这是 GPU 加速深度学习的重要原因。

应用案例

  1. 图像识别:输入为像素矩阵,前向传播逐层提取边缘、纹理、形状等特征,最终输出类别概率。
  2. 语音识别:输入为声学特征(MFCC等),通过前向传播提取语音模式,输出对应文字。
  3. 自然语言处理:输入为词向量,前向传播提取语义关系,输出情感分类或翻译结果。

总结与展望

深度神经网络通过多层结构和非线性映射实现了对复杂问题的强大建模能力,而前向传播是其中最基本、最核心的计算过程。它不仅是模型训练的起点,也是模型推理的关键步骤。

随着计算能力和数据规模的提升,前向传播在更深层次网络(如卷积神经网络CNN、循环神经网络RNN、Transformer等)中得到了更广泛的应用。未来,如何进一步优化前向传播的计算效率、降低能耗、提升模型可解释性,将是深度学习的重要研究方向。

http://www.dtcms.com/a/394761.html

相关文章:

  • js立即执行函数的几种写法
  • RecyclerView里更新列表数是不想让header也刷新,怎么处理
  • C#/.NET/.NET Core技术前沿周刊 | 第 55 期(2025年9.15-9.21)
  • 减少实验烦恼,革新实验效率——PFA塑料容量瓶降低实验成本与风险
  • 留给石头科技的赛道不多了
  • 基于卷积神经网络的人车识别技术:从原理突破到场景重构的深度探索
  • 信用免押租赁服务:重构消费信任体系的全球增长引擎
  • Redis数据迁移实战:从自建到云托管(阿里云/腾讯云)的平滑过渡
  • 从梵高到赛博格:我用4K模型重构艺术史的未来可能性-Seedream 4.0 实测
  • Mysql DBA学习笔记(Redo Log/Undo Log)
  • 买卖T平台如何以分红+排队免单重构零售生态?
  • 2025 年前端工具全景解析:从框架到 AI,重构开发效率的 N 种可能
  • 重构ruoyi前后端分离版
  • AI + 制造:AI 如何重构制造业的质检与排产流程
  • 卡尔曼滤波
  • Django安全完全指南:构建坚不可摧的Web应用
  • Mysql DBA学习笔记(MVCC)
  • 【论文阅读】GR-1:释放大规模视频生成式预训练用于视觉机器人操控
  • 分布式光伏阴影轨迹模拟
  • 【Java.数据结构】初识集合框架
  • 人工智能的推理方法实验-用归结原理解决机器人搬盒子问题
  • Flink中 Window解析
  • 医疗数据互操作性与联邦学习的python编程方向研究(下)
  • 摄像头视频云存储与回放系统架构
  • C# 压缩解压文件的常用方法
  • .NET驾驭Word之力:打造专业文档 - 页面设置与打印控制完全指南
  • 为什么要创建音频地图?——探索Highcharts可视化的声音创新
  • Sass开发【四】
  • 从图片到实时摄像头:OpenCV EigenFace 人脸识别实战教程
  • kotlin 为什么要有协程作用域