深度学习的难点:神经网络越深,优化问题越难

简介:



深度学习的核心问题就是一个非常难的优化问题。所以在神经网络引入后的几十年间,深度神经网络的优化问题的困难性是阻碍它们成为主流的一个重要因素。并导致了它们在20世纪90年代到21世纪初期间的衰落。不过现在已经基本解决了这个问题。在本篇博文中,我会探讨优化神经网络的“困难性”,以及理论上是怎么解释这个问题的。简而言之:神经网络变得越深,优化问题就会变得越难。

最简单的神经网络是单节点感知器,其优化问题是凸问题。凸优化问题的好处是所有的局部最小值也是全局最小值。存在各种各样的优化算法来解决凸优化问题,并且每隔几年就会发现更好的用于凸优化的多项式时间的算法。使用凸优化算法可以轻松地优化单个神经元的权重(参见下图)。下面让我们看看扩展一个单神经元后会发生什么。

图1 左图:一个凸函数。右图:一个非凸函数。凸函数比非凸函数更容易找到函数曲面的底部(来源:Reza Zadeh)

下一步自然就是在保持单层神经网络的情况下添加更多的神经元。对于单层n节点感知器的神经网络,如果存在边权重可以使得神经网络能正确地对训练集进行分类,那么这样的边权重是可以通过线性规划在多项式时间O(n)内找到。线性规划也是凸优化的一种特殊情况。这时一个问题应运而生:我们可以对更深的多层神经网络做出这种类似的保证么?不幸的是,不能。

为了可证明地解决两层或多层的一般神经网络的优化问题,需要的算法将会遇到某些计算机科学中最大的未解问题。因此我们对机器学习研究人员尝试找到可证明地解决深度神经网络优化问题的算法不抱有太大的希望。因为这个优化问题是NP-hard问题,这意味着如果在多项式时间内可证明地解决这个问题,那么也可以解决那些几十年来尚未被解决的成千上万的问题。事实上,J. Stephen Judd在1988年就发现下面这个问题是NP-hard问题:

给定一个一般的神经网络和一组训练样本,是否存在一组网络边权重使得神经网络能为所有的训练样本产生正确的输出?

Judd的研究还表明:即使要求一个神经网络只为三分之二的训练样本产生正确的输出仍然是一个NP-hard问题。这意味着即使在最坏的情况下,近似训练一个神经网络在本质上还是困难的。1993年Blum和Rivest发现的事实更糟:即使一个只有两层和三个节点的简单神经网络的训练优化问题仍然是NP-hard问题。

理论上,深度学习与机器学习中的很多相对简单的模型(例如支持向量机和逻辑回归模型)的区别在于,这些简单模型可以数学证明地在多项式时间内完成模型优化。对于这些相对简单的模型,我们可以保证即使用运行时间比多项式时间更长的优化算法也都不能找到更好的模型。但是现有的深度神经网络的优化算法并不能提供这样的保证。在你训练完一个深度神经网络模型之后,你并不知道这个网络模型是否是在你的当前配置下能找到的最优的一个模型。所以你会存有疑虑,如果继续训练模型的话是否可以得到一个更好的模型。

幸运的是我们在实践中可以非常高效地接近这些最优结果:通过运行经典的梯度下降优化方法就可以得到足够好的局部最小值,从而可以使我们在许多常见问题上取得巨大进步,例如图像识别、语音识别和机器翻译。我们简单地忽略最优结果,并在时间允许的情况下尽可能多地进行梯度下降迭代。

似乎传统的优化理论结果是残酷的,但我们可以通过工程方法和数学技巧来尽量规避这些问题,例如启发式方法、增加更多的机器和使用新的硬件(如GPU)。一些研究工作正在积极地探索为什么理论结果很残酷,但这些经典的优化算法却工作得这么好。

原文发布时间为:2017-03-01

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

目录
打赏
0
0
0
0
30498
分享
相关文章
基于GA遗传优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于遗传算法优化的时间卷积神经网络(TCN)用于时间序列预测的方法。算法运行于 Matlab2022a,完整程序无水印,附带核心代码、中文注释及操作视频。TCN通过因果卷积层与残差连接学习时间序列复杂特征,但其性能依赖超参数设置。遗传算法通过对种群迭代优化,确定最佳超参数组合,提升预测精度。此方法适用于金融、气象等领域,实现更准确可靠的未来趋势预测。
基于MobileNet深度学习网络的MQAM调制类型识别matlab仿真
本项目基于Matlab2022a实现MQAM调制类型识别,使用MobileNet深度学习网络。完整程序运行效果无水印,核心代码含详细中文注释和操作视频。MQAM调制在无线通信中至关重要,MobileNet以其轻量化、高效性适合资源受限环境。通过数据预处理、网络训练与优化,确保高识别准确率并降低计算复杂度,为频谱监测、信号解调等提供支持。
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
87 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
Hyper V上网优化:提升虚拟机网络速度
要优化Hyper-V虚拟机的网络速度,可从以下几方面入手:1. 优化虚拟交换机配置,如选择合适的交换机类型、启用SR-IOV、配置VLAN和QoS策略;2. 调整网络适配器设置,选择适当的适配器类型并启用VRQ等;3. 优化宿主机网络配置,更新网卡固件和驱动,启用硬件加速;4. 使用性能监视工具监控网络流量;5. 其他措施如启用硬件虚拟化、使用外部存储、配置NLB等。通过合理配置,可显著提升网络性能。
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
基于PSO粒子群优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-LSTM-SAM网络时间序列预测算法。使用Matlab2022a开发,完整代码含中文注释及操作视频。算法结合卷积层提取局部特征、LSTM处理长期依赖、自注意力机制捕捉全局特征,通过粒子群优化提升预测精度。适用于金融市场、气象预报等领域,提供高效准确的预测结果。
基于WOA鲸鱼优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB 2022a实现时间序列预测,采用CNN-GRU-SAM网络结构,结合鲸鱼优化算法(WOA)优化网络参数。核心代码含操作视频,运行效果无水印。算法通过卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征,全连接层整合输出。数据预处理后,使用WOA迭代优化,最终输出最优预测结果。
基于GA遗传优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB 2022a实现了一种结合遗传算法(GA)优化的时间卷积神经网络(TCN)时间序列预测算法。通过GA全局搜索能力优化TCN超参数(如卷积核大小、层数等),显著提升模型性能,优于传统GA遗传优化TCN方法。项目提供完整代码(含详细中文注释)及操作视频,运行后无水印效果预览。 核心内容包括:1) 时间序列预测理论概述;2) TCN结构(因果卷积层与残差连接);3) GA优化流程(染色体编码、适应度评估等)。最终模型在金融、气象等领域具备广泛应用价值,可实现更精准可靠的预测结果。
基于GA遗传优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本项目使用MATLAB 2022a实现时间序列预测算法,完整程序无水印。核心代码包含详细中文注释和操作视频。算法基于CNN-LSTM-SAM网络,融合卷积层、LSTM层与自注意力机制,适用于金融市场、气象预报等领域。通过数据归一化、种群初始化、适应度计算及参数优化等步骤,有效处理非线性时间序列,输出精准预测结果。
基于WOA鲸鱼优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本内容介绍了一种基于CNN-LSTM-SAM网络与鲸鱼优化算法(WOA)的时间序列预测方法。算法运行于Matlab2022a,完整程序无水印并附带中文注释及操作视频。核心流程包括数据归一化、种群初始化、适应度计算及参数更新,最终输出最优网络参数完成预测。CNN层提取局部特征,LSTM层捕捉长期依赖关系,自注意力机制聚焦全局特性,全连接层整合特征输出结果,适用于复杂非线性时间序列预测任务。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等