神经网络的核心概念

5 阅读10分钟

让每层神经元“计算它们的函数的值”并在网络中将结果前馈,最后在底部产生最终结果。[插图]在传统(受生物学启发)的设置中,每个神经元实际上都有一些来自前一层神经元的“输入连接”​,而且每个连接都被分配了一个特定的“权重”​(可以为正或为负)​。给定神经元的值是这样确定的:先分别将其“前一层神经元”的值乘以相应的权重并将结果相加,然后加上一个常数,最后应用一个“阈值”​(或“激活”​)函数。用数学术语来说,如果一个神经元有输入[插图],那么我们要计算[插图]。对于权重 w 和常量 b,通常会为网络中的每个神经元选择不同的值;函数 f 则通常在所有神经元中保持不变。计算[插图]只需要进行矩阵乘法和矩阵加法运算。激活函数 f 则使用了非线性函数(最终会导致非平凡的行为)​

这段话是在描述**神经网络(Neural Network)的基本计算过程,特别是前馈神经网络(Feedforward Neural Network)**的工作方式。


🔹 1️⃣ 神经网络的核心概念

神经网络由多层神经元组成,每个神经元(Neurons)会接受来自前一层神经元的输入,经过计算后输出结果,最终在最后一层得到模型的预测结果。

可以把它类比为:

  • 神经元 = 小计算单元(像 Excel 里的公式计算)
  • 权重(weights)= 调整每个输入的重要性
  • 偏置(bias)= 调整整体输出
  • 激活函数(activation function)= 增加非线性能力

🔹 2️⃣ 具体计算过程

对于每个神经元,计算方式如下:

✅(1)输入和权重加权求和

假设神经元有 3 个输入:

x1,x2,x3x_1, x_2, x_3

每个输入都有一个对应的权重(weight)

w1,w2,w3w_1, w_2, w_3

那么神经元的加权输入就是:

z=x1⋅w1+x2⋅w2+x3⋅w3+bz = x_1 \cdot w_1 + x_2 \cdot w_2 + x_3 \cdot w_3 + b

其中,b 是偏置项(bias) ,它的作用是调整输出值的整体偏移,使得网络学习能力更强。


✅(2)应用激活函数

然后,计算**激活函数(Activation Function)**的输出:

y=f(z)y = f(z)

激活函数 f 的作用是引入非线性,否则整个神经网络只相当于线性变换(无法处理复杂数据)。

常见的激活函数包括:

  • ReLU(修正线性单元) :f(z)=max⁡(0,z)f(z) = \max(0, z)(最常用)
  • Sigmoid(S 形函数) :f(z)=11+e−zf(z) = \frac{1}{1 + e^{-z}}(用于二分类)
  • Tanh(双曲正切函数) :f(z)=ez−e−zez+e−zf(z) = \frac{e^z - e^{-z}}{e^z + e^{-z}}

🔹 3️⃣ 用矩阵运算简化

如果有多个神经元,每层的计算可以用矩阵运算来加速:

Z=XW+BZ = XW + B Y=f(Z)Y = f(Z)

这样就能高效计算整个神经网络的前向传播(Forward Propagation) ,并且可以用**梯度下降(Gradient Descent)**来训练它。


🔹 4️⃣ 直观理解

可以把神经元想象成评分系统

  • 你去餐厅吃饭,考虑环境(x₁)、服务(x₂)、菜品(x₃)
  • 每个因素的权重不同,比如 环境占 50%(w₁ = 0.5),服务占 30%(w₂ = 0.3),菜品占 20%(w₃ = 0.2)
  • 计算评分:

z=x1⋅0.5+x2⋅0.3+x3⋅0.2+bz = x_1 \cdot 0.5 + x_2 \cdot 0.3 + x_3 \cdot 0.2 + b

  • 再用激活函数(比如 ReLU)决定最终的输出评分。

这就是一个简单的神经元计算过程


🔹 5️⃣ 结论

神经网络的计算过程 = 输入 → 加权求和 → 激活函数 → 输出
矩阵计算让神经网络更高效
激活函数是关键,让网络具有非线性表达能力

如果你想深入,可以继续聊:

  • 反向传播(Backpropagation) 怎么优化神经网络?
  • 梯度下降(Gradient Descent) 如何训练 AI?
  • Transformer 如何利用神经网络实现自然语言处理?

你对哪个方向感兴趣?🚀

通俗但严谨的神经网络理解

我们可以把神经网络理解成一个**“超级复杂的评分系统”**,它会不断调整自己的评分规则,让最终的预测尽可能准确。


🔹 1️⃣ 类比:神经网络就像餐厅评分系统

假设你是一个美食博主,每次去餐厅都会打分,但你并不是随便给分,而是根据多个因素:

环境(x₁)
服务(x₂)
菜品质量(x₃)

每个因素对你最终评分的影响不一样,比如:

  • 你很看重环境(占比 50%)→ 权重 w1=0.5w_1 = 0.5
  • 服务 也很重要(占比 30%)→ 权重 w2=0.3w_2 = 0.3
  • 菜品 也有影响(占比 20%)→ 权重 w3=0.2w_3 = 0.2

所以你的最终评分计算方式是:

z=x1⋅w1+x2⋅w2+x3⋅w3+bz = x_1 \cdot w_1 + x_2 \cdot w_2 + x_3 \cdot w_3 + b

其中,bb 是 偏置项(bias) ,可以理解成你的个人口味偏好。

但是,分数不能太随意,比如:

  • 不能出现负分(有人给你推荐了“负 10 分”的餐厅吗?😆)
  • 不能太夸张(不能给一个普通餐厅 1000 分吧?🤔)

所以,我们需要一个**“限制规则” ,这就是激活函数(Activation Function)**,比如 ReLU:

f(z)=max⁡(0,z)f(z) = \max(0, z)

这样:

  • 如果计算结果是负数,就变成 0
  • 如果计算结果是正数,就保持不变

最终得到你的评分,比如 4.5 分 ✅


🔹 2️⃣ 从单个评分到神经网络

你打分的方式,其实就是一个神经元的计算方式。
如果你有一整个团队的美食博主,每个人的评分规则不一样,最后综合他们的评分,就变成了多层神经网络

1️⃣ 第一层(特征提取层):分析环境、服务、菜品
2️⃣ 第二层(隐藏层):综合所有评分,找出核心因素
3️⃣ 第三层(输出层):最终给出推荐指数(比如 1-5 星)

而**“训练神经网络”**,就相当于团队不断试错,每次吃完饭后调整评分标准,让评分更加符合现实情况。


🔹 3️⃣ 神经网络的数学本质

总结一下,神经网络的计算过程就是:
1️⃣ 输入层(接收数据):

x1,x2,x3x_1, x_2, x_3

2️⃣ 加权求和(计算影响):

z=x1⋅w1+x2⋅w2+x3⋅w3+bz = x_1 \cdot w_1 + x_2 \cdot w_2 + x_3 \cdot w_3 + b

3️⃣ 激活函数(限制输出范围):

y=f(z)y = f(z)

4️⃣ 多层计算(组合多个神经元):

Y=f(WX+B)Y = f(WX + B)

这个过程可以用矩阵运算来加速,所以 AI 可以高效计算超大规模的数据。


🔹 4️⃣ 你可能还会问:

🤔 神经网络怎么学习评分规则?
👉 通过 梯度下降(Gradient Descent)+ 反向传播(Backpropagation) 自动调整权重,逐步优化评分标准。

🤔 训练神经网络需要什么?
👉 需要大量数据(就像美食博主需要吃很多餐厅才能打分准确)。

🤔 Transformer 怎么用神经网络?
👉 Transformer 是一种特殊的神经网络,它用“自注意力机制(Self-Attention)”来分析句子中的关系,就像一个 AI 版的美食博主,不但要给餐厅评分,还要考虑顾客的口味偏好。


🔹 5️⃣ 结论

神经网络的本质 就是“加权评分 + 非线性调整 + 多层计算”
训练过程 就是 AI 不断试错、优化评分规则,让模型更精准
最终目标 是找到最优的“评分系统”,在各种任务上做出最好的预测

这样理解,神经网络就不那么神秘了吧?😃

如果你想深入了解梯度下降、反向传播或者 Transformer 的工作原理,咱们可以继续聊 🚀

如何划分神经网络的层?(多层神经网络)

神经网络的层结构从简单到复杂,通常由输入层、隐藏层、输出层三部分组成。


🔹 1️⃣ 三大核心层

(1)输入层(Input Layer)

  • 作用:接收数据

  • 神经元数量:等于输入特征的数量

  • 示例

    • 识别一张 28×28 像素的手写数字 → 需要 28×28=784 个神经元
    • 预测房价(房屋面积、地理位置、房龄等 5 个特征) → 5 个神经元

(2)隐藏层(Hidden Layers)

  • 作用:抽取特征、学习模式

  • 神经元数量:一般比输入层多

  • 层数多少?

    • 简单任务(房价预测、线性问题)→ 1~2 层隐藏层
    • 复杂任务(图像识别、自然语言处理)→ 10 层以上,甚至 100+ 层(如 ResNet、Transformer)
  • 计算方式

    • 每个隐藏层的神经元,会从前一层接收输入数据

    • 计算 加权和 + 偏置 + 激活函数: z=x1⋅w1+x2⋅w2+...+bz = x_1 \cdot w_1 + x_2 \cdot w_2 + ... + b y=f(z)y = f(z)

    • 示例

      • 识别人脸(输入 1000 维像素数据)→ 第一隐藏层可能有 5000 个神经元,提取关键特征(眼睛、嘴巴、鼻子等)
      • 第二隐藏层可能有 2000 个神经元,学习更深层次关系

(3)输出层(Output Layer)

  • 作用:生成最终预测结果

  • 神经元数量

    • 二分类问题(猫 vs. 狗) → 1 个神经元(输出 0 或 1)
    • 多分类问题(手写数字 0-9) → 10 个神经元(每个数字 1 个)
    • 回归问题(预测房价) → 1 个神经元(输出房价数值)
  • 激活函数

    • Sigmoid → 用于二分类
    • Softmax → 用于多分类
    • ReLU 或 线性函数 → 用于回归

🔹 2️⃣ 多层神经网络结构

示例:手写数字识别(输入 28×28 像素)

层名称神经元数量作用
输入层784读取 28×28 像素灰度值
隐藏层 1512学习边缘特征(线条、角)
隐藏层 2256学习复杂特征(数字形状)
输出层10预测 0-9 哪个数字概率最大

公式:

隐藏层1=ReLU(W1X+B1)\text{隐藏层1} = \text{ReLU} (W_1 X + B_1) 隐藏层2=ReLU(W2H1+B2)\text{隐藏层2} = \text{ReLU} (W_2 H_1 + B_2) 输出层=Softmax(W3H2+B3)\text{输出层} = \text{Softmax} (W_3 H_2 + B_3)


🔹 3️⃣ 如何选择隐藏层的数量?

规则 1:任务简单时,1~2 层隐藏层就够了(比如房价预测)
规则 2:任务复杂时,多层隐藏层可提取高级特征(如人脸识别)
规则 3:层数太多会导致过拟合,所以需要正则化(dropout, L2)

🔹 经验法则

  • 1~2 层隐藏层:适用于 简单模式识别(预测房价、文本情感分析)
  • 3~10 层隐藏层:适用于 较复杂问题(图像分类、人脸识别)
  • 10+ 层隐藏层:适用于 超复杂任务(自动驾驶、AlphaGo)

🔹 4️⃣ 直观理解

假设你要训练一个 AI 来分辨 “猫” 和 “狗”

  • 输入层:接收图片像素值(眼睛、鼻子、耳朵等信息)
  • 隐藏层 1:识别基本特征(点、线、边缘)
  • 隐藏层 2:组合成更复杂特征(耳朵形状、鼻子位置)
  • 输出层:判断是猫还是狗

这个过程就像人类学习认知事物
1️⃣ 第一层 学习基础信息(颜色、形状)
2️⃣ 第二层 识别特征(耳朵、眼睛)
3️⃣ 最终层 输出分类(猫 or 狗)


🔹 5️⃣ 结论

多层神经网络由 输入层、隐藏层、输出层 组成
隐藏层是核心,决定网络的学习能力
层数越多 → 计算量更大 → 需要更多数据训练
实际应用中,层数和神经元数量需要实验优化

你对哪部分感兴趣?可以具体讲深一点 🚀