生物学神经元:

树突:一个神经元可以有多个树突,负责接收来自其他神经元的信号,并将这些信号传递到胞体。
细胞核:维持神经元细胞的正常代谢活动,并处理来自树突的信息。
轴突与轴突末端:负责将电信号传导到其他神经元。扩展出多个轴突末梢,每个轴突末梢负责将信号传递给下一个神经元。
突触间隙:神经元之间的连接区域。
MP 神经元数学模型
MP 模型是神经网络领域的早期模型,它模仿了神经元的基本结构和工作原理。
人工神经元作为生物神经元的数学模型,其本质是一个具备多输入端口与单一输出端的信息处理系统。针对生物神经元的建模方法存在多种可能性,而每种建模方法都对应着独特的人工神经元架构设计。
在众多人工神经元模型中,MP神经元(McCulloch-Pitts Neuron)是最具代表性的经典模型之一,值得注意的是,该模型的衍生版本至今仍在被广泛采用。
更多AI大模型学习视频及资源,都在智泊AI。
数学模型
MP 神经元数学模型是一个包含输入,输出与计算功能的模型。

输入 x:模拟生物神经元中其他神经细胞给该细胞的刺激,x 值越大刺激越大。
权重 w:模拟该细胞不同来源的刺激的敏感度。每个输入都就有一个权重。
阈值 θ:模拟激活该神经元的难易程度,值越大越难激活。
sun 函数:加权求和,计算外部输入刺激总量。
sgn 激活函数:在 MP 模型中也也叫符号函数或阶梯函数。即:
当括号内的值大于 0时,sgn 返回 1;
当括号内的值小于 0 时,sgn 返回 -1;
当括号内的值等于 0 时,sgn 的返回值可能因具体定义而异。
偏置项 b:一个与输入无关的常数项,用于调整输出值。在神经网络中,偏置项也是通过训练过程调整的参数之一。
输出 y:神经元细胞计算后输出的结果。MP 模型的计算过程如下,首先完成 x 和 w 的线性加权求和,然后再计算激活函数的结果。

此外,基于MP模型的sgn激活函数分析,MP神经元本质上是一个线性分类模型,其功能在于对输入信号实现二分类。
这一特性与生物神经元的行为特征高度一致------生物神经元对输入信号的响应仅表现为两种状态:兴奋或抑制。因此,MP神经元模型可用于样本目标的预测任务,但无法处理非线性分类问题。
手动调整权重
神经网络训练的核心目标是通过优化权重 w 和偏置项 b 的数值,使网络的预测结果达到预期效果。
w 和 b 是影响神经网络性能的关键参数。
在传统的 MP 模型和机器学习方法中,w 的数值需人工预先设定,缺乏自学习能力。因此,特征描述必须依赖专家设计,模型性能完全取决于人工特征提取的准确性,导致其应用场景受限。这一过程即手动调整 w 权重的本质。
而深度学习技术通过神经网络自动提取任务相关特征,结合自定义提取器与持续训练优化,显著提升了模型效果。由于 MP 模型的权重无法自动更新,仍需使用者依据经验手动调整。
应用例子
假设我们有一个简单的分类任务:根据天气情况(晴天、雨天)来决定是否带伞。
我们可以将这个问题建模为一个 MP 模型,其中:
输入:是天气情况(晴天=0,雨天=1)
输出:是带不带伞(不带伞=0,带伞=1)
在这个例子中,我们只有一个输入特征(天气情况),因此我们的 MP 模型将只有一个输入节点。我们还需要一个输出节点来表示是否带伞。
为了简化问题,我们假设我们的 MP 模型是一个线性阈值单元,它根据输入和权重的乘积和以及一个 b 偏置值来决定输出。
其中可以手动调整的参数是:权重 、偏置值。在 MP 模型中,这些值通常是基于经验和知识来手动设定的。例如,我们可能认为雨天带伞的重要性高于晴天,因此我们可以给雨天的权重分配一个较高的值,实现:只要雨天就一定会带伞。
假设我们设定以下权重和偏置值:
天气情况的权重:w = 1(雨天时输入为1,晴天时输入为0)
偏置值:b = -0.5(用于调整输出阈值)
我们的MP模型的输出可以表示为:
输出 = 1(如果 w * 输入 + b > 0)
输出 = 0(如果 w * 输入 + b <= 0)
现在,我们可以根据这些设定来判断是否带伞:
如果天气是晴天(输入 = 0),则输出 = 1 * 0 + (-0.5) = -0.5,小于0,所以不带伞。
如果天气是雨天(输入 = 1),则输出 = 1 * 1 + (-0.5) = 0.5,大于0,所以带伞。
1949 年心理学家 Hebb 提出了 Hebb 学习率,认为人脑神经细胞的突触(也就是连接区域)上的强度上可以变化的。于是计算科学家们开始考虑用调整 w 权值的方法来让机器进行学习。这为后面的学习算法奠定了基础。
单层神经网络(感知器)
1958 年,计算科学家 Rosenblatt 提出了由两层神经元组成的神经网络。他给它起了一个名字 "感知器"(Perceptron)(有的文献翻译成 "感知机",下文统一用 "感知器" 来指代)。
感知器是当时首个可以学习的人工神经网络。Rosenblatt 现场演示了其学习识别简单图像的过程,在当时的社会引起了轰动。
感知器类似一个逻辑回归模型,可以做线性分类任务。
线性回归模型
线性回归模型,是一种用于预测连续型变量(x 轴)的模型。它假设两个 x、y 变量之间存在线性关系,即目标变量 y(因变量)可以通过输入变量 x(自变量)的线性组合来预测。线性回归模型的基本形式为:
ini
y = β0 + β1x1 + β2x2 + ⋯ + βnxn + ϵ
其中,y 是目标变量,x1, x2, ..., xn 是输入变量,β0, β1, β2, ..., βn 是参数,ϵ 是误差项。线性回归的主要目标是找到最佳的参数,使得 y hat 预测值与 y 实际值之间的差(即均方误差 MSE)最小化。
线性回归被称为 "回归",是因为它试图找到一个最佳的直线(或平面、超平面等,取决于输入变量的数量),使得这条直线能够最好地 "拟合" 数据集,从而能够预测新的数据点。这个过程类似于 "回归" 到数据的平均或中心趋势。
逻辑回归模型
尽管逻辑回归的名字中包含 "回归",但它实际上是一种用于解决二分类问题(0?1?)的模型。逻辑回归通过引入一个逻辑函数(Sigmoid 函数)将线性回归的 y 输出转换为一个 p 概率值,从而实现对二分类问题的预测。
逻辑回归模型是在线性回归模型的基础之上,通过引入 Sigmoid 函数计算出 y=0 或 y=1 时的 p 概率(将线性组合的结果转换为概率值),继而扩展了线性回归模型的作用,使其可以用于处理二分类任务。
逻辑回归模型的基本形式为:
ini
P(y=1)=11+e−(β0+β1x1+β2x2+⋯+βnxn)
其中,P(y=1) 是目标变量为1的概率,x1, x2, ..., xn 是输入变量,β0, β1, β2, ..., βn 是参数。逻辑回归的主要目标是找到最佳的参数,使得概率 P(y=1) 最大化,这通常通过最大化对数似然函数来实现。
数学模型
在原来 MP 模型的 "输入" 位置添加神经元节点,标志其为 "输入单元"。

在"感知器"结构中,包含2个主要层次:输入层与输出层。其中输入层的"输入单元"仅承担数据传递功能,不参与任何计算操作;而输出层的"输出单元"则必须对上一层的输入数据进行运算处理。
我们将执行实际计算的层次定义为"计算层",并规定仅包含一个计算层的网络称为"单层神经网络"。(需说明:部分文献会依据网络总层数进行命名,例如将"感知器"归类为两层神经网络。但本文采用计算层数量作为命名标准。)
当预测目标从单一标量变为向量形式(如[2,3])时,可通过在输出层增设相应数量的"输出单元"来实现。
z1 计算公式

z2 计算公式

可以看到,z2 的计算中除了三个新的权值:w4,w5,w6 以外,其他与 z1 是一样的。

参照 Andrew Ng 的标记方式,将以上参数进行标记。

如果我们仔细看输出的计算公式,会发现这两个公式就是线性代数方程组。因此可以用矩阵乘法来表达这两个公式。
输入的变量是[a1,a2,a3]T(代表由a1,a2,a3组成的列向量),用向量a来表示。
方程的左边是[z1,z2]T,用向量z来表示。
系数则是矩阵W(2行3列的矩阵,排列形式与公式中的一样)。
于是,输出公式可以改写成:g(W * a) = z;
这个公式就是神经网络中从前一层计算后一层的矩阵运算。
NOTE:
线性代数:研究变量均为一次项的方程,例如ax+by=c(a、b、c为常数,x、y为变量)。
线性代数方程组:由多个共享相同变量(如x、y)的线性方程构成的集合。
矩阵乘法:通过两个矩阵的行列对应元素乘积求和实现线性代数运算,要求前矩阵列数等于后矩阵行数,结果生成新矩阵,对应Excel的MMULT函数。
矩阵运算:涵盖加法、减法、转置、求逆等操作,扩展矩阵乘法的应用场景。


自动调整参数(训练的基础原理)
与 MP 模型相比,感知器(单层神经网络)具备通过学习机制自主优化权重的特性。作为一种有监督学习的神经网络模型,感知器能够依据"训练样本"和"期望输出"动态修正w权重(自学习机制),进而完成对输入数据的分类或预测任务。
参数(包括权重和偏差)的优化是通过训练算法实现的。该算法通过迭代调整参数值,使神经网络预测结果与实际结果之间的误差达到最小化。这一过程本质上是揭示特征与目标变量之间的真实函数映射关系。
在感知器的训练流程中,权重的调整采用误差修正法,具体步骤如下:
初始化阶段:感知器采用随机数对权重进行初始化,随后按序引入训练样本展开训练。
误差计算:针对每个训练样本,系统会精确比对"实际输出"与"期望输出"的差异值。
权重更新:基于计算出的误差值,对现有权重进行针对性调整。
该循环将持续执行,直至误差低于预设阈值或达到最大训练次数。由于具备自动权重调整能力,感知器在实际应用场景中展现出更强的适应性。
通过训练过程,感知器能够有效提取输入数据的特征规律,并基于这些规律实现高精度的分类或预测。
NOTE:
有监督学习:模型基于带有明确标签的训练数据进行学习,从而实现对未知数据的标签预测。该方法的核心依赖于标注样本构建的输入-输出映射关系,通过训练使模型实现精准的模式识别。
无监督学习:区别于有监督学习,其训练数据不含预设标签,模型需自主挖掘数据中的潜在规律与特征分布。这种学习方式强调对数据内在结构的探索与表征。
误差修正方法:作为提升模型预测性能的技术手段,它通过识别和调整机器学习过程中因数据噪声、模型偏差等因素导致的预测误差,最终优化输出结果的准确性。
应用例子
感知器的特点是可以通过 "训练(自学习)" 来自动调整 w 权重和 b 偏置量,继而让预测值收敛到真实值。 具体的方法是对数据样本进行标注(有监督学习)。
以下是一个简单的逻辑门(AND门)的感知器模型。
数据样本(训练)标注:

初始化 w 权重和 b 偏差:可以将这些参数初始化为任意值,但通常我们会选择小的随机数作为初始值。
w1, w2\] = \[0.1, 0.2
b = 0.0
定义激活函数:使用阶跃函数,如果加权和(w1x1 + w2x2 + b)大于或等于0,则输出为1;否则,输出为0。
训练:将训练样本逐个输入到模型中计算输出,并比较 "实际输出" 与 "标注输出":
如果实际与标注不同,则自动调整 w 和 b。根据误差的符号和大小来更新。
否则,不再调整,得到训练好的模型。
预测:使用训练好的 w 和 b 来进行新数据样本输出结果的预测。
感知器的本质是执行二分类计算。可以用决策分界来形象的表达分类的效果。决策分界就是在二维的数据平面中划出一条直线,当数据的维度是3维的时候,就是划出一个平面,当数据的维度是n维时,就是划出一个n-1维的超平面。

但感知器的问题是只能做简单的线性分类任务。Minsky 在 1969 年出版了一本叫《Perceptron》的书,里面用详细的数学证明了感知器的弱点,尤其是感知器对 XOR(异或)这样的 "非线性简单分类任务" 都无法解决。
Minsky 认为,如果将计算层增加到两层就需要解决 2 个关键问题:
计算量过大
没有跨计算层级的 w、b 学习算法
所以,他认为研究更深层的网络是没有价值的。
两层神经网络(多层感知器)
单层神经网络无法处理 XOR 异或问题。然而通过引入额外的计算层,两层神经网络不仅能有效解决异或问题,还能展现出卓越的非线性分类能力。
这一新增的计算层(即隐藏层)通过对输入数据施加非线性变换,实现了更复杂的特征提取。
隐藏层中的神经元利用权重调整和激活函数对输入数据进行逐层处理,构建出高度非线性的映射关系。正是这种非线性特性,使得两层神经网络能够逼近任意复杂的连续函数。
然而,两层神经网络的计算复杂度在当时仍是一个重大挑战。直到1986年,Rumelhart和Hinton等人提出的反向传播(Backpropagation,BP)算法,才系统性地解决了这一计算难题。
该算法通过梯度下降机制,高效完成了多层神经网络的参数优化,为深度学习的发展奠定了理论基础。
非线性函数
在多层感知器中,非线性函数被用作激活函数,其核心作用是使神经网络具备学习复杂模式的能力。
若缺乏激活函数,神经网络将局限于线性变换,难以捕捉非线性函数关系。典型的激活函数如 ReLU、sigmoid 和 tanh 等,通过为神经元注入非线性特性,从而赋予神经网络表征更复杂函数的能力。
任意连续函数
任意连续函数指数学中所有可能实现连续取值的函数类型。此处"连续"特指数学定义:函数在定义域内(x轴)的任意点均满足"极限值=函数值"的条件。
当函数在定义域内处处满足该条件时,即称为连续函数,其本质刻画了函数值随自变量变化的无间断特性。
连续函数的对立概念是离散函数,即仅能取有限或可数特定值的函数。
基本求导法则
在高等数学中,求导是一个非常重要的概念,它描述了函数值 y 随自变量 x 变化而变化的速率。
对函数进行求导的步骤:
识别函数类型:能够进行求导的函数包括:幂函数、指数函数、对数函数、三角函数等。
应用相应的求导规则:不同函数有不同的求导规则来计算出倒数。
示例:
幂函数的求导:
原函数:f(x)=x^3
导函数:f'(x) = 3x^2
指数函数的求导:
原函数:f(x) = e^2x
导函数:f'(x) = 2e^2x
对数函数的求导:
原函数:f(x) = ln(x^2 + 1)
导函数:f'(x) = 2x / (x^2 + 1)
复合函数求导的链式法则
链式法则在微积分中非常重要,因为它允许我们处理那些不能直接通过基本导数公式求解的复合函数。
如果一个复合函数 f(g(x)),那么 f'(g(x)) 可写作 df/dx,通过链式法则可得:df/dx = df/dg * dg/dx。其中:
df/dg 是函数 f 关于其输入 g(x) 的导数
dg/dx 是函数 g 关于其输入 x 的导数
数学模型
两层神经网络除了包含一个输入层,一个输出层以外,还增加了一个中间层,称之为隐藏层。此时,中间层和输出层都是计算层。

使用矩阵运算来表达整个计算公式的话如下:

矩阵运算的优势
显然,采用矩阵运算实现数学表达能显著提升简洁性,且其计算效率不受神经元数量增加的限制(无论参与运算的节点规模如何扩大,乘法操作始终仅涉及两个向量变量)。
正因如此,矩阵运算成为神经网络教材中的核心表述方式。
偏置单元的特性
神经网络中除输出层外的每个隐藏层均包含一个偏置单元,其作用类似于线性回归与逻辑回归模型中的截距项。
识别偏置节点的方法很简单:由于不存在来自前一层的输入连接(结构图中无指向该节点的箭头),部分网络图示会特别标注偏置节点,而多数情况下则默认省略不画。

当我们把 b 偏置节点(bias unit,它本质上是一个只含有存储功能,且存储值永远为 1 的单元)加入到矩阵运算之后得到的公式是:

隐藏层的非线性变换能力
在两层神经网络中,我们不再使用线性的 sgn 函数作为激活函数,而是使用平滑函数 sigmoid 等非线性激活函数。

非线性激活函数为算法赋予了处理非线性关系的能力。如图所示,面对两个非线性连续函数分布时,线性分类方法必然无法实现简单划分。
其中红色曲线与蓝色曲线分别表征数据样本,而由神经网络生成的红色区域与蓝色区域构成分类结果,二者之间的边界即为决策分界。

万能逼近定理(Universal Approximation Theorem)指出,只要隐藏神经元的数量足够多,两层神经网络(即带有一个隐藏层的前馈神经网络)便能够以任意精度逼近任何连续函数。
然而在另一种情况下,单层神经网络仅能执行线性分类任务,而两层神经网络的输出层同样属于线性分类层,理论上似乎也只能完成线性分类。
那么,为何两个线性分类层的组合却能实现非线性分类呢?
通过单独分析输出层的决策边界(如下图)可以揭示原因:隐藏层的非线性变换对数据进行了空间映射,使其在变换后的空间中满足线性可分条件。
尽管输出层的决策边界仍是直线,但这一线性分类器作用于经过非线性变换的数据,最终实现了非线性分类效果。

从数学本质分析,矩阵与向量相乘的核心在于对向量坐标空间实施变换。隐藏层的参数矩阵通过这一机制,将数据原始线性不可分的坐标空间重构为线性可分。
进一步而言,多层神经网络的数学本质可归结为复杂函数逼近过程。每层神经元通过线性变换叠加非线性激活,逐步将输入空间映射至新的特征空间。
常用的数学变换手段包括:
升维/降维
放大/缩小
旋转
平移
弯曲
其中 1,2,3 操作由 wTx 完成,4 操作由 +b 完成,5 操作由激活函数 f 完成。
隐藏层节点数的设计考量
在神经网络架构中,输入层节点数需与特征维度严格对应,输出层节点数则由目标维度决定。而隐藏层的节点数量完全由设计者自主设定,这种"自由度"赋予了模型调整的灵活性。
然而,节点数量的选择会显著影响模型性能。如何确定这一关键参数?当前行业缺乏统一的理论指导,通常依赖实践经验。
一种有效策略是预先设定若干候选值,通过逐一测试并比较模型的预测效果,最终选择最优配置。这一方法在机器学习领域被称为Grid Search(网格搜索)。
非线性函数选择
单层神经网络,使用的激活函数是 sgn 函数;
sgn 激活函数只能用于二分类,它把直线一侧变为 0,另一侧变为 1。
两层神经网络,使用的激活函数是 sigmoid 函数;
Sigmoid函数
定义:一种将输入值压缩至(0,1)区间的激活函数。典型应用于二分类任务的输出层,用于表征概率值。
梯度消失问题:当输入值过大或过小时,Sigmoid的导数(梯度)趋近于零,易在反向传播中引发梯度消失现象,抑制网络学习效率。
非零中心化:其输出恒为正数,导致反向传播时梯度符号一致,可能引发权重更新的"之"字形震荡,降低训练速度。
ReLU函数
定义:一种将输入值映射至[0,+∞)区间的线性整流函数。作为深度学习隐藏层的首选激活函数,凭借计算高效性和梯度稳定性优势。
梯度消失问题缓解:在输入>0时导数恒为1,有效规避梯度消失;但输入≤0时导数为零,可能造成"神经元死亡"(永久性失活)。
非零中心化:输出可为零或正数,近似零中心化特性,使反向传播梯度方向更具多样性。

研究表明,多层神经网络中 ReLU 函数更容易收敛,并且预测性能更好。
ReLU 函数不是传统的非线性函数,而是分段线性函数。其表达式非常简单,就是 y=max(x,0)。
在 x 大于 0,输出就是输入;
在 x 小于 0 时,输出就保持为 0。
这种函数的灵感源于生物神经元对刺激的线性响应特性,以及在未达到特定阈值时停止响应的生物机制模拟。
从单层神经网络到双层结构,进而扩展到多层网络架构,下图直观展示了:随着网络深度的提升,结合激活函数的优化,神经网络对决策边界拟合能力的演变。
可以观察到,层数的增长显著增强了其构建复杂非线性分界面的能力。

应用例子
了解了两层神经网络的结构以后,我们就可以看懂其它类似的结构图。例如 EasyPR 字符识别网络架构(下图)。
EasyPR 使用了字符的图像去进行字符文字的识别。输入是 120 维的向量。输出是要预测的文字类别,共有 65 类。
根据实验,我们测试了一些隐藏层数目,发现当值为 40 时,整个网络在测试集上的效果较好,因此选择网络的最终结构就是 120,40,65。

多层神经网络(深度学习)
在两层神经网络架构中,即便采用"梯度下降+BP"算法,单次训练过程仍显冗长,且局部最优解问题显著增加了优化难度。
此外,隐藏层节点数需人工调整参数,这在实际应用中降低了便利性。
2006年,Hinton团队于《Science》等期刊提出"深度信念网络"的创新框架,其与传统机器学习方法的关键差异体现在:
引入预训练(pre-training)机制,能够有效引导网络权值逼近最优解区间。
开发微调(fine-tuning)方法,实现了对全网络的精细化优化。
这两项创新显著提升了多层神经网络的训练效率。Hinton同时为这类多层学习方法创造了"深度学习"的专有术语。
作为机器学习的重要子领域,深度学习通过逐层处理将底层特征组合为抽象的高层表征,从而利用样本的深度特征实现复杂问题的分类与学习。
其核心原理在于:通过海量数据近似拟合输入输出间高度复杂的函数关系。该函数关系隐含在神经网络结构中,深度学习正是依托神经网络完成特征提取与预测任务。
为什么越深越好?
多层神经网络中的层数越多,越能更深入的表示特征,以及具有更强的函数模拟能力。
更深入的表示特征:在神经网络中,每一层神经元学习到的是前一层神经元值的更抽象的表示。
通过逐层次抽取出更抽象的特征来对事物(e.g. 图像)进行区分,从而获得更好的区分与分类能力。如下图所示。
第一个隐藏层学习到的是 "边缘" 的特征;
第二个隐藏层学习到的是由 "边缘" 组成的 "形状" 的特征;
第三个隐藏层学习到的是由 "形状" 组成的 "图案" 的特征;
最后的隐藏层学习到的是由 "图案" 组成的 "目标" 的特征。

更强的函数模拟能力:是由于随着层数的增加,整个网络的参数就越多。
而神经网络的本质就是模拟特征与目标之间的真实关系函数的方法,更多的参数意味着其模拟的函数可以更加的复杂,可以有更多的容量(capcity)去拟合真正的关系。
基于以上 2 点关键优化,研究发现,在参数数量一样的情况下,更深的网络往往具有比浅层的网络更好的识别效率。
以人脸识别为例,下图展示了 AI 识别人脸的过程:边缘特种 => 局部特征或基本形状 => 人脸。

数学模型
如下图所示,多层神经网络就是在两层神经网络的基础上继续增加隐藏层。


多层神经网络的公式推导也与两层神经网络类似,使用矩阵运算。例如:在已知输入 a(1),参数 W(1),W(2),W(3)的情况下,输出 z 的推导公式如下:

在多层神经网络中,输出的计算遵循逐层推进的流程。首先从输入层出发,依次求解每个Node的数值,随后向更深层次递进计算。
必须确保当前层所有Nodes的值均计算完成后,才会触发下一层的运算。这一机制被命名为"正向传播"。
基本工作原理


损失函数优化问题
从两层神经网络开始,开始使用机器学习技术对模型进行训练。机械学习支持使用大量的数据(1000-10000左右),使得参数尽可能的与真实的模型逼近。
首先给所有参数赋上随机值。
使用这些随机生成的参数值,来预测训练数据中的样本。
样本的预测目标为 yp,真实目标为 y。
那么,定义一个值 loss,计算公式如下:
ini
loss = (yp - y)^2
这个值称之为损失(loss),训练的目标就是使对所有训练数据的损失和尽可能的小。
如果将先前的神经网络预测的矩阵公式带入到 yp 中(因为 z=yp),那么我们可以把 loss 写作关于参数(parameter)的函数,称之为损失函数(loss function)。
假设有 m 个样本,那么损失函数方程(方差方程)为:

梯度下降算法
在确定损失函数与参数的关系后,关键问题转化为:如何通过调整参数使损失函数达到最小值。
这一优化过程通常采用梯度下降法(Gradient Descent)实现,作为机器学习中最基础的一阶优化算法,其目标是通过迭代更新参数来最小化目标函数(如损失函数或成本函数)。
算法原理可概括为:
方向选择:计算损失函数对参数的梯度(即函数值变化最快的方向),并沿其负方向更新参数。由于梯度指向函数上升最快的方向,反方向自然对应下降最快的路径。
步长控制:通过预设的学习率(learning rate)决定每次参数调整的幅度,过大的步长可能导致震荡,过小则收敛缓慢。
终止条件:当梯度趋近于零(或变化量低于阈值)时,算法停止迭代,此时参数接近局部最优解。
实际应用中需注意:
变种算法如随机梯度下降(SGD)通过采样部分数据加速计算,适用于大规模数据集。
学习率可动态调整(如Adam优化器),以平衡收敛速度与稳定性。
需警惕局部最优问题,可通过动量机制或正则化技术改善。

如上图,最终优化结果(loss 最小)所对应的 x 向量(w 权重向量)就是我们常说的 "梯度"。
BP 反向传播算法
由于梯度下降算法每次仅能处理一个yp(输出节点的输出值),在具有亿量级参数的多层感知器神经网络中,若同步计算全部参数,将导致单次梯度下降的计算成本过高。
为此需引入BP反向传播算法以优化该问题。
反向传播算法的核心机制在于:通过分层递进的方式计算梯度而非全局同步。基于loss函数的输出结果,从网络末端向前逐层更新w权重参数。
以图示结构为例,梯度计算遵循从后向前的传播路径,各层依次进行反向推导。前缀E表示相对于导数的求导关系。

首先计算输出层的梯度 Ez;
然后计算第二个参数矩阵的梯度 EW(2);
接着是中间层的梯度 Ea(2);
再然后是第一个参数矩阵的梯度 EW(1);
最后是输入层的梯度 Ea(1)。
计算结束以后,所要的两个 EW(1)、EW(2) 的参数矩阵的梯度就都有了。
反向传播算法的启示是数学中的链式法则(将复合函数拆分为简单函数)。
参数组合方式
下图中可以看出 W(1) 中有 6 个参数,W(2) 中有 4 个参数,W(3) 中有 6 个参数,所以整个神经网络中的参数有 16 个(这里暂不考虑偏置节点,下同)。

假设我们将中间层的节点数做一下调整。例如:第一个中间层改为 3 个单元,第二个中间层改为 4 个单元。经过调整以后,整个网络的参数变成了 33 个。

可见,两个网络的拓扑结构层数相同,但第二个神经网络的参数规模达到第一个的约两倍,这种设计显著提升了模型的表征(represention)能力。
此外,当参数总量相同时(如保持33个参数),可通过构建更深的网络结构实现性能优化。
例如将中间层扩展至4层(接近原层数的两倍),说明相同参数量下,通过增加网络深度能更高效地提取特征,进而提升识别效率。

训练技术
尽管ReLU激活函数被广泛采用,多层神经网络训练的核心问题始终围绕优化与泛化展开。
在配备高性能GPGPU的条件下,梯度下降算法结合BP反向传播算法仍能有效完成多层网络的训练任务。
当前学术研究呈现双重方向:一方面探索新型算法,另一方面持续改进现有方法,例如引入动量因子(momentum)的梯度下降变体。
随着深度学习的发展,泛化技术的重要性显著提升。深层神经网络的参数规模与模型容量急剧增长,导致过拟合风险加剧,这使得正则化技术成为关键解决方案。
现阶段,Dropout技术与数据增强(Data-Augmentation)是最主流的正则化手段。