本篇我们将深入探讨梯度下降算法在神经网络中的应用。首先,我们会从数学中的梯度概念入手,介绍梯度的定义、大小和方向,随后我们会讨论复合函数求导的技巧,最后将这些数学原理应用于神经网络中的梯度下降过程。

1. 数学中梯度的定义、大小和方向

1.1 梯度的定义

梯度是一个多变量函数的导数,它是一个向量,指示了函数在每个自变量方向上的变化速率。对于一个函数 f(x1,x2,…,xn) ,其梯度表示为:

梯度向量的每个分量是该函数关于一个变量的偏导数,描述了函数在该方向上的变化速率。

1.2 梯度的方向

梯度向量的方向指向函数值增长最快的方向,也就是函数值变大越快得方向,意味着在该方向上,函数值的变化速率最大。换句话说,梯度的方向就是最速上升的方向,这是由梯度向量中的每个分量决定的,表示函数在不同方向上的变化趋势。每个分量都代表超平面中函数值在该分量方向上的变化率,比如z=f(x,y)三维函数。梯度(z/∂x,∂z/∂y)表示(z在x轴方向的变化率,z在y轴方向的变化率)。

  • 梯度某个分量的方向就是它的符号,如果梯度的某个分量为正,表示该分量对应得自变量在正方向上移动函数值增大, ∇x(自变量增量)为正数∇y(因变量增量)变大;如果为负,则表示自变量朝负方向移动函数值会增大,∇x 为负数 ∇y变大。
  • 在最优化问题中,我们通常会沿着梯度的反方向(负梯度方向(这里负梯度方向代表梯度的反方向,也就是(-1)×梯度,而不是梯度是负数的意思))前进,以便最小化损失函数。对于每个分量(偏导数)来说,如果偏导数是正数,可以理解为它的方向是正方向(正数),如果是负数则认为方向为负方向, 正数得反方向是负方向,负数对应得反方向是正方向。

1.3 梯度的大小

梯度的大小表示函数在该方向上的变化速率,通常由梯度向量的模(即欧几里得范数)表示:

梯度的大小越大,表示在该方向上,函数变化越剧烈;大小越小,则变化越缓慢。

1.4 梯度方向的应用

在神经网络的训练中,梯度下降法是最常用的优化算法,它通过计算损失函数的梯度,沿着梯度的反方向调整网络的权重,直到达到损失函数的最小值。

2. 复合函数求导方法

复合函数是指一个函数由另一个函数作为输入构成的函数。举个例子,如果我们有两个函数 h=f(u)  和 u=g(x) ,那么复合函数 h(x)  可以表示为:

h(x)=f(g(x)) 

其中,u=g(x)   是内部函数,f(u)  是外部函数。

2.1 链式法则

在求复合函数的导数时,我们使用 链式法则。链式法则帮助我们将复合函数的导数分解为多个简单函数的导数的乘积。

具体来说,链式法则的基本形式如下:

这里:

  • df(u)/du 是外部函数 f(u) 对 u 的导数;
  • du/dx 是内部函数 u=g(x)  对 的导数

这种方法在神经网络的反向传播过程中非常重要,因为神经网络通常是由多个层级的神经元组成的,每一层的输出都依赖于前一层的输出。链式法则帮助我们计算每一层的梯度,并将它们传递到上一层。

3. 神经网络中的梯度下降

3.1 神经网络的前向传播过程

神经网络多层感知机(MLP)中的前向传播过程,本质上是由多个复合函数组成的。每一层神经网络都可以看作是一个函数,接受上一层的输出作为输入,通过权重和偏置的线性变换,再通过激活函数得到下一层的输出。整个网络的输出是由多层函数复合而成的。

假设我们有一个简单的三层神经网络,包含输入层、一个隐藏层和输出层。对于每一层,前向传播的过程可以表示为复合函数的组合。

  • 输入层:接受原始数据 x,并将其传递给下一层。
  • 隐藏层:将输入 x 通过权重矩阵 W1 和偏置 b1 进行线性变换,并通过激活函数 σ 生成隐藏层输出 h1。即:

  • 输出层:将隐藏层输出 h1作为本层输入 进行线性变换,并通过输出层的激活函数得到最终输出 

整个网络的输出 y^  可以看作是复合函数的组合,表示为:

3.2 复合函数的求导:链式法则

在神经网络的训练过程中,我们需要计算损失函数对每个参数(如权重和偏置)的偏导数。这个过程就是利用复合函数的求导规则——链式法则

假设我们的损失函数为 L,并且我们希望计算损失函数关于隐藏层权重 W1 的偏导数。我们需要使用链式法则来将偏导数分解为各层的导数:

  1. 损失函数对输出层权重 W2  的偏导数

    其中, ∂L/∂y^是损失函数对输出的偏导数,∂L/∂W2 是输出层对权重的偏导数。

  2. 损失函数对隐藏层权重 W1  的偏导数: 由于 h1=σ(W1x+b1,我们还需要对 W1  使用链式法则:

通过这种方式,我们可以一步步地将损失函数的导数传播回网络的每一层,得到每个权重和偏置的梯度。

3.3 反向传播和权重更新

反向传播算法的核心就是利用链式法则计算每层的梯度,然后利用梯度下降方法调整权重和偏置。具体过程如下:

  1. 计算每层的梯度:通过链式法则,我们计算每一层的梯度,并将它们反向传播到网络的每一层。

  2. 更新权重:根据计算出的梯度,利用梯度下降法更新每个权重和偏置:

    其中,η 是学习率,决定了每次更新的步长。

通过反向传播和梯度下降的迭代过程,网络的权重会逐步调整,使得损失函数 最小化,从而使网络能够学习到更好的模型。

posted @ 2025-02-19 11:26 Hi同学 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 在传统机器学习中,回归和分类任务通常被简化为输出一个单一的确定值(如预测房价为100万元)或硬分类结果(如图像分类为“猫”)。然而,现实世界的数据往往充满不确定性、噪声和复杂性,简单地输出一个固定值往往忽略了这些因素,也无法准确表达模型对结果的信心。 例如,在房价预测中,尽管模型给出了一个100万元 阅读全文
posted @ 2025-02-15 19:56 Hi同学 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 先介绍一个简单的例子 要手动实现一个简单的卷积神经网络(CNN)来判断手写数字(1-10),我们可以使用 Python 和 TensorFlow(或其他深度学习框架)。以下是一个简单的实现思路,其中包含了手动构建卷积层、池化层、全连接层等。 假设你已经有了手写数字数据集,比如 MNIST 数据集(0 阅读全文
posted @ 2025-02-10 23:37 Hi同学 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 直方图均衡化是一种图像处理技术,旨在通过调整图像的直方图来增强图像的对比度。其基本原理是通过重新分配图像的灰度值,使图像的灰度分布更加均匀,从而改善图像的视觉效果 基本概念和原理 直方图均衡化通过改变图像的直方图来改变各像素的灰度值。原始图像的灰度分布可能集中在较窄的区间内,导致图像不够清晰。通过直 阅读全文
posted @ 2025-01-24 16:30 Hi同学 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 神经网络的核心目的是能够处理复杂的模式和关系。如果没有激活函数,神经网络中的每一层实际上只是对输入进行线性变换。例如,如果没有激活函数,输出就是一个线性组合。无论层数如何增加,整个网络的输出仍然是一个线性变换,这就意味着无论网络有多少层,最终网络的表达能力与单层网络等效,无法拟合复杂的非线性关系。激 阅读全文
posted @ 2025-01-22 23:12 Hi同学 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 在上一节【神经网络数学原理(2)反向传播】中已经讲述如何通过反向传播来优化权重的过程和数学原理,本章主要讲述参数优化,优化参数是机器学习和深度学习中至关重要的过程,其目的是通过调整模型的权重、偏置和超参数来提升模型的准确性和泛化能力。优化的最终目标是使模型能够从训练数据中学习到有效的信息,同时避免过 阅读全文
posted @ 2025-01-22 23:11 Hi同学 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 在上一节【神经网络数学原理(1)前向传播】中已经描述过神经网络结构和输入层到输出层的基本数学原理,本章主要讲述如何通过反向传播来优化权重的过程和数学原理。神经网络通过一系列的计算(前向传播)和优化过程(反向传播)来调整网络中每一层的权重,直到网络能够最小化预测值与实际值之间的误差(通常通过某种损失函 阅读全文
posted @ 2025-01-21 22:33 Hi同学 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 神经网络(Neural Networks)是一种模拟人脑神经元连接模式的计算模型,广泛应用于模式识别、机器翻译、语音识别等领域。其基本结构包括输入层、隐藏层和输出层。输入层接收外部数据,隐藏层通过加权连接和激活函数进行特征提取,输出层生成最终的预测结果。核心目的是通过不断调整权重来拟合目标函数,最终 阅读全文
posted @ 2025-01-21 17:16 Hi同学 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 高斯金字塔、高斯模糊和高斯差分是图像处理中非常重要的技术,常用于图像缩放、降噪、特征提取等领域。 1. 高斯模糊(Gaussian Blur) 高斯模糊是一种降噪技术,基于高斯函数的图像处理技术,用于平滑图像,减少噪声或细节。它在图像处理和计算机视觉中非常常用,尤其是在预处理步骤中,通过对图像应用高 阅读全文
posted @ 2025-01-10 10:02 Hi同学 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 梯度的计算是图像处理中非常基础的概念,它描述了图像中像素值的变化率。通过计算图像中每个像素点的梯度,能够帮助我们检测图像的边缘、纹理和变化区域。 数学原理 在图像处理或计算机视觉中,将图像视为一个函数 f(x,y),其中 x和 y是图像的空间坐标,f(x,y) 是在这些坐标上的像素值。关于 x 轴的 阅读全文
posted @ 2025-01-09 11:18 Hi同学 阅读(54) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示