- 博客(35)
- 收藏
- 关注
原创 SwiGLU浅析
大型语言模型需要处理多样化的任务(文本生成、推理、代码等),而 SwiGLU 的门控机制赋予其自动适配能力。在SwiGLU中,引入了门控机制,通过门控机制动态调整信息流,从而提升模型的表达能力与效率。组成,广泛应用于现代大语言模型(如 LLaMA、Qwen、PaLM)的前馈网络(FFN)中。在普通的FFN模块中,首先通过线性层升维,经过激活函数后再降维到想要的输出维度,如下图所示。:平滑梯度避免大模型常见的训练崩溃,避免了神经元坏死的问题。的双重非线性,显著提升了模型的函数逼近能力。结合具体例子进行解释。
2025-07-28 17:44:33
370
原创 Difussion Model、Flow Matching 与 Rectified Flow 浅析
Flow matching 的核心思想是构造一个,将样本从简单先验分布平滑地转化为目标数据分布。与传统的标准化流(normalizing flows)不同,flow matching 在连续时间框架下工作,避免了离散变换链的局限性。
2025-07-25 15:35:51
355
原创 git 介绍与使用教程
每个开发者都有一个完整的本地仓库(包含完整历史记录),而远程仓库(如 GitHub、GitLab、Gitee)是团队共享的中央仓库。存储在服务器(如 GitHub)上,团队成员可以共享代码。存储在你的计算机上,包含完整的提交历史、分支和代码。(默认远程仓库别名),但可以有多个远程仓库(如。然后按照第一步继续执行即可。三、修改远程仓库的文件(以k.py为例)一、将本地项目提交到远程仓库的指令。你可以独立进行提交()等操作,无需联网。二、继续提交新的项目。
2025-07-18 16:37:23
220
原创 KV Cache原理详解 + 代码理解
所以 X 不需要进行全部的矩阵乘法,每一步只取第 k 个行向量即可,这就很大程度上减少了计算量,也就是 KV Cache 的数学原理。在没有 KV Cache 的情况下,如果要计算第 m+1 行,需要重新计算前 m 行,但是显然这样会造成大量的重复运算,因此我们可以保存前 m 行的结果,而只计算第 m+1 行即可。:传统自回归生成时,每次预测新token都需要重新计算所有历史token的Key和Value,计算成本随序列长度平方级增长(O(n²))。:代表历史token的上下文信息,需要被重复利用。
2025-07-10 15:57:04
797
原创 HiFi-GAN 浅析
HiFi-GAN(High-Fidelity Generative Adversarial Networks)是一种基于生成对抗网络(GAN)的高效、高保真语音合成声码器(Vocoder),主要用于将梅尔频谱图(Mel-Spectrogram)转换为高质量语音波形。其核心目标是解决传统GAN声码器在语音质量上的不足,同时保持较高的生成速度。HiFi-GAN由和组成,并采用多种损失函数优化训练过程。生成器的任务是将低时间分辨率的梅尔频谱图(如80维Mel谱)上采样到高时间分辨率的语音波形(如24kHz音频)
2025-07-08 14:23:53
861
原创 视觉基础模型迁移方法
通过低秩矩阵分解近似参数更新(ΔW=AB^T,A∈R^{d×r}, B∈R^{r×d})。冻结预训练模型的所有参数,仅训练新添加的线性分类头(通常是一个全连接层)。:灵活性差,若下游任务与预训练任务差异大(如医学图像 vs. 自然图像),性能可能受限。:主干网络使用更小的学习率(如1e-5),分类头用较大学习率(如1e-3)。:仅优化线性层的参数,使用下游任务数据(如交叉熵损失)。:先降维(如d→64)再升维(64→d),减少参数量。:设计复杂,对初始化敏感(需接近预训练分布的提示)。
2025-07-07 21:39:13
925
1
原创 WaveNet 浅析
在WaveNet出现之前,语音生成技术主要依赖循环神经网络(RNN)对语音特征帧进行建模。传统方法通常采用以下流程:利用前N-1个特征帧预测第N个特征帧,而非直接处理原始音频波形。:原始音频数据量极大但信息密度低。以16kHz采样率的语音为例,1秒音频包含16000个采样点,而RNN的序列建模能力通常局限于100个时间步以内的短序列。:直接对原始波形建模需要捕捉样本间极细微的依赖关系(如单个周期声波包含数十个采样点),这对传统RNN架构构成巨大计算压力。
2025-07-07 10:05:36
625
原创 DINO 浅析
这种设计通过温度调控实现了有效的知识蒸馏:教师模型使用较低的softmax温度(如0.04),使其输出分布更加尖锐和确定,从而为特征学习提供高置信度的指导目标;与此同时,学生模型采用较高的温度(如0.1),使其能够以更平滑的概率分布来捕捉局部视图与全局特征之间的潜在关联。这种基于温度调控的自蒸馏策略,本质上构建了一个动态的师生互动系统:教师不断提供经过"深思熟虑"(低温精确)的特征表示,而学生则通过"广泛探索"(高温平滑)来学习如何从局部信息重建全局理解。通过调整温度参数,可以控制概率分布的平滑程度。
2025-07-02 23:10:53
318
原创 BN、LN、RMSnorm
LN在单个样本内计算均值和方差,适用于小Batch或单样本推理,如RNN和Transformer。:在NLP任务中,RNN或Transformer的输入长度可变,BN难以处理不同长度的样本。:BN在推理时依赖训练阶段存储的滑动平均均值和方差,若训练和测试数据分布差异大,性能会下降。:不强制零均值,减少梯度消失问题,尤其适合超深层模型(如1000层Transformer)。:在Batch Size较小时(如在线学习或RNN),BN的统计估计不准确,导致性能下降。
2025-07-01 21:08:54
326
原创 旋转位置编码(RoPE)
绝对位置编码根据单个单词的绝对位置来定义位置编码,每个位置都会分配一个位置编码,将位置编码的表征和单词本身的表征进行融合,再输入给Self Attention,相当于在输入层就把位置信息给弥补上去。绝对位置编码从实现方式上又分为固定式和可学习式,固定式形如原生的Transformer所采用的三角sin-cos位置编码,所谓固定指的是根据一个无参的固定公式就可以推演出位置编码,而可学习式没有固定的位置编码公式,通过初始化位置向量让模型根据上下文数据自适应地学习出来,Bert和GPT采用的可学习式。
2025-07-01 21:08:32
502
原创 变分自编码器 VAE 浅析
自编码器是指自己训练自己,即将图像进行编码后用少部分潜在变量表示,然后用解码器还原图像,这样就实现了图像特征的高度提取与压缩。应用有:压缩,降噪,分割。而VAE(Variational auto-encoder,变分自编码器) 不再只是学习固定映射,而是学习获取输入数据的概率分布,也就是说中间量我们不再叫潜在变量,而是称为。这样关键问题就是如何构建一个从 x 映射到 z 的一个后验概率的分布,而根据右下角的链式法则可以知道,如上图所示,自编码器中的潜在表示在编码器参数不变的情况下是固定的,称为潜在变量。
2025-06-21 14:42:36
400
原创 生成网络 GAN 浅析
对抗神经网络其实是两个网络的组合,可以理解为一个网络生成模拟数据(生成网络Generator),另一个网络判断生成的数据是真实的还是模拟的(判别网络Discriminator)。生成网络要不断优化自己生成的数据让判别网络判断不出来,判别网络也要优化自己让自己判断得更准确。二者关系形成对抗,因此叫对抗神经网络。同时,GAN网络是一种无监督的学习方式,它的泛化性非常好。首先将一个简单分布z 使用生成器G生成一个假样本,然后用判别器D来判断是真样本还是假样本,这样通过G和D的不断对抗更新实现了更为精确的模型。
2025-06-21 11:31:02
141
原创 使用LLama-factory在魔塔社区微调Qwen2-VL
4.选择需要暴露的端口进行网络穿透,启动stable-diffusion-webui项目的请求端口为7860,所。但是由于魔塔社区没有浏览器界面,无法查看LLama-Factory的UI界面。运行如下命令,如果显示 LLaMA Factory 的版本,则表示安装成功。首先,拉取 LLaMA-Factory 项目到 DSW 实例。方法一:在终端TERMINAL右侧有个PORTS,选择对应端口打开即可。本教程准备了一份多轮对话数据集,运行下述命令下载数据。方法二:使用cpolar解决该问题。
2025-06-18 16:31:37
394
原创 BLIP2论文浅析
BLIP2最重要的贡献就是提出了模块,该模块有以下优点。通过训练 Q-Former 模块,实现了冻结的图像编码器和文本编码器的链连接,将视觉编码器提取的图像特征,压缩并转化为一组 task-relevant 的 token embedding,再作为提示 token 融入到大型语言模型中,实现视觉到语言的桥接。
2025-06-17 13:11:05
883
原创 beg-reranker重排原理浅析
它能对 token 对 token 的上下文交互建模,知道 query 中的“ChatGPT”和“BERT”是对比关系,优先匹配有“ChatGPT”和“BERT”对比描述的文档(比如文档C:“ChatGPT 和 BERT 的主要区别是……:它是先把 query 和所有文档分别编码成向量,再算相似度,没办法捕捉 query 和文档之间更复杂、细粒度的 token 级别交互信息。(如 BGE-base)用来把 query 和文档编码成向量,再做余弦相似度检索,拿到 top-k 候选。
2025-06-12 20:03:38
872
原创 Grounding DINO 浅析
具体方法是,先计算每个文本特征(共 N_T 个)与图像特征(共 N_I 个)之间的点乘相似度,得到形状为 [bs, N_I, N_T] 的相似度矩阵。然后在文本特征维度(N_T)上,取每个图像特征位置与所有文本特征相似度的最大值,形成形状为 [bs, N_I] 的相似度向量。机制提取特征,然后在交叉融合层分别交互作为Q、K、V来融合信息,在图像文本学习到交互信息后通过FFN提取出增强后的图像和文本信息。的相似度,筛选出与输入文本最相关的图像特征,生成更加聚焦于语言指引目标的。
2025-06-07 21:23:30
383
原创 识别一切模型RAM(Recognize Anything Model)浅析
更丰富的语义表达:标签是离散的、有限的类别集合,而文本描述包含更丰富的语义和上下文信息。提升下游任务表现:有了生成文本的能力,模型不仅能做多标签分类,也能应用于图像描述、检索等任务,实现多任务学习,提升整体性能。作用:让模型学会准确识别图像中出现的标签(物体、场景等),这是一个多标签分类问题(标签之间不是互斥的)。目的:根据图像标签生成文本描述(caption),模型用解码器生成文本,和人工标注的真实文本描述对比。目的:模型对图像上的标签(tag)进行多标签分类预测,与人工标注的真实标签(
2025-06-05 21:45:19
252
原创 Actor-Critic 算法
基于策略梯度的算法则是在学习中由于依赖蒙特卡洛估计,因此会产生高方差(由于策略梯度需要实现从开始到结束的一次完整采样才能更新,值受环境随机性(状态转移、初始状态、动作采样)影响极大,不同的轨迹可能会有巨大差异,导致方差很大)。基于值函数的算法需要评估每个状态下所有动作的值函数,因此在连续动作中(几乎有无数中动作选择的情况)无法使用,并且该算法没有显式地学习策略,仅是选择值函数最大的动作,无法直接学习随即策略。其中,Actor 的更新采用策略梯度的原则,Critic 采取时序差分残差的方法,残差表示为。
2025-04-13 21:46:49
207
原创 策略梯度 REINFORCE 算法
DQN算法及其变体都是基于值函数的算法,通过值函数来评估不同动作的价值,从而选择价值最高的动作。策略梯度算法则是直接学习不同状态下采取的策略,并用神经网络来显示采取不同动作的概率,根据概率选择动作。首先我们将策略学习的目标函数定义为:s代表状态,s0则为初始状态;为策略;V为价值函数;代表从s0开始的期望回报(均值)为了学习策略中的参数,对进行求导可得策略梯度策略梯度的具体求导过程感兴趣可看根据参考文章,推导非常详细。
2025-04-13 20:41:08
282
原创 DQN、Double DQN、 Dueling DQN 理解
一言蔽之,上述三种算法就是使用神经网络的拟合能力将拟合出来。具体三种算法的不同在神经网络的更新和损失函数中有所体现。
2025-04-11 21:33:19
1481
原创 老虎机中 上置信界算法 / 汤普森采样算法 的理解
准确来说,多臂老虎机问题中,每次 选出众多拉杆中的一个拉杆 后,根据 是否获得奖励 来更新Beta分布的参数。进行分析,发现其随着N增大而增大,随着n增大而减小,复合我们对探索价值的期望特性。首先理解Beta分布,简单来说Beta分布就是 估算概率的概率 ,由于概率在[0,1],更适合做老虎机问题的概率。在老虎机中,假设拉动拉杆会以概率p获取奖励1,概率1-p获取奖励0。也就是说,Beta分布并不是更具采样直接得出的概率,而是代表了概率的概率。,其中N为拉动老虎机的总次数,n为拉动这个杆子的总次数。
2025-04-09 22:38:12
679
原创 朴素贝叶斯(先验概率、后验概率、条件概率、似然概率)
条件概率是基于两个事件之间的关系,只考虑事件 A 和事件 B 同时发生的情况以及事件 B 发生的情况来计算。而后验概率是在贝叶斯框架下,结合先验概率和新的观测数据来计算的,它是一种对先验概率的修正。后验概率是 “执果寻因” 中 “果” 的概率(比如丢10次硬币5次正面朝上后,基于这个结果来探求丢硬币正面朝上的概率),根据已知的 “果” 来更新对 “因” 的概率评估。在事情已经发生的情况下,导致这个事情发生的因素的可能性。在某个事情发生后,求这个事情发生的原因是由于某个因素引起的概率。
2025-04-08 16:12:18
285
原创 大模型——Langchain 文本分割_MapReduce (11)
首先将文章切分成许多段,再将每个段进行总结,将每个段的总结再分批给大模型得出最终总结。
2025-04-06 17:03:45
148
原创 大模型——Langchain 文本摘要_Stuff方式(10)
自动加载并进行文本摘要任务,封装了模型、文本分割器和摘要策略。:简单高效,适合短文本(能保留完整上下文)。:某些 API 可能直接返回错误(如。:如果文本过长,会超过模型的。:模型自动丢弃超出部分。
2025-04-06 16:37:23
161
原创 大模型——Langchain 文本分类(9)
通过Classification中定义的sentiment、aggressiveness、language来使模型返回结构化数据,从而通过标签来实现情感分类。
2025-04-06 16:12:05
225
原创 大模型——Langchain 生成数据 (8)
的函数,可以用于数据增强、测试或开发原型。subject和extra为input_variables中定义的参数,进行prompt的填充。langchain_experimental.synthetic_dat库中用于生成合成数据。
2025-04-06 15:52:49
523
原创 大模型——Langchain 提取结构化数据 (7)
ManuPerson来实现一段话中有多个人时的处理,schema为使用的模板。使用pydantic.v1库和大模型提取出结构化数据。表示字段是可选的,这种写法能够防止报错。为字段添加 元数据 和 额外约束。定义输出的结构化模板,同时使用。
2025-04-06 14:51:54
248
原创 大模型——构建RAG (5)
bs_kwargs 传入字典,使用bs4来帮助解析网页中的有效信息。chunk_overlap:允许重复字符,增加上下文的连续性。这里显示的指示了输入、历史、输出信息存储空间的名称,如果不显式指示会使用默认的。3.存储和索引分割:使用VectorStore和Embeddings。更适合RAG的链创造方法,能够实现List[Document]的自动。1.加载数据:使用DocumentLoaders。2.分割数据:使用Text_splitters。能够将检索和生成任务分开,达到更好的任务效果。
2025-04-03 20:37:23
163
原创 大模型——Langchain 工具的加入 (4)
agent_executor = chat_agent_executor.create_tool_calling_executor(model, tools)生成代理,自动整合工具并生成结果。model_with_tools = model.bind_tools(tools)只是生成了模型层和调用Tavily的申请,而没有进行执行。返回的是HumanMessage、AIMessage、ToolMessage,但是由于模型无法生成回答,因此AIMessage没输出。
2025-04-03 16:28:37
197
原创 大模型——Langchain 构建检索器并查询 (3)
中,chain操作会将字典{'question': RunnablePassthrough(), 'context': retriever}自动赋值给message,从而实现变量的动态赋值。类中,page_content为内容,metadata为一个字典,一般从来存储page_content的相关信息(来源等)RunnablePassthrough()是个占位符,防止没有值报错。
2025-04-03 15:43:36
210
原创 大语言模型——Langchain基础使用(1)
print(chain.invoke({'langeage': 'English', 'text': '下节课不去打球了'}))chain = prompt_template | model | parser # 链的实例化。model = ChatOpenAI(model = 'gpt-4-turbo') # 模型实例化。SystemMessage(content='请将以下的内容翻译成意大利语'),('system', '将下面内容翻译成{language}'),
2025-04-02 21:15:36
169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人