神经网络基础讲解 一

​一.神经网络

​1. 全连接神经网络(Fully Connected Network, FCN)​

​核心概念:​

  • ​输入层​:接收原始数据(如数字、图片像素等) 数字矩阵 。
  • ​隐藏层​ :对数据进行计算和变换(可以有多个隐藏层)。
  • ​输出层​:给出最终结果(如分类标签、预测值等)。

​计算方式:​

每个神经元的输出计算如下:

a=h(w⋅x+b)

  • x:输入数据
  • w:权重(决定输入的重要程度)
  • b:偏置(调整输出的偏移)
  • h:激活函数(如 ReLU、Sigmoid,让网络能学习复杂模式)

​特点:​

  • ​全连接​:每一层的每个神经元都与下一层的所有神经元相连。
  • ​适合简单任务​(如分类数字、预测房价),但处理图像等高维数据时效率较低。

​2. 神经网络的训练与优化​

​核心目标:​
找到最佳的 ​权重(w)​​偏置(b)​,让模型的预测尽可能准确。

​训练过程:​

  1. ​前向传播​:输入数据经过网络计算,得到预测值 y。
  2. ​计算误差​ :用 ​损失函数(Loss Function)​ 衡量预测值与真实值的差距。
  3. ​反向传播​:从输出层反向调整 w 和 b,让误差变小。
  4. ​优化算法​(如梯度下降):不断更新参数,使模型越来越准。

​简单理解:​

  • 就像学习骑自行车,一开始会摔倒(误差大),但通过不断调整(优化参数),最终能骑得稳(预测准)。

​3. 卷积神经网络(CNN)的引入​
​为什么需要 CNN?​

全连接网络在处理图片时:

  • ​参数太多​(一张 100x100 的图片,全连接层可能有上百万参数!)
  • ​计算太慢​,且容易过拟合。

​CNN 的核心:卷积核(Filter)​

  • ​作用​:像一个小窗口,在图片上滑动,提取局部特征(如边缘、纹理)。
  • ​优点​
    • ​参数更少​(共享权重,减少计算量)。
    • ​保留空间信息​(适合图像、视频等数据)。

​典型结构:​

  1. ​卷积层(Convolution)​:提取特征
  2. ​池化层(Pooling)​:降低数据量(如取最大值或平均值)
  3. ​全连接层(FC)​:最终分类或回归

​适用场景:​

  • 图像识别(如人脸检测、物体分类)
  • 视频分析、医学影像处理等

​总结对比​
​网络类型​ ​适用场景​ ​核心特点​
​全连接网络(FCN)​ 简单分类、回归(如房价预测) 所有神经元相连,参数多
​卷积网络(CNN)​ 图像、视频等空间数据 用卷积核提取特征,参数更高效

​为什么需要激活函数?​

​核心问题:​
如果不用激活函数,多层神经网络会退化成"单层线性模型"。

  • ​例子​:假设激活函数是线性的,比如 h(x)=2x,那么一个 3 层网络的计算过程是:y(x)=h(h(h(x)))=2×2×2×x=8x这其实等价于单层网络 y(x)=8x,多层网络没有发挥任何优势。

​关键作用:​

激活函数引入​​非线性​​,使得神经网络可以:

  • 学习复杂模式(比如图像中的曲线、文本中的语义关系)。
  • 解决线性模型无法处理的问题(如分类复杂数据)。
  • 让深层网络真正发挥"深度"价值,而不是简单堆叠线性计算。

​1. Sigmoid 激活函数​

​公式:​

​特点:​

✅ ​​优点​​:

  • 输出在 (0,1) 之间,适合做​概率输出​(比如二分类问题,判断"是猫"或"不是猫")。
  • 计算简单,早期神经网络常用。

❌ ​​缺点​​:

  1. ​梯度消失​
    • 当输入 z 很大或很小时,导数 y′ 接近 0,导致参数(w,b)几乎不更新,深层网络训练困难。
    • 比如,z=10 时,y≈1,y′≈0,梯度几乎消失。
  2. ​输出不对称​
    • 输出恒为正(> 0),导致后续层的输入总是正数,影响参数优化效率。
  3. ​训练慢​
    • 梯度更新方向不稳定,优化过程耗时较长。

​适用场景​​:二分类问题的输出层(现代神经网络隐藏层一般不用 Sigmoid)。


​2. Tanh 激活函数​

​公式:​

​特点:​

✅ ​​优点​​(相比 Sigmoid):

  1. ​输出对称​
    • 输出在 (-1, 1) 之间,以 0 为中心,缓解了 Sigmoid 的"恒正"问题,训练更稳定。
  2. ​收敛更快​
    • 梯度更新更合理,模型训练速度比 Sigmoid 快。

❌ ​​缺点​​:

  1. ​梯度消失仍然存在​
    • 当 ∣z∣ 很大时,导数 y′ 接近 0,深层网络依然可能训练困难。
  2. ​非线性能力有限​
    • 和 Sigmoid 类似,Tanh 仍然是"饱和型"激活函数,对复杂数据的拟合能力不如 ReLU 等现代激活函数。

​适用场景​​:RNN、LSTM 等序列模型(隐藏层),二分类问题的输出层(替代 Sigmoid)。


​对比​
​激活函数​ ​输出范围​ ​优点​ ​缺点​ ​适用场景​
​Sigmoid​ (0, 1) 适合概率输出,计算简单 梯度消失、训练慢、输出不对称 二分类输出层
​Tanh​ (-1, 1) 输出对称,训练比 Sigmoid 快 仍有梯度消失问题 RNN/LSTM 隐藏层

3. ​​ReLU & Leaky ReLU 激活函数


​一、ReLU(修正线性单元)​

​1. 公式与计算规则​

  • ​直观理解​:输入 > 0 时,直接输出原值;输入 ≤ 0 时,输出 0。反向传播时,正输入的梯度恒为 1,负输入的梯度为 0。

​2. 核心优势​​ ✅

  1. ​解决梯度消失​:正区间的梯度恒为 1,深层网络训练时梯度能稳定传递(不像 Sigmoid/Tanh 会接近 0)。
  2. ​计算极快​:只需判断是否大于 0,没有指数、除法等复杂运算,适合大规模网络(如 CNN、Transformer)。
  3. ​稀疏激活​:负输入直接输出 0,让部分神经元"关闭",提升模型效率。

​3. 主要缺点​ ​ ❌
​神经元死亡问题​

  • 如果某个神经元的输入长期 ≤ 0(比如初始化不好或学习率太高),它的梯度永远是 0,参数无法更新,这个神经元就"死"了,失去作用。
  • 影响:部分神经元失效,降低模型表达能力。

​适用场景​​:

  • ​绝大多数深度学习模型​(如 CNN、全连接网络)的隐藏层默认选择。
  • 代表网络:ResNet、VGG、AlexNet 等。

​二、Leaky ReLU(带泄漏的 ReLU)​

​1. 公式与计算规则​

  • ​直观理解​:输入 > 0 时和 ReLU 一样;输入 ≤ 0 时,输出一个很小的比例(如 0.01 倍),而不是直接归零。

​2. 核心优势​ ​ ✅

​解决神经元死亡​​:

  • 负输入也有微小梯度(如 0.01),神经元不会完全"死掉",保留了学习能力。

​3. 主要缺点​​ ❌

  1. ​需要调参​:泄漏系数 a 是人工设定的(通常 0.01),不同任务可能需要调整。
  2. ​训练可能不稳定​:正负区间的处理方式不同,可能导致梯度更新波动。

​适用场景​​:

  • 担心 ReLU 神经元死亡的场景(如训练不稳定或深层网络)。
  • 改进版:​PReLU​(Parametric ReLU),让 a 变成可学习的参数,自动优化。

​三、对比
​特性​ ​ReLU​ ​Leaky ReLU​
​计算速度​ ⚡️ 极快(主流选择) ⚡️ 快(稍慢于 ReLU)
​梯度消失​ ✅ 正区间无消失 ✅ 正区间无消失
​神经元死亡​ ❌ 可能死亡 ✅ 缓解死亡问题
​超参数​ 需设定泄漏系数 a

二. 损失函数

1. 均方误差损失函数

相关推荐
新智元23 分钟前
CS 博士求职 8 个月 0 offer,绝望转行!斯坦福入学停滞,全美仅增 0.2%
人工智能·openai·jetbrains
新智元30 分钟前
奥特曼 YC 硬核访谈:走 ChatGPT 之路必死,世界差点没有 OpenAI!
人工智能·openai
纯粹的热爱33 分钟前
我把DeepSeek微调参数扒光了,显存和性能优化的秘密都在这
人工智能
顺丰同城前端技术团队35 分钟前
用大白话聊Deepseek MoE
前端·人工智能·后端
消失在人海中1 小时前
数据分析方法——常用的数据分析指标和术语
人工智能·数据挖掘·数据分析
鱼雀AIGC1 小时前
如何用AI开发完整的小程序<9>—UI自适应与游戏页优化
人工智能·ui·小程序·aigc·ai编程
Java中文社群2 小时前
超实用!SpringAI提示词的4种神级用法
java·人工智能·后端
Tadas-Gao2 小时前
视觉Transformer金字塔架构演进:从PVT到CoaT的技术脉络与创新解析
人工智能·深度学习·机器学习·大模型·llm·transformer
神经星星3 小时前
【TVM 教程】在 TVM 中使用 Bring Your Own Datatypes
人工智能·深度学习·机器学习
import_random3 小时前
[深度学习]transformer是什么(介绍)
深度学习