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

FFNN(前馈神经网络)层

FFNN(前馈神经网络)层

这是一个非常核心的深度学习概念,理解它是理解现代人工智能的基础。


1. 核心思想:什么是“前馈”?

“前馈”指的是数据在网络中单向流动,从输入层到输出层,中间没有循环或反馈

  • 单向流动:信息像一条单向街道,只向前走,不回头。
  • 无循环:与循环神经网络(RNN)不同,它的输出不会再次作为输入传回给自身。

你可以把它想象成一个多阶段的流水线加工链,每一层都对数据进行一次加工,然后将结果传递给下一层。


2. FFNN层的结构与组成部分

一个典型的FFNN层(通常指一个隐藏层)由以下几个关键部分组成:

a) 神经元

每个层都由多个神经元(也称为“单元”或“节点”)组成。神经元是网络的基本计算单元。

  • 输入层:神经元的数量通常由输入数据的特征数决定(例如,一张28x28像素的图片展平后就是784个输入神经元)。
  • 隐藏层:神经元的数量是一个可以调整的超参数。
  • 输出层:神经元的数量由任务决定(例如,10分类任务就有10个输出神经元)。
b) 权重和偏置
  • 权重:连接两个神经元之间的线的强度。每个连接都有一个权重值(w)。它代表了前一个神经元对后一个神经元影响力的大小和方向(正负)。学习的过程主要就是调整这些权重。
  • 偏置:每个神经元还有一个偏置项(b)。它像一个“门槛”或“基准线”,允许神经元即使在所有输入都很小时也能被激活。
c) 求和函数

对于某个神经元,它会将所有输入值与对应的权重相乘,然后加上偏置,进行求和。
z = (w1 * x1) + (w2 * x2) + ... + (wn * xn) + b
这个 z 被称为加权和

d) 激活函数

求和函数的结果 z 会被送入一个激活函数 f(.),产生该神经元的最终输出 a = f(z)

为什么需要激活函数?
如果没有激活函数,无论堆叠多少层,整个网络都等价于一个简单的线性变换(如 y = Wx + b),无法学习复杂的非线性模式。激活函数引入了非线性,使得网络能够拟合极其复杂的数据关系。

常见的激活函数:

  • Sigmoid:将输入压缩到(0,1)之间,过去常用,现在多用于输出层(如二分类)。
  • Tanh:将输入压缩到(-1,1)之间,是Sigmoid的改进版。
  • ReLU(整流线性单元)f(z) = max(0, z)。这是目前最常用、最受欢迎的激活函数,因为它能有效缓解梯度消失问题,计算简单。

3. 单层FFNN的计算过程(数学公式)

假设我们有一个层,它有:

  • n_in 个输入:x1, x2, ..., x_n_in
  • n_out 个神经元(输出)

那么对于这个层的第 j 个神经元,其输出 a_j 的计算如下:

  1. 计算加权和
    z_j = (w_j1 * x1) + (w_j2 * x2) + ... + (w_jn_in * x_n_in) + b_j
  2. 应用激活函数
    a_j = f(z_j)

为了计算高效,我们通常使用矩阵形式来表示整个层的计算:

A = f( X * W + B )

其中:

  • X 是输入矩阵(1 x n_in
  • W 是权重矩阵(n_in x n_out
  • B 是偏置向量(1 x n_out
  • A 是该层的输出向量(1 x n_out

4. 多层FFNN(深度前馈神经网络)

当我们将多个这样的层堆叠起来时,就形成了深度前馈神经网络(DFFNN),也就是“深度学习”中“深度”一词的来源。

  • 结构:输入层 -> 隐藏层1 -> 隐藏层2 -> … -> 输出层
  • 信息流
    1. 输入数据进入输入层。
    2. 输入层的输出作为隐藏层1的输入。
    3. 隐藏层1的输出作为隐藏层2的输入。
    4. … 以此类推 …
    5. 最后一层(输出层)的输出就是整个网络的预测结果。

为什么需要多层?
每一层都在学习数据的不同层次的抽象表示。

  • 浅层(靠近输入):学习低级特征(如边缘、角落、颜色)。
  • 中层:将低级特征组合成更复杂的特征(如眼睛、鼻子)。
  • 深层(靠近输出):将复杂特征组合成完整的模式,用于最终决策(如这是一张“猫”的脸)。

5. 总结:FFNN层的关键特性

特性解释
全连接当前层的每一个神经元都与前一层的所有神经元相连。
前向传播数据严格地从输入层流向输出层,计算预测值。
非线性激活函数的引入使得网络可以学习非线性关系。
分层抽象深层网络能够从数据中学习层次化的特征表示。

类比理解

把FFNN想象成一个复杂的决策委员会

  • 输入层:是提交报告的助理,负责收集原始数据。
  • 隐藏层:是不同级别的经理。
    • 基层经理(第一隐藏层)从助理的报告里总结出几个要点(特征)。
    • 中层经理(第二隐藏层)根据基层经理的要点,进一步归纳出更宏观的结论。
    • 高级总监(第三隐藏层)根据中层的结论,做出战略判断。
  • 输出层:是CEO,根据高级总监们的最终报告,拍板做出最终决策。
  • 权重和偏置:代表了每个经理对不同下属意见的重视程度和个人判断倾向。
  • 训练/学习:就是通过不断看案例(数据),调整所有经理的“重视程度”(权重)和“个人倾向”(偏置),让整个委员会的最终决策越来越准。

希望这个解释能帮助你透彻地理解FFNN层!

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

相关文章:

  • 建设隔离变压器移动网站营销课程培训视频
  • 安阳企业建网站建设用地规划查询网站
  • 【Kernel】Linux CFS(完全公平调度器)实现原理与机制
  • Alibaba Cloud Linux 3 安装 Tomcat
  • 什么自查询?为什么在 RAG 中需要自查询?
  • 做早餐煲汤网站wordpress移动端顶部导航栏
  • 地坪漆东莞网站建设技术支持做淘宝的人就跟做网站一样
  • Vue 用户管理系统(路由相关练习二)
  • 三维建筑非法入侵情景推演
  • 新加坡建设局网站企业网站策划过程
  • 工程师报考网站企业站系统
  • Agent 设计与上下文工程- 03 Workflow 设计模式(下)
  • 硅基计划6.0 JavaEE 壹 多线程及核心内容
  • 网站建设+三乐seo优化系统哪家好
  • 游戏网站建设收费明细自己怎么制作假山
  • 调用模型的两个参数 temperature 和 max_new_tokens 指什么
  • Deepseek在它擅长的AI数据处理领域还有是有低级错误【k折交叉验证中每折样本数计算】
  • 影刀RPA实时监控抖店DSR评分,AI预警异常波动,店铺权重稳如泰山![特殊字符]
  • 用html做的美食网站wordpress 自动空格
  • 网站防护找谁做wordpress创建搜索框
  • 【雷达跟踪滤波例程】3个雷达的三维目标跟踪滤波系统,目标匀速运动,滤波为扩展卡尔曼|雷达观测:斜距、俯仰角、方位角。MATLAB,附下载链接
  • Go红队开发—图形化界面
  • 测开百日计划——Day1
  • 一些工具的使用
  • MATLAB多子种群混沌自适应哈里斯鹰算法优化BP神经网络回归预测
  • 红外体温产品开发踩坑后,我发现谷德 0.05℃精度的红外体温芯片居然自带免费算法?
  • 周口师范做网站好的网站建设网
  • 无锡网站wordpress 3.8.1
  • 巫山做网站哪家强wordpress 升级提示
  • 探索 MCP 生态与边缘智能体部署的家常话