搞懂深度学习到底需要哪些数学知识

本文探讨理解深度学习所需的关键数学知识,包括多层神经网络的函数关系、误差函数的几何意义、梯度下降法及其在实际计算过程中的应用。通过数学推导,展示了权重和截距的更新公式,帮助读者掌握深度学习的数学原理。
摘要由CSDN通过智能技术生成

IT互联网行业有个有趣现象,玩资本的人、玩产品的人、玩技术的人都能很好的在这个行业找到自己的位置并取得成功,而且可以只懂其中一样,不需要懂其余两样。玩技术的人是里面最难做的,也是三者收益最低的,永远都要不停学习,不停把画饼变成煎饼。

在今年5月底,Alphago又战胜了围棋世界冠军柯洁,AI再次呈现燎原之势席卷科技行业,吸引了众多架构师对这个领域技术发展的持续关注和学习,思考AI如何做工程化,如何把我们系统的应用架构、中间件分布式架构、大数据架构跟AI相结合,面向什么样的应用场景落地,对未来做好技术上的规划和布局。

之前发表过一篇文章《如何用70行Java代码实现深度神经网络算法》(点击「阅读原文」获得文章),记录了深度神经网络的计算过程和程序实现,本文再进一步研究一下背后的数学原理。

为了彻底理解深度学习,我们到底需要掌握哪些数学知识呢?经常看到会列出一系列数学科目:微积分、线性代数、概率论、复变函数、数值计算等等。这些数学知识有相关性,但实际上这是一个最大化的知识范围,学习成本会非常久,本文尝试归纳理解深度学习所需要的最小化数学知识和推导过程。

(以下根据作者的学习理解整理,有误之处,欢迎专家学者提出指导批评)。

多层神经网络的函数构成关系

多层神经网络从输入层,跨多个隐含层,到最后输出层计算误差,从数学上可以看做一系列函数的嵌套组合而成,上一层函数输出做为下一层函数输入,如下图1所示。

在这里插入图片描述

先从误差函数说起,深度学习的误差函数有典型的差平方函数,也有交叉熵函数,本文以差平方函数为例:

在这里插入图片描述

Tj代表每个神经元目标值,Oj代表每个神经元输出值

这里Oj=f(Zj),f是激活函数,一般是s函数:
在这里插入图片描述

或者relu函数:

在这里插入图片描述

Zj是线性函数(Wij泛指i层和j层节点连接权重,bj泛指j层节点截距):

在这里插入图片描述

Oi再往前依次类推,整个神经网络都可以由上面的函数嵌套去表达。

现在我们的问题是,如何通过多次调整上面的Wij和bj,能让误差函数E达到最小值࿱

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值