神经元 (Neuron) 的详细讲解

神经元(有时称为“节点”或“单元”)灵感来源于生物神经元,是人工神经网络的基本构建块。它接收输入信号,经过一系列计算,产生输出信号,传递给下一层神经元。


1. 神经元的结构

一个典型的人工神经元包含以下部分:

  • 输入(Inputs):来自前一层神经元或输入数据的多个信号值,通常是一个向量 深度学习——神经元_激活函数
  • 权重(Weights):每一个输入对应一个权重 深度学习——神经元_激活函数_02,权重决定输入信号的重要程度。
  • 偏置(Bias):一个额外的可训练参数 深度学习——神经元_激活函数_03,用来调整输出的激活阈值。
  • 线性组合:将所有输入按权重加权求和并加上偏置,计算出一个“加权和”(线性部分)。
  • 激活函数(Activation Function):对加权和进行非线性变换,决定神经元的输出。

2. 神经元的数学表达

设输入向量为 深度学习——神经元_激活函数,权重向量为 深度学习——神经元_激活函数_02,偏置为 深度学习——神经元_激活函数_03,则神经元的输出 深度学习——神经元_权重_07 可以写成:

深度学习——神经元_权重_08

然后通过激活函数 深度学习——神经元_权重_09 变换:

深度学习——神经元_激活函数_10

  • 深度学习——神经元_激活函数_11 是神经元的“净输入”或“加权和”。
  • 深度学习——神经元_权重_09 是激活函数,比如ReLU、Sigmoid或Tanh。

3. 激活函数的作用

激活函数为神经元引入非线性,使网络可以学习复杂函数关系。如果没有激活函数,整个神经网络就等价于一个线性变换,无法逼近复杂的数据模式。

几种常见激活函数:

  • Sigmoid:

深度学习——神经元_权重_13

输出范围在 (0,1),适合二分类概率输出,但容易梯度消失。

  • Tanh:

深度学习——神经元_激活函数_14

输出范围在 (-1,1),中心对称,收敛速度有时比Sigmoid快。

  • ReLU (Rectified Linear Unit):

深度学习——神经元_激活函数_15

简单高效,目前使用最广泛,能够缓解梯度消失问题。

  • 还有其他如Leaky ReLU、ELU等变体。

4. 直观理解

  • 权重代表输入的重要性,比如某个输入越重要,权重越大。
  • 偏置控制神经元激活的灵敏度,相当于调整“阈值”。
  • 输入信号经过加权和,再通过激活函数,决定是否“激活”并输出信号。

5. 神经元的学习过程

神经网络通过“训练”调整权重和偏置,使神经元输出更接近真实答案。训练中使用反向传播算法计算损失函数相对于权重和偏置的梯度,再用优化算法(如梯度下降)更新它们。


6. 简单代码示例(Python 伪代码)

def neuron_output(x, w, b):z = sum(w_i * x_i for w_i, x_i in zip(w, x)) + by = relu(z)  # 这里用ReLU作为激活函数return ydef relu(z):return max(0, z)

总结

组成部分

说明

输入 (深度学习——神经元_激活函数_16)

神经元接收到的输入信息

权重 (深度学习——神经元_激活函数_17)

控制输入重要性的参数

偏置 (深度学习——神经元_激活函数_03)

调整神经元输出的阈值

线性变换

输入与权重的加权和加上偏置

激活函数 (深度学习——神经元_权重_09)

赋予神经元非线性能力

输出 (深度学习——神经元_权重_07)

神经元传递给下一层的信号