庖丁解牛——透彻理解多层感知机(MLP)的内部机制
创始人
2025-09-25 16:01:50
0

简介

多层感知机(MLP)——有时也称为人工神经网络(ANN)或前馈神经网络(FNN)——是深度学习中最基础、最强大的架构之一。其灵活的设计和卓越的性能使其成为解决各领域各种问题的首选算法。

此外,MLP是所有现代深度学习架构的核心构建块——无论是CNN、RNN、LSTM还是Transformer。所有这些模型都可以被认为是MLP的专门版本,它们通过在其之上添加结构和约束来处理不同的问题。

在本文中,我们将深入探索MLP的迷人世界。我们将探讨其开发背后的动机、架构、工作原理、局限性以及现代替代方案。本文的目标是帮助你建立强大的直觉和概念基础,而不会让你陷入繁重的数学知识中。

概括地讲,我们将在本文探讨如下内容:

  • 为什么会有MLP?
  • MLP到底是什么?它是如何从感知器演变而来的?
  • MLP架构的核心组件是什么?
  • MLP中的可训练参数是什么(权重和偏差)?
  • MLP如何通过前向和后向传播进行工作?
  • MLP的主要优势是什么?
  • MLP的局限性是什么?
  • MLP何时有效,何时失效?让我们开始吧!

先决条件

多层感知机(MLP)本质上是感知器的扩展,而感知器是第一个神经网络。因此,在深入研究MLP之前,必须对感知器的架构和工作原理有深入的了解。

不过别担心,我已经帮你搞定了!我写了一篇专门的博客,详细解释了感知器,包括它的核心组件、功能和局限性:

深度学习专题:感知器解析——构建模块、工作原理和局限性

(了解感知器是什么、它的组成部分、直觉、如何训练以及它的局限性,为……铺平了道路。)

阅读此博客将为你提供坚实的基础,并使你更容易理解如何构建MLP来处理复杂问题。

为什么MLP会出现?

1958年,一位名叫弗兰克·罗森布拉特(Frank Rosenblatt)的研究人员受人脑神经元功能启发,开发了一个数学模型。这是一个革命性的发展,因为它使我们能够在机器中模拟人脑的智能,并标志着构建智能机器的第一步。该模型被命名为“感知器”。

图片来源:Arion Das

感知器具有简单的架构(如上图所示):

  • 输入层充当门,将数据或输入特征输入系统。
  • 权重表示每个输入在确定最终决策时的重要性。
  • 输出层通过执行以下两个操作来处理输入以生成最终输出:1)首先,通过对输入进行加权和形成线性决策边界来整理存储在输入中的信息;2)其次,将加权和通过步进激活函数,将其转换为有意义的输出。感知器也被称为单层感知器,因为它仅由一个计算层(输出层)组成,而输入层仅将特征传递到系统中而不进行任何处理。
  • 感知器最初引起了极大的轰动。但随着研究人员开始将其应用于实际问题,他们发现了一些严重的局限性,阻碍了它发挥其潜力。尽管取得了突破性的进展,感知器在一些关键领域仍举步维艰。其主要问题如下:
  • 由于它只能将数据点分为两类,因此它只能处理二分类问题。这使得它限制性太强,无法在多类分类或回归问题中使用。
  • 它仅包含一个计算层(输出层),用于处理输入并产生输出。这种过于简单的架构不足以捕捉数据中复杂的非线性关系或层次模式。
  • 它只能处理线性可分数据——即可以用直线或平面分离的数据。但它在处理非线性可分数据(即数据点无法通过线性边界分离)时却惨败。在这种情况下,感知器永远不会收敛,导致权重无休止地更新而无法得到解。
  • 感知器生成的决策边界并不能保证是最优的。不同的训练运行可能会根据权重初始化和数据点的顺序生成不同的边界。此外,也没有可靠的方法来衡量所选边界的实际效果。尽管这种感知技术堪称革命性理念,但它仍然受到自身局限性的影响。但研究人员并没有止步于此。他们决心克服这些缺陷,不断前行,最终在20世纪80年代中期,随着多层感知机(MLP)的出现,他们的坚持终于得到了回报。

什么是MLP、它如何从感知器演变而来?

20世纪80年代中期,多层感知机(MLP)作为感知器的扩展被引入,其设计初衷是为了克服感知器的缺点。为了将感知器转变为更强大的多层感知机(MLP),研究人员通过解决其局限性引入了以下关键增强功能:

增强功能1:捕捉非线性决策边界

感知器的简单架构只能产生单一的线性决策边界,限制了其捕捉复杂非线性模式的能力。

为了克服这一限制,研究人员开始另辟蹊径:与其依赖单一的直线决策边界,不如生成多个线性边界,并将它们智能地组合起来,形成一个平滑的曲面决策面,结果会怎样呢?这种曲面边界能够捕捉非线性数据的本质,解决简单感知器无法解决的问题。

步骤1:为了实现这个想法,研究人员首先将多个感知器堆叠在一起,以创建多个线性边界。例如,对于仅包含两个输入特征的数据集,他们使用两个感知器而不是一个。每个感知器都形成自己的线性决策边界——每个边界捕捉数据集的不同方面,如下图所示:

图片来源:汤姆·阿尔康

步骤2:下一个挑战是如何将这些单独的边界合并成一个弯曲的边界?这个问题通过添加另一个感知器来解决,该感知器将前两个感知器的输出作为其输入。

但由于线性函数的线性组合仍然是线性的,我们必须首先将非线性激活函数(例如Sigmoid、ReLU或tanh)应用于这些感知器的输出。

经过这种转换后,下一层感知器可以组合它们的信息来产生合并的输出,从而产生更复杂的决策边界,准确捕捉数据中的底层模式(如下图所示的弯曲边界)。

图片来源:汤姆·阿尔康

这种堆叠设计后来被称为多层感知机(MLP)。顾名思义,MLP通过将多个感知器排列成多层来扩展基本感知器,其中每层的输出成为下一层的输入。低级感知器充当特征提取器,学习不同的线性边界,而高级感知器则将这些输出整合起来,形成可以模拟复杂非线性关系的曲线决策边界。

增强功能2:扩展到多类分类和回归

原始感知器的另一个主要限制是其对二分类问题的适用性有限。由于它依赖阶跃函数作为激活函数,因此只能将数据分成两类。

研究人员很快意识到,为输出层选择合适的激活函数可以使MLP解决各种各样的任务,例如用于二元分类的S型激活、用于多类分类的SoftMax或用于回归的线性激活。

增强功能3:使用优化器进行损失函数优化

原始感知器的另一个关键限制是,它每次训练时都会创建不同的决策方案。这是因为它从随机权重开始,而它查看训练样本的顺序会影响它调整权重的方式。此外,没有明确的方法来衡量它找到的边界是否真的是最佳边界。它只能知道每个点是否被正确分类,但无法评估分离的整体质量。

通过定义一个损失函数来量化预测误差,以衡量网络的整体性能,解决了这一限制。然后,网络使用梯度下降等优化器,逐步调整所有权重,以减少误差。通过这种方式,网络能够持续找到最佳的决策边界,从而使MLP能够更可靠地捕捉数据中的底层模式。

MLP架构——构建模块

图片来源:AIML.com

激活函数的演变,结合分层架构和损失函数的优化,将单层感知器转变为多层感知机——一种能够捕捉非线性模式并解决分类和回归问题的模型。最终的MLP架构的核心组件包括:

输入层

输入层充当原始数据的入口。此层不执行任何计算,只是将数据馈送到网络。例如,在信用卡欺诈检测系统中,交易金额、地点和时间等特征通过此层输入模型。

隐藏单元

堆叠在输入层和输出层之间的感知器被称为隐藏单元、节点或神经元。每个隐藏单元都是一个感知器,包含两个关键组件,用于执行两个主要操作:

  • 求和:使用形成线性方程的求和函数计算输入的加权和。
  • 激活:将加权和通过激活函数(例如ReLU、sigmoid、tanh等)引入系统非线性。

隐藏层(一个或多个)

堆叠多个隐藏单元后形成的层称为隐藏层,它们位于输入层和输出层之间。隐藏层是真正的游戏规则改变者,因为它们负责处理MLP中的所有处理。它们使网络能够超越简单的线性数据模式,学习数据中高度复杂的非线性模式。

输出层

输出层是MLP架构的最后一层。它由感知器组成,这些感知器将最后一个隐藏层的结果组合起来,产生最终的预测。该层中的每个感知器还包含两个关键组件:

  • 求和:计算最后一个隐藏层节点的输出的加权和,形成非线性决策边界。
  • 激活:将加权和通过激活函数(例如ReLU、sigmoid或tanh)来产生最终输出或预测。输出层的节点数以及激活函数取决于问题类型:
  • 二元分类:具有S形激活的单个节点。
  • 多类分类:具有SoftMax激活函数的多个节点,其中节点数等于数据中的类别数。
  • 回归:具有线性激活的单个节点。

请注意,在计算MLP系统的层数时,我们仅包含隐藏层和输出层。输入层不计算在内,因为它不执行任何计算,它只是将数据输入网络。例如,如果一个模型有一个隐藏层和一个输出层,则无论每层有多少个神经元,它都被称为2层MLP。

MLP的可训练参数:权重和偏差

在感知器中,每个输入都会乘以一个权重,该权重表示该输入对最终预测的重要性。较大的权重会使输入更具影响力,而较小的权重或负权重则会降低甚至抵消其影响。此外,每个感知器还有一个偏置项,通过移动决策边界来提高模型的灵活性。

多层感知机(MLP)本质上是多层堆叠的感知器的集合。网络中的每个感知器都有各自的权重和偏差。与单个感知器一样,这些权重和偏差无需手动设置,而是由网络在训练过程中学习而来。由于这些值会在整个训练过程中更新,因此它们统称为可训练参数。

MLP架构中可训练参数的总数是通过对网络中所有感知器的权重和偏差进行求和来计算的——计算每一层的权重和偏差并将它们相加。

对于MLP网络中的每个感知器

对于单个感知器,权重的数量等于输入的数量,因为每个输入都有由感知器分配的权重。此外,每个感知器都附加一个偏差,以增加决策边界的灵活性。

示例:具有两个输入的感知器有3个可训练参数——2个权重和1个偏差。

对于MLP网络中的每一层

在具有多个感知器的层中,可训练参数取决于该层的输入数量和该层中感知器的数量。

对于整个MLP网络

网络中总的可训练参数是通过对所有层的参数求和得到的:

例子

考虑一个具有2个输入、1个带有2个节点的隐藏层和1个带有1个节点的输出层的MLP。

  1. (从输入到隐藏层)由于隐藏层有两个输入和两个感知器,因此该层的总可训练参数为:2(输入)×2(隐藏节点)+2(偏差)=6
  2. (从隐藏层到输出层)由于这一层有一个感知器,并且有2个输入(来自隐藏层的两个感知器的输出),因此这一层的总可训练参数为:2(隐藏输出)×1(输出节点)+1(偏差)=3
  3. (总可训练参数)该MLP架构的总可训练参数是其各层参数的总和:6(隐藏层)+3(输出层)=9

MLP的工作原理

为了理解多层感知机(MLP)的内部功能,我们需要将其分为两个关键方面:

  • 模型如何生成预测
  • 模型如何学习或训练通过将输入数据传递到网络来产生预测的过程称为前向传播。另一方面,调整模型参数以最小化误差(或损失)的过程称为反向传播。
  • 在本节中,我们将深入研究前向传播和反向传播,以了解MLP的实际工作原理。

示例设置:学生入学预测

让我们考虑一个简单的二元分类任务,根据两个输入(CGPA和IQ)预测学生是否会被安置,我们选择的MLP架构是:

  • 具有2个节点的输入层(x₁=CGPA和x₂=IQ)
  • 具有2个节点的隐藏层
  • 具有1个节点和S形激活的输出层(输出放置概率)

前向传播:MLP如何进行预测

图片来源:AIML.com

以下内容将描述数据如何流经网络以产生最终的预测(如上图所示):

步骤1:输入进入网络

网络通过输入层接收输入。在我们的示例中,输入为:x₁= CGPA & x₂= IQ。

步骤2:输入层到隐藏层

然后,输入(x₁和x₂)被传递到隐藏层的每个神经元。每个神经元接受这些输入,应用其自身的重要性权重并计算加权和:

一旦每个神经元都有了综合分数,它就会通过激活函数将这些输出转换为引入非线性。

两个隐藏神经元独立形成两个“决策边界”(z₁和z₂),并根据输入的组合方式生成两个输出(a₁和a₂)。

步骤3:隐藏层到输出层

隐藏层神经元(a₁和a₂)的输出成为输出层神经元的输入。输出层神经元计算这些输入的加权和,然后应用S型激活函数产生最终输出。

步骤4:最终预测

输出层给出的最终输出是最终预测,在这种情况下是一个概率(0到1),因为我们使用了S型激活函数,它将任何实数转换为0到1之间的值。

总而言之,在正向传播过程中,输入逐层流经网络。每个神经元应用其权重和激活函数来转换数据,并将结果传递到下一层。这个循序渐进的过程使网络能够组合和解释输入,最终以概率形式生成最终预测——这说明了MLP如何进行决策。

反向传播:MLP如何从错误中学习

图片来源:AIML.com

训练多层感知机(MLP)的目标是找到其可训练参数(权重和偏差)的最优值,以使模型的预测尽可能接近实际结果。该过程可以分为以下步骤:

步骤1:随机参数初始化和前向传播

训练从为所有权重和偏差分配随机值开始。这些初始值允许网络通过前向传播生成预测,其中输入使用当前参数和激活函数逐层转换。

步骤2:将预测与实际结果进行比较

一旦生成预测,网络就会通过将预测值与真实值进行比较来计算损失(或预测误差)。损失函数量化了预测与实际结果的偏差。

步骤3:测量每个参数对预测误差的贡献

网络分析每个权重和偏差对损失的影响程度。利用梯度(损失函数相对于每个参数的斜率),网络确定减少误差所需的调整方向和幅度。

步骤4:更新参数

优化器(例如梯度下降)会根据确定的方向略微调整权重和偏差。此更新旨在降低损失,逐步改善网络的预测。

步骤5:迭代多个时期

从正向传播到损失计算,再到反向传播,最后到参数更新,这个循环会在许多训练样本和多个迭代周期中重复进行。随着每次迭代,网络逐渐学习数据中的潜在模式,并持续训练直至模型收敛。

总而言之,前向传播是关于进行预测,而反向传播是关于从错误中学习。理解这个循环可以让你更清晰地理解MLP的训练,并为探索高级神经网络奠定基础。

MLP的主要优势是什么?

MLP的分层架构具有以下主要优势,使其成为解决实际挑战的可靠选择:

  • 捕捉复杂模式:与感知器或其他线性模型不同,多层感知机(MLP)可以捕捉并建模输入和输出之间复杂的非线性关系。它们能够有效地处理数据非线性可分的问题,使其更加强大,更适用于现实世界的情况。
  • 复杂任务的高精度:由于能够捕捉非线性模式,MLP通常比逻辑回归或单层感知器等简单模型实现更高的预测精度。
  • 处理多个输入和输出:MLP的优势之一是它能够同时处理多个输入,并在需要时产生多个输出。这种灵活性使得MLP在现实世界中非常有用,因为决策通常取决于多种因素的组合,而不仅仅是单一因素。
  • 自动特征提取:MLP可以通过隐藏层高效地学习数据的分层表示。这意味着它们可以自动提取有意义的特征,从而减少大量手动特征工程的需要。
  • 广泛适用性:MLP极其灵活,可应用于各种各样的问题。它们在分类和回归任务、模式识别甚至时间序列预测方面都表现出色。这种适应各种不同场景的能力使MLP成为机器学习中的首选模型,尤其是在你需要一种能够应对各种挑战的技术时。总而言之,MLP提供了强大的功能组合。它们可以捕捉复杂的非线性模式,在高难度任务中提供高精度,处理多个输入和输出,甚至可以自动提取有用的特征。它们广泛适用于不同类型的问题,使其成为机器学习中最通用、最实用的模型之一。

MLP的局限性是什么?

虽然MLP功能强大,但它们也存在一些局限性。在决定MLP是否适合特定问题时,了解这些局限性至关重要。以下是使用MLP时经常遇到的一些关键限制:

  • 大数据需求:由于其分层架构,MLP通常包含大量可训练参数(权重和偏差)。为了有效地调整这些参数并避免性能不佳,它们需要大量带标签的训练数据。如果数据有限,网络可能难以学习到有意义的模式。
  • 计算成本高昂:训练MLP可能速度缓慢且耗费资源,尤其是在层数和神经元数量增加的情况下。优化如此多的参数通常需要GPU或TPU等专用硬件,才能在合理的时间内完成训练。
  • 黑箱特性:与线性或基于树的模型不同,多层感知机(MLP)常常被批评难以解释。理解模型做出特定预测的原因并非易事,这在医疗保健或金融等可解释性至关重要的领域可能是一个挑战。
  • 容易过度拟合:由于数据有限,MLP很容易在训练示例上过度拟合,导致在看不见的示例上表现不佳。
  • 对于非结构化或顺序数据来说并不理想:尽管MLP在技术上可以处理任何输入数据类型,但对于非结构化数据(如图像、文本)或顺序数据(如时间序列)来说,它们并不是最有效的选择。了解这些限制可以帮助你决定何时使用MLP以及何时探索更合适的替代方案。

何时使用MLP,何时不应使用MLP?

现在,我们已经探讨了MLP的优缺点,那么最大的问题是:你真的应该用它来解决你的问题吗?在投入时间构建和训练MLP之前,一些简单的经验法则可以帮助你判断它是否是合适的工具。

如果出现以下情况,请使用MLP:

  • 你正在使用大型表格数据集。
  • 你的数据中的关系是高度非线性的。
  • 你拥有训练深度MLP所需的计算架构。
  • 你的目标是做出准确的预测而不是解释模型结果。

如果出现以下情况,请避免使用MLP:

  • 你正在使用容易过度拟合的小型数据集。
  • 数据中的关系大多是线性的,简单的模型就足够了。
  • 可解释性——做出决定的原因与决定本身一样重要——对你来说至关重要。
  • 你正在处理有限的计算资源。
  • 你的数据非常稀疏或包含多个分类特征。
  • 你的数据具有很强的序列或空间模式,如图像、文本或时间序列数据。

简而言之,当你拥有庞大、复杂、非线性的数据集,并且准确性比可解释性更重要时,MLP会大放异彩。但当数据规模较小、关系简单,或者可解释性和效率更重要时,更简单或更专业的模型通常会表现得更好。

结论

总之,MLP弥合了简单感知器与现代深度学习之间的差距,使我们能够建模复杂的非线性关系。然而,MLP并非没有缺点,尤其是与更高级的模型相比时。因此,关键在于了解MLP何时是合适的工具,以及何时应该超越它们。构建这个基础不仅有助于实际应用,还能让我们更容易理解更高级的神经网络。

相关内容

热门资讯

三分钟辅助!wpk私人局辅助是... 三分钟辅助!wpk私人局辅助是真的,wpk显示有作弊,第三方教程(有挂教学)1、完成wpk私人局辅助...
4分钟脚本!aapoker万能... 4分钟脚本!aapoker万能辅助器,aapoker俱乐部靠谱吗,wpk教程(有挂解说)1、游戏颠覆...
透视工具!wepoker轻量版... 透视工具!wepoker轻量版透视系统,(WePoKer)真是存在有挂(详细透视底牌辅助软件)1、w...
透视脚本!hhpoker辅助器... 透视脚本!hhpoker辅助器视频(底牌)详细透视辅助插件(有挂秘籍);1、这是跨平台的hhpoke...
五分钟辅助!wpk真,(wPk... 五分钟辅助!wpk真,(wPk)都是是真的有挂(详细透视辅助下载普及)1、下载好wpk真辅助软件之后...
3分钟脚本!aapoker俱乐... 3分钟脚本!aapoker俱乐部靠谱吗,aapoker公共底牌,新版2025教程(有挂软件);1、玩...
透视安装包!wepoker游戏... 透视安装包!wepoker游戏的安装教程,(WePoKer)其实有挂(详细透视底牌辅助机制);该软件...
必备科技!hh poker插件... 必备科技!hh poker插件下载,hhpoker必备开挂,规律教程(有挂详情);1、hh poke...
一分钟了解!wpk私人辅助,(... 一分钟了解!wpk私人辅助,(wPK)切实是真的有挂(详细透视辅助助手规律);一、wpk私人辅助AI...
透视工具!wepoker公共底... 透视工具!wepoker公共底牌,(wepoker)确实有挂(详细透视底牌辅助工具)小薇(透视辅助)...