- 博客(36)
- 收藏
- 关注
原创 RoBERTa、LoRA、CORRECT
就是同时拿“正确的证据”和“错误的/干扰的证据(噪声)”给系统看,让系统在数学空间里不断摸索,最终提炼出一个**“完美的提示词向量(Prompt Embedding)”**。:在它原本巨大的神经网络旁边,悄悄并联挂上几个极其微小的“附加模块”(这就是 LoRA 模块,参数量可能只有原模型的千分之一)。:找到这个完美的“提示咒语”后,再搭配几个有标签的真题(L-RAG),大模型瞬间就能心领神会,做出准确的判断。:我不去改造大模型的脑子(不微调模型参数),我只花费算力去研究**“怎么跟大模型说话最管用”**。
2026-03-04 14:19:08
171
原创 TTA和分布偏移
在机器学习中,我们通常假设“考试题目(测试数据)”和“平时练习题(训练数据)”是类似的。但现实往往不是这样。想象你是一个维修工,你在学校里只学过修燃油车(训练数据)。当你毕业工作时,市场上突然流行起了电动车(测试数据)。这时候,你的知识体系和现实世界之间就出现了“偏移”。如果你还用修燃油车的方法去修电动车,肯定会出问题。论文 explicitly 提到(2.2.3 节),工业环境是非平稳的 (non-stationary)列车运行久了,零部件磨损,产生的数据特征会变。
2026-01-28 15:35:21
283
原创 VSCode上传代码至GitHub
点击右侧加号就会出现在“暂存的更改”这一列,然后在“提交”按钮上方输入框输入你这次修改的点是什么,比如修复某某按钮事件失效,然后点击提交,就会发现文件消失,此刻不要慌。这个弹窗是 VS Code 在保护你的代码,因为它发现你手里还拿着没提交的代码(就是你刚才剩下的那些),而你要去的那个房间(分支)里可能也有同名的文件,VS Code 怕直接过去会把你的东西弄丢或者搞乱。如果没有严重冲突,你会成功切换到新分支,而且你的代码还会显示在“更改”列表里,这时候你就可以正常提交了。,Git 不知道听谁的。
2026-01-15 15:24:55
1402
原创 windows11下载zotero-pdf2zh
安装Python和Zotero;安装uv或者conda二选一,我安装的是conda建议下载3.12.0版本Python插件目前支持以及Zotero 8。
2025-12-27 16:05:57
1093
原创 BM25, TF-IDF, Faiss-based methods
比如“显示屏黑了”和“HMI无显示”,TF-IDF 和 BM25 无法建立联系,但深度学习模型(如 Naive RAG)可以通过训练学会它们是同义词。它们无法像本文提出的 RL Agent 那样,通过与环境(Graph)的交互,根据反馈(Reward)来调整自己的检索策略。它们的曲线是水平的,因为它们不需要训练数据(Training Set),给再多数据它们也学不到新东西 2。“故障”出现 100 次的分数是出现 1 次的 100 倍。在论文的语境下,Faiss 代表的是**“非学习型的向量检索”**。
2025-12-18 15:34:52
607
原创 GPPR (General-Purpose Pre-Retrieval Method)-通用预训练检索方法
-------------------------------------------------------结合论文-------------------------------------------------------------当有足够的数据教模型时,专门优化的模型(尤其是作者提出的 RL 方法)还是能打败通用模型的。它强迫模型认为:来源于同一段话的两个视图是相似的(正例),而这段话与其他所有随机抽取的段落都是不相似的(负例)。使用列车故障数据的“查询-文档”对进行有监督训练。
2025-12-18 15:22:09
629
原创 提升 RAG 准确率最常用的手段-重排序
Naive RAG 在这里召回的不是一整本操作手册,也不是随意的一段话,而是中具体的条目。Naive RAG 的任务是从成百上千条故障日志中,快速筛选出一批“大概率相关”的文档。为了进行筛选,例如,系统通常会先召回相关度最高的作为候选。这个列表是基于向量相似度排序的,但可能包含一些不够精准的噪音数据,所以被称为“粗”召回。
2025-12-18 15:07:34
975
原创 自校准概率变化(SPV‑MIA)
自校准概率变化(SPV-MIA)是一种先进的成员推理攻击技术。它的核心创新在于:通过为目标数据生成一组相似的、但确定非成员的扰动数据(自校准集),来校准模型的输出。通过观察目标数据相对于这些扰动数据的预测概率是否异常地高,来精准地判断该目标数据是否被用于训练模型。
2025-12-06 13:52:26
882
原创 对比 基于强化学习(RL)的 RAG 和 监督式 RAG
对比维度基于 RL 的 RAG监督式 RAG单步错误 / 随机性的影响单步 LLM 随机或偶然高质量响应,不影响整体(依赖累积反馈)单步 LLM 标注错误,直接误导训练(依赖单步标注数据)性能稳定性迭代累积效应→稳健(抗噪声、抗随机性)标注错误传播→易波动(对 LLM 标注质量极度敏感)核心逻辑反馈驱动的 “试错 - 调整” 循环数据驱动的 “模仿 - 学习” 循环类比场景运动员持续训练 + 教练动态反馈学生做固定练习题 + 依赖老师给的答案。
2025-12-06 13:51:29
678
原创 初步了解推理攻击
摘要:推理攻击通过分析机器学习模型的输出行为,判断特定数据是否存在于训练集中。类比侦探试探证人,攻击者向模型输入查询并观察反应,推断目标数据是否被用于训练。这类攻击尤其危险,可能导致隐私泄露(如确认某人的医疗记录)、侵犯版权或逆向工程训练数据。例如,图像分类模型对特定输入的高置信度可能暴露训练数据中的敏感信息。这种攻击揭示了模型会记住训练数据的隐私风险。
2025-11-30 18:55:16
321
原创 LLM应用遵循两种主要范式:“预训练和微调” 和 “预训练和提示”。
特性预训练和微调预训练和提示核心思想重塑模型,让它成为专家引导模型,让它临时扮演专家比喻回炉重造,上专业学院开卷考试,提供参考资料和指令成本高(数据、算力、人力)低(主要是使用模型的成本)灵活性低,一个模型一个专长高,一个模型千变万化技术门槛高,需要机器学习专家低,普通开发者即可上手结果模型得到一个专用模型使用同一个通用模型。
2025-11-30 18:01:29
343
原创 解决flash-attn依赖问题
packagingflash-attn安装时需要用它来解析版本号。conda生成的临时依赖文件里没包含packaging,但flash-attn的安装依赖它。
2025-11-13 17:50:36
482
原创 Vue + Supabase 有关docker的使用说明
不用装 Docker,专注于 Vue + Supabase 的核心功能开发(认证、数据库 CRUD 等),按照上一篇教程一步步操作即可;Docker 的作用:解决环境统一、本地模拟服务、简化部署等问题,不是必需的;后续扩展:如果需要本地运行 Supabase 或部署项目,再学习 Docker 也完全来得及(那时你对项目已有一定理解,学习 Docker 会更有针对性)。
2025-11-12 13:59:18
800
原创 VUE+Supabase
前端用 Vue 3 写界面,简单高效;后端无需写代码,Supabase 提供数据库、认证、存储等一站式服务;开发速度快,适合原型开发、小型应用、个人项目。按照上面的步骤,你已经实现了一个完整的全栈应用(认证 + 数据库 CRUD + 文件存储),可以在此基础上扩展更多功能!
2025-11-12 13:57:52
1008
原创 关于mapper查询数据库返回数据的思考
这里会有一些疑惑:为什么mapper层没有返回语句,我怎么将查询到的数据返回给service层,再由service层的return u 返回给controller层。// 查询结果,result也是临时自动注册的。// 这里有 return!// MyBatis 自动生成的方法体,包含 return 语句。将result返回给service层,service层再向上传递。// 映射结果到 User 对象。// 执行 SQL 查询。
2025-10-26 11:36:45
300
原创 拦截器处理流程
Response: {"code":0, "message":"登录成功", "data":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}String token = request.getHeader("Authorization");// 获取到有效token。// 返回401未授权。return Result.success("所有文章数据...");// 拦截请求,不继续执行。"message": "操作成功","data": "所有文章数据..."
2025-10-25 13:54:52
358
原创 @Autowired注解
在Spring框架中,@Autowired注解是一个非常重要的注解,用于实现依赖注入(Dependency Injection, DI)。通过@Autowired注解,Spring容器可以自动将依赖的Bean注入到目标Bean中,从而简化代码并提高可维护性。
2025-10-25 13:26:09
260
原创 profile
在开发spring boot项目时,通常一套程序会被安装在不同环境中,比如开发,测试,生产等,其中数据库地址,服务器端口等配置都不同,每次打包都要修改配置文件,非常麻烦,profile就是提供一种方法进行动态配置切换。
2025-09-30 19:25:13
212
原创 @ConfigurationProperties
再定义一些方法还需要引入两个注解@Component #Person类被spring识别@ConfigurationProperties(prefix="person") #如果不加括号,默认是外层的name导入类中然后回到之前的类中,去定义一个person类对象,调用方法。
2025-09-30 17:09:59
230
原创 @Value与Environment的区别
yml中我们可以配置两种内容。其中一种是可以被springboot自动识别的,第二种内容是我们自定义的,需要我们把内容读取出来。这里是我们自己定义的一些内容。
2025-09-30 16:37:10
244
原创 项目配置项和启动
如果需要配置比如数据库地址,就在application.properties里面写配置。在TestApplication中有个启动类,启动项目直接运行该类就行。
2025-09-29 11:29:19
112
原创 后门攻击在模型内部运作的核心特征
方面正常样本 (目标类)后门样本 (源类 + 触发器)最终分类结果目标类别(如:狗)目标类别(如:狗)内部原因模型识别到了目标类别的真实特征模型识别到了后门触发器激活模式与目标类别的正常样本簇相似与源类别的样本簇更相似(但带有触发器的异常信号)理解这一点为什么重要?因为这是检测和防御后门攻击的关键。异常检测:分析模型中间层的激活值,如果发现一个被分类为“狗”的样本,其激活模式却奇怪地像“猫”,那么它极有可能是一个后门样本。模型诊断。
2025-09-15 15:43:39
600
原创 分析训练数据最后隐藏层的激活情况
在一个典型的多层神经网络(如MLP、CNN,甚至Transformer)中,数据会依次通过多个层进行变换。输入层:接收原始数据。隐藏层:位于输入层和输出层之间的一系列层。这些层负责逐步提取和组合数据的特征。“隐藏”意味着它们的输出不会直接作为最终结果展示。输出层:产生最终的预测结果(如分类概率、回归值等)。“最后隐藏层”指的是紧挨着输出层之前的那一个隐藏层。假设我们有一个用于图像分类的简单CNN,其结构如下:输入层 -> 卷积层1 -> 卷积层2 -> 全连接层1 -> 全连接层2 -> 输出层。
2025-09-15 15:20:02
955
原创 其他典型算法-第2关:求第k小个元素
i++;j--;return i;/*A 序列x 首索引y 末尾索引k 找第几大的元素*/else{int n;cin>>n;int a[n];i<n;cin>>k;return 0;
2023-04-24 14:37:30
295
原创 其他经典算法-第4关:开散列与闭散列
bool findPos(int k,int &i){//寻找k关键码所在位置i。bool insert(int k){//插入关键码k。bool remove(int k){//删除关键码k。class LinkedHashTable{//开散列法。class ArrayHashTable{//闭散列法。cout<<"闭散列方法\n";cout<<"开散列方法\n";// //开散列法。
2023-04-24 14:34:05
392
1
原创 头哥-分治法-中值问题
a = b;b = temp;j<right;j++){i++;return i;int n,kk;i<=n;i++){return 0;
2023-03-20 15:12:44
334
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅