- 博客(47)
- 收藏
- 关注
原创 论文阅读:Instruct BLIP (2023.5)
摘要: InstructBLIP提出了一种基于指令微调的通用视觉-语言模型框架,通过改造26个多模态数据集为指令格式,构建覆盖11类任务的训练体系。其核心创新包括指令感知的视觉特征提取(通过Q-Former融合文本指令)和平衡采样策略,在仅微调1.88亿参数条件下,实现零样本性能显著提升:FlanT5-XL版本相对BLIP-2平均提升15%,4B模型超越80B参数Flamingo 24.8%,并在视频问答等未训练任务上实现47.1%的突破。实验表明该方法同时支持高效下游微调(如ScienceQA达90.7%
2025-07-20 22:58:11
1158
原创 论文阅读:BLIP-2 (2023.4)
BLIP-2提出了一种高效的多模态预训练框架,通过轻量级查询Transformer(Q-Former)连接冻结的图像编码器和大型语言模型。该方法采用两阶段训练:第一阶段进行视觉-语言表示学习,第二阶段实现视觉到语言的生成学习。实验表明,BLIP-2在VQA、图像描述等任务上达到SOTA性能,且仅需少量可训练参数(188M)。该方法显著降低了计算成本,为多模态大模型提供了新思路,但也存在上下文学习能力不足等局限性。
2025-07-20 17:51:15
1228
原创 论文阅读:BLIPv1 2022.2
BLIP提出了一种统一的视觉-语言预训练框架,通过多模态编码器-解码器混合架构(MED)同时支持理解与生成任务。MED包含三种功能模式:单模态编码器用于特征对齐、基于图像的文本编码器用于交互建模、基于图像的文本解码器用于文本生成。针对网络数据噪声问题,作者提出CapFilt方法,通过标题生成器和过滤器自举清洗数据。实验表明,BLIP在图像-文本检索、标题生成等任务上取得SOTA性能,且能有效迁移至视频任务。主要创新在于统一架构设计和数据自举策略。代码和模型已开源。
2025-07-01 20:04:18
788
1
原创 论文阅读:Align and Prompt (ALPRO 2021.12)
视频-语言预训练框架ALPRO通过创新的跨模态对齐方法取得突破。该模型摒弃了传统对象检测器的依赖,提出视频-文本对比损失(VTC)和提示实体建模(PEM)两项关键技术:VTC实现实例级特征对齐,PEM通过自监督学习建立细粒度的区域-实体对应关系。实验表明,ALPRO在文本-视频检索和视频问答任务中表现优异,在MSRVTT数据集上检索准确率提升3%,问答准确率达42.1%。该方法有效解决了视频冗余信息和跨模态特征错位问题,为视频语言理解提供了新思路。未来可优化提示机制和时序建模以进一步提升性能。
2025-07-01 17:48:12
755
1
原创 论文阅读 Align before Fuse (ALBEF)
本文提出ALBEF框架,通过"先对齐后融合"策略改进视觉-语言预训练。该方法采用图像编码器(ViT)和文本编码器(BERT)进行单模态特征对齐,再通过多模态编码器融合。创新点包括:(1)对比学习中引入动量队列扩大负样本规模;(2)基于相似度的难负样本采样策略;(3)动量蒸馏缓解噪声数据影响。实验表明,ALBEF在图像-文本检索、VQA等任务上优于CLIP、ALIGN等方法,且无需目标检测器,推理速度更快。代码已开源。
2025-06-28 21:30:15
1091
1
原创 DPO 与 KTO 的区别
VxyτDPO 和 KTO 都是基于人类偏好的大语言模型对齐方法,但它们在理论基础、优化目标和应用场景上有显著区别。
2025-04-29 16:35:42
1677
原创 大模型 SFT 中的关键技术总结学习
大模型 SFT中的 PEFT 相关技术总结, 部分参数优化。包括 LoRA,QLoRA, P-tuning, P-tuning V2, Prefix-Tuning, Adapter Tuning
2025-04-27 15:11:51
629
原创 DeepSeek-R1 模型及GRPO算法学习
提出了通过强化学习提升大语言模型推理能力的方法,开发出 DeepSeek-R1-Zero 和 DeepSeek-R1 模型,在多个推理任务上表现出色,并开源模型推动研究发展。该研究旨在用纯强化学习(RL)提高语言模型推理能力 ,探索 LLMs 在无监督数据下通过 RL 自我进化的潜力。
2025-01-30 22:30:06
1931
原创 欧几里得算法
小学或初中时学过辗转相除法,用于求两个数的最大公约数。欧几里得算法就是利用辗转相除法求最大公约数。整数 a, b 的最大公约数一般表示为 gcd(a, b)。其中a > b。欧几里得算法: gcd(a, b) = gcd(b, a%b)。欧几里得算法实质上式将较大规模的问题转化为较小规模的问题 (因为a%b < b < a)。利用欧几里得算法递归调用,最终问题变得越来越简单,直到gcd(b, a%b) 中的 a%b == 0, 此时最大公约数即为b。
2023-12-23 13:01:46
1330
原创 从前缀和到树状数组
从前缀和数组到树状数组。lowbi函数。树状数组实现前缀和的查询与原数组的单点修改,并且能达到较高的效率。讲述了树状数组相关细节的介绍和证明。最后用代码实现了树状数组。
2023-12-10 16:12:08
1161
原创 使用VS Code进行代码开发
VS Code 是一款由微软开发且跨平台的免费源代码编辑器。该软件支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。用户可以更改主题和键盘快捷方式实现个性化设置,也可以通过内置的扩展程序商店安装扩展以拓展软件功能。使用VS Code可以进行Python, Java, C/C++, Golang等各种语言的开发。只需安装相关扩展即可。可以远程开发,同时支持Windows和Mac系统等。
2023-10-19 23:56:31
369
原创 RLHF中的PPO算法过程微观拆解
强化学习中的PPO算法微观拆解。在强化学习中,Rollout是指在给定的策略下模拟环境的过程。在PPO中,Rollout的过程对应于根据当前的语言模型(策略)生成文本(轨迹)。这个过程依赖于在prompt库中抽取的一个batch的数据Batch Prompt和当前的语言模型LM。语言模型接收一个prompt作为输入,并生成一个Response。这些Response就构成了我们的"轨迹"。Evaluate是在强化学习中对生成的轨迹(在我们的例子中就是文本)进行评估的步骤。在PPO中,这个评估过程由一个。
2023-09-08 12:44:57
4897
原创 双数组字典树
使用场景二:双数组字典树可以存到文件中(序列化,方便传输)。从而可以在一台电脑上建立,然后在另外一台电脑上使用。双数组字典树的使用场景一:节省内存。和普通字典树相比节省了10倍左右的空间。base值如何确定:不同的学术论文有不同的确定优化方案。
2023-05-14 00:08:03
310
原创 字典树基本概念与代码演示
此外构造字典树时还规定同一个节点出发的从左到右的边必须是有顺序的。因此字典树也能做字符串的排序,而且排序的时间复杂度是O(n)的。可以很明显看到从字典树的根节点入手可以进行字符串的查找。因此如果深度遍历一个字典树,那么遍历的结果就是升序的。
2023-04-08 20:48:00
282
原创 字符串匹配算法之Leetcode习题讲解
字符串匹配算法之Leetcode习题讲解。Leetcode 459: 重复的字字符串,采用KMP算法;Leetcode 1392: 最长快乐前缀,同样用KMP算法;Leetcode214 最短回文串,采用KMP算法的变体;Leetcode 5: 最长回文子串,采用马拉车算法;Leetcode 28: 找出字符串中第一个匹配的下标,采用Sunday算法;Leetcode 3: 无重复字符的最长子串,采用二分搜索;Leetcode 14:最长公共前缀,采用暴力匹配算法;Leetcode 12和面试题01.05:
2023-01-01 17:31:12
1443
2
原创 字符串经典匹配算法之shift_and算法
字符串经典匹配算法之shift_and算法。shift_and算法的总体思路是把模式串预处理成一种特殊编码形式,然后根据这种编码形式去逐位匹配文本串。shift_and算法的时间复杂度为O(n),可以用于处理流式数据,同时可以用于处理复杂的正则表达式,比如模式串的每一位可能是多个字符。因为shift_and算法的预处理兼容性非常强。
2022-12-11 20:23:53
1095
原创 字符串经典匹配算法之Sunday算法
字符串匹配算法之Sunday算法。假设文本串S和模式串T匹配的过程中遇到如下情况,发现失配:此时文本串匹配结果的下一位为a, 那么可以从模式串从后往前寻找‘a’这个字符,发现其在倒数第4位第一次出现,此时可以将模式串向后移动4个位置。‘a’对齐的这个位置称为黄金对齐位。看此时文本串对应位置和模式串是否匹配。不断重复上面的过程,直到模式串和文本串完全匹配。Sunday算法适合在一段已知文本中寻找某个模式串是否出现,极端情况下时间复杂度可以降低到O(n/m)。
2022-12-10 22:56:12
856
原创 【数学基础知识】莫利定理(Morley‘s Theorem)及其直观证明
前两天看了和三角形相关的一个莫利定理,觉得较为有趣,所以做一个记录。过程中仅用到初中方法,但是涉及到的思想较为有趣。莫利定理(Morley's Theorem): 将三角形的三个内角三等分,靠近某变的两条三分内角相交会得到一个交点,三个交点可以构成一个正三角形。
2022-12-10 12:41:28
4799
原创 字符串经典匹配算法之KMP算法
本文介绍了字符串经典匹配算法中的KMP算法。理论介绍中首先分析了可以将模式串的逐位比较改为跳位比较,从而引出只要计算好每一个位置的最长公共前后缀,那么就可以进行跳位比较,而且跳几位可以预先计算出来。然后分析了如何计算模式串的最长公共前后缀位置,采用了递推的思想。接下来进行了代码演示,在代码中进行了详细的注释。最后介绍了理论价值,KMP算法相当于状态机,可以处理流式数据,不需要存储文本串的全部内容。
2022-11-27 19:38:02
1065
1
原创 字符串经典匹配算法之暴力匹配算法
字符串匹配问题:在一个字符串中查找某个词是否出现过。母串S:要从哪个字符串中查找, 也叫文本串。模式串T:要查找那个词(子字符串)。单模匹配问题:只需查找一个模式串T。匹配方法:用模式串去匹配母串的每一位。例如模式串T的长度为L,那么可以从母串的第一位开始,看往后看的L长的字符串和模式串是否相等,若相等则找到了,若不相等则再从第二位开始往后匹配。意义:虽然该算法没有什么技巧,但是可以不重不漏地进行字符串匹配查找。字符串匹配过程中最重要的也就是不重、不漏。
2022-11-27 16:32:39
1013
原创 【数学分析】Bolzano-Weierstrass定理及其证明(有界数列一定存在收敛子列)
Bolzano-Weierstrass定理的描述及证明。该定理又称为列紧性定理、聚点定理。简单描述即为有界数列中一定存在收敛子列。证明过程简单、清晰。
2022-11-19 18:38:22
15517
3
原创 夹逼定理证明 sin(x) / x极限
sin(x)/x的极限在很多情况下都要用到,近日突然开始思考该极限的证明过程。首先不能用洛必达法则,因为sin(x)的倒数就是根据这个极限算出来的。今可用夹逼定理证明之。用单位圆中的三角形和扇形的面积进行了巧妙的证明。
2022-11-17 21:23:18
3529
1
原创 Leetcode刷题之二叉搜索树、平衡二叉搜索树3
主要介绍了Leetcode中二叉搜索树和平衡二叉搜索树相关的几道题目。第一题为面试题17.12: BiNode, 即将二叉搜索树转化为单向链表,这里用了中序遍历的方法,遍历过成中只维护当前节点和遍历的前一个节点。第二题为剑指Offer33:二叉搜索树的后续遍历序列,将后续序列看成一个二叉搜索树,采用中序遍历的方法进行遍历,看遍历的过程中是否保持递增状态。第三题为Leetcode 1008: 前序遍历构造二叉搜索树,采用了递归遍历的方法,分别构造出做左子树和右子树,然后和根节点合并。第四题为面试题04.09
2022-11-13 12:23:30
129
原创 Leetcode刷题之二叉搜索树、平衡二叉搜索树2
本文通过讲解几道Leetcode例题,复习和回顾了二叉搜索树、平衡二叉搜索树的知识。首先回顾了二叉搜索树和平衡二叉搜索树的基本概念、插入和删除相关操作,然后讲了三道例题。第一题为Leetcode 108 将有序数组转化为二叉搜索树。第二题为Leetcode 98, 验证二叉搜索树, 第三题为Leetcode 501 二叉搜索树中的众数。三道题都是将二叉搜索树看做有序序列,属于结构化思维。
2022-11-12 21:09:03
293
原创 Leetcode刷题之二叉排序树、平衡二叉搜索树1
Leetcode刷题笔记,主要为二叉排序树(二叉搜索树), 平衡二叉搜索树(AVL树)。首先回顾二叉搜索树和平衡二叉搜索树的基本概念然后举了三个例题。第一题为面试题04.06: 后继者,在中序遍历二叉搜索树的过程中记录上一个遍历到的节点,当期等于所求节点时,当前节点即为答案。第二题为Leetcode 450: 删除二叉搜索树中的节点,本题可以直接复用之前讲解二叉搜索树时的基本知识中的。第三题为Leetode1382: 将二叉搜索树变平衡,将其看做顺序结构,然后根节点取中间的那个节点,左右子树递归构建。
2022-11-06 16:43:18
865
原创 AVL树基础知识与代码实现
主要介绍一种特殊的二叉排序树--AVL树。主要介绍AVL树的来源,概念,介绍其中经常用到的左旋操作和右旋操作,二叉排序树-AVL树的失衡类型,二叉排序树-AVL树中各种失衡类型的调整方法,涉及所有调整方法的证明。最后用c++语言实现了AVL树的插入和删除操作。引入虚拟空节点,使得AVL树的调整过程极为简洁和优美。
2022-10-30 20:36:30
474
原创 二叉排序树基础知识与代码实现
主要介绍普通二叉排序树(二叉搜索树)的基础知识与代码实现。其中包括二叉排序树(二叉搜索树)的基本概念介绍,二叉排序树(二叉搜索树)的插入操作,二叉排序树(二叉搜索树)的删除操作。删除操作中又分为删除度为0的节点,删除度为1的节点,删除度为2的节点。将删除度为2的节点转化为寻找其前驱或后继,然后删除前驱或后继节点。最后用代码完整地实现了二叉排序树(二叉搜索树)的插入与删除操作。
2022-10-29 21:38:23
441
原创 Leetcode 刷题: 面试专项1
力扣1367: 二叉树中的链表; 力扣958: 二叉树的完全性检验;剑指Offer 36: 二叉搜索树与双向链表; 力扣464: 我能赢吗;力扣172: 阶乘后的零;力扣384: 打乱数组;力扣473: 路径总和;力扣395: 至少有k个重复子串的最长子串;力扣190: 颠倒二进制位;力扣8: 字符串转换整数(atoi) ;力扣380: O(1)时间插入、删除、获取随机;力扣402 : 移掉K位数字;力扣1081: 不同字符的最小序列;力扣1499: 满足不等式的最大值;力扣321: 拼接最大数
2022-10-23 21:40:53
363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅