神经网络原理与实践入门

zealynx 发布于 2026-01-20 阅读 20

本文介绍了多层感知机(MLP)的基本原理,包括神经元、层、激活函数、权重和偏置等核心概念。文章通过类比人类大脑和招聘流程,解释了神经网络如何通过层进行信息处理和验证。详细阐述了训练过程,包括前向传播、成本函数、梯度下降和反向传播算法。强调了数据质量和数量对模型准确性的重要性,并讨论了Hebbian理论在神经网络中的概念应用。最后总结了神经网络学习的基本原理,为理解更复杂的神经网络和大型语言模型奠定了基础。

神经网络不断进化,变得越来越复杂。若不理解神经网络的核心原理,就很难理解这些复杂结构。针对这一知识空白,接下来你将学习一个基础、全面的概述,了解一个标准神经网络(Plain Vanilla Neural Network)是如何工作的。我们称之为多层感知机(Multilayer Perceptron)

理解神经元

你一定听说过神经元这个术语,以及它是大脑和神经系统的核心组成部分。

神经网络是一种数学模型设计,其灵感来自大脑的工作方式。因此,描述神经网络组件的某些术语可能受到大脑功能部分和组件的启发。在使用 Sigmoid 激活函数的基本神经网络中,神经元的取值在 01 之间。神经网络中的这个数值范围被称为激活值(Activation)。简而言之,神经元在神经网络中承载着这些数值。

神经网络由相互连接的为单位运作。位于第一层和最后一层之间的层被称为隐藏层

每一层的激活值会触发下一层的激活值。因此,某些神经元组的激发(firing)会导致下一层中特定神经元组的激发。所形成的这些神经模式类似于人类的经验。人脑通过经验建立识别习惯或行为,神经网络也利用了这些原理。

当信息通过神经网络传递时,某一层中激活的特定神经元会导致下一层中特定神经元的激活,最终到达最后一层神经元的输出。在分类网络中,最亮的神经元(输出层中数值最高的神经元)就是网络的选择。这就是 AI 模型如何根据输入进行模式识别和复杂预测的过程。

神经网络末端某个神经元的激活值决定了特定输入与对应答案之间的关联程度。代表最高数字的神经元激活值就对应着应选择的特定输出。

最后,神经元本质上是一个数学函数,它接收来自前一层所有输出,并输出一个数字(通常取决于激活函数,范围在 01 之间)。

为什么需要层?

层是神经网络的关键组成部分。可以将层视作验证输入以确定正确输出的一道关卡。

例如,假设你要面试某个候选人,看他/她是否是一个领域的专家。你如何判断候选人是否最适合这份工作?

这需要通过提出更多问题、背景调查、审查经验、项目等来确定。每一次审查就像一层验证,确保你雇佣到正确的候选人。虽然这并不一定能保证你雇佣到最佳候选人,但它降低了雇佣不称职候选人的可能性,并提高了雇佣最佳人才的可能性。

根据你对上述招聘流程的理解,这正是层的工作原理。神经网络中的层越多,为输入提供正确输出的可能性就越高。虽然增加层数会带来更高的计算成本,但它降低了错误预测的可能性。

训练过程

现在,让我们深入了解神经网络是如何学习的。神经网络基于所用的数学框架进行学习。训练(学习过程)的时间取决于数学方程的算法效率。

注意:要训练好一个神经网络,需要对其进行初始化。过去,神经网络使用小样本数据进行训练;而如今,使用大规模数据集已是常态。训练会根据模型在训练数据上的误差,迭代地更新最终的权重和偏置值。

让我们来剖析学习过程背后的方程:

  1. 激活值 - $a$
  2. 权重 - $w$
  3. 偏置 - $b$
  4. Sigmoid 函数 - $\sigma$

每一层的激活值基于加权和的 Sigmoid 函数:将前一层所有的激活值乘以其对应的权重,求和,然后加上偏置。

$$z = w_1 a_1 + w_2 a_2 + w_3 a_3 + w_4 a_4 + ... + w_n a_n + b$$

来自前一层所有输入的总和通过 Sigmoid 方程进行变换,得到如下方程:

$$a = \sigma(w_1 a_1 + w_2 a_2 + w_3 a_3 + w_4 a_4 + ... + w_n a_n + b)$$

简化后的方程

$$a = \sigma(z)$$

上述训练方程本身并不能保证准确性。请记住,模型需要学习;因此,神经网络需要一种修正机制,使其在识别输入时变得更加准确。在神经网络中,这由代价函数驱动。

当网络正确分类最终输出时,代价函数的输出很小;但当网络错误分类输出时,代价函数的值会显著增大。

代价函数的目标不仅是告诉系统错了多少,还要确定如何让系统变得更准确。

为了最小化代价函数的值,神经网络会寻找能够最小化该损失(代价)函数的模型参数(权重和偏置)值。这通常通过一种称为梯度下降 的优化算法来完成。在此过程中,通常会找到一个局部最小值,但很难保证找到全局最小值

用于高效计算梯度的算法——这间接也是神经网络学习的方式——被称为反向传播

注意:一种常见的代价函数(均方误差)的计算方式是:用预期输出减去模型预测值,然后求差的平方。

你无法直接改变激活值;在训练过程中,你只能影响权重和偏置。

为了理解神经元在概念上如何连接,我们可以参考一个生物学原理,即 Hebbian 理论

Hebbian 理论:同时激发的神经元会连接在一起(Neurons that fire together, wire together)。

根据上述理论,虽然我们在标准密集神经网络中通常不会物理上“断开”神经连接(尽管存在剪枝等技术),但我们可以通过使用梯度下降(例如随机梯度下降)的反向传播来加强正确神经路径的连接,从而对特定输入的正确神经路径施加更多权重。虽然对每个输入单独进行此操作计算成本很高,但通常以称为“批次”的组形式进行。然后使用反向传播将期望的权重变化平均值整体应用于神经网络。这种集体过程效率更高,以每步精度的小幅牺牲换取了巨大的计算节省。

所有训练样本平均值的函数

$$\frac{\partial C}{\partial w^{(L)}}$$

反向传播使用微积分中的链式法则来求每一层中各个分量的导数。

注意:为了确保高精度,神经网络需要大量高质量的训练数据。之所以存在 AI 标注工作和对数据的高需求,是因为数据的质量和数量严格决定了神经网络的强度和准确性。然而,这并不能消除对高级数学方程和优化函数来提高模型效率的需求。

结论

如果你读到了这里,恭喜你。通过以上概述,你已学习了神经网络工作原理的基本原理,以及每一层的每个激活值如何与前一层的激活值及其权重在数学上相关联。你还了解到,更多高质量的数据能使神经网络更强大,以及代价函数、激活函数、权重、Sigmoid 函数和偏置的原理和用途。现在你已经掌握了这些基础知识,可以利用这些知识去理解不同类型的复杂神经网络和大语言模型(LLM)是如何工作的。


准备好保护你的 AI 系统了吗?

在 Zealynx,我们专注于全面的 AI 安全评估,其范围超越了传统的智能合约审计。我们的团队应用你在本系列中学到的认知安全框架和数学分析,来识别以下方面的漏洞:

  • LLM 应用 — 提示注入、上下文操控、数据提取
  • AI Agent系统 — 多模态攻击、工具滥用、权限提升
  • 机器学习流水线安全 — 训练数据投毒、模型提取、对抗性输入
  • AI 基础设施 — API 安全、访问控制、部署漏洞

我们的 AI 审计与众不同之处:

  • 深入理解本系列中涵盖的认知攻击向量和数学漏洞
  • 分析基于优化的投毒、信息泄露和图操作攻击
  • 针对你的 AI 架构量身定制的实用补救策略
  • 持续的安全监控和威胁情报

了解更多关于我们的 AI 安全服务 →


常见问题

  1. 什么是多层感知机?

    多层感知机(MLP)是前馈人工神经网络的基础架构之一。它至少由三层节点组成:输入层、隐藏层和输出层。除了输入节点外,每个节点都是一个使用非线性激活函数的神经元。

  2. 信息在神经网络的每一层中是如何处理的?

    信息是顺序处理的。层的输入乘以它们各自的权重,求和,然后加上一个偏置。这个加权和然后通过一个激活函数(如 Sigmoid 或 ReLU)来确定该神经元的最终输出(激活值),然后作为输入传递给下一层。

  3. 隐藏层在神经网络中有什么作用?

    隐藏层负责从输入数据中提取模式和特征。输入层接收原始数据,输出层做出最终预测,而隐藏层则执行理解数据中非线性关系所需的复杂数学变换。

  4. 为什么要在神经网络中使用像 Hebbian 理论这样的生物学理论概念?

    Hebbian 理论(“同时激发的神经元会连接在一起”)最初描述的是生物突触可塑性。在人工神经网络中,这一概念大致启发了训练过程中权重的更新方式:当一个输入持续有助于正确的输出时,这些神经元之间的数学“连接”(权重)就会得到加强。

  5. 神经网络是如何学习的?

    神经网络通过最小化其误差来学习。在训练过程中,网络做出一个预测,代价函数计算该预测与正确答案之间的偏差程度。然后,由反向传播驱动的优化算法(如梯度下降)通过网络反向工作,调整权重和偏置以减少该误差。

  6. 如果在训练神经网络时使用低质量数据和大量数据会发生什么?

    如果神经网络在大量低质量数据(例如噪声大、有偏或标签错误的数据)上进行训练,模型将会学习到这些错误模式。这种现象通常被概括为“垃圾进,垃圾出”。大量的数据无法克服数据质量差的根本缺陷。

  7. 我们如何高效地训练神经网络?

    高效训练涉及多种技术,包括使用强大硬件(如 GPU/TPU)、通过批处理优化数据管道(如随机梯度下降)、使用更好的激活函数(如用 ReLU 代替 Sigmoid 以防止梯度消失),以及应用归一化和丢弃(dropout)等技术来加速收敛并防止过拟合。

术语表

  • 多层感知机 — 一个包含一个或多个隐藏层的前馈神经网络。
  • — 当数据通过网络时对输入数据进行变换的神经元组。
  • 隐藏层 — 介于输入层和输出层之间的中间层。
  • 神经元 — 计算加权和并应用激活函数的单元。
  • 激活值 — 神经元在应用其激活函数后的输出值。
  • 权重 — 可训练的参数,用于缩放每个神经元的输入信号。
  • 偏置 — 在激活前添加到神经元加权输入中的可训练参数。
  • Sigmoid — 一种将值映射到 0 到 1 范围内的激活函数。
  • 代价函数 — 测量预测输出与实际输出之间误差的函数。
  • 梯度下降 — 一种通过调整权重来最小化代价函数的优化算法。
  • 反向传播 — 使用链式法则计算每个权重的梯度的过程。
  • 局部最小值 — 代价函数值低于附近值但不一定是全局最低的点。
  • 全局最小值 — 代价函数在整个参数空间中达到其最低可能值的点。
  • 链式法则表达式 — 在反向传播中用于计算复合函数导数的数学规则。
  • 原文链接: zealynx.io/blogs/neural_...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论