线性模型的不足:非线性函数之路
1.简介
在本教程中,我们将分析激活函数在神经网络中的作用。真的,他们在历史上走过一条复杂的道路。因此,我们将研究它们的认识论、技术和数学方面如何导致我们趋同于非线性激活函数。
我们将从线性激活函数开始,并分析它们的局限性。最后,我们将以一些示例结束,说明为什么对非线性问题使用线性激活函数是不够的。
2. 前馈神经网络的结构
我们将重点分析完全互连的前馈神经网络,其结构表示为:
这些类型的网络没有递归连接,每个连接将一层的单元连接到下一层的所有单元。
它们是监督神经网络的一个例子,它通过示例(数据集)的呈现来学习,将网络的输出与相对目标的测量值进行比较。
传播从左到右发生。我们将用向量x表示输入单位集和y输出单位集。连接输入和输出的未知关系由单元内发生的数学转换建模。
深度网络是包含多个图层的网络。
2.1. 激活函数
接下来,我们要展示网络每个单元的结构:
每个连接都可以通过权重wi的值放大或抑制相对输入xi的值。每个单元的连接集N聚合为加权总和:
信息主要存在于权重的值中。训练过程的主要目的是找到权重的最佳值。 偏差被认为是输出等于 1 且权重w0的附加单位。它具有截距(偏移)功能y。 如果没有偏差,网络生成的模型被迫从问题空间中的原点或点( x=0, y=0 )传递。偏差增加了灵活性,并允许对不满足此条件的数据集进行建模。 总和根据称为激活函数的函数
进行转换。网络上所有单元
的相同是常见的;但是,它们可能会有所不同。当是非线性时
,神经网络能够对数据中存在的非线性关系进行建模。 神经网络的最佳介绍是Ben Krose和Patrick van der Smag的经典作品。更技術和更深入的處理是Schmidhuber的論文和Bishop的書。
信息主要存在于权重的值中。训练过程的主要目的是为权重找到最优值。 偏差被认为是输出为1,权重为w0的附加单位。它具有y轴截距(偏移量)的函数。在没有偏差的情况下,由网络生成的模型被迫从问题空间中的原点或点(x =0,y=0)通过。偏置增加了灵活性,并允许对不满足此条件的数据集进行建模。
求和是根据一个叫做激活函数的函数进行转换的。网络上所有单位的
是相同的,这是很常见的;然而,它们可能有所不同。当
为非线性时,神经网络能够对数据中存在的非线性关系进行建模。
对神经网络的最佳介绍是本·克劳斯(Ben Krose)和帕特里克·范德斯马格(Patrick van der Smag)的经典著作。Schmidhuber的论文和Bishop的书介绍了更具技术性和更深层次的处理方法。
3.知识与模型
在人工神经网络中使用非线性激活函数的主要原因是技术性的。然而,也有认识论上的原因。
从某种意义上说,机器学习领域使用的算法是不可能的。这是由于缺乏理解和知识,阻止了某些类别的问题无法用传统的科学方法处理。这个问题在神经网络等黑盒模型中尤为明显。
这一事实导致操作范式的改变,需要从新的角度看待这些问题。我们可以将其表达为预测模型的构建,这意味着放弃对现象的深刻理解。
3.1.模型的开发
在过去的三个世纪里,直到最近,实证科学的知识在很大程度上是通过模型的构建而进步的。非实证科学,如统计学和一般的数学,有不同的操作方法。
重要的是要明白,许多公认的科学模型和理论不仅是我们测量的数据的结果,也是对世界的定性观察的结果。
让我们想想一些非常复杂的物理理论,比如广义相对论或量子力学。今天,我们认为它们是物理世界的有效表示。但是,导致目前拟订这些建议的道路是漫长和复杂的。
重要的是,定性知识和对现象进行推理的可能性使我们能够设计实验。这些实验引导我们比较不同的选项,校准模型,并使它们达到当前状态。
这些理论的预测非常准确,因为这个过程使我们能够识别物理现象所依赖的所有变量和参数。
在两种理论之间进行选择时,这个问题尤其明显,这两种理论都可以令人满意地解释测量数据。在这种情况下,无法根据其预测能力在两者之间做出最终选择。在这种情况下,它们会发挥诸如通用性、简单性和优雅等概念的作用。
几个世纪以来,奥卡姆剃刀在科学中被用作指导原则,表达了这种考虑的重要性。
3.2.新范式
问题是,在传统的科学发展中,某些选择不是真正的选择。它们的线性或非线性结构是理论发展过程的结果,正如我们所说,它不仅仅依赖于测量数据。
当现象复杂时,我们通常会转向非线性模型。然而,有许多自然法则受线性模型支配的例子。
例如,胡克定律(Hook's law)将受弹簧作用的质量的力和位移联系起来,是线性模型的一个例子,该模型可以准确预测真实的物理现象。
近几十年来,由于计算能力的不断提高,出现了新的需求。数字技术使得收集大量数据成为可能,这些数据必须以某种方式关联才能进行预测。
在这些情况下,我们讨论的物理模型的定性组件经常丢失。关于世界的推理要困难得多,甚至不可能,并且无法帮助我们在模型识别的路径上普遍存在。
结果是,很多时候,即使选择了模型,我们也无法知道获得的结果是否接近或远离最佳解决方案。这迫使我们从新的角度,从新的范式来处理这些问题。
在这些情况下,模型的结构成为一种选择,很大程度上是任意的,必须在不完整的信息下进行操作。
3.3.一个例子
考虑一下许多在线服务在我们上网时为我们提供的个性化广告。它们的准确性对于广告商有兴趣以这种方式推广他们的产品至关重要。
从表面上看,我们可能会认为广告应该取决于年龄和过去的购买情况。但是以什么方式呢?
例如,我们的口味会随着时间的推移而变化,因此购买的新近度可能也很重要。也许我们应该添加潜在客户的地理区域。我们还需要其他参数吗?
3.4.选择的任意性
至少部分回答这些问题是可能的。
然而,由于甚至不确定确定问题所依赖的所有参数,很明显,为解决它而构建的模型不能具有我们为传统科学模型讨论的准确性。
神经网络和其他黑盒算法允许在测量数据之间建立关系,以解决不适合分析经典意义上的未知问题。这些程序的好处在于它们允许在有限的时间内获得结果,无论好坏。这个讨论强调了人工神经网络背后的模型结构在很大程度上是一个任意的选择。
缺乏对这些算法处理的问题的内在复杂性的了解,这表明选择了最灵活的模型。我们的目标是处于最有可能获得良好结果的情况下。这些条件先验地由非线性模型提供。
4.线性和非线性模型
数学函数可以通过多种方式进行分类,其中之一是将它们分为线性和非线性。
线性函数是满足以下一般条件的函数:
因此,线性模型是由线性函数控制的过程;否则,它们称为非线性模型。
区别很重要。以一种非常近似的方式,我们可以认为线性模型比非线性模型更简单。
在某些情况下,这种区别让我们直观地知道模型如何随着自变量和参数的变化而演变,这在非线性模型中要复杂得多。这就是为什么历史上首先研究线性模型和方程的原因。
如今,计算成本高昂的问题的复杂性使得有必要使用非线性方法。但是,有一些非常复杂的线性过程的例子。一个例子是ARIMA(自回归积分移动平均线)模型,用于预测平稳时间序列,它利用线性方程。
到目前为止,我们已经隐含地认为模型的线性是由它们使用的函数的线性给出的。但是,我们必须始终考虑到线性统计模型与线性函数不同。
非线性函数可能导致线性模型。如果线性由模型参数而不是预测变量确定,则可能会发生这种情况。我们将考虑人工神经网络的非线性特征,这是使用非线性激活函数的结果。
一般来说,我们可以说非线性模型更灵活,允许我们模拟更复杂的现象。但是,它们也具有更多的自由度,并在数量之间建立了更复杂的关系。因此,它们更难校准和测试。
4.1.考虑线性模型的直观方法
假设我们要构建一个线性模型来预测依赖于单个自变量的问题。
假设我们有一系列因变量(我们试图预测的)和自变量的测量。我们将因变量称为目标,将自变量称为输入。然后,我们可以在二维图形中绘制这些数据。
线性模型包括寻找最能解释测量数据的最佳直线。在包含观测值的图形上排列这条线,让我们直观地了解模型的质量。
此类模型的一个例子是线性最小二乘回归。此模型的目标是将数据集拟合到一条直线上,以最小化正方形与观测值的偏差:
为了表示双变量问题的数据系列,我们需要一个三维图。在这种情况下,线性模型由最能解释观测值的平面方程构成。
通常,当问题的规模扩大时,线性模型的构造被形式化为寻找最能适应观测结果并允许我们做出最准确预测的超平面。
当我们需要绘制曲线来模拟问题时,我们面临着非线性问题。
5.异或问题:“简单-复杂”的例子
现在让我们看一个具体的例子。假设我们有一个要为其构建模型的数据集。
如前所述,模型的结构在神经网络中是任意的。因此,由于我们不希望出现并发症,因此我们决定使用线性模型。这种态度假设我们可以在线性和非线性模型中获得可接受的结果。
然而,这种说法是错误的。我们将通过一个例子来演示它。XOR 运算符是许多编程语言中基本位运算符的一部分。它只能有两个可能的值 - 真或假 - 并且依赖于两个参数,这两个参数也可以有两个可能的值。我们可以将其视为一个双变量数学函数,其值取决于两个命题或自变量的真假。
所谓的真值表描述了这个问题:
|
|
|||||||||||||||||||
(一)
|
(二)
|
子表 (b) 是一种将真值表排列为笛卡尔表示的方法。
与自然语言中使用的逻辑析取不同,当两个参数为真时,XOR 为假。我们可以将其视为一个离散示例,并将其分析为分类问题,其中函数的输出可以属于两个可能的类别。
5.1. 线性模型无法求解异或
用线性方法解决异或问题意味着我们可以在子表(b)中画一条直线,完美地将两个类别分开。
但是,这样的直线并不存在。在神经网络的上下文中,单个线性神经元无法分离异或问题,这是一个定义明确且简单的问题。这一结果在1969年由明斯基和派普特正式证明。
如果我们使用两条线,问题就变得可分离了。在神经网络中,这意味着我们有多个神经元,并且网络允许获得两个决策边界。
我们将在下一节中看到,这种方法不能推广到一般的非线性问题。
6. 具有线性激活函数的多层网络
添加神经元可以分离非线性异或问题。此操作增加了我们所说的“决策边界”的数量,从而增加了算法的解析能力,该算法设法分离了不同的可能性。
原则上,我们可以将此过程扩展到任何问题。这意味着我们能够确定导致问题线性可分离性的一组最佳条件。
我们可以考虑推广这种方法,增加每层中的层数和单元数,从而获得更多的决策边界。然而,对于高度复杂的多维非线性问题,这种方法是不可行的。
异或是一个非线性问题,但它可以线性化。这意味着我们可以通过将我们的域划分为子域来添加其他条件,每个子域的行为都是线性的。从数学上讲,这意味着在每个子域中,控制我们问题的假设数学函数都有一个常数导数,与其他子域不同。
但是,仅具有线性激活函数的多层网络无法帮助我们完成此任务。
6.1. 具有线性激活函数的多层神经网络
假设网络有i、j、k三层,每一层的输出都是下一层的输入,网络表示的整体函数为:
其中,每个总和扩展到每层的所有单位,子索引为 0 的权重表示偏差。经过一些计算,这个表达式可以归结为:
对应于具有单层的网络,其中:

线性函数的组合仍然是线性函数,如果数据中存在的关系本质上是非线性的,则这种结构可能会导致较差的结果。
也可以证明,像这样的单层网络中的单元数量随着问题的大小呈指数增长,能够达到数据量不足的情况,无法识别所有条件边界。
7. 结论
在本教程中,我们概述了线性和非线性问题之间的差异,以及前者在处理复杂非线性问题时如何不足。
解决问题的心理方法是必不可少的。为此,我们还从方法论的角度简要地论述了这个问题。人工神经网络基础模型的特征部分是任意选择,但一般来说,线性模型不是一个好的选择。
所有这些考虑因素都收敛到非线性激活函数,并导致非线性多层网络。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
2022-02-18 Elasticsearch 分片分配