尽管生物神经元提供了一个有趣的起点,但构建计算模型需要更精确的数学抽象。让我们剖析一下人工神经元的标准模型,它在网络中常被称为单元或节点。这个模型以简化且易于计算的形式,捕捉了生物神经元信号处理的本质。可以将人工神经元看作是一个处理单元,它接收多个输入,执行计算,并产生一个输出。以下是它的基本组成部分:输入与权重人工神经元接收一个或多个输入信号。这些输入,表示为$x_1, x_2, ..., x_n$,代表输入神经元的特征或信息。例如,在图像分类任务中,这些输入可以是图像一小块区域的像素值。每个输入连接都有一个关联权重,表示为$w_1, w_2, ..., w_n$。这些权重是网络在训练过程中学习到的重要参数。权重表示其相应输入信号的重要程度或强度。一个大的正权重意味着该输入强烈地激发神经元,而一个大的负权重意味着该输入强烈地抑制神经元。一个接近零的权重表示该输入对神经元的输出影响很小。求和函数神经元内部的第一步是计算所有输入的加权和。这汇集了所有输入信号的影响,并由各自的权重调节。在数学上,这通常表示为:$$ z = (w_1 x_1 + w_2 x_2 + \dots + w_n x_n) + b $$这本质上是输入的线性组合。偏置请注意求和函数中的附加项$b$。这是偏置项。你可以将偏置视为一种移动激活函数触发点的方式,使神经元更容易或更难被激活(产生非零输出)。或者,它可以被视为与常数输入1($x_0 = 1$, $w_0 = b$)关联的权重。如果没有偏置,神经元的加权和$w_1 x_1 + \dots + w_n x_n$将始终通过原点,从而限制了其灵活性。偏置允许神经元模拟不一定通过原点的关系。与权重一样,偏置是训练期间调整的可学习参数。激活函数求和结果$z$随后通过一个激活函数,通常表示为$g(\cdot)$。这个函数为神经元的输出引入非线性。$$ \text{输出} = a = g(z) = g(\sum_{i=1}^{n} w_i x_i + b) $$为什么非线性很重要?如果神经元只执行线性变换(如加权和),那么堆叠多层神经元整体上仍只会产生线性变换。这将严重限制网络可以学习的函数的复杂性。生物神经元表现出非线性发放行为,激活函数模仿了这一点。常见示例包括 Sigmoid、Tanh 和 ReLU 函数,我们将在下一章中详细介绍它们。现在,请理解激活函数决定了传递给其他神经元或用作最终网络输出的最终信号。模型可视化我们可以将这个数学模型可视化如下:digraph G { graph [rankdir=LR, splines=line, nodesep=0.6, pad="0.5,0.5"]; node [shape=circle, style=filled, fillcolor="#a5d8ff", fixedsize=true, width=0.6, height=0.6, label=""]; edge [arrowhead=vee]; subgraph cluster_inputs { label = "输入"; style = invis; x1 [shape=plaintext, label="x₁"]; x2 [shape=plaintext, label="x₂"]; xn [shape=plaintext, label="⋮"]; } subgraph cluster_sum { label = "神经元"; bgcolor="#e9ecef"; style=rounded; node [shape=circle, fixedsize=true, width=0.7, height=0.7, label="Σ", fillcolor="#fab005"]; sum_node; node [shape=circle, fixedsize=true, width=0.7, height=0.7, label="g()", fillcolor="#96f2d7"]; act_node; } output [shape=plaintext, label="输出 (a)"]; # 带权重的连接 x1 -> sum_node [label="w₁"]; x2 -> sum_node [label="w₂"]; xn -> sum_node [label="wₙ"]; # 偏置(表示为常数输入1,权重为b) bias_input [shape=plaintext, label="1"]; bias_input -> sum_node [label="b"]; # 求和到激活 sum_node -> act_node [label="z"]; # 激活到输出 act_node -> output [label="a = g(z)"]; }人工神经元模型的图示。输入($x_i$)乘以权重($w_i$),与偏置($b$)一起求和得到$z$,然后通过激活函数$g(\cdot)$产生最终输出$a$。这个数学模型,简单而强大,构成了几乎所有神经网络的基本模型。我们接下来将讨论的感知器,本质上就是这个模型,只是使用了特定类型的激活函数(一个阶跃函数)。通过将许多这样的神经元分层连接起来,我们可以构建能够学习数据中错综复杂模式的网络。