神经网络和数学之间的联系在哪里?看完你就明白

简介:

在我们了解过神经网络的人中,都了解神经网络一个有很常见的训练方法,BP 训练算法。通过 BP 算法,我们可以不断的训练网络,最终使得网络可以无限的逼近一种我们想要拟合的函数,最终训练好的网络它既能在训练集上表现好,也能在测试集上表现不错!

那么 BP 算法具体是什么呢?为什么通过 BP 算法,我们就可以一步一步的走向最优值(即使有可能是局部最优,不是全局最优,我们也可以通过其它的方法也达到全局最优),有没有一些什么数学原理在里面支撑呢?这几天梳理了一下这方面的知识点,写下来,一是为了记录,二也可以分享给大家,防止理解错误,一起学习交流。

BP 算法具体是什么,可以参考我这篇文章知乎专栏(详细的将 BP 过程走了一遍,加深理解),那么下面解决这个问题,为什么通过 BP 算法,就可以一步一步的走向更好的结果。首先我们从神经网络的运行原理来看,假如现在有下面这个简单的网络,如图:

神经网络和数学之间的联系在哪里?看完你就明白

我们定义符号说明如下:

神经网络和数学之间的联系在哪里?看完你就明白

则我们正向传播一次可以得到下面公式:

神经网络和数学之间的联系在哪里?看完你就明白

神经网络和数学之间的联系在哪里?看完你就明白

神经网络和数学之间的联系在哪里?看完你就明白

神经网络和数学之间的联系在哪里?看完你就明白

神经网络和数学之间的联系在哪里?看完你就明白

神经网络和数学之间的联系在哪里?看完你就明白

如果损失函数 C 定义为

神经网络和数学之间的联系在哪里?看完你就明白

那么我们希望训练出来的网络预测出来的值和真实的值越接近越好。我们先暂时不管 SGD 这种方法,最暴力的我们希望对于一个训练数据,C 能达到最小,而在 C 表达式中,我们可以把 C 表达式看做是所有 w 参数的函数,也就是求这个多元函数的最值问题。那么成功的将一个神经网络的问题引入到数学中最优化的路上了。

---------------------------分割线---------------------------

好,我们现在顺利的将一个神经网络要解决的事情转变为一个多元函数的最优化上面来了。现在的问题是怎么修改 w,来使得 C 越来越往最小值靠近呢。常见的方法我们可以采取梯度下降法(为什么梯度下降法中梯度的反方向是最快的方向,可以参考我下篇文章,不是这篇文章主旨)。可能到这还有点抽象,下面举一个特别简单的例子。

假如我们的网络非常简单,如下图(符号说明跟上面一样):

神经网络和数学之间的联系在哪里?看完你就明白

那么我们可以得到:

神经网络和数学之间的联系在哪里?看完你就明白

其中

神经网络和数学之间的联系在哪里?看完你就明白

只有 w 参数是未知的,那么 C 就可以看做是关于 w 的二元函数(二元函数的好处就是我们可以在三维坐标上将它可视化出来,便于理解~)。 图片来自于网络:

神经网络和数学之间的联系在哪里?看完你就明白

下面走一遍算法过程:

我们先开始随机初始化 w 参数,相当于我们可以在图上对应 A 点。

下面我们的目标是到达最低点 F 点,于是我们进行往梯度反方向进行移动,公式如下:

神经网络和数学之间的联系在哪里?看完你就明白

每走一步的步伐大小由前面的学习率决定,假如下一步到了 B 点,这样迭代下去,如果全局只有一个最优点的话,我们在迭代数次后,可以到达 F 点,从而解决我们的问题。

那么好了,上面我们给出二元函数这种简单例子,从分析到最后求出结果,我们能够直观可视化最后的步骤,那么如果网络复杂后,变成多元函数的最优值求法原理是一模一样的!到此,我结束了该文要讲的知识点了。 欢迎各位朋友指错交流~

---------------------------分割线---------------------------

在我学习的时候,我已经理解了上面的知识了,但是我在思考既然我最后已经得到一个关于 w 的多元函数了,那么我为什么不直接对每一个 w 进行求偏导呢,然后直接进行更新即可,为什么神经网络的火起还需要 bp 算法的提出才复兴呢!我的疑惑就是为什么不可以直接求偏导,而必须出现 BP 算法之后才使得神经网络如此的适用呢?下面给出我的思考和理解(欢迎交流~)

1. 为什么不可以直接求导数?

在神经网络中,由于激活函数的存在,很多时候我们在最后的代价函数的时候,包含 w 参数的代价函数并不是线性函数,比如最简单的

神经网络和数学之间的联系在哪里?看完你就明白

这个函数对 w 进行求导是无法得到解析解的,那么说明了无法直接求导的原因。

2. 那么既然我们我们不能够直接求导,我们是否可以近似的求导呢?比如可以利用

神经网络和数学之间的联系在哪里?看完你就明白

根据这个公式我们可以近似的求出对每个参数的导数,间距越小就越接近,那么为什么不可以这样,而必须等到 BP 算法提出来的时候呢?思考中……

答:是因为计算机量的问题,假设我们的网络中有 100 万个权重,那么我们每一次算权重的偏导时候,都需要计算一遍改变值,而改变值必须要走一遍完整的正向传播。那么对于每一个训练样例,我们需要 100 万零一次的正向传播(还有一次是需要算出 C),而我们的 BP 算法求所有参数的偏导只需要一次反向传播即可,总共为俩次传播计时。到这里我想已经解决了为什么不能够用近似的办法,因为速度太慢,计算复杂度太大了~ 每一次的传播,如果参数多的话,每次的矩阵运算量非常大,以前的机器速度根本无法承受~ 所以直到有了 BP 这个利器之后,加快了神经网络的应用速度。

以上仅个人理解,感谢德川的帮助!欢迎知友提出问题交流~


以下是我学习用到的资料和博客:
《neural networks and deep learning》需要中文版的欢迎留言邮箱
零基础入门深度学习 (1) - 感知器



====================================分割线================================



本文作者:AI研习社

本文转自雷锋网禁止二次转载,原文链接

目录
相关文章
|
23天前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
61 3
图卷积网络入门:数学基础与架构设计
|
2月前
|
机器学习/深度学习 数据可视化
KAN干翻MLP,开创神经网络新范式!一个数十年前数学定理,竟被MIT华人学者复活了
【10月更文挑战第12天】MIT华人学者提出了一种基于Kolmogorov-Arnold表示定理的新型神经网络——KAN。与传统MLP不同,KAN将可学习的激活函数放在权重上,使其在表达能力、准确性、可解释性和收敛速度方面表现出显著优势,尤其在处理高维数据时效果更佳。然而,KAN的复杂性也可能带来部署和维护的挑战。论文地址:https://arxiv.org/pdf/2404.19756
60 1
|
7月前
|
机器学习/深度学习 存储 算法
卷积神经网络(CNN)的数学原理解析
卷积神经网络(CNN)的数学原理解析
222 1
|
5月前
|
算法 安全 网络安全
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
|
7月前
|
机器学习/深度学习 算法 Python
LSTM(长短期记忆)网络的算法介绍及数学推导
LSTM(长短期记忆)网络的算法介绍及数学推导
158 0
|
机器学习/深度学习 存储 移动开发
图神经网络的数学原理总结
图深度学习(Graph Deep Learning) 多年来一直在加速发展。本文将流行的图神经网络及其数学细微差别的进行详细的梳理和解释
13843 2
图神经网络的数学原理总结
|
机器学习/深度学习 编解码 数据可视化
深度学习基础入门篇[9.2]:卷积之1*1 卷积(残差网络)、2D/3D卷积、转置卷积数学推导、应用实例
深度学习基础入门篇[9.2]:卷积之1*1 卷积(残差网络)、2D/3D卷积、转置卷积数学推导、应用实例
深度学习基础入门篇[9.2]:卷积之1*1 卷积(残差网络)、2D/3D卷积、转置卷积数学推导、应用实例
|
机器学习/深度学习 人工智能 编解码
7 Papers & Radios | 用神经网络推开数学推理大门;世界首个宏基因组蛋白质图谱
7 Papers & Radios | 用神经网络推开数学推理大门;世界首个宏基因组蛋白质图谱
101 0
|
机器学习/深度学习 人工智能 JavaScript
中山大学HCP Lab团队:AI解题新突破,神经网络推开数学推理大门(三)
中山大学HCP Lab团队:AI解题新突破,神经网络推开数学推理大门
444 0
|
机器学习/深度学习 人工智能
中山大学HCP Lab团队:AI解题新突破,神经网络推开数学推理大门(二)
中山大学HCP Lab团队:AI解题新突破,神经网络推开数学推理大门
375 0