机器人中的数值优化|【四】L-BFGS理论推导与延伸

news2024/11/24 12:34:15

机器人中的数值优化|【四】L-BFGS理论推导与延伸

往期内容回顾

机器人中的数值优化|【一】数值优化基础
机器人中的数值优化|【二】最速下降法,可行牛顿法的python实现,以Rosenbrock function为例
机器人中的数值优化|【三】无约束优化,拟牛顿法理论与推导

L-BFGS方法

在上一节中我们对拟牛顿法进行了详细的推导,特别是对BFGS的推导过程比较熟悉了,我们发现BFGS虽然解决了牛顿法中hessian可能不存在以及hessian求逆计算复杂的通电,但是在大规模优化过程中,很可能没有办法去存储一个 n × n n \times n n×n矩阵,因此Limited memory GFGS算法自然而然就被提出,表示使用有限的空间来进行计算。观察原来的式子
Δ B t = Δ g t Δ g t T Δ x t Δ g t T − B t Δ x t Δ x t T B t T Δ x t T Δ B t T Δ x t \Delta B_t = \frac{\Delta g_t \Delta g_t^T}{\Delta x_t \Delta g_t^T} - \frac{B_t \Delta x_t \Delta x_t^T B_t^T}{\Delta x_t^T \Delta B_t^T \Delta x_t} ΔBt=ΔxtΔgtTΔgtΔgtTΔxtTΔBtTΔxtBtΔxtΔxtTBtT
B t + 1 − 1 = ( I n − Δ x Δ g T Δ x t T Δ g t ) B t − 1 ( I n − Δ g t Δ x t T Δ x t T Δ g t ) + Δ x t Δ x t T Δ x t T Δ g t B_{t+1}^{-1} = (I_n - \frac{\Delta x \Delta g^T}{\Delta x_t^T \Delta g_t})B_t^{-1}(I_n - \frac{\Delta g_t \Delta x_t^T}{\Delta x_t^T \Delta g_t}) + \frac{\Delta x_t \Delta x_t^T}{\Delta x_t^T \Delta g_t} Bt+11=(InΔxtTΔgtΔxΔgT)Bt1(InΔxtTΔgtΔgtΔxtT)+ΔxtTΔgtΔxtΔxtT
我们很容易知道, B t + 1 B_{t+1} Bt+1可以通过迭代计算 Δ x t , Δ g t \Delta x_t,\Delta g_t Δxt,Δgt来得到,LBFGS的思想是不再使用所有的 Δ x t , Δ g t \Delta x_t,\Delta g_t Δxt,Δgt,而是通过使用最近的 m m m个序列来计算。这样只需要保存 2 m 2m 2m个向量,然后每次迭代最近的结果即可计算出近似矩阵 B B B,避免显式保存矩阵信息。

ρ k = 1 Δ x k T Δ g k \rho_k = \frac{1}{\Delta x_k^T \Delta g_k} ρk=ΔxkTΔgk1
V k = I − ρ k Δ x k Δ g k T V_k = I -\rho_k \Delta x_k \Delta g_k^T Vk=IρkΔxkΔgkT
可以简写为
B t + 1 − 1 = V k B t − 1 V k T + ρ k Δ x t Δ x t T B_{t+1}^{-1} = V_kB_{t}^{-1}V_k^T + \rho_k \Delta x_t \Delta x_t^T Bt+11=VkBt1VkT+ρkΔxtΔxtT
实际工程应用中,可以使用two-loop recursion方法,直接计算得到搜索方向,不用显示计算矩阵,如下所示:
L-BFGS two loop recursion
L-BFGS

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

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

相关文章

丰田的国际化与转型困境:对中国车企的欧洲策略启示

摘要:欧洲市场的消费者汽车偏好多样,中国车企进军欧洲时,需考虑产品设计和当地法规。回顾历史,丰田汽车通过其独特管理理念,在美国从廉价品牌形象成功转型为高质量、受信赖的全球品牌。但进入电动汽车时代,日本车企因深度共生的传统供应链而转型坎坷。中…

如何使用ES6+特性进行现代前端开发?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用ES6 特性进行现代前端开发1. 使用 let 和 const2. 使用箭头函数3. 使用模板字符串4. 使用解构赋值5. 使用类和模块6. 使用扩展运算符和剩余参数7. 异步编程8. 使用模块打包工具9. 使用现代浏览器 ⭐ 写在最后 ⭐ 专栏简介 前端入门之…

ChatGPT推出全新功能,引发人工智能合成声音担忧|百能云芯

人工智能AI科技企业OpenAI公司25日宣布,其聊天应用程序ChatGPT如今具备「看、听、说」能力,至少能够理解口语、用合成语音回应并且处理图像;但专家忧心,以假乱真与深度伪造的乱象可能变本加厉。 国家广播公司新闻网(NBC News)报导…

1.算法——数据结构学习

算法是解决特定问题求解步骤的描述。 从1加到100的结果 # include <stdio.h> int main(){ int i, sum 0, n 100; // 执行1次for(i 1; i < n; i){ // 执行n 1次sum sum i; // 执行n次} printf("%d", sum); // 执行1次return 0; }高斯求和…

孙哥Spring源码第26集

第26集、AnnotationAwareAspectJAutoProxyCreator源码 【视频来源于&#xff1a;B站up主孙帅suns Spring源码视频】【微信号&#xff1a;suns45】 26.1、postProcessAfterInitialization分析 26.2、wrapIfNecessary分析 26.3、createProxy分析 26.4、getProxy 26.5、BeanPost…

xxl-job分布式调度框架

课程目标 1、 掌握xxl-job部署以及开发的方式 2、 掌握xxl-job特性以及架构设计 3、 掌握xxl-job运行原理 内容定位 适合已经掌握了Quartz的同学 quartz这节课是本节课的基础&#xff0c;这个要求大家一定掌握&#xff0c;因为xxl-job早期就是使用quartz改造的&#xff0…

使用华为eNSP组网试验⑵-通过端口地址进行静态路由

有了网络模拟器可以对很多网络应用场景进行模拟&#xff0c;既方便学习又有利于实际的网络实施。 之前因为没有用过&#xff0c;用过了才知道eNSP的好处。但是与思科模拟器不同&#xff0c;连接是自动连接&#xff0c;不能确定端口&#xff0c;比如使用指定的光纤端口或者RJ45的…

地球的某一片红薯地中秋圆辉少许《乡村振兴战略下传统村落文化旅游设计》——2023学生旅行季许少辉八月新书想象和世界一样宽广

地球的某一片红薯地中秋圆辉少许《乡村振兴战略下传统村落文化旅游设计》——2023学生旅行季许少辉八月新书想象和世界一样宽广 地球的某一片红薯地中秋圆辉少许《乡村振兴战略下传统村落文化旅游设计》——2023学生旅行季许少辉八月新书想象和世界一样宽广

基于微信小程序的民宿短租酒店预订系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

存储引擎InnoDB与MyISAM

操作引擎 查看存储引擎 show engines;设置系统默认的存储引擎 查看默认的存储引擎 show variables like %storage_engine%;修改默认的存储引擎 set default_storage_engineMyISAM;或者修改my.cnf文件&#xff1a; :::tips default-storage-engineMyISAM #重启服务systemct…

CentOS下安装MySQL 8.1及备份配置

1 卸载原来的MySQL版本 移除之前部署的mysql软链接 # unlink /etc/init.d/mysql # unlink /usr/bin/mysql2 下载最新的MySQL版本 https://dev.mysql.com/downloads/mysql/8.0.html 我这里直接把地址放在这里&#xff1a;https://cdn.mysql.com//Downloads/MySQL-8.1/mysql…

数据结构_链表

查询慢&#xff1a;链表中地址不是连续的&#xff0c;每次查询元素都必须从 头 开始查询增删快&#xff1a;链表结构&#xff0c;增加/删除一个元素&#xff0c;对链表的整体结构没有影响&#xff0c;所以增删快链表中的每一个元素也称为一个 节点一个节点包含了一个数据源&…

汽车电子——产品标准规范汇总和梳理(自动驾驶)

文章目录 前言 一、分级 二、定位 三、地图 四、座舱 五、远程 六、信息数据 七、场景 八、智慧城市 九、方法论 总结 前言 见《汽车电子——产品标准规范汇总和梳理》 一、分级 《GB/T 40429-2021 汽车驾驶自动化分级》 《QC/T XXXXX—XXXX 智能网联汽车 自动驾…

WordPress主题开发( 七)之—— 模版文件继承规则

WordPress主题开发&#xff08; 七&#xff09;之—— 模版文件继承规则 概述模板文件层次结构示例可视化概述层次结构详细信息主页显示首页显示单文章页面单页分类目录标签自定义分类自定义文章类型作者显示日期搜索结果404&#xff08;未找到&#xff09;附件嵌入功能非ASCII…

微PE辅助VMware安装操作系统

文章目录 一、微PE工具下载和安装二、下载系统镜像1.方式一2.方式二 三、安装VMware虚拟机三、使用U盘安装系统1.磁盘分区2.安装操作系统 一、微PE工具下载和安装 微PE工具箱下载地址点我 注意&#xff1a;EFI盘不要动任何文件&#xff0c;而我们自己的U盘就可以当作日常普通…

03 MIT线性代数-矩阵乘法和逆矩阵Multiplication inverse matrices

1. 矩阵乘法 Matrix multiplication 我们通过四种方法讨论如何使矩阵A与B相乘得到矩阵C。其中A为mxn&#xff08;m行n列&#xff09;矩阵&#xff0c;而B为nxp矩阵&#xff0c;则C为mxp矩阵&#xff0c;记cij为矩阵C中第i行第j列的元素 1.1 Regular way 矩阵乘法的标准计算方…

Azure AD混合部署,通过 Intune 管理设备,实现条件访问

一、设备同步到AAD上面 1、配置 AAD Connect 2、选择 3、下一步 4、配置本地 企业管理员 5、配置成功 二、通过 组策略把设备同步到 Intune 上面 1、创建一条组策略 2、设置 &#xff08;1&#xff09;计算机配置 → 管理模板 → Windows 组件 → MDM → 使用默认 Azure AD …

WSL2编译安卓11源码,,刷入pixel设备,并使用asfp查看源码

目录 WSL2编译安卓11源码,&#xff0c;刷入pixel设备源码下载驱动下载编译刷机源码导入Android Studio for platformADB调试 WSL2编译安卓11源码,&#xff0c;刷入pixel设备 aosp编译完成后&#xff0c;刷入手机其实非常简单&#xff0c;但是使用wsl有一个问题&#xff0c;就是…

绝缘子主要尺寸

声明 本文是学习GB-T 1000-2016 高压线路针式瓷绝缘子尺寸与特性. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了高压线路针式瓷绝缘子的结构型式、尺寸、机械特性和电气特性。 本标准适用于标称电压为10 kV 及以下、频率不高于…

【Unity的 Built-in 渲染管线下实现好用的GUI模糊效果_Blur_案例分享(内附源码)】

CGPROGRAM实现好用的GUI模糊效果 实现Blur模糊方式1C#代码如下方式1_Shader代码如下实现Blur模糊方式2方式2_Shader如下实现Blur模糊方式1 其他的模糊效果,在这一篇。 效果如图: 新建一个C#文件,命名为"CommandBlur",打开C#,删除内容,复制粘贴下面的代码:…