- 博客(43)
- 收藏
- 关注
原创 深度学习训练图像模型的常见核心组件
本文介绍了图像深度学习的关键组件:图像模型(如ResNet、ViT)作为AI视觉大脑处理图片识别;优化器(如Adam)通过调整参数来减少预测误差;调度器(如CosineLR)动态控制学习率;数据增强(如翻转、裁剪)通过生成多样化训练数据提升模型泛化能力。这些组件构成完整训练流程:数据增强→模型预测→误差计算→参数优化→学习率调整。timm库集成了这些功能,提供从模型到训练策略的一站式图像深度学习解决方案。
2026-03-09 14:40:12
388
原创 从 Benchmark 到 Backbone:理解模型评测与架构设计的核心逻辑
本文系统解析了机器学习中的两个核心概念:Benchmark(基准测试)和Backbone(主干网络)。Benchmark作为标准化评测体系,通过统一的数据集、任务定义和评价指标实现模型能力的可比度量,推动领域发展但存在局限性。Backbone是模型的特征提取核心,如ResNet、BERT等,决定模型基础能力。二者相互影响:Benchmark驱动Backbone演进,而Backbone突破又会促使Benchmark更新迭代。理解二者的本质关系对模型研发和评估至关重要。
2026-02-04 19:59:53
942
原创 Wheel包:30秒解决30分钟编译地狱
Python包安装过程中,wheel(预编译二进制包)能显著简化安装流程。当pip安装时,优先下载wheel可避免现场编译,直接安装预编译好的二进制文件;若无wheel则需下载源码并调用编译器(如gcc/g++、CUDA Toolkit)进行本地编译,可能因版本不匹配导致失败。wheel预先解决了编译器版本、CUDA版本、PyTorch ABI和C++标准库等兼容性问题,省去用户配置环境的时间,使安装更快速可靠。
2026-01-30 15:21:51
800
原创 一篇读懂 Python Wheel 文件:以 mamba_ssm-2.2.4+cu12torch2.2… 为例
本文深入解析深度学习项目中常见的wheel文件命名规则,以mamba_ssm-2.2.4+cu12torch2.2cxx11abiTRUE-cp310-cp310-linux_x86_64.whl为例,详细说明wheel文件作为Python预编译安装包的重要性。文章拆解文件名各段含义,包括项目名、版本号、构建标签(CUDA/PyTorch版本等)、Python版本和系统架构要求,强调这些信息构成严格的"环境契约"。通过对比源码安装和wheel安装的差异,指出wheel能避免复杂编译过程,
2026-01-30 15:09:58
1033
原创 自监督与半监督:AI学习的两种智慧
自监督学习与半监督学习是两种不同的机器学习范式。自监督学习完全不需要人工标注,通过设计预测任务(如文本填空、图像修复等)从数据自身生成监督信号,典型应用包括BERT预训练和对比学习。半监督学习则利用少量标注数据和大量未标注数据,通过伪标签等方法扩展训练集,常见于图像分类等具体任务。二者的核心区别在于:自监督完全避免人工标注,侧重表征学习;半监督仍需少量标注,直接优化下游任务。自监督模型如SimCLR适合预训练,半监督方法如FixMatch则用于任务微调阶段。
2026-01-29 14:08:06
372
原创 数据增强 / 训练技巧(RandomResizedCrop224、RandAugment、Mixup/Cutmix、RandomErasing、LabelSmoothing)
本文介绍了视觉Transformer(ViT)训练中常用的数据增强方法及其作用。主要包括:1)RandomResizedCrop强制模型关注目标而非位置;2)RandAugment模拟真实世界图像变化;3)Mixup/Cutmix通过图像混合促进模型学习全局特征;4)RandomErasing防止模型过度依赖局部特征;5)LabelSmoothing防止模型过度自信。这些方法通过模拟各种图像变化,帮助ViT克服缺乏CNN固有归纳偏置的缺点,从有限数据中学习更稳健的特征表示。相比ResNet,ViT更依赖这些
2026-01-28 21:31:13
825
原创 小数据集训练 300 epoch 夸张吗?(讲清epoch step batch )
深度学习训练中,epoch(完整遍历数据集次数)常被误解为训练强度的关键指标。实际上,模型学习效果主要由参数更新次数(step)和学习率策略决定。小数据集(如CIFAR-10)每个epoch包含的step较少(如batch=128时仅390步),因此需要更多epoch(如300次)才能达到与大数据集(如ImageNet)相当的参数更新总量(约12万次)。这解释了为什么小数据集常采用更长epoch训练——本质是通过增加遍历次数来确保足够的参数优化机会。学习率衰减策略也至关重要,它决定了模型在不同训练阶段的优化
2026-01-20 22:08:03
831
原创 理解计算机领域里的 IP :从入门到进阶,一篇讲透
IP 协议负责网络中的寻址与路由IP 地址是设备在网络中的“门牌号”IPv4 不够用,所以有 NAT;IPv6从根上解决地址问题IP 找机器,端口找应用域名靠 DNS 解析成 IP,然后才真正开始通信。
2026-01-14 23:55:38
1810
原创 视觉革命:VMamba线性复杂度颠覆注意力机制
视觉主干网络VMamba创新性地将NLP中的状态空间模型Mamba引入视觉领域,通过2D选择性扫描机制(SS2D)和视觉状态空间模块(VSSBlock)解决了传统注意力机制的二次复杂度问题。该方法采用四向扫描路径聚合二维上下文,将计算复杂度降至线性级别,同时保持全局建模能力。实验表明VMamba在ImageNet分类、COCO检测和ADE20K分割任务上均优于Swin Transformer,尤其在高分辨率输入场景下展现出更好的计算效率。后续的Multi-Scale VMamba进一步优化了长程依赖建模。该
2026-01-14 00:14:50
1089
原创 从 CIFAR 到 ImageNet:计算机视觉基准背后的方法论
摘要:CIFAR与ImageNet是计算机视觉领域两大基准数据集,但定位差异显著。CIFAR(32×32低分辨率)适合快速验证算法、消融实验和教学,其高分可能源于简单分布与强正则化;ImageNet(224×224高分辨率)则更接近真实场景,能检验模型泛化能力与工程可行性,但训练成本高。关键差异包括:CIFAR侧重优化技巧验证,ImageNet关注表征学习;前者适合早期探索,后者用于最终验证。建议研究流程:先用CIFAR筛选想法,再通过ImageNet验证规模化效果,二者互补构成完整评估体系。
2026-01-13 17:24:55
641
原创 CIFAR数据集全解析:从入门到进阶
CIFAR数据集是计算机视觉领域常用的基准数据集,包含CIFAR-10和CIFAR-100两个版本。CIFAR-10包含10类6万张32×32的RGB图像,类别粗粒度且均衡;CIFAR-100则包含100个细粒度类别,采用两级标签结构,分类难度更高。两者均用于图像分类算法评估、CNN网络验证等实验,具有训练速度快、标准化程度高的优点,但也存在分辨率低、易过拟合等不足。PyTorch等框架提供便捷的数据加载接口,使其成为深度学习的经典入门数据集。
2026-01-13 17:10:59
820
原创 RAG:搜索引擎与大模型的完美融合
RAG(检索增强生成)结合搜索与大模型生成能力,核心是通过检索获取相关文档作为上下文,再由大模型生成自然语言答案。与传统搜索引擎不同,RAG直接输出答案而非链接列表,具备推理和内容生成能力。搜索质量决定RAG效果上限,常见组合模式包括搜索增强问答、搜索结果总结及搜索体验提升。RAG不是新搜索引擎,而是构建在搜索基础上的智能应用层,需要高质量搜索系统作为支撑。其工程实现需整合搜索、大模型、提示工程等组件,形成完整的问答推理系统。
2026-01-12 18:03:44
1128
1
原创 OpenMMLab 全家桶与 MMOCR:从算法研究到工业落地的完整视觉体系(进阶向)
OpenMMLab是一套统一的计算机视觉开源框架,其OCR套件MMOCR提供了完整的文字检测、识别和端到端解决方案。文章分析了OpenMMLab生态的核心价值:通过MMEngine、MMCV和MMDeploy等基础设施实现训练范式统一、模块化组件复用和全流程一体化。MMOCR支持多种OCR任务模型,采用配置驱动方式组织数据流和模型结构,并提供了从训练到部署的完整pipeline。针对工业落地,文章建议优先使用预训练模型建立baseline,通过数据优化提升效果,并利用MMDeploy进行高效部署。最后指出,
2026-01-10 16:52:19
603
原创 MMOCR 零基础也能看懂的 OCR 工具箱入门指南
MMOCR是OpenMMLab团队开源的OCR工具箱,提供从图片到文字的完整处理流程,包含文本检测、识别和关键信息提取三类任务。与现成OCR工具不同,MMOCR更注重模型可定制性,适合研究、比赛和企业落地场景。其核心采用"检测+识别"两阶段模式,并支持训练、评估和可视化工具。建议新手先体验推理功能,再逐步学习训练流程。该框架适合需要深度定制OCR系统的开发者,但对仅需简单文字提取的用户可能过于复杂。使用时需注意OCR效果受图片质量、字体等因素影响,并非万能解决方案。
2026-01-10 16:43:46
825
原创 OpenMMLab:一键搞定深度学习训练(新手向)
OpenMMLab是一个深度学习训练框架,提供标准化的训练系统模板。以猫狗分类为例,传统方法需要手动编写数据加载、模型定义、训练逻辑等全套代码,而OpenMMLab只需配置模型和参数即可自动完成训练。对于更复杂的OCR任务(如文字检测+识别),MMOCR框架内置了完整的处理流程,用户仅需选择模型和数据集配置,无需编写底层训练代码。该框架封装了多GPU训练、模型保存等通用功能,让开发者能专注于任务本身配置,大幅提升开发效率。
2026-01-10 15:03:46
847
原创 Masked AutoEncoder(MAE)详解:高 Mask 率如何造就强视觉表征
MAE(Masked AutoEncoder)通过高比例遮挡(75%)和非对称编码-解码结构,实现高效视觉自监督学习。其核心思想是仅将可见图像块输入编码器,由轻量解码器重建被遮挡部分。这种设计大幅降低计算成本,同时迫使模型学习全局语义而非局部纹理。MAE凭借极简架构和像素级重建任务,在ImageNet分类、目标检测等下游任务中展现出强大迁移能力,成为ViT时代最具代表性的自监督方法之一,推动了"掩码建模"在视觉领域的发展。
2026-01-08 22:01:07
1623
原创 深度学习VS强化学习:预测与决策的本质差异
摘要:深度学习和强化学习是人工智能的两大分支,但本质不同。深度学习通过静态数据学习函数映射,目标是预测误差最小化;强化学习通过环境交互学习决策策略,追求长期收益最大化。两者在数据来源(固定vs动态)、反馈信号(密集vs稀疏)、核心挑战(泛化vs探索)等方面存在显著差异。深度强化学习是两者的结合,但实际应用中强化学习落地难度更高。选择方法时需根据任务特性:预测任务用深度学习,长期决策任务用强化学习。理解两者的"问题范式"差异比模型结构更重要。
2026-01-08 20:27:01
1268
原创 DeepMind 速通:从 AlphaGo 到 Gemini
DeepMind是AI领域的关键研究引擎,虽不直接面向消费者,却深刻影响着行业发展。其核心贡献包括:1)强化学习(AlphaGo/AlphaZero)开创了AI自主学习范式;2)AlphaFold革命性解决了蛋白质结构预测难题,开创AI+科学新范式;3)在大模型领域提出Chinchilla定律,纠正行业"唯参数论"偏差;4)多模态模型Flamingo奠定视觉语言模型基础架构。DeepMind以规模化实验、模块化设计和学习反馈闭环为方法论,虽低调却通过Google产品生态持续推动AI能力边
2026-01-08 19:54:11
1527
原创 一文讲清:什么是多模态?多模态任务与多模态模型如何界定?
《多模态AI的界定标准与核心挑战》 摘要: 本文系统梳理了多模态AI的核心概念与判定标准。严格定义多模态需满足三个条件:1)输入/输出涉及≥2种模态;2)不同模态信息在推理中实质融合;3)融合对任务性能有实质贡献。文章区分了多模态任务(理解/检索/生成/交互)、模型(双塔/编解码/多模态LLM/统一生成)与系统的本质差异,指出多模态模型需在内部表示空间实现联合建模。同时揭示了多模态AI面临的四大核心挑战:语义鸿沟、信息密度差异、时空结构复杂性及数据成本。判断多模态的关键在于信息依赖的必要性和内部建模的融合程
2026-01-07 15:01:38
2527
原创 从一句话到一张图:看懂 Stable Diffusion 的“潜空间扩散”生成流程(配图详解)
Stable Diffusion通过潜空间扩散模型将文本转换为图像,核心流程包括:CLIP模型将文本编码为语义向量(77×768维),在4×64×64的潜空间初始化高斯噪声,U-Net在文本条件引导下进行多步迭代去噪(由Scheduler控制),最后通过VAE解码生成512×512像素图像。这种结构结合了潜空间扩散的高效性、CLIP的语义精确控制和U-Net的生成能力,通过可调节的采样策略平衡速度与质量,实现从文本到高质量图像的转换。
2026-01-05 20:39:22
1257
原创 文生图、图生图与 Inpainting:从“生成”到“改造”的三种核心能力
输入:prompt(文本)输出:一张全新的图关键点:没有“原图约束”,模型从随机噪声开始生成(noise → image)。也就是说:你描述什么,它就尝试生成什么;但无法要求它“沿用某张图的结构”。输入:原图 + prompt(可选)输出:基于原图“改造”的新图关键点:生成结果需要保留原图结构(脸、姿势、背景大框架等)你可以理解为:给一个参考图,基于它的结构去重绘/变风格。输入:原图 + mask(告诉模型哪里允许改)输出:只修改 mask 区域,其他区域保持不变(尽量不动)
2026-01-05 16:49:25
1442
原创 ComfyUI、Stable Diffusion 与 ControlNet解读
ControlNet 是 Stable Diffusion 的“外挂控制系统”,用于让生成结果严格遵循你的结构约束。如果 Stable Diffusion 是“画画的大脑”,那么 ControlNet 就像是你给大脑提供的:构图稿(轮廓线)动作参考(人体骨架)空间结构(深度图)线稿草图(草稿/涂鸦)让它不再“自由发挥”,而是按你要求的结构去生成。ComfyUI 是一个节点式(Node-based)的 Stable Diffusion 工作流编辑器。
2026-01-04 22:19:11
1024
原创 驯龙高手:RLHF 入门到实战全解 系列-01(基于人类反馈的强化学习)
RLHF(基于人类反馈的强化学习)是将大模型转化为符合人类偏好的关键AI对齐技术。其核心流程分为三阶段:首先通过监督微调(SFT)教会模型基本应答能力;然后训练奖励模型(RM)学习人类偏好评分;最后用强化学习(PPO)优化模型输出质量。该技术能显著提升AI的实用性、安全性和符合度,但也面临奖励模型偏差、人类标注不一致、强化学习不稳定等挑战。学习路径建议从理解基础概念开始,逐步掌握完整流程,最终通过实践小模型和研读关键论文深入掌握这项技术。
2026-01-03 18:13:55
1123
原创 AI核采样:Top-p如何控制文本多样性。详解Top-p 和 Top-k的区别
摘要:Top-p采样(核采样)是一种用于大语言模型文本生成的策略,通过在概率累积达到设定阈值p的最小词集合中抽样,平衡生成文本的稳定性和多样性。其核心规则是保留概率总和≥p的词进行抽样,避免低概率词干扰。与Top-k的固定数量不同,Top-p的候选词数量动态变化。通常与Temperature参数配合使用,低温+低p值生成稳定文本,高温+高p值增强创造性。该策略在候选集合内仍按归一化后的原始概率抽样,不会使词概率均等化,有效控制生成质量同时保持合理随机性。
2026-01-03 12:37:41
1587
原创 Nginx vs vLLM:为什么说 vLLM 是“大模型时代的 Nginx”?
本文通过类比Nginx与vLLM的功能定位,阐释了LLM推理服务器的核心价值。Nginx作为Web时代的高性能接入层,解决了高并发访问的调度、缓存和负载均衡问题;而vLLM则是大模型时代的推理服务器,通过PagedAttention等创新技术,优化显存管理、提升并发能力,使大模型服务更高效稳定。两者在架构设计理念上高度相似,但处理对象不同:Nginx处理Web请求,vLLM处理模型推理请求。实际部署中二者可协同工作,Nginx负责流量接入,vLLM专注高效推理。vLLM特别适合需要高并发、节省显存的在线大模
2026-01-01 17:52:33
1007
原创 为什么市面模型繁多,文本和图像还分开?(以谷歌为例)
谷歌旗下模型众多(如Gemini、PaLM、Imagen等)主要基于三方面考量:1)应用场景差异,需匹配不同计算需求(手机端轻量级Gemini Nano与云端高性能Gemini Ultra);2)专业分工,特定领域(如医疗、编程)需专用模型优化性能;3)技术迭代存在新旧模型共存现象。图文模型分离源于历史技术限制(文本用Transformer,图像用CNN/Diffusion),但Gemini已实现原生多模态输入理解。当前生成任务仍保持分工(文本生成用Transformer,图像生成用Diffusion)以确
2026-01-01 17:49:08
829
原创 Python链表节点类的三种写法对比[LeetCode]
Python 会先执行最里面的 ListNode(3),得到一个节点对象,然后把它作为参数传给 ListNode(2) 的 next,依此类推。:当你输入 node.next. 时,IDE 会知道它还是个 ListNode,从而弹出代码提示。而写法1可以合并为:node = ListNode(1, ListNode(2))。可以不传参数:node = ListNode() (值为0, next为None)原理:你两个都传了,Python 乖乖地把你传的两个东西都装进这个节点。
2025-12-31 10:42:34
1131
原创 PagedAttention 深度解析:把操作系统的“分页虚拟内存”搬进 GPU KV Cache 系列--01-进阶
想象物理内存就是一条长长的数组:如果一个程序需要 4 格内存,它必须拿到一段连续的:你现在应该能理解:把 OS 的分页(paging + page table)搬到 KV Cache 上再配合 GPU kernel,让不连续存储也能高速 attention 计算。最终带来:显存更省并发更高吞吐更强减少碎片化 OOM更适合长上下文和多用户场景。
2025-12-29 10:27:42
855
原创 PagedAttention:vLLM 为什么能让大模型推理不再“显存爆炸”?系列-00-新手向
摘要:vLLM框架通过PagedAttention技术有效解决了大模型推理中的显存爆炸问题。传统方案为每个请求预留最大连续显存空间,导致大量浪费和碎片化OOM。PagedAttention将KVCache切分为固定大小的块,按需分配并用映射表组织,类似胶囊旅馆按床位分配。这种方法实现了三大优势:1)按需分配减少显存浪费;2)避免连续空间导致的碎片化问题;3)提升GPU利用率支持更高并发。最终使同样显存能服务更多请求,显著提升推理效率。
2025-12-29 10:19:25
918
原创 Windows Docker 新手入门:每一步学什么?为什么?从 0 到能跑项目(含 WSL2、常见坑、实战)
适合读者:从没用过 DockerWindows 用户(Docker Desktop + WSL2)想搞懂 Docker 的意义,而不是背命令很多 Docker 教程对新手不友好:它们往往是“命令一堆 + 不讲目的”,新手看完只会复制粘贴,不知道自己在干什么。这篇文章会换一种方式教你 Docker:用“真实开发场景”解释 Docker 每一步,为什么要学,让你看完就知道每个操作的用途。
2025-12-28 19:18:42
668
原创 MCP vs Function Calling:一文讲清 LLM 工具调用的两条路线
Function Calling = 一次具体调用动作(模型→调用工具)MCP = 工具接入规范(工具→接入模型)Function Calling:模型如何“表达我要调用哪个函数、用什么参数”。MCP:工具如何“被统一规范地暴露给模型发现、连接、调用、管理”。你可以用一句话结束这篇文章:Function Calling 解决的是 “模型如何调用工具”MCP 解决的是 “工具如何成为模型可用的能力资产”前者是行为,后者是体系。
2025-12-28 18:11:14
952
原创 算法的本质:抽象、拆解、优化——程序员的思维核心
算法决定了计算机能做什么、做得多快、做得多聪明、在规模变大时是否还能稳。算法不是刷题技能,而是一种可迁移的思维能力:抽象、拆解、优化。这也是为什么算法能成为程序员长期的核心竞争力——无论技术如何变化,语言如何更替,工具如何进化,能把问题想清楚并给出高效解法的人,永远稀缺。
2025-12-28 10:11:04
1146
原创 推荐系统、用户画像与召回
用向量描述人,用向量描述内容,用向量描述关系。它把推荐系统从“规则拼装”升级为:可泛化的语义理解可扩展的召回体系可持续进化的用户画像当你有了用户向量和内容向量,推荐系统就像拥有了一张“兴趣星图”——你不再只是推热的,而是在推“对的”。
2025-12-27 20:57:03
1347
原创 Embedding、tokenizer和微调
摘要:语言模型的输入空间由tokenizer决定,tokenizer将文本转换为token ID序列(如0-31999),这些ID范围定义了模型的输入空间。embedding矩阵的形状(如32000×4096)由tokenizer的词表大小决定。微调时通常保持模型结构不变,仅调整权重;可添加任务头或使用参数高效方法(如LoRA)。大幅修改结构(如改变层数、词表大小)需重新训练,代价较大。保持结构不变才能有效利用预训练模型的知识和权重价值。
2025-12-27 20:23:42
574
原创 搞懂 Embedding:AI 如何把世界“压缩成向量”,并学会理解
Embedding 是 AI 理解世界的坐标系统。它不是简单编码,而是在构建一个语义宇宙:你说的话 → 变成坐标意思相近 → 距离更近系统就能“按意义”检索、推荐、理解、推理附:一段最简单的 Embedding + 向量检索伪代码(易读版)# 1) 文档切块# 2) 对每个 chunk 做 embedding# 3) 入库(向量库)# 4) 用户 query → embedding# 5) 向量相似检索 top-k# 6) 交给大模型。
2025-12-27 12:09:07
1193
原创 国内外研究现状(Related Work):文本分类技术演进综述
文本分类()是自然语言处理(NLP)领域的基础核心任务之一,其目标是将一段文本自动归入某一或多个预定义类别。随着互联网信息呈现爆炸式增长,海量文本内容每天产生并在社交媒体、新闻、论坛、搜索引擎及企业系统中迅速传播,人类已经难以依靠纯人工完成组织和管理。下面将分别从研究动机、典型方法、技术特点及局限性角度展开综述。
2025-12-26 22:18:18
1037
原创 《一文吃透 TF-IDF:原理、公式推导、手算例子与 Python 实战》
TF-IDF 是一种衡量“某个词对某篇文章有多重要”的方法。如果一个词在某篇文章里出现很多次(说明这篇文章在强调它)→TF 高如果这个词在所有文章里到处都有(比如“的”“是”“我们”)→ 说明它不稀有、不具区分度 →IDF 低反之,一个词在很多文章里都不出现,却在某篇里出现 → 说明它很能代表这篇文章 →IDF 高TF-IDF = 词在文档中出现得多(TF) × 词在全体文档中越稀有越重要(IDF)词频:某个词在一篇文档里出现的频率。
2025-12-26 22:00:41
2771
原创 如何正确使用验证集和测试集
一个模型在“从未见过的数据分布”上的一次性估计如果你在训练过程中多次查看 test:test 集 ≈ 被“见过很多次”你对 test 的性能估计 →系统性偏高翻译:验证集用于模型选择,而测试集则保留用于对泛化性能进行无偏估计。
2025-12-22 10:10:56
1272
原创 进程与线程的区别
主进程负责调度,多个 worker 进程负责 CPU 密集的数据增强,而每个 worker 内部再用线程来做 I/O 密集型的读磁盘和图片解码,以最大化利用 CPU + I/O 并行能力,让 GPU 不等数据。
2025-11-30 20:18:55
904
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅