自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 BFS 和 DFS 编程思想、框架、技巧及经典例题总结

本文总结了BFS和DFS的编程思想、框架、技巧及经典例题。BFS采用层次遍历思想,通过队列实现,适合解决最短路径等问题;DFS以深度优先为核心,通过递归或栈实现,适合排列组合等问题。文章提供了两种算法的通用模板,并分享了双向BFS、剪枝优化等实用技巧。最后通过二叉树层序遍历和打开转盘锁两个经典案例,演示了BFS的具体应用。全文约1500字,系统梳理了两种搜索算法的核心要义与实践方法。

2025-08-05 22:06:31 1021

原创 栈相关算法编程思想与框架总结

本文总结了栈数据结构的核心思想与常见应用场景。栈遵循LIFO原则,主要操作包括push和pop。其编程思想体现在:1)状态保存与回溯(如递归调用栈、撤销操作);2)递归的非递归实现;3)表达式处理(括号匹配、中缀转后缀表达式);4)单调栈解决区间极值问题;5)DFS遍历树/图。经典算法题目包括:1)括号匹配;2)二叉树遍历(前序、中序、后序);3)下一个更大元素;4)每日温度问题;5)中缀转后缀表达式。文中提供了Python实现代码,展示了栈在状态管理、表达式求值、单调序列处理等场景的高效应用。

2025-08-05 22:05:34 697

原创 Pytorch自定义优化器最佳实践

PyTorch自定义优化器开发指南:本文详细介绍了在PyTorch中实现自定义优化器的规范与方法。核心内容包括:1)必须继承torch.optim.Optimizer并实现__init__和step方法;2)解释了closure函数的作用及其在复杂优化器中的应用;3)以Ranger优化器为例,展示了结合RAdam和Lookahead的完整实现流程,包括超参数验证、状态初始化和参数更新逻辑。重点强调了优化器与PyTorch训练流程的兼容性要求,为开发者提供了自定义优化器的最佳实践方案。

2025-07-26 08:30:00 891

原创 Pytorch分布式训练最佳实践

摘要:PyTorch提供两种单机多卡训练方案:DataParallel(DP)和DistributedDataParallel(DDP)。DP采用单进程多线程模式,主卡负责参数更新,实现简单但负载不均衡;DDP采用多进程模式,各卡独立计算后同步梯度,效率更高但实现复杂。PyTorch Lightning可简化多卡训练实现。DP代码中只需用nn.DataParallel包装模型,DDP则需要初始化进程组并使用DistributedSampler进行数据分片。DDP推荐通过torchrun启动,自动处理进程管理

2025-07-26 08:00:00 1352

原创 Pytorch混合精度训练最佳实践

混合精度训练结合FP32和FP16计算,在保持模型精度的同时提升2-3倍训练速度,减少50%显存占用。其核心在于: 使用FP16加速计算,FP32保存参数 通过GradScaler动态调整损失缩放因子防止梯度下溢 关键实践包括: 梯度裁剪(1.0-10.0范围) 调整scaler参数(init_scale、growth/backoff因子) 强制关键计算(损失、BN层)使用FP32 PyTorch Lightning通过precision=16参数简化实现,同时支持自定义GradScaler配置。注意检查数

2025-07-25 10:17:20 2068

原创 PytorchLightning最佳实践日志篇

本文总结了PyTorch Lightning日志系统的最佳实践,包括:1)日志工具选择(本地调试用TensorBoard,协作用WandB);2)核心指标记录要点(损失、任务指标、训练状态);3)超参数管理技巧(save_hyperparameters自动记录);4)检查点保存策略(按最佳指标或周期保存);5)可视化日志方法(输入输出样本、权重分布)。特别强调了通过权重分布监控过拟合现象,正常应为钟形分布,异常分散或集中可能预示过拟合。这些方法能有效提升实验可复现性和问题排查效率。

2025-07-25 10:13:19 1307

原创 PytorchLightning最佳实践基础篇

PyTorch Lightning(PL)是一个基于PyTorch的高层框架,旨在简化深度学习训练流程。它通过标准化封装,将模型训练中的工程代码(如训练循环、分布式配置、日志管理等)与研究逻辑分离,使开发者能更专注于模型设计。PL的核心组件包括LightningModule(封装模型与训练逻辑)和Trainer(控制训练过程),支持分布式训练、混合精度等高级功能,并提供回调函数、日志记录等工具以提升可复现性和训练效率。通过示例展示了如何用PL快速构建MNIST分类模型,并自动处理训练流程。PL显著减少了冗余

2025-07-25 10:12:15 1378

原创 一文读懂深度模型优化器,掌握炼丹工具

摘要 深度模型优化器的发展围绕加速收敛、提升稳定性和增强泛化能力展开。从基础的随机梯度下降(SGD)开始,通过引入动量(如SGD with Momentum、Nesterov Momentum)解决震荡问题;再到自适应学习率优化器(如AdaGrad、RMSprop)针对参数差异调整步长;最终演变为综合一阶矩和二阶矩的Adam优化器,实现方向稳健与步长自适应的平衡。优化器的演进始终遵循四个核心目标:更快的收敛速度、更稳定的收敛效果、更泛化的拟合能力,以及更高效的计算性能。本文系统梳理了优化器的技术脉络,分析其

2025-07-22 22:10:57 1600

原创 一文读懂激活函数演变过程和MoE

摘要:激活函数是深度神经网络的核心组件,直接影响模型性能。本文分析了Transformer模型中激活函数的优化思路,重点关注训练稳定性、计算效率和任务适应性。介绍了基础激活函数(如ReLU、LeakyReLU、ELU)的优缺点,以及平滑激活函数(如GELU)的特点。GELU结合了ReLU和Dropout的思想,通过标准正态分布的累积分布函数实现平滑非线性,在Transformer模型中表现优异。文章还探讨了激活函数优化的方向,包括解决神经元死亡、增强非线性表达能力等,为模型设计提供参考。

2025-07-22 22:01:24 1472

原创 PySpark中python环境打包和JAR包依赖

PySpark环境打包与依赖管理解决方案 本文介绍了PySpark中打包Python环境并调度到集群的完整流程,包含两种环境打包方法(Conda/Virtualenv)和三种分发方案(HDFS上传、Docker容器、PySpark内置管理)。重点讲解了通过--archives参数分发环境包的具体操作步骤,以及在代码中配置Python解释器路径的方法。文章还详细说明了Spark配置的优先级规则和deploy-mode的配置逻辑,并提供了调用XGBoost和LightGBM模型的实践指南,包括依赖准备、Spar

2025-07-11 16:58:13 794

原创 PySpark原理和关键配置

PySpark是Spark的Python API,通过Py4J实现Python与JVM的交互,支持分布式数据处理。其核心架构包括Driver程序、Executor和集群管理器,数据通过pickle或Arrow序列化传输。PySpark依赖于Spark环境,FindSpark工具可简化环境配置。运行模式包括本地模式、Standalone、YARN和Kubernetes,需配置关键参数如内存、核心数等。环境变量如PYSPARK_PYTHON和SPARK_HOME对正确运行至关重要。

2025-07-11 16:56:51 544

原创 关于扩散模型多种条件引导策略的思考

本文探讨了扩散模型中分类器引导和分类器自由引导的实现差异。在DDPM中,分类器梯度被添加到后向过程的均值上,而DDIM则是通过减去分类器梯度来调整噪声预测。这种差异源于两种模型框架的不同:DDPM直接修正采样分布,而DDIM通过噪声预测间接引导生成方向。此外,DDIM分类器梯度需要乘以$\sqrt{1-\bar{\alpha}_t}$,以匹配噪声空间和样本空间的梯度转换关系。相比之下,CFG无需此类调整,因其直接利用条件和非条件模型的噪声预测差值进行线性组合。这些方法都旨在引导生成结果更贴合目标类别,但实现

2025-07-09 14:48:02 626

原创 一文读懂回溯算法:多种经典问题和思路

回溯算法是一种系统尝试所有可能解的深度优先搜索方法,适用于需要枚举所有解的决策问题。其核心框架包括:做选择、递归、撤销选择三个步骤。本文详解了回溯算法的原理、编程框架和典型应用,包括全排列、组合、子集、组合总和和N皇后等经典问题。每种问题都提供了Python实现代码,展示了如何通过状态表示、决策过程和剪枝策略高效解决问题。回溯算法特别适合解空间大但需要全部枚举的场景,关键在于合理设计选择列表和剪枝条件以提高效率。

2025-07-09 14:31:28 586

原创 一文读懂动态规划:多种经典问题和思路

本文系统介绍了动态规划算法的核心思想和股票买卖问题的通用解法框架。动态规划通过分解重叠子问题并存储中间结果实现高效求解,其关键要素包括最优子结构、状态定义、转移方程和初始条件。针对股票买卖问题,文章提出了统一的状态定义框架(dp[i][k][0/1]表示第i天最多k次交易时的最大利润),并详细分析了不同变体的状态转移方程和代码实现,包括交易次数限制(1次、2次、k次)、无限制交易以及含冷冻期的情况。通过空间优化技巧,这些解法都能在O(n)或O(nk)时间内高效解决问题。

2025-07-09 14:30:16 1563

原创 GLIDE生成模型深度解析:架构设计与训练机制

GLIDE是一种文本引导的扩散模型,专为高质量图像生成和编辑而设计。它通过分层扩散架构与语义融合技术,实现了高保真度、强可控性和多样性的图像生成。模型核心包括改进的ADM-U-Net和文本编码器,采用Classifier-Free Guidance技术平衡文本对齐与多样性。训练过程分两阶段:预训练文本条件生成模型和微调无条件生成能力。此外,GLIDE通过扩展输入通道支持图像修复功能,使其成为首个统一文本生成和编辑的扩散模型,为后续DALL-E 2等技术奠定了基础。

2025-07-09 14:26:21 842

原创 扩散模型噪声替换法–图像修复/时间序列缺失值填充/数据增强

摘要 扩散模型噪声替换法是一种创新的图像修复技术,利用扩散模型机制在反向去噪过程中巧妙融合已知区域信息。该方法通过将已知区域的真实加噪版本与模型预测的未知区域信息迭代混合,实现高质量修复。其核心在于:1)训练阶段仅需完整数据学习分布;2)推理阶段通过掩码引导,强制已知区域数据一致性;3)利用模型先验生成语义连贯的内容。该方法可扩展应用于时间序列缺失值填充和数据增强,展现了扩散模型在条件生成任务中的强大潜力。噪声替换法的优势在于无需针对性训练,仅通过改进采样策略即可实现精准修复。

2025-07-09 14:22:08 1714 1

原创 DDIM模型详解

DDIM(Denoising Diffusion Implicit Models)通过创新性地设计非马尔可夫前向过程和确定性后向过程,突破了传统扩散模型的效率瓶颈。其核心在于保持边缘分布不变的前提下,重构了扩散过程,允许在采样时跳过中间步骤,从而将生成速度提升10-100倍。该模型通过待定系数法推导出新的噪声预测公式,使得训练好的DDPM模型可直接用于DDIM采样,实现了理论严谨性与实践高效性的统一。这一突破为扩散模型的实际应用开辟了新路径。

2025-06-30 19:55:21 1529

原创 深度模型结构选择和应用分析

深度学习中,瘦高型(窄而深)结构已成为主流,在参数效率和层次化特征学习方面具有理论优势。研究表明,深而窄的网络能以指数级更少的参数实现相同的拟合能力。不同领域的最佳结构选择:图像处理采用极深CNN/ViT,NLP使用多层Transformer,时间序列预测则适合中等深度的TCN或时序Transformer。虽然矮胖型(宽而浅)结构理论上有通用逼近能力,但实践中效率低下。现代技术如残差连接已解决深度网络训练难题,使瘦高型结构成为解决方案的主流

2025-06-30 19:44:15 954

原创 离散变分自编码器(dVAE)详解(采用Gumbel Softmax)

离散变分自编码器(dVAE)是基于标准VAE的改进模型,其核心特点是将连续潜在空间离散化,从而更好地处理文本、类别标签等离散数据类型。dVAE通过引入Gumbel Softmax技巧解决离散采样不可导的问题,使梯度能够反向传播。模型架构包含编码器、解码器和离散潜在变量三部分,其中编码器输出离散变量的概率分布,解码器重建原始数据。损失函数采用变分下界(ELBO),包含重建损失和KL散度项。与VQ-VAE相比,dVAE使用概率表示和软量化,提供更强的可解释性,但训练速度较慢且对超参数更敏感。

2025-06-25 16:01:41 1533

原创 Gumbel Softmax原理详解

Gumbel Softmax是一种解决离散变量可微分采样的技术,通过引入Gumbel分布噪声和温度参数,将不可导的离散采样过程转化为可导的连续近似。其核心原理分为两个阶段:Gumbel-Max Trick提供数学等价采样方式,Gumbel-Softmax则通过带温度的softmax函数代替argmax实现梯度可传播。该方法广泛应用于VAE、离散序列生成、强化学习等需要优化离散变量的场景,有效解决了梯度无法反向传播的问题。

2025-06-25 15:52:06 1849 1

原创 Classifier-Free Guidance (CFG) 扩散模型详解

Classifier-Free Guidance (CFG)是一种无需额外分类器的条件扩散模型改进方法。它通过联合训练条件/无条件噪声预测网络,在推理时混合两者的预测结果来增强条件控制。具体实现是在训练时随机丢弃条件信息,使同一模型既能预测条件得分∇logp(x|y)也能预测无条件得分∇logp(x)。采样时通过线性组合这两种预测,用引导系数s调节条件控制强度。理论分析表明CFG隐含地实现了类似Classifier Guidance的效果,但避免了额外分类器的训练,使条件生成更稳定高效。

2025-06-13 09:00:00 2990

原创 Classifier Guided Diffusion 详解

本文详细解析了Classifier Guided Diffusion方法,该方法通过分类器梯度引导扩散模型生成过程。传统扩散模型缺乏定向控制能力,而该方法利用预训练分类器的梯度信息修正反向过程,使生成样本既符合数据分布又满足目标类别条件。数学上,该方法通过贝叶斯分解将条件生成转化为对无条件得分函数和分类器梯度的加权组合,并通过引导强度系数γ平衡控制力度与多样性。实现时需要训练噪声分类器,并在采样时修正噪声预测。

2025-06-13 08:30:00 1700

原创 Score-Based SDE(Stochastic Differential Equations)生成模型详解,以VP-SDE为例

Score-Based SDE模型通过随机微分方程描述数据生成过程,包括前向扩散和反向生成两个阶段。VP-SDE作为典型实现,其前向过程将数据渐变为高斯分布;反向过程通过逐步采样还原数据,本文从理论上证明了VP-SDE和DDPM的等价性,统一了对数梯度和噪声预测视角

2025-06-12 09:15:00 1535

原创 Score-Based SDE(Stochastic Differential Equations)生成模型详解

本文介绍了基于Score-Based SDE的生成模型原理与实现。该模型通过前向SDE将数据逐步扩散为噪声,再通过反向SDE结合分数函数进行生成。文章详细推导了VE-SDE的损失函数,并提供了PyTorch实现代码框架,包括SDE定义、评分网络结构、损失计算和采样过程。模型通过神经网络学习数据分布的分数(梯度)来指导生成过程,相比传统生成方法具有理论严谨性和高质量生成能力。

2025-06-12 09:00:00 1362

原创 CLIP多模态模型详解

CLIP是一种突破性多模态模型,通过对比学习将图像和文本映射到统一语义空间。其核心创新在于:双编码器架构(图像/文本)、零样本迁移能力、利用4亿互联网图文对预训练。相比传统CV模型,CLIP摆脱人工标注依赖,仅用文本描述即可推理。应用包括零样本分类、图文检索、图像生成引导等。局限性包括计算成本高、细粒度不足和数据偏差。作为多模态AI基石,CLIP推动了DALL-E等AIGC模型发展,开创了无监督预训练在多模态领域的新范式。

2025-06-11 21:56:25 1827

原创 对比学习(Contrastive Learning)方法详解

对比学习是一种自监督表示学习方法,通过拉近正样本对(相似数据)、推远负样本对(不相似数据)来学习数据特征。其核心在于编码器将输入映射到嵌入空间,使用相似度度量(如余弦相似度)衡量样本距离。关键损失函数包括Contrastive Loss(成对约束)、Triplet Loss(三元组边界)和InfoNCE Loss(多分类互信息最大化)。其中InfoNCE通过温度系数调节负样本权重,成为当前主流方法。对比学习通过数据增强构建正样本对,利用大量负样本防止特征坍缩,最终学习到具有判别性和不变性的数据表示。

2025-06-11 21:54:53 2035

原创 RevIN(Reversible Instance Normalization)及其在时间序列中的应用

时间序列预测,比如销量预测场景中,分布常常随着时间变化,non-stationary,为了解决这一问题,通常使用归一化方法,本文介绍了时间序列预测中常用的归一化方法,并对比了其他归一化方法,最后提供代码

2025-05-13 22:46:52 1749

原创 销量预测评估指标

销量预测的准确性对库存管理、成本控制和客户满意度至关重要。评估预测模型表现时,常用指标包括MAE、MSE/RMSE、MAPE、WAPE、SMAPE等,这些指标各有优缺点,适用于不同场景。MAE适合初步评估误差规模,RMSE对极端误差敏感,MAPE便于跨量级比较,WAPE适用于长尾分布数据,SMAPE对称处理预测值与实际值。偏差率评估指标如Bias、MPE、MdPE、WPE等,用于反映预测方向性偏差。业务中常用WAPE评估整体准确率,并可对其进行正负误差分解,以分别评估预测偏高和偏低的影响。根据实际业务需求,

2025-05-13 22:44:16 1524

原创 时间序列数据集增强构造方案(时空网络建模)

本方案通过创新的批处理机制,在传统时间序列预测框架中引入实体关系建模能力,为复杂业务场景提供了有效的解决方案。建议根据实际业务需求调整依赖关系定义策略,并通过可视化工具持续监控模型学习效果。

2025-05-07 21:44:30 1308

原创 时间序列数据集构建方案Pytorch

时间序列数据集的构建不同于图像、传统面板数据,其需要满足多实体、动态窗口、时间连续等性质,且容易产生数据泄漏。本文介绍了一种时间序列数据集的构建方法,可以高效地产生训练数据。

2025-05-07 21:41:20 1817

原创 扩散模型NCSN模型详解+代码

NCSN通过多级噪声和score matching方式拟合梯度场,避免了直接计算概率密度函数需要计算积分的困难,从而实现了去噪生成。

2025-04-28 09:00:00 942

原创 扩散模型DDPM模型详解+代码

扩散模型中的去噪扩散概率模型(Denoising Diffusion Probabilistic Models, DDPM)是一种基于逐步噪声添加和去噪的生成模型。DDPM通过定义一个前向噪声扩散过程(Forward Process)和一个反向去噪过程(Reverse Process)来建模数据分布。本文介绍了DDPM的直观理解和数学推导,最后给出代码

2025-04-28 08:15:00 3379

原创 VQ-VAE 模型详解

VQVAE的编码结果是一个离散序列而非连续型向量,即它可以将连续型或离散型的数据编码为一个离散序列,并且允许解码器通过这个离散离散来重构原始输入,这就如同文本的Tokenizer——将输入转换为另一个离散序列,然后允许通过这个离散序列来恢复原始文本——所以它被视作任意模态的Tokenizer。在梯度反向传播的过程中使用了梯度直通估计同时优化码本、encoder和解码质量

2025-04-27 09:30:00 4917

原创 Factor VAE模型详解

相比Beta-VAE,FactorVAE在于直接针对变量间依赖性进行优化,避免了全局KL缩放带来的信息损失,从而在解耦能力和生成质量间达到更优平衡。传统变分自编码器(VAE)通过最大化证据下界(ELBO)学习数据的潜在表示,但其潜在变量可能存在纠缠(entanglement),即单个变量控制多个特征。FactorVAE是一种旨在提升潜在变量解耦能力的生成模型,通过显式地减少潜在变量间的依赖性来实现。

2025-04-27 09:15:00 1273

原创 信息论核心概念详解

介绍了熵、条件熵、联合熵、互信息的概念和公式,对机器学习和深度学习的各种模型、损失函数有帮助

2025-04-26 16:01:45 1565

原创 Beta-VAE背景原理及解耦机制分析

Beta-VAE的代码和标准VAE基本一致,除了增加一个β系数,但是其对KL散度的分解和潜在空间的理解思想值得学习和思考,具体代码可以参考VAE博客内容。

2025-04-26 15:53:02 1626

原创 GAN模型在缺失值填充/图像修复的应用

摘要 GAN模型在缺失值填充任务中展现出显著潜力,主要应用于图像修复和时间序列数据补全。通过生成器(G)和判别器(D)的对抗训练,GAN能生成符合数据分布的合理填充值。常见方法包括: 原始GAN:输入随机噪声,优化生成数据与未缺失部分的匹配度; 带重建损失的GAN:生成器直接输入受损数据,通过L2损失约束未缺失区域的一致性; CycleGAN:引入双向生成器,利用循环一致性保证语义合理性。 这些方法在图像修复中可恢复细节,在时间序列中能处理传感器缺失或商品缺货场景,但需权衡模型复杂性与任务需求。

2025-04-26 15:48:20 1081

原创 强化学习系列之马尔可夫决策过程

在介绍马尔可夫决策过程之前,我们先介绍它的简化版本:马尔可夫过程(Markov process,MP)以及马尔可夫奖励过程(Markov reward process,MRP)。通过与这两种过程的比较,我们可以更容易理解马尔可夫决策过程。其次,我们会介绍马尔可夫决策过程中的策略评估(policy evaluation),就是当给定决策后,我们怎么去计算它的价值函数。

2025-04-19 22:27:33 835

原创 生成模型StackGAN模型详解

StackGAN通过分阶段生成和条件增强技术,有效解决了高分辨率图像生成的难题,尤其在文本到图像任务中实现了质量和多样性平衡。其核心在于将复杂问题分解为多个简单子问题,并通过对抗训练逐步优化。后续工作如StackGAN++进一步优化了多阶段生成结构。本文详细解释了StackGAN的原理,并给出代码

2025-04-19 09:15:00 1121

原创 生成模型CycleGAN模型详解

CycleGAN通过对抗训练和循环一致性约束,实现了无需配对数据的跨域图像转换。其核心创新在于循环一致性损失的引入,解决了无监督训练中的模式坍塌问题,同时结合PatchGAN提升生成细节。该模型在艺术风格迁移、数据增强等领域具有广泛应用。

2025-04-19 09:00:00 2561

SQL server 2008教程

高清SQL教程,以图书管理系统作为引导,介绍SQL server的主要内容

2018-01-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除