- 博客(21)
- 收藏
- 关注
原创 虚析构与纯虚析构
虚析构就是在析构函数前面加上 virtual 关键字变成纯虚析构函数。引入纯虚析构主要是为了解决一个问题:在子类有其他堆区数据时,只会执行父类的析构函数而不会执行子类的,这样的话子类的内存会泄露。如果将父类的析构函数定义成纯虚的话,那么子类的析构函数也会被执行。注意这里父类的析构函数也要实现。构造函数:先父类,后子类,析构函数则相反。当类中有了纯虚函数,这个类也称为抽象类。
2025-10-15 22:59:32
320
原创 Lookahead Exploration with Neural Radiance Representation for Continuous Vision-Language Navigation
导航方法就是这样,预测周围环境的特征,然后根据周围导航点的分数最大值来选择候选导航节点。HNR 模型是经过预训练的。这篇文章主要做的贡献在于通过预测候选导航点的周围环境增强表征,通过增强之后的表征来提升导航性能。
2025-09-29 17:47:22
208
原创 InternVLA-N1: An Open Dual-System Vision-Language Navigation Foundation Model
1.System1 提出当前像素坐标系中的位置点,用 2D 图像的像素坐标定义中期目标,会存在 “歧义”—— 比如同一像素坐标在不同视角下可能对应真实空间中的不同位置(例:机器人移动后,原图像中 “门框” 的像素位置可能对应新视野中的 “墙面”)。2.快慢系统会存在时间延迟,针对这个问题在后续的微调阶段采用异步推理的方式,上层系统System2 接受的是滞后的输入,而下层系统System接受的是与环境实时的输入。用的预训练之后的 Qwen2.5-VL,让模型输出当前像素坐标系下的坐标。
2025-09-29 11:36:34
314
原创 自己尝试写一个FreeRTOS
*----------------------------链表节点-----------------------------*/typedef struct x_list_item{ /* 链表节点结构体定义 *//* 辅助值,用于帮助节点做顺序排列 *//* 指向链表下一个节点 *//* 指向链表前一个节点 *//* 指向拥有该节点的内核对象,通常是TCB *//* 指向该节点所在的链表 */
2025-09-28 16:28:54
188
原创 Active Visual Information Gathering for Vision-Language Navigation ECCV 2020
就像上面的图一样,红色点是当前的位置,vt1,vt2 是当前可用的候选点,智能体先不马上进行决策,在收集了信息之后,此时 vt1,vt2 都发生了变化,相当于提高了表征能力,这个时候再做出决策。这里 Yt,k,s 的意思是在 t 步开始朝着 k 方向探索 s 步,这里的 k' 是在 s 步可以用的导航候选点,这里还是用的循环形式,有一个探索状态,用这个探索状态和 当前的候选观察做注意力,然后把这个变量和学些到的知识通过一个 LSTM 保存。值得注意的是这里对探索是如何定义强化学习的奖励的?
2025-04-17 12:08:12
260
原创 Sub-Instruction Aware Vision-and-Language Navigation EMNLP 2021
之前的视觉语言导航都是把一整个路径和完整的指令进行匹配,缺乏细粒度的匹配。这篇文章提出了一个数据集,将完整的指令拆分成几个子指令,针对这几个指令引入了是否切换到下一个子指令的监督信号,并基于之前的 Self-Monitor 做了改进, 提出了子指令注意力机制和子指令注意力模块。第一项就是一个分类的交叉熵损失,是对应着导航的概率,第二项是上面提到的是否切换子指令,是一个二分类的交叉熵损失函数,训练时同时优化两个目标。上面的是子指令注意力模块,注意这里 xi 就已经是子指令的文本而不是完整的语言指令了。
2025-04-11 12:05:32
290
原创 Correctable Landmark Discovery via Large Models for Vision-Language Navigation TPAMI 2025
这篇文章主要是在视觉语言导航的表征方面进行改进,对视觉表征设计了一个利用大语言模型的机制来增强表征。
2025-03-30 00:55:47
474
原创 贝尔曼公式
状态价值是针对一个固定策略来说的,也就是说每一种策略都有它自己的状态价值。贝尔曼方程是求解状态价值的数学方法。左边的就是一种策略,你走到这个这个格子就要按照它规定的方向走,右边的则是按照这个策略,每个状态的好坏,状态价值函数可以用来衡量状态的好坏。动作价值函数是针对一个状态-动作对来说的,是在一个状态下采取了一个动作之后预期取得的回报,所以状态价值函数可以写成多个动作价值函数求和。图中红色的是需要进行求解的状态价值,每一个状态都有这样的一个方程,列出方程组就可以把它求解出来,下面举了一个具体的例子。
2025-03-29 12:43:54
698
原创 强化学习基本概念
意思就是说你只要到 s1 位置,你就一定要向右走,这其实就是一种策略,当然也可以是一个概率分布,比如说我到 s1, 50% 的概率去向右走,50 % 的概率向下走。注意这里面的状态转移是有随机性质的,可以是一个概率分布,执行一个动作之后所得到的下一个状态是服从一个概率分布的。回报就是一条轨迹执行到最后得到的总奖励之和,由于我们要回报收敛,因此为它设置折扣因子,折扣因子越大越趋近于长期打算,越小则越短期打算。像上面说的那样,将状态转移函数限定死,我们就可以得到一个表格,就是这样的。
2025-03-23 19:44:20
285
原创 NavGPT-2: Unleashing Navigational Reasoning Capability for Large Vision-Language Models ECCV 2024
1.将之前专门在视觉语言导航上面训练的专家模型和大语言模型结合起来,利用了大语言模型的推理能力(专家模型是图里面红色的那个部分,是之前的 DUET ,在视觉语言导航里是一个很有名的模型)。首先作者丢弃了一条轨迹中的历史信息,比如说一条导航轨迹是 A-B-C-D-E,这里作者只把 C拿出来,A,B,D,E 都不要了,然后丢给GPT-4v,要求它生成和导航有关的推理,然后拿着这个推理过程去训练 VLM 和 LLM,也就是图中的黄色和蓝色部分,要注意,此时蓝色大语言模型是冻结住的,不会参与训练。
2025-03-20 11:31:50
468
原创 哈工大操作系统第六章 内存管理
具体做法是将放入的空闲内存的地址记录下来,然后每执行一条指令都将逻辑地址加上记录的地址。首先我们先明确一下一段程序从源代码(即 hello.c)到真正可以在计算机上面执行的程序需要经过几个阶段,首先经过预处理得到 hello.i 文件,这一步所进行的是将宏展开等操作,得到的hello.i 文件仍然是可读的,然后是经过编译之后得到 hello.s 汇编文件,这一步得到的是 mov xxx 类似的汇编代码,然后经过汇编器之后得到 hello.o 文件,最后经过链接器链接得到真正可以执行的可执行文件。
2025-03-19 19:52:01
959
原创 Self-Monitoring Navigation Agent via Auxilary Progress Estimation (ICLR 2019)
整体模型的结构还是很简单的,首先针对历史信息的编码,用 LSTM 将 xt,vt,at 连接起来,xt 是经过embedding 加上位置编码之后的文本语义向量,比如说指令长度为 80,xt 形状为 [80,768],vt 则是包含了各个视角视觉观察的向量,详细解释下面也有。在训练时有两个损失函数,第一个损失函数是关于动作选择的,第二个损失函数是关于进度监督器的,进度监督器的目标是让当前的视觉观察和最后的目标很匹配。文本部分就是简单的用文本去和历史信息作注意力机制,然后加权。进度监督器的实现方法如下图。
2025-03-09 16:58:08
319
原创 C++ 手写一个 STL vector 部分
这里引入了一个时间类,重载了 + 这个运算符,如果有 Mytime a,b, 出现 a + b 的时候就会调用重载函数,前后两个对象都是 Mytime 类,注意到后面我们还会有后面那个对象是 int 类型,那么只有当 a + 10 的时候才会触发这个函数。友元函数不是类的成员函数,但是它却能够访问类的私有变量,为了实现上面的 21 + t1 这个功能,可以使用友元函数,像下面这样,可以实现 20 + Mytime。也可以像下面这样,友元函数的声明在类内部,实际实现放在类的外部。
2025-03-09 12:00:41
1027
原创 学习Python面向对象编程(廖雪峰老师的博客)
类:一种我们自己定义出来的数据类型,就像C中的int(PS:说句没用的,在IDLE中打的时候真的要注意空格的问题,当然要是用Pycharm就没什么问题。对象:一个具体的类两个东西的关系就好像是int a//int是类,a是具体的对象一个类可以自带一定的属性,用__init__(self,...)函数来定义比如说:class Student(object) def __init__(self,name,score) self.name=name ..
2022-04-26 22:50:41
998
原创 2021年11月20日
链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述帕秋莉掌握了一种土属性魔法这种魔法可以在一片k×k大小的一个正方形区域内产生地震但是如果某片即将产生地震的区域内有建筑物,帕秋莉会停止施法整个地图大小为n×m,其中一些地方有建筑请问有多少种可能的情况,使得帕秋莉会停止施法输入描述:第一行三个数n, m, k,意义见描述接下来一个n×m的01矩阵表示这篇区域的情况,1表示这个地方有建筑输出描述:输出一个数表示答案示例1输入4 4..
2021-11-20 23:22:36
134
原创 2021年11月14日
[NOIP1998]拼数链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613输入描述:第一行,一个正整数n。第二行,n个正整数。输出描述:一个正整数,表示最大的整数示例1输入313 312 343输出.
2021-11-14 21:49:11
442
原创 2021年11月13日
扫雷MINE链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。万圣节到了 ,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字 表示和它8连通的格子里面雷的数目。现在棋盘是n×2的,第一列里面某些格子是雷,而第二列没有雷,如下图: 由于第一列的雷可能有多种方案满足第二列的数的限制,你的任务即根据第二列的信息确定第一列雷有多少种摆放方案。输入描.
2021-11-13 20:30:45
3098
原创 2021年11月6日
学习了一维前缀和与差分算法的使用最初的问题是这样的:输入一个长度为nn的整数序列。接下来输入m个操作,每个操作包含三个整数l,r,c,表示将序列中[l,r]之间的每个数加上c。请你输出进行完所有操作后的序列。显然地模拟是一种很好想的算法:下面给出模拟的算法代码:#include <cstdio>#include <iostream>#include <bits/stdc++.h>using namespace std;c...
2021-11-06 11:44:09
127
转载 Tanaka 模型
Mori-Tanaka 微机械模型使用各向异性基体材料的属性来计算填充有纤维的复合材料的机械属性,改进了收缩和翘曲预测的准确性。当此模型用于处理具有各向异性基体材料的属性的材料(如基于 LCP 的填充有纤维的复合材料)时,复合材料的机械参数和热参数的预测准确性将得到提高。如果某种材料只具有各向同性基体材料的属性,那么与默认的 Moldflow Tandon-Weng 模型相比,Mori-Tanaka 模型没有任何优势可言。材料数据中必须明确地含有正确的各向异性基体材料的属性,以便于使用 Mori-T
2021-10-30 23:29:09
2209
转载 2021 年10月30日星期六
牛客网算法竞赛入门班第一节课习题NOIP2016 回文日期,两种写法,正常枚举,暴力打表链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。牛牛习惯用8位数字表示一个日期,其中,前4位代表年份,接下来2位代表月份,最后2位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现 在,牛牛想知道:在他指定的两个.
2021-10-30 23:19:05
159
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅