机器人中的数值优化之BFGS(convex and smooth)

news2025/1/6 18:28:01

本文ppt来自深蓝学院《机器人中的数值优化》

目录

1 Why Quasi-Newton Methods 

2 Rate of convergence

3 Quasi-Newton Methods 

3.1 Quasi-Newton approximation

3.2 preserve descent direction

3.3 secant condition

3.4 iterate B

3.5 Parsed solution B

4 Contrast Newton Methods and Quasi-Newton Methods 


1 Why Quasi-Newton Methods 

最速下降法需要消耗O(N)的时间复杂度,牛顿法需要O(N2),线性求解器更需要O(N3),我们需要找到一个时间复杂度较低的算法

比如机器人导航领域中常见的目标函数都是非线性的,用二次去拟合其实效果并不好,导致牛顿法在离最优解较远的地方就耗费了大量去计算二阶信息的时间

hessian矩阵也经常出现条件数比较大的情况

在非凸问题上,hessian矩阵不定导致搜索方向不是下降方向

2 Rate of convergence

上述是评价一个算法优劣的一个指标,需要注意左图纵坐标是对数坐标系

sublinear:亚线性收敛

Linear:线性收敛

Quadratic:二次收敛

Superlinear:超线性收敛

工程中,超线性收敛的算法就足够,单需要减少单次迭代的计算量

3 Quasi-Newton Methods 

3.1 Quasi-Newton approximation

是否能够让这个近似H的矩阵M把H中重要的信息都接收,不把所有二阶信息都接收

由于线性方程求解耗费过多计算,能不能不用显示求解这个线性方程

希望这是一个不稠密的矩阵不花掉N方的空间复杂度,只把重要信息存储,更加轻量化,易存储

一定要保存搜索方向是下降方向,同时保证能够包含曲率信息

3.2 preserve descent direction

通过将搜索方向与负梯度方向内积大于0这一条件来判断搜索方向是否是下降方向,同时可以化简发现结果是一个二次型,只要M的逆是正定就能保证大于0,M的逆是正定那么M也一定正定

3.3 secant condition

对梯度进行泰勒展开,再进行高阶无穷小的省略,就有如上的表达式,同时既然是估计,不如直接估计逆,省去线性求解的部分

3.4 iterate B

这里可以表示成迭代优化的问题,首先假设这是凸函数的并且初始值给定

思路:B(k)已知,然后新的B需要和B(k)接近并且满足对称与正割条件(secant condition)

经过一轮一轮的迭代,x不仅在不断搜索接近最优解,B矩阵也是不断更新越来越接近真实的H

注意:新的B需要和B(k)接近这一目标函数会受尺度的影响,于是采用右图的方式消除scale的影响

3.5 Parsed solution B

这就是B矩阵迭代的解析解,非常规则与优美,也有很多良好的性质,具体推导与性质可以参考原始论文,这里就不再赘述

 这里是BFGS的算法框架(注意这是严格凸的情况,下面几篇文章将介绍非凸或非光滑的BFGS

4 Contrast Newton Methods and Quasi-Newton Methods 

牛顿法达到了二次收敛的速率,BFGS达到了超线性收敛,但是一次iteration的时间复杂度是更快

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

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

相关文章

微信小程序学习第2天——模板语法与样式,全局配置与页面配置

文章目录一、WXML模板语法1、数据绑定2、事件绑定3、条件渲染4、列表渲染二、WXSS模板样式rpximport语法导入样式全局和局部样式三、全局配置全局配置文件及常用配置项windowtabBar四、页面配置一、WXML模板语法 1、数据绑定 数据绑定的原则:①在data中定义数据 ②…

亚信安慧携AntDB数据库入选信通院软件供应链厂商和产品名录

日前,中国信息通讯研究院(简称:中国信通院)在其主办的3SCON软件供应链安全大会上,发布了软件供应链厂商和产品名录。中国信通院云计算与大数据研究所副所长栗蔚表示,我国软件供应链安全发展面临制度体系待完…

微服务组件(高并发带来的问题 服务器雪崩效应 Sentinel入门)

高并发带来的问题 服务器雪崩效应 Sentinel入门高并发带来的问题模拟高并发服务器雪崩效应常见容错方案Sentinel入门(常见的容错组件)什么是Sentinel?订单服务集成Sentinel流控规则预热流控等待流控关联流控链路流控降级(提供一个兜底方案)慢调用比例异常比例异常数案例高并发…

显著图(Saliency map)

这里写目录标题概念应用算法传统算法静态显著性算法:对数光谱(SpectralResidual):静态显著性算法:细粒方法(FineGrained):人工智能算法基于眼动仪预测显著性区域方法积分梯度方法对比…

jsp学生宿舍管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 学生宿舍管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使…

【Vue】Vue的简介和特性

一、Vue简介Vue.js可以说是MVVM架构的最佳实践,是一个JavaScript MVVM库,是一套构建用户界面的渐进式前端框架。专注于MVVM中的ViewModel,不仅做到了数据双向绑定,而且也是一款相对比较轻量级的JS 库,API简洁。1. 构建…

Day 15 SpringBoot Condition

1 Condition作用:该功能可以选择性的创建Bean1.1 验证在Spring的IOC容器中有一个User的 Bean,现要求导入Jedis坐标后,加载该Bean,没导入,则不加载。【第一步】创建User对象Repository Conditional(ClassCondition.clas…

【yolov5系列】yolov5-onnxruntime在Ubuntu和RK芯片上运行

前言 这里yolov5的onnx模型的推理,分别在 x64上 和 移动端上运行,前者在自己本地Ubuntu系统上运行,后者在瑞芯微的rk3566上运行。 要完成如上工作我们需要一下步骤: 1 下载onnxruntime编译好的库2 下载opencv库并安装3 下载交叉编…

88E1548P大流量传输插拔网线导致网络不通

1、测试环境硬件:NXP LS1046A ARM64平台 88E1548P 软件:linux 4.19.26 linux 5.10.35环境说明:88E1548P 是一个QSGMII 的 phy 芯片,LS1046A CPU 提供4个GMAC 与 88E1548P 连接,就是4个千兆网口。2、具体现象eth7发包…

OFDM系统架构梳理(1)

1、ofdm简介OFDM是一种特殊的多载波传输方案,它可以被看作是一种调制技术,也可以被当作一种复用技术。多载波传输把数据流分解成若干子比特流,这样每个子数据流将具有低得多的比特速率,用这样的低比特率形成的低速率多状态符号再去…

Spring Batch 批处理-步骤Step与Tasklet

引言 接着上篇:Spring Batch 批处理-执行上下文,了解作业执行上下文后,本篇就来了解一下Spring Batch批处理步骤Step对象与任务处理对象Tasklet,看下Spring Batch 如何运作的。 步骤介绍 一般认为步骤是一个独立功能组件&#…

密码学大咖DavidWong历经数年创作编写而成的这本书

从我开始写本书到图书出版已经有几年了。最初,我打算将本书作为介绍现实世界常用密码原语的图书。但是,这显然是一件不可能完成的事情。任何一个领域都不可能用一本书来总 结清楚。出于这个原因,我必须在知识的深度和广度之间找到平衡。我希望…

3.6双端口RAM和多模块存储器

文章目录关键词正文一、存取周期二、引子三、双端口RAM四、多体并行存储器&#xff08;1&#xff09;高位交叉编址方式&#xff08;2&#xff09;低位交叉编址方式&#xff08;3&#xff09;编址&#xff08;4&#xff09;特性举例<1> 高位交叉编址<2> 低位交叉编址…

word实用技巧:拼音指南用法及注意事项

如果你是一位语文老师&#xff0c;在为学生准备试卷时&#xff0c;时常会用到Word拼音指南功能&#xff1b;如果你是一位职场白领&#xff0c;在为领导准备发言稿、颁奖名单时&#xff0c;以防领导读错音&#xff0c;也会用到Word拼音指南功能对生僻字&#xff0c;多音字进行单…

RabbitMQ 获取消息(Ack Mode)

在服务器端的客户端页面从队列中获取消息是一个危险的动作&#xff0c;生产环境一定要了解业务之后再做操作。 Act Mode Nack message requeue true 接收消息但不做确认&#xff0c;消息会重新加入队列 Automatic ack 获取消息&#xff0c;应答确认&#xff0c;消息不…

C#,编程语言的基本概念与知识点

本文归纳整理C#的一些知识点&#xff0c;便于快速浏览与掌握C#语言的一些基本概念。本文并没有很好地层次与组织&#xff0c;抄了不少&#xff0c;写了不少&#xff0c;想到什么&#xff0c;就写什么。01 类 class类是C#等面向对象编程语言&#xff08;Object-oriented program…

分享152个ASP源码,总有一款适合您

ASP源码 分享152个ASP源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c; 152个ASP源码下载链接&#xff1a;https://pan.baidu.com/s/1fOOs06p6YghEzceqJ4twaA?pwd0p4z 提取码&#x…

Vue-透传Attributes使用解析

透传是vue中一种特性&#xff0c;官方的解释是&#xff1a;“透传 attribute”指的是传递给一个组件&#xff0c;却没有被该组件声明为 props 或 emits 的 attribute 或者 v-on 事件监听器。最常见的例子就是 class、style 和 id。这句话解释过来就是一些不被prop定义的属性直接…

面对层出不穷的问题,延迟开学的原因就是取消延时服务?

面对层出不穷的问题&#xff0c;延迟开学的原因就是取消延时服务&#xff1f; #延迟开学#请问为什么要延迟&#xff1f;疫情期间说要回家可以理解&#xff0c; 这两天都传着说郑州市的中小学、幼儿园推迟开学了&#xff0c;到底有没有这种情况&#xff1f;我们现在又来到了郑…

零基础入行软件测试怎么学习~

随着近几年软件测试行业的异军突起&#xff0c;加之这又是个进入门槛相对较低的行业&#xff0c;导致不少人都想从事这个岗位。那么&#xff0c;许多初学者在一开始都会想知道&#xff0c;零基础入门软件测试要学什么?希望本文可以对大家的软件测试学习之路有一定的指导意义&a…