神经网络优化 - 高维变量的非凸优化

 网络优化是指寻找一个神经网络模型来使得经验(或结构)风险最小化的过程,包括模型选择以及参数学习等。

关于经验风险最小化和结构风险最小化,请参考博文:

认识机器学习中的经验风险最小化准则_样本均值近似与经验风险最小化的关系-CSDN博客

认识机器学习中的结构风险最小化准则_结构风险机器学习-CSDN博客

深度神经网络是一个高度非线性的模型,其风险函数是一个非凸函数,因此风险最小化是一个非凸优化问题。此外,深度神经网络还存在梯度消失问题。因此,深度神经网络的优化是一个具有挑战性的问题。

神经网络的种类非常多,比如卷积网络、循环网络、图网络等。不同网络的结构也非常不同,有些比较深,有些比较宽,不同参数在网络中的作用也有很大的差异,比如连接权重和偏置的不同,以及循环网络中循环连接上的权重和其他权重的不同。

由于网络结构的多样性,我们很难找到一种通用的优化方法。不同优化方法在不同网络结构上的表现也有比较大的差异。

此外,网络的超参数一般比较多,这也给优化带来很大的挑战.

作为铺垫,前一博文我们介绍了低维空间的非凸优化问题:低维空间的非凸优化问题-CSDN博客

本文我们来正式学习高维变量(空间)的非凸优化。

低维空间的非凸优化问题主要是存在一些局部最优点。基于梯度下降的优化方法会陷入局部最优点,因此在低维空间中非凸优化的主要难点是如何选择初始化参数和逃离局部最优点。深度神经网络的参数非常多,其参数学习是在非常高维空间中的非凸优化问题,其挑战和在低维空间中的非凸优化问题有所不同。

一、这里解释一下:低维空间中非凸优化的“逃离局部最优点”

概念理解

  1. 局部最优点(Local Optimum)
    在非凸优化中,局部最优点指的是在某个小范围内,目标函数的值比附近所有点都小(或大),但它并不一定是全局范围的最小(或最大)值。换言之,它是“这个山谷的最低点”,却可能高于另一座更深的山谷底部。

  2. “逃离局部最优点”的含义

    • “逃离”意味着算法在某一次迭代中发现自己处于一个次优的谷底(局部最优),如果继续按常规梯度方向下降,则只会在这个谷底中震荡,无法到达更深的、全局最优的山谷。

    • 要“逃离”,就需要引入额外机制,让搜索过程能够“跳出”当前的谷底,去探索其他区域,以期找到全局最优解或更优的局部解。

为什么会陷入局部最优

  • 梯度为零:在局部最优点,目标函数梯度(或一阶导数)为零,普通的梯度下降算法无法再更新参数。

  • 鞍点与平坦区域:还可能出现既非极大也非极小的鞍点,算法在此也会停滞。

  • 目标地形复杂:非凸函数常有多个起伏不平的“山谷”和“山峰”,算法只要初始点落在某个山谷附近,就可能陷入该谷。

常见“逃离”策略

  1. 多次随机初始化(Random Restarts)

    • 从不同的初始点多次运行优化算法,记录各次结果,取最优者。这样可增加至少一次落到全局最优区域的概率。

  2. 模拟退火(Simulated Annealing)

    • 引入温度参数,允许算法以一定概率接受“上坡”(目标值变差)的步骤;随着温度逐渐降低,这种随机越过山脊的机会减少,从而有机会跳出局部谷底。

  3. 添加噪声(Noise Injection)

    • 在每次梯度更新时加入小随机扰动,扰动有助于摆脱梯度为零的陷阱,将参数推离局部极值点。

  4. 动量方法(Momentum)

    • 利用过去梯度的累积方向,帮助克服鞍点或浅谷的拖拽效应,使得优化路径能继续往前越过局部障碍。

  5. 演化或群体算法(Genetic Algorithms, Particle Swarm)

    • 使用多种候选解同时搜索,通过选择、交叉、变异等操作,群体解可跳出局部最优,逐代逼近全局最优。

“逃离局部最优点”就是让优化算法不被眼前的小山谷困住,而有能力去尝试更远处的区域,以期寻找到全局最优或更优的局部解。常见做法包括多次随机启动、模拟退火、噪声注入、动量方法和群体智能等,它们从不同角度帮助“跳出”或“越过”局部最优的障碍。

二、从鞍点角度分析高维变量(空间)的非凸优化

在高维空间中,非凸优化的难点并不在于如何逃离局部最优点,而是如何逃离鞍点(Saddle Point)。鞍点的梯度是 0,但是在一些维 度上是最高点,在另一些维度上是最低点,如下图:

鞍点的叫法是因为其形状像马鞍。鞍点的特征是一阶梯度为0,但是二阶梯度的 Hessian 矩阵不是半正定矩阵。

在高维空间中,局部最小值(Local Minima)要求在每一维度上都是最低点,这种概率非常低。假设网络有10,000维参数,梯度为0的点(即驻点(Sta-tionary Point))在某一维上是局部最小值的概率为 𝑝,那么在整个参数空间中,驻点是局部最优点的概率为 𝑝10,000,这种可能性非常小。也就是说,在高维空间 中大部分驻点都是鞍点。

基于梯度下降的优化方法会在鞍点附近接近于停滞,很难从这些鞍点中逃 离。因此,随机梯度下降对于高维空间中的非凸优化问题十分重要,通过在梯度方向上引入随机性,可以有效地逃离鞍点。后面的博文中会详细介绍。

Hessian 矩阵是什么?

这个矩阵在优化中非常重要,可以用来判断驻点(梯度为零的点)是极小点、极大点还是鞍点:

  • 若 Hessian 正定(所有特征值都大于零),则该驻点是局部极小。

  • 若 Hessian 负定(所有特征值都小于零),则该驻点是局部极大。

  • 若 Hessian 不定(既有正特征值也有负特征值),则该驻点是鞍点。

半正定矩阵是什么?

在优化中:

  • 如果 Hessian 是半正定的,那么函数在该点附近是“向上开口”的(或平坦),可能是局部极小或鞍点,但不会是局部极大。

  • 半正定性质保证二次近似不会在任何方向上出现向下的“山形”,常用于证明凸函数的二次泰勒展开是下界。

这些数学定义的理解,需要额外去翻阅资料去了解,大家感兴趣可以自行深入了解一下,这里只总结性的列一下,辅助理解高维空间中,逃离鞍点的复杂性。

三、从平坦最小值分析高维变量(空间)的非凸优化

深度神经网络的参数非常多,并且有一定的冗余性,这使得每单个 参数对最终损失的影响都比较小,因此会导致损失函数在局部最小解附近通常 是一个平坦的区域,称为平坦最小值。

下图给出了平坦最小值和尖锐最小值(Sharp Minima)的示例:

在一个平坦最小值的邻域内,所有点对应的训练损失都比较接近,表明我们这里的很多描述都是在训练神经网络时,不需要精确地找到一个局部最小解,只要在一个局部最小解 的邻域内就足够了。平坦最小值通常被认为和模型泛化能力有一定的关系。一般而言,当一个模型收敛到一个平坦的局部最小值时,其鲁棒性会更好,即微小的参数变动不会剧烈影响模型能力(鲁棒性的定义);而当一个模型收敛到一个尖锐的局部最小值 时,其鲁棒性也会比较差。具备良好泛化能力的模型通常应该是鲁棒的,因此理想的局部最小值应该是平坦的。

(这里的很多描述都是经验性的,并没有很好的理论证明)

四、从局部最小解的等价性分析高维变量(空间)的非凸优化

在非常大的神经网络中,大部分的局部最小解是等价的, 它们在测试集上性能都比较相似。此外,局部最小解对应的训练损失都可能非常接近于全局最小解对应的训练损失 。虽然神经网络 有一定概率收敛于比较差的局部最小值,但随着网络规模增加,网络陷入比较差的局部最小值的概率会大大降低。在训练神经网络时,我们通常没有必要找全局 最小值,这反而可能导致过拟合。

在高维非凸优化中,神经网络的局部最小解通常表现出“等价性”(equivalence),即绝大多数局部最小点在目标值(损失)和泛化能力上差异极小。

(一)概要

  • 高维效应:随着参数维度增加,损失函数的随机成分平均化,绝大多数局部极小点集中在一个狭窄的“能量带”中,损失值相近。

  • 自旋玻璃理论:借鉴物理中自旋玻璃模型,高维随机场的局部极小多且值近。

  • 参数对称性:神经网络层内部的置换对称使得同一个模型函数对应多个参数解,进一步增多“等价”局部极小。

(二)几何与自旋玻璃视角

  1. 能量地形多峰结构

    • 在数千甚至数百万维参数空间中,目标函数类似“多峰山脉”。

    • 随机矩阵理论显示,绝大多数局部极小值点对应的 Hessian 特征值分布都集中在相似区间,这意味着它们的“深度”(损失值)近似一致。

  2. 自旋玻璃模型对比

    • Choromanska 等人在 AISTATS 2015 中将深度网络损失与自旋玻璃能量函数做类比,证明局部极小值的损失值几乎等价。

    • 这表明在高度非凸的高维场景下,真正的全局最优与普通局部最优在数值上区别微小,不至显著影响模型性能。

(三)参数对称性与模式连通

  1. 置换对称

    • 同一隐藏层中神经元的任意置换不会改变网络函数输出,使得参数空间存在巨大的等价类。

    • 这意味着若一个解是局部极小,那么对其神经元重命名后仍是一个等价解,增大了局部极小的数量且使其等价。

  2. 模式连通性(Mode Connectivity)

    • Garipov 等人(ICML 2018)和 Draxler 等人(ICLR 2018)观察到,不同训练得到的局部极小点之间可以通过低损失的“拱桥”相连,说明它们位于同一个连通“谷底”区域。

    • 这种结构进一步支持所有局部极小的等价性:它们并非孤立,而是在同一平坦区域的不同“点”。

(四)实证与理论支持

  1. Kawaguchi 的全局极小无“坏”局部论

    • Kawaguchi(NIPS 2016)证明,对于线性或某些简化非线性网络,所有局部极小都是全局极小,强化了等价性的理论基础。

  2. Dauphin 的鞍点主导论

    • Dauphin 等(NIPS 2014)指出,高维非凸场景下,梯度下降更易被大量高索引鞍点而非局部极小所阻,于是能到达平坦的局部极小区域,这些区域损失相近且泛化好。

(五)小结

  • 在高维非凸优化中,参数维度越高,局部极小点的“深度”分布越集中,几乎等价。

  • 这种等价性来源于统计平均效应、自旋玻璃类比和网络自身的对称结构。

  • 理论与实验均表明,只要算法能避开鞍点并到达平坦区域,不同初始化往往收敛到等价的低损失解,从而保证泛化性能稳定。

注:关于这部分,个人建议,我们更多的认识到,有“局部最小解的等价性”这个理论存在,然后理解其在高维变量(空间)的非凸优化中的应用及其合理性即可。当然若想进一步理解其原理和理论依据,可以去深究一下上面提到的各种理论和研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python自学第2天:条件语句,循环语句

条件语句 1.条件判断 score 60 if score > 90:print("优秀") elif score > 60:print("及格") else:print("不及格") 注意: 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。2、使用缩进来划…

C# dll 打包进exe

Framework4.x推荐使用 Costura.Fody 1. 安装 NuGet 包 Install-Package Costura.Fody工程自动生成packages文件夹,300M左右。生成FodyWeavers.xml、FodyWeavers.xsd文件。 2. 自动嵌入 编译后,所有依赖的 DLL 会被自动嵌入到 EXE 中。 运行时自动解压…

Redis之缓存更新策略

缓存更新策略 文章目录 缓存更新策略一、策略对比二、常见的缓存更新策略三、如何选择策略四、实际应用示例五、使用 Cache-Aside TTL 的方式,实现缓存商铺信息详情1.引入StringRedisTemplate2.将查询商铺信息加入缓存3.更新商铺信息时移除缓存总结 六、注意事项 一…

【工具变量】各地级市人口集聚及多中心程度数据集(2000-2023年)

多中心程度描述的是一个城市或区域内多个功能性中心的存在和分布情况;人口集聚度是指一定区域内人口的集中程度,它反映了区域内人口分布的不均衡性,这两个概念相互关联,通过分析地级市的多中心程度及人口集聚度可以帮助研究者理解…

函数对象-C++

1.定义 2.特点 、 1.解释第一句 #include<stdio.h> using namespace std; #include<string> #include<map> #include <iostream> class print { public:void operator()(string s){cout << s << endl;} }; int main() {print print;pri…

Apifox下载安装与使用

一、Apifox下载 官网地址:Apifox 点击"免费下载",即可进行下载。 二、Apifox安装 双击安装文件即可安装。

Python与图像处理:从基础操作到智能应用的全面解析

目录 一、Python图像处理的三大核心优势 1.1 生态库矩阵支撑 1.2 开发效率革命 1.3 跨领域协同能力 二、六大核心处理技术详解 2.1 图像基础操作 2.2 图像增强技术 2.3 特征提取算法 2.4 目标检测技术 2.5 图像分割技术 2.6 图像生成技术 三、实战案例&#xff1a;智…

双 Token 与 单 Token 优缺点

双Token与单Token认证机制对比 在Web应用开发中&#xff0c;身份认证和授权是保障系统安全的核心环节。随着技术演进&#xff0c;基于Token的认证机制逐渐取代传统Session方案&#xff0c;而双Token与单Token架构的选型争议也日益成为开发者关注的焦点。本文将从技术原理、优缺…

Spring Boot管理Spring MVC

Spring Boot真正的核心功能是自动配置和快速整合&#xff0c;通常Spring Boot应用的前端MVC框架依然使用Spring MVC。Spring Boot提供的spring-boot-starter-web启动器嵌入了Spring MVC的依赖&#xff0c;并为Spring MVC提供了大量自动配置&#xff0c;可以适用于大多数Web开发…

1.凸包、极点、极边基础概念

目录 1.凸包 2.调色问题 3.极性(Extrem) 4.凸组合(Convex Combination) 5.问题转化(Strategy)​编辑 6.In-Triangle test 7.To-Left-test 8.极边&#xff08;Extream Edges&#xff09; 1.凸包 凸包就是上面蓝色皮筋围出来的范围 这些钉子可以转换到坐标轴中&#xff0…

《如何用 Function 实现动态配置驱动的处理器注册机制?》

大家好呀&#xff01;&#x1f44b; 今天我们来聊聊一个超实用的技术话题 - 如何用Java的Function接口实现动态配置驱动的处理器注册机制。听起来很高大上&#xff1f;别担心&#xff0c;我会用最简单的方式讲清楚&#xff01;&#x1f60a; 一、为什么要用Function实现处理器…

【最新版】芸众商城独立版源码 425+插件 全新后台框架

一.系统介绍 芸众商城系统最新版 已经更新425全插件版&#xff0c;一套系统支持各种新零售、商城、模式&#xff0c;天天美丽链动商城。不要相信那些外面的旧版本。旧版本等于是废品&#xff0c;无法小程序运营的&#xff0c;框架还是旧的&#xff01; 芸众系统最新版 服务器可…

java 设计模式之单例模式

简介 单例模式&#xff1a;一个类有且仅有一个实例&#xff0c;该类负责创建自己的对象&#xff0c;同时确保只有一个对象被创建。 特点&#xff1a;类构造器私有、持有自己实例、对外提供获取实例的静态方法。 单例模式的实现方式 饿汉式 类被加载时&#xff0c;就会实例…

Milvus 索引如何选择

以下是几种索引类型的特点及适用场景&#xff0c;可据此选择&#xff1a; AUTOINDEX 特点&#xff1a;数据库自动选择合适索引类型&#xff0c;无需深入了解索引细节。适用场景&#xff1a;对索引知识了解有限&#xff0c;或不确定哪种索引适合当前数据和查询需求&#xff0c…

CentOS 7 安装教程

准备&#xff1a; 软件&#xff1a;VMware Workstation 镜像文件&#xff1a;CentOS-7-x86_64-bin-DVD1.iso &#xff08;附&#xff1a;教程较为详细&#xff0c;注释较多&#xff0c;故将操作的选项进行了加粗字体显示。&#xff09; 1、文件–新建虚拟机–自定义 2、硬盘…

TAS启动与卸载

3. 启动TAS&#xff08;Thin-Agent服务&#xff09; TAS在安装完成后通常会自动启动&#xff0c;并在系统重启时自启。如需手动启动&#xff0c;请按以下步骤操作&#xff1a; &#xfffc; 3.1 在Windows上启动TAS 1. 打开 Windows服务管理器&#xff1a; ◦ 按下 Win R&…

Redis面试——数据结构

一、SDS如何防止缓冲区溢出&#xff1f; Redis 的 String 类型通过 SDS&#xff08;Simple Dynamic String&#xff09;来防止缓冲区溢出&#xff0c;具体机制如下&#xff1a; Redis 的 String 类型底层采用 SDS 实现&#xff0c;即 Simple Dynamic StringSDS 底层维护的数据…

Doris的向量化执行如何支撑分布式架构和复杂查询

Doris 的向量化执行能力与其 分布式架构 和 复杂查询优化 深度结合&#xff0c;通过 批处理 列式计算 分布式调度 的协同设计&#xff0c;解决传统分布式数据库在复杂查询场景下的性能瓶颈。以下是具体原理展开&#xff1a; 一、向量化如何适配分布式架构&#xff1f; Doris…

DataInputStream 终极解析与记忆指南

DataInputStream 终极解析与记忆指南 一、核心本质 DataInputStream 是 Java 提供的数据字节输入流,继承自 FilterInputStream,用于读取基本数据类型和字符串的二进制数据。 作用:1.专门用来读取使用DataOutputStream流写入的文件 注意:读取的顺序要和写入的顺序一致(…

云转型(cloud transformation)——不仅仅是简单的基础设施迁移

李升伟 编译 云转型不仅仅是迁移基础设施&#xff0c;更是重塑企业运营、创新及价值交付的方式。它具有战略性、持续性&#xff0c;并影响着人员、流程和平台。 ☁️ 云转型涉及以下内容&#xff1a; &#x1f504; 应用现代化——从单体架构转向微服务架构。 ⚙️ 运营自动…