构建神经网络需要微积分和微分几何吗?

人工智能 神经网络 结石 教育
2021-11-06 04:53:47

几个月来我一直在研究几何线性代数,目标是构建神经网络。但现在我读到感知器需要拟合曲线,而曲线不表示为线性函数。因此,我可能需要研究微分几何微积分,以便在感知器中构建良好的拟合曲线。

我已经知道如何编码,并希望通过编写一些神经网络来让我的手变脏。但是我应该在编码之前学习微积分和微分几何吗?

这个视频中,我了解到最小二乘近似可用于通过一组点拟合曲线,所以线性代数是否足以构建良好的神经网络?

2个回答

神经网络本质上只是重复的矩阵乘法和激活函数的应用,所以你真的不需要大量的线性代数来构建一个简单的神经网络——如果你了解如何乘法矩阵,那可能就足够了。

更难的是通常通过反向传播完成的训练过程。你需要一点微积分,但微分几何是多余的。机器学习的微分几何中有一些有趣的话题,但远远超出了实现反向传播所需的范围。

要理解反向传播,您只需要了解函数的梯度以及这在直观上意味着什么;您还应该对链式法则有很好的了解。这就是你真正需要的,任何关于“多变量微积分”或类似课程的课程都足以让你开始学习。

当然,了解更多信息总不会有什么坏处,但幸运的是神经网络足够简单,您无需费力多年就可以实现基本的神经网络;尝试在掌握基础知识后立即开始,然后在进行中学习其余部分。

为了提供一些实用的建议,了解微积分的各个部分很重要。这主要是因为反向传播是现代库中的一种泄漏抽象简而言之,有很多问题可能会出错(例如梯度爆炸或消失),您需要有关梯度下降的知识来处理它。

我强烈推荐Andrej Karpathys Lecture他给出了一个易于理解和直观的解释。