自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程子鱼

少说多做,做在当下,提前规划,常常反思

  • 博客(71)
  • 收藏
  • 关注

原创 Github设置 HTTPS 模式避免 SSH 拉取失败

为了避免在使用 SSH 拉取代码时可能出现的失败问题,可以通过设置 HTTPS 模式来替代 SSH。具体操作有两种方式:一是通过全局配置将 GitHub 的 SSH URL 替换为 HTTPS URL,使用命令 git config --global url."https://github.com/".insteadOf git@github.com:;二是通过环境变量一次性设置,使用命令 export GIT_PROTOCOL=https。这两种方法都能有效避免 SSH 拉取失败的问题

2025-05-12 14:11:15 146

原创 DSA数据结构与算法 7

当两个或以上的键值,通过哈希函数映射到了哈希表的同一个槽位时,就产生了冲突。这其实就像我们将多个快递投递到一个快递柜里,如果多个包裹都被映射到同一个格子中,就必须决定——要么更换位置,要么叠放处理。冲突的处理方法(如开放寻址、链地址法)正是哈希设计中的核心技术点。

2025-04-21 11:20:59 1243

原创 DSA数据结构与算法 6

在计算机科学中,“查找”指的是在某个集合或序列中寻找特定元素的过程。这个过程可以是成功的,也可以是失败的:查找是数据处理中的基本操作之一,几乎出现在所有软件系统的核心逻辑中。比如搜索联系人、检索图书、匹配登录密码等,背后都离不开查找算法。而不同的查找算法之间最大的差异,通常体现在“查找的效率”上。这个效率,很大程度上依赖于数据本身的“排列方式”——是否已排序。因此,我们在选择查找方法时,必须考虑数据的特征。本章将介绍两种最基础的查找技术:又名“顺序查找”,是最直观的查找方式。算法从第一个元素开始,依次与目标

2025-04-20 20:33:57 613

原创 DSA数据结构与算法 5

合并排序是一种基于的排序算法。其核心思想是将两个已排序的子数组合并成一个排序好的数组。合并排序首先将待排序的数组分成两部分,然后递归地对每个子数组进行排序,最后将排序好的子数组合并成一个最终的排序数组。合并排序的操作步骤如下:优点:合并排序非常适合用于排序慢速访问的数据,例如磁带驱动器(Tape Drive)。这是因为它的性能与数据的访问方式密切相关,而对于顺序访问的数据,合并排序的效率较高。由于合并排序每次都能将数组分成两部分,它在处理顺序访问的列表时表现更为出色。缺点:对于较小的数据集,

2025-04-19 12:58:03 1127

原创 DSA数据结构与算法 4

排序是将数据按照特定顺序(升序或降序)排列的过程,它不仅是计算机科学中的基础操作,也是日常生活中不可或缺的工具。举个例子,想象一个图书馆里的书籍,如果这些书籍没有按照作者的姓氏或书名的字母顺序排列,我们在寻找一本特定的书时将会面临极大的困扰,甚至可能根本找不到目标书籍。排序的作用就在于通过建立明确的顺序,使得大量数据在存储和访问时能够更加高效,减少搜索所需的时间和精力。

2025-04-19 11:34:09 1136

原创 Origin LabTalk

LabTalk 提供了丰富的函数库,涵盖了数学、统计、数据处理、图形绘制、文件操作等多个领域。

2025-04-18 17:22:48 375

原创 DSA数据结构与算法 3

两者都是通过将一个大问题分解成多个子问题来求解,但它们之间的区别在于,分治法处理的子问题是独立的,而动态规划处理的子问题是有重叠的。分治法是一种基本的算法设计策略,其核心思想是将一个问题分解成多个子问题,这些子问题与原问题相似但规模更小且更容易解决。通过递归地解决这些子问题,再将各个子问题的解合并,最终得到原问题的解。通过递归的方式,逐步探索问题的解空间,尝试不同的决策组合,直到找到一个符合要求的解。动态规划通过将问题分解为子问题,逐步构建解决方案,适用于具有重叠子问题的优化问题。

2025-04-18 11:19:16 959

原创 DSA数据结构与算法 2

它用于描述算法的性能或时间复杂度,特别是描述算法在最坏情况下的表现。从上述定义可以看出,数据结构中的操作涉及更高级的抽象概念,比如:从列表中添加或删除一个项目、访问列表中优先级最高的项目,或者在列表中查找和排序项目。在理论算法分析中,通常会估算其复杂度的渐近表现,即估算在任意大输入情况下的复杂度函数。自顶向下的方法从系统或程序的主要组件开始,逐步分解为更低级的子组件,直到达到所需的模块复杂度。:算法设计应该与编程语言无关,也就是说,算法应仅仅是简单的指令,可以在任何编程语言中实现,并且期望得到相同的输出。

2025-04-18 10:15:09 1022

原创 DSA数据结构与算法 1

这段声明代码将创建一个数组,在上述例子中,花括号 { } 中的值个数应与我们在方括号 [] 中声明的数组元素个数相等。队列是一种“先进先出”(FIFO,First In First Out)数据结构,在这种结构中,第一个被插入的元素是第一个被取出的元素。队列中的元素是从一端(称为队列的后端)插入的,从另一端(称为队列的前端)删除的。插入和删除元素的问题:数组中的插入和删除操作会涉及到元素的移动,这可能导致性能问题,因为在数组的中间插入或删除元素时,必须移动其他元素以保持数组的顺序。

2025-04-17 11:39:56 718

原创 监督学习-无监督学习-强化学习

监督学习是机器学习中最基础的范式。在监督学习中,我们把训练算法需要学习的函数fx所用的数据成对提供为xy。xy📝在工业界,这些xy通常由人工标注或测量得到,例如医学影像里的肿瘤边界、语音识别中的文字转录。

2025-04-17 09:51:19 466

原创 Linux Kernel 9

在 x86 架构中,中断发生时 CPU 需要跳转到对应的中断处理函数(Interrupt Service Routine, ISR)执行。那这个 ISR 的地址是如何定位的呢?我们可以从图中结构来一步一步说明这个查找过程。首先我们从说起。但仅有偏移地址还不够,因为偏移是而言的,我们还需要知道该段在内存中的起始位置,这就需要用到。段选择子会作为索引,查找 GDT(全局描述符表)或 LDT(局部描述符表)中对应的段描述符。Offset。

2025-04-16 10:31:58 755

原创 Linux Kernel 8

而 I/O APIC 的引入,使得系统可以根据配置或操作系统策略,将中断轮流分发(轮询方式)、或根据设备负载情况定向分发到不同核心,大大提升了中断处理的并发性。这种设计可以简化系统实现,确保中断处理程序(interrupt handlers)始终是串行执行的(即每次只处理一个中断)。需要注意的是,按照设计,PIC必须等待CPU确认当前中断后,才可以继续发出新的中断请求。:嵌套中断指的是CPU在处理中断时又收到新的中断请求,此时CPU可能暂停当前中断处理,转而处理更高优先级的中断。

2025-04-16 10:10:14 942

原创 Linux Kernel 7

中断是一种打破程序正常执行流程的事件,它可以由外部硬件设备触发,也可以由 CPU 自身生成。当中断发生时,当前程序的执行会被暂停,CPU 转而执行一段称为“中断处理程序(Interrupt Handler)”的特定代码。中断处理完成后,系统会恢复被打断的程序流程,继续执行原本的任务。

2025-04-15 09:30:55 1307

原创 Linux Kernel 6

在 Linux 中,使用clone()系统调用来创建新的线程或进程。fork()系统调用和函数都基于clone()的实现。clone()系统调用允许调用者决定哪些资源应该与父进程共享,哪些应该被复制或隔离。

2025-04-15 09:18:48 711

原创 Linux Kernel 5

本节内容包括进程与线程的基本概念、上下文切换、阻塞与唤醒机制、进程上下文等。

2025-04-14 11:10:18 1688

原创 Linux Kernel 4

在宏观层面,readwriteopen📌。

2025-04-14 10:37:53 816

原创 Linux Kernel 3

LSM 的主要功能是:允许内核在敏感操作(如访问文件、创建进程)前后插入自定义的安全检查逻辑。允许将进程分层管理,并按照配置规则对系统资源(如CPU、内存、IO)进行分配。:按“块”进行读写的设备,如磁盘,不同于按字节流工作的字符设备(如串口)。用于对进程视图进行隔离(如文件系统、PID、网络栈等),配合控制组。,针对其代表的设备类型设计,以简化驱动编写并减少重复代码。,用于简化和统一各种实际文件系统驱动的开发,避免代码重复。,用于扩展默认的 Unix 权限模型,支持各种安全框架。

2025-04-13 13:50:53 799

原创 Linux Kernel 2

是指在系统内存总线上所呈现的地址布局。32📌。

2025-04-13 13:33:40 931

原创 Linux Kernel 1

单体内核是一种将所有功能模块(如文件系统、进程调度、内存管理、设备驱动等)全部编译进同一个内核镜像中的设计方式。📌对比:单体内核(Monolithic Kernel):所有核心功能在一个内核映像中运行,彼此直接通信。微内核(Microkernel):尽量把驱动、文件系统等功能移出内核,使用消息机制与核心通信。特性微内核(Microkernel)单体内核(Monolithic Kernel)模块化实现强制服务分离(用户态)可选编译模块 + 动态加载模块(内核态)安全性服务间隔离强。

2025-04-12 10:38:09 805

原创 【【Reinforcement Learning For Quadruped Control】3

然后,学生策略在输入噪声和随机化的情况下,学习模仿教师策略的动作,同时尽力生成与教师策略为输入产生的信念状态相同的信念状态,并减少噪声。利用这些测量数据,可以创建环境的点云分布。高度图是四足运动中最广泛使用的地形感知方法,但由于被遮挡的观测、状态估计误差和传感器噪声,它们容易受到多种伪影和噪声的影响。传统上,为了集成地形感知能力,基于规则的系统被用来生成足部代价图,以识别足部着陆位置,其中代价最小的位置是最适合的足部位置。这些策略能够穿越简单的地形,但更复杂的地形,如踏脚石,需要在控制回路中加入视觉输入。

2025-04-12 09:54:23 837

原创 【Reinforcement Learning For Quadruped Control】2

在端到端控制中,RL策略直接将传感器输入映射到输出的关节角度,其中输入可以是复杂的传感器数据,如像素和体素,也可以是简单的传感器数据,如IMU、关节角度和期望的基座速度。领域适应的目标是通过在现实世界中对策略进行微调,或通过使用现实世界的数据在仿真中适应训练好的策略,从而最小化仿真和现实世界之间的差距。通常,在这种方法中,数据的时间确定性特性被忽略。结合强化学习(RL),代理可以学习智能地探索和学习正确的特征,使其在训练后将策略部署到不同环境中时,通过利用先前的学习经验,能够快速适应该领域。

2025-04-11 21:35:55 681

原创 【Reinforcement Learning For Quadruped Control】1

强化学习(RL)是一种机器学习范式,代理通过与环境的互动来学习做出决策。强化学习的核心概念围绕以下几个方面展开:a) 代理agent,做出决策;b) 环境environment,响应代理的决策;c) 状态states,环境的当前条件;d) 动作action,代理做出的决策;e) 奖励reward,是反馈信号,用于引导学习。强化学习的目标是学习一个策略,以最大化在整个时间内积累的总奖励。这一学习过程依赖于试错法,其中代理根据环境中的状态和动作获得奖励,并力求最大化未来的回报。强化学习的目标,是找到一套策略(

2025-04-11 20:50:35 641

原创 Asynchronous Advantage Actor-Critic(A3C)

深度神经网络提供了丰富的表示,可以使强化学习(RL)算法有效地执行。然而,之前认为简单的在线RL算法与深度神经网络的结合是本质上不稳定的。相反,已经提出了多种解决方案来稳定该算法(Riedmiller, 2005;2015;这些方法共享一个共同的观点:在线RL agent所遇到的观察数据序列是非平稳的,而在线RL更新是强相关的。通过将agent的数据存储在经验回放内存中,可以对数据进行批处理(Riedmiller, 2005;

2025-04-09 13:09:27 682

原创 Proximal Policy Optimization (PPO)2017

因此,为了实现目标,即使用一阶算法来模拟TRPO的单调改进,实验表明,仅仅选择一个固定的惩罚系数。它展示了当我们沿着策略更新方向进行插值时,多个目标是如何变化的,这个方向是通过近端策略优化在一个连续控制问题上获得的。另一种方法,可以作为裁剪替代目标的替代方案,或作为附加方案,是对KL散度施加惩罚,并调整惩罚系数,以便在每次策略更新时实现KL散度的目标值。在我们的实验中,我们发现KL惩罚方法的表现优于裁剪的替代目标,然而我们仍将其包含在这里,因为它是一个重要的基线。每个图上的红色圆圈表示优化的起始点,即。

2025-04-08 23:13:46 741

原创 【Introduction to Reinforcement Learning】翻译解读5

DQN在各种Atari 2600游戏中达到了最新的最优表现,超越了之前的方法,并且在某些情况下,比专家更优秀,使用一致的网络架构和超参数跨不同游戏。是A3C算法的同步变种.A2C保持了A3C的关键原则,通过同步多个智能体的更新简化了训练过程,从而有效地利用了两者的优点。与基于价值的方法通过搜索隐含在任务中的价值函数再推导出最优策略不同,基于策略的方法直接对策略进行参数化和优化。显然,这通常通过梯度上升方法,特别是显式计算期望奖励相对于策略参数的梯度的方法来实现,从而向奖励增加的方向调整参数。

2025-04-08 21:56:42 671

原创 【Introduction to Reinforcement Learning】翻译解读4

例如,通过一个探索环境的行为策略收集的经验,可以用于改善目标策略,目标策略旨在最大化奖励。通过模拟未来的状态和奖励,基于模型的方法可以在不直接与环境交互的情况下,规划和评估不同的动作序列。尽管如此,计算能力和算法的进步继续改善基于模型方法的可行性和性能,使其成为RL中的一种有价值的方法。这些方法根据实际与环境的交互更新策略,因此策略优化的是实际与环境交互的策略,使得探索和策略改进自然地结合在一起。例如,在推荐电影的例子中,目标策略决定推荐系统如何基于推荐的电影的反馈来更新估计的用户偏好。

2025-04-08 21:00:25 993

原创 【Introduction to Reinforcement Learning】翻译解读3

从一个任意的初始价值函数开始,价值迭代不断细化价值估计,直到收敛,因此它是寻找最优策略的可靠方法,即使初始策略远离最优。每次迭代中,价值迭代将一次策略评估与策略改进合并,从而确保收敛到有限MDP的最优策略。策略改进会产生一个优于原策略的策略,除非初始策略已经是最优的。随机策略为各动作分配概率,其中与贪婪策略对应的动作具有最高的概率,从而提高了策略的有效性。策略迭代包括两个过程:策略评估将价值函数与当前策略对齐,策略改进则根据价值函数使得策略更加贪婪。计算策略的价值函数的目的是为了识别改进的策略。

2025-04-08 20:49:03 806

原创 【Introduction to Reinforcement Learning】翻译解读2

动作的概念包括所有与学习相关的决策,状态的概念则涵盖了所有为做出这些决策而可用的信息。在策略评估和策略迭代方法中,策略已被明确地定义,并且评估在该策略下处于特定状态的表现是必要的,这些方法非常有用。使用状态价值函数的优势在于,当存在许多动作时,只需评估状态的值即可,而不需要评估每个动作的值。此外,当处理连续动作空间时,动作价值函数能够提供更为详细的关于动作影响的理解,有助于策略实施的微调。,并推导出这些变量的方程。一个系统被认为是马尔可夫的,当一个动作的结果不依赖于过去的动作和状态,仅依赖于当前状态时。

2025-04-07 22:38:05 806

原创 【Introduction to Reinforcement Learning】翻译解读1

强化学习(Reinforcement Learning, RL)是人工智能(Artificial Intelligence, AI)的一支分支学科,专注于通过与环境的互动进行训练,以最大化累积回报。与监督学习(通过从标注的示例中学习)或无监督学习(基于数据模式的学习)不同,RL处理的是一个自主智能体,该智能体必须做出直观的决策并通过与环境的互动进行学习。因此,RL的核心思想是通过试错探索,学习世界是如何运作的(例如,哪个动作会获得正向奖励,哪个不会),以最大化累积奖励。

2025-04-07 22:22:49 1952

原创 Latex图片插入

你可以设置图像的边距或裁剪区域。:分别从图像的左、下、右、上裁剪。来控制图像的左对齐或右对齐。

2025-04-06 15:39:24 716

原创 Deep Reinforcement Learning for Robotics翻译解读4

操作是指智能体通过选择性接触控制其环境。为了在现实世界中执行有用的工作,机器人需要具备像拾取与放置(pick-and-place)、手持操作、接触丰富操作、非抓取操作等操作能力。机器人操作面临多个挑战,尤其是在分析和学习方法上。其中,接触的力学非常复杂且难以建模,而开放世界的操作任务则要求更强的泛化能力和快速学习。深度强化学习(DRL)非常适合解决这些挑战,但操作任务本身也带来了RL的基本难点。主要难点包括:大规模的观测空间与动作空间使得现实世界中的探索非常耗时且不安全,奖励函数设计需要领域知识,任务通常是

2025-04-06 12:10:55 617

原创 Deep Reinforcement Learning for Robotics翻译解读3

Truong 等人展示了该方法的优势,表明与采用高保真仿真进行端到端学习的策略相比,低保真仿真能够促进更快速的模拟并提高策略的泛化能力。近期的研究探索了将行走与导航结合的DRL框架,成功实现了高速障碍物避让和复杂地形(如楼梯、缝隙、箱体等)的敏捷导航),以及在三维空间的导航。低成本的四足机器人引发了更多的研究,并推动了开源软件包的发展,促进了该领域的快速进展。,为实现更灵活的运动控制提供了新的思路。更重要的是,四足机器人和人形机器人的动力学相对稳定,而双足和四旋翼的控制更容易发生灾难性故障,因此对。

2025-04-06 11:07:29 710

原创 Deep Reinforcement Learning for Robotics翻译解读2

已有多家机器人公司(如 ANYbotics、Swiss-Mile 与 Boston Dynamics)将 DRL 集成到其四足控制系统中,应用场景包括工业巡检、末端配送和救援任务。随着机器人从受控实验室环境逐步迈向现实世界,它们开始面临更多挑战性的地形,例如不连续地面、可变形表面或湿滑路面。为有效将敏捷的运动能力应用于更复杂的下游任务(如跑酷 [Parkour] 等),发展。在这两类方法中,通常会将一段观测历史序列作为策略输入,以增强感知能力。就算法而言,目前应用最成熟的四足运动DRL系统,大多采用。

2025-04-05 21:47:08 1272

原创 Deep Reinforcement Learning for Robotics翻译解读

图源:Deep Reinforcement Learning for Robotics: A Survey of Real-World Successes,Chen Tang1。是否引入专家策略(expert policy)或专家数据(如人类演示、oracle 策略)以加速学习过程。即如何为所研究的机器人能力构建最优控制策略的数学框架。奖励信号是强化学习的核心驱动因素。动作空间定义了智能体的输出控制信号类型。:机器人与人类实时协作、交流。:多个机器人之间的协同。

2025-04-05 21:28:18 868

原创 【matplotlib参数调整】

【代码】【matplotlib参数调整】

2025-04-04 22:47:02 402

原创 【Matplotlib详细教程】(附有详细代码)

【代码】【Matplotlib详细教程】(附有详细代码)

2025-04-04 22:34:22 490

原创 【python】系统中有多个python环境使用pip安装

有时系统可能有多个 Python 版本或虚拟环境,确保在正确的 Python 环境中安装库。系统默认的 Python 环境通常已经安装在你的操作系统中。是用于创建 Python 虚拟环境的工具。在激活的 Conda 环境下使用。在虚拟环境激活后,使用。

2025-04-03 13:47:14 551

原创 【Linux指令集】超级全的ubuntu终端指令

2025-04-03 10:35:39 998

原创 OpenAI SpinningUP安装出错AttributeError: ‘str‘ object has no attribute ‘id‘

【代码】OpenAI SpinningUP安装出错AttributeError: 'str' object has no attribute 'id'

2025-04-02 23:45:13 80

原创 【C++重点】deque

queue是 C++ 标准库中的一个容器适配器,它实现了先进先出(FIFO)数据结构。即,元素按照插入的顺序排队,首先插入的元素最先出队。queue适用于需要排队处理任务的场景,比如消息队列、任务调度等。

2025-04-02 22:04:25 383

基于 ROS 的全栈软件框架,旨在实现灵活的四足运动控制

基于 ROS 的全栈软件框架,旨在实现灵活的四足运动控制。侧重于将规划、控制、估计、通信和开发工具进行垂直整合,以便在多个平台上实现灵活的四足运动,无论是在仿真还是硬件环境中,用户无需进行大量修改。该模块化的软件架构使研究人员能够在利用现有框架的基础上,实验不同组件的自定义实现。还提供了 Gazebo 仿真支持,并配备了一套可视化和数据处理工具,以加快开发进程。

2025-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除