1。 多层神经网络复杂,提高效率成为新的挑战
神经网络从感知器发展到多层前馈神经网络,网络 变得越来越复杂。 正如前面机器学习中的函数(2)——多层前馈网络巧妙地解决了“异或”问题,损失函数优化了网络性能来讨论我们的前馈神经网络目标 网络就是让损失函数达到最小值,使得实际输出和期望输出的差异最小,通过最小化损失函数来提高分类的准确率。 显然,采用“穷举”法寻找最优参数并不是明智的选择,费时费力。 我们现在面临的问题和挑战变成了,如何找到一种有效的方法从众多网络参数(神经元之间的连接权重和偏差)中选择最佳参数? 这就是我们要一起研究和讨论的。
在研究复杂问题之前,首先要明确几个基本概念,包括“凸函数”、“梯度”、“梯度下降”。
2. 基本概念:凸函数与凸曲面、梯度与梯度下降
在讨论这些概念之前,我们必须先向伟大的牛顿致敬。 当科学发展到伽利略和开普勒时代,人们在物理学和天文学中遇到了很多求一个函数的最大值或最小值,即最优化问题,比如计算行星运动的近日点和远日点距离等。 如何系统地解决优化问题? 牛顿创造性地给出了答案。 他的伟大之处在于,与他的前辈不同,他把优化问题看成是一些比较小的问题,而是看成是研究函数动态变化趋势的问题。 如下图,牛顿比较了抛物线和它的导数(虚直线),发现曲线到达最高点的位置就是切线变为水平的位置,或者导数变为0的位置 .他把比较数字的问题变成了寻找函数变化拐点的问题。 同时,他发明了一种叫做导数的工具来将这两个问题等同起来。 用求导的工具求最大值就成了理解方程的问题。 你看微积分这个强大的数学工具在神经网络中有多重要。
(一)凸函数与凸曲面