
DL
文章平均质量分 93
爱看烟花的码农
吉林大学大三学生
展开
-
联邦学习(Federated Learning, FL)
联邦学习是一个跨学科领域,融合了机器学习、分布式系统、隐私保护和优化理论。它的核心在于通过分布式协作训练模型,同时保护数据隐私和降低通信成本。深入理解联邦学习需要掌握其理论基础(如优化目标、Non-IID挑战)、核心算法(如FedAvg及其变种)、隐私机制(如差分隐私、安全聚合)、工程挑战(如通信效率、系统异构性)以及应用场景(如医疗、金融、物联网)。原创 2025-05-01 01:54:10 · 416 阅读 · 0 评论 -
卷积神经网络(Convolutional Neural Network, CNN)中的通道(Channels)
卷积层:通过卷积核数量改变通道数(),提取新特征。池化层:保持通道数不变,缩小空间尺寸。批归一化:归一化每个通道的特征分布,通道数不变。1x1卷积:调整通道数,融合通道信息。残差连接:确保通道数一致以进行相加,可能需要1x1卷积调整。原创 2025-04-29 01:17:27 · 654 阅读 · 0 评论 -
卷积神经网络(CNN)的非传统应用场景(非二维网格)
通过构造二维网格并映射特征到网格点,CNN可以处理非网格数据,如时间序列、文本、分子、事件等。关键是选择合适的“高度”和“宽度”,并设计有意义的特征度量。原创 2025-04-29 00:55:37 · 522 阅读 · 0 评论 -
特征金字塔网络(Feature Pyramid Network, FPN)
特征金字塔网络(FPN)是计算机视觉领域的一个里程碑式工作,通过高效的多尺度特征融合,显著提升了目标检测和分割任务的性能。其核心在于自底向上路径、自顶向下路径和横向连接的协同工作,兼顾了高分辨率和强语义信息。FPN的通用性和高效性使其成为许多现代检测框架的标配模块。原创 2025-04-29 00:22:20 · 643 阅读 · 0 评论 -
图(Graph)和 图神经网络(Graph Neural Networks, GNN)
图(Graph)是一种表示实体及其关系的数据结构,数学上定义为 G=(V,E)G = (V, E)G=(V,E),其中:图的类型包括:每个节点可以有特征向量 xv∈RFx_v \in \mathbb{R}^Fxv∈RF,表示节点的属性;边也可以有特征 euve_{uv}euv,表示关系的属性。图神经网络(Graph Neural Networks, GNN) 是一类专门设计用于处理图结构数据的神经网络。GNN通过利用图的拓扑结构(节点和边的连接关系),学习节点、边或整个图的表示(embedding),用原创 2025-04-28 22:46:59 · 542 阅读 · 0 评论 -
脉冲神经网络(Spiking Neural Networks, SNNs)
脉冲神经网络通过模拟生物神经元的行为,提供了低功耗、高效时序处理的能力。其核心包括LIF等神经元模型、频率/时间编码、STDP等学习规则,以及神经形态硬件实现。尽管训练复杂性和硬件限制是当前挑战,但代理梯度、ANN到SNN转换和新型芯片正在推动SNNs的发展。原创 2025-04-28 22:37:44 · 811 阅读 · 0 评论 -
变分自编码器(Variational Autoencoder, VAE)
想象你是一个艺术家,想画出无数张类似“猫”的图片,但你只有一堆猫的照片作为参考。直接复制这些照片太无聊,你希望能“理解”猫的本质,然后自由创作新的猫的形象。原创 2025-04-28 01:27:09 · 955 阅读 · 0 评论 -
半监督学习
半监督学习(Semi-Supervised Learning, SSL)是一种机器学习方法,结合了少量标注数据(labeled data)和大量未标注数据(unlabeled data)来训练模型。它介于监督学习(所有数据都有标签)和无监督学习(所有数据无标签)之间,旨在通过未标注数据的潜在结构信息提升模型的泛化能力。目标:学习一个模型 f:X→Yf: X \to Yf:X→Y,利用 DlD_lDl 和 DuD_uDu 最小化测试误差。半监督学习的有效性依赖于以下假设:这些假设确保未标注数据能提供有用的原创 2025-04-25 00:37:43 · 1001 阅读 · 0 评论 -
标签传播算法(Label Propagation Algorithm, LPA)
想象一个小型社交网络,比如一个班级里 5 个同学(节点),他们之间通过“朋友关系”(边)连接。有些同学(标记节点)已经明确表示了自己的兴趣,比如喜欢“篮球”或“音乐”。如果 A 和 B 是好朋友,A 喜欢篮球,那么 B 也很可能喜欢篮球。LPA 就是通过这种“朋友关系”把兴趣标签从已知的人传播到未知的人,直到整个网络的标签稳定。这个传播过程是迭代的最初,只有少数人知道“信息”(标签)。每个人会根据朋友的标签更新自己的标签(倾向于选择朋友中最常见的标签)。这个过程重复多次,直到大家的标签不再变化。原创 2025-04-27 12:30:19 · 408 阅读 · 0 评论 -
正则化(Regularization)
正则化是机器学习和深度学习不可或缺的技术,核心是控制模型复杂度,防止过拟合。掌握基础理论:理解 L1、L2、Dropout 等方法的数学原理和几何解释。实践优先:通过代码实现正则化(如 PyTorch、TensorFlow),观察对训练和测试性能的影响。调参经验:尝试不同正则化强度和组合,记录实验结果。阅读文献:深入学习经典论文,如 Dropout 原始论文(Srivastava et al., 2014)或标签平滑相关研究。关注前沿。原创 2025-04-25 17:50:25 · 547 阅读 · 0 评论 -
LoRA(Low-Rank Adaptation of Large Language Models)
矩阵低秩分解是指将一个大矩阵分解为两个或多个较小矩阵的乘积,这些较小矩阵的维度远低于原始矩阵,从而用更少的参数近似表示原始矩阵。矩阵的秩(Rank)矩阵的秩是矩阵中线性无关的行或列的最大数量,反映了矩阵的信息含量。例如,一个Rd×kRd×k的矩阵WWW,其秩rankW≤mindkrankW≤mindk。如果rankW≪mindkrankW≪mindk,我们称WWW为低秩矩阵,意味着它可用更少的参数表示。低秩分解的基本形式。原创 2025-04-26 22:40:23 · 956 阅读 · 0 评论 -
GRU(Gated Recurrent Unit,门控循环单元)
GRU是一种高效循环神经网络,通过更新门和重置门控制信息流动,有效捕捉长期依赖。相比传统RNN,GRU缓解了梯度消失问题;相比LSTM,GRU结构更简单,训练更快。GRU广泛应用于NLP、时间序列、语音处理等领域,是深度学习的重要工具。原创 2025-04-26 19:10:28 · 685 阅读 · 0 评论 -
Attention 机制 和 Transformer 模型
为了理解注意力机制(Attention)和Transformer模型,我们需要先了解它们出现的原因以及它们解决的问题。在Transformer出现之前,处理序列数据(如自然语言处理中的句子或时间序列)主要依赖循环神经网络(RNN)及其变种(如长短期记忆网络(LSTM)和门控循环单元(GRU))。这些模型按顺序处理序列数据,逐步更新隐藏状态。RNN的问题:这些问题促使研究者寻找更好的序列建模方法,从而催生了注意力机制和Transformer。注意力机制的核心思想是:让模型动态关注输入序列中对当前任务最重要的部原创 2025-04-26 19:02:58 · 566 阅读 · 0 评论 -
迁移学习(Transfer Learning)
迁移学习是一种机器学习技术,其核心思想是将从一个任务(通常是数据丰富的大规模任务)中学到的知识或模型,应用到另一个相关但数据较少的新任务上,以提高学习效率和性能。它特别适用于数据稀缺或标注成本高昂的场景。迁移学习的核心在于知识迁移。源任务(Source Task):通常有大量标注数据,模型在这个任务上已经训练得很好。目标任务(Target Task):数据量较少或任务较为特殊,需要利用源任务的知识来提升性能。迁移学习的目标是通过在源任务上学习到的特征、权重或模型,加速目标任务的训练或提升其性能。原创 2025-04-26 18:15:20 · 434 阅读 · 0 评论 -
torch.nn
torch.nn是 PyTorch 提供的一个模块化工具集,专为构建和训练神经网络设计。模块化:通过nn.Module基类,用户可以像搭积木一样组合各种层、激活函数和损失函数,构建复杂模型。动态计算图:PyTorch 的动态计算图(eager execution)允许在运行时定义和修改网络结构,适合研究和快速原型开发。灵活性与控制力:用户可以轻松自定义层、损失函数或前向传播逻辑,同时保留对底层张量操作的访问权限。易用性。原创 2025-04-25 20:33:30 · 1028 阅读 · 0 评论 -
PyTorch构建自定义神经网络
在深度学习任务中,PyTorch 提供了许多现成的模块(如)和损失函数(如),这些工具极大地方便了模型开发。研究创新:你在研究新的网络架构(如全新的注意力机制、特殊的正则化方式)或损失函数(如结合多种任务的复合损失)。特定任务需求:现有模块无法满足任务需求,例如需要设计针对特定数据的激活函数或层。深入理解:从头实现网络和损失函数有助于理解深度学习的底层原理,比如梯度计算、反向传播等。原创 2025-04-25 20:07:08 · 619 阅读 · 0 评论 -
torch.nn.functional
优先使用torch.nn:如果你需要快速搭建标准模型,追求代码简洁性和参数管理的自动化。使用:当你需要更高的灵活性、自定义操作,或者在研究和调试中需要更细粒度的控制。激活函数为神经网络引入非线性,是深度学习模型的核心组成部分。F提供了多种激活函数,如 ReLU、Sigmoid、Tanh 等。卷积操作是卷积神经网络(CNN)的核心,用于特征提取。F提供了底层的卷积函数,如conv1dconv2dconv3d。池化操作用于下采样,减少特征图的尺寸,同时保留重要信息。F提供最大池化和平均池化等。原创 2025-04-25 19:58:55 · 510 阅读 · 0 评论 -
大模型微调(Fine-tuning)
大模型微调是将通用模型适配到特定任务或领域的关键技术,涵盖全参数微调、参数高效微调、指令微调和领域适配等多种方法。微调的核心在于利用预训练模型的知识,通过任务特定数据优化性能,同时平衡计算资源、数据质量和模型泛化能力。微调(Fine-tuning)是指在预训练的大型语言模型(LLM)或大模型(如BERT、GPT、LLaMA等)基础上,通过在特定任务或领域的数据集上进行进一步训练,调整模型参数,使其更好地适应特定任务或场景的过程。大模型的微调基于迁移学习(Transfer Learning)的思想。原创 2025-04-25 19:15:48 · 695 阅读 · 0 评论 -
CLIP(Contrastive Language–Image Pretraining)
类比1:图书馆搜索系统想象一个图书馆,书籍(图像)和它们的简介(文本)需要被组织。CLIP就像一个智能图书管理员,通过学习书籍内容和简介的语义,将它们放在同一个“语义书架”上,匹配的书和简介靠得很近。当你输入一个简介(查询),CLIP能快速找到最匹配的书(图像)。类比2:翻译机图像和文本是两种不同的“语言”,CLIP像一个翻译机,将它们翻译成一个通用的“语义语言”(嵌入空间)。翻译后的表示可以直接比较,判断是否匹配。原创 2025-04-25 19:05:53 · 713 阅读 · 0 评论 -
Seaborn库
Seaborn是基于Matplotlib的Python数据可视化库,专为统计数据可视化设计,广泛应用于机器学习和深度学习的数据探索、特征分析和模型评估。简洁高效:用少量代码生成复杂统计图表。美观默认:提供现代化的主题和配色,适合学术论文和项目展示。Pandas集成:直接处理DataFrame,契合AI数据处理流程。统计支持:内置分布、回归和矩阵可视化,适合特征分析和模型评估。Seaborn的主题和配色简化了AI图表的美化。原创 2025-04-25 17:58:14 · 814 阅读 · 0 评论 -
Matplotlib库
模型评估:可视化混淆矩阵、ROC 曲线、损失曲线等,帮助分析模型性能。数据探索:绘制数据分布、特征相关性、降维结果(如 t-SNE),辅助数据预处理。结果展示:生成图像网格、特征重要性图,用于论文、报告或演示。灵活性:支持高度自定义,适合复杂的 ML/DL 实验需求。生态兼容:与 NumPy、Pandas、Scikit-learn、PyTorch、TensorFlow 等无缝集成。原创 2025-04-25 17:54:06 · 573 阅读 · 0 评论 -
集成学习(Ensemble Learning)
高精度:集成学习通常比单一模型表现更好。泛化能力强:通过降低方差和偏差,提升在新数据上的表现。灵活性:支持多种基模型和组合方式。鲁棒性:对噪声和异常值的处理能力较强(尤其 Bagging)。集成学习是机器学习中一种强大而通用的方法,通过组合多个弱学习器实现高精度和强泛化能力。Bagging:通过随机采样降低方差,代表算法是随机森林。Boosting:通过加权调整降低偏差,代表算法有 AdaBoost、XGBoost、LightGBM、CatBoost。Stacking。原创 2025-04-25 17:36:16 · 832 阅读 · 0 评论 -
Softmax 函数
Softmax 函数是一种归一化指数函数(Normalized Exponential Function),通常用于将一组实数(通常是模型的原始输出,称为logits)转换为一个概率分布。输出值在01[0, 1]01范围内,且所有输出值的和为 1。σziezi∑j1nezjσzi∑j1nezjeziSoftmax 是一个将 logits 转换为概率分布的函数,广泛用于多分类任务。原创 2025-04-25 17:27:05 · 393 阅读 · 0 评论 -
矩阵运算与求导全面教程
矩阵运算与矩阵求导是机器学习、强化学习、数值计算、量子计算、机器人学等领域的核心数学工具。本教程从基础概念出发,逐步深入高级主题,结合理论推导、编程实现、跨领域应用和数值优化技巧,旨在帮助读者全面掌握矩阵相关知识,并灵活应用于实际问题。矩阵是一个按行和列排列的数字阵列,通常表示为:A=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \原创 2025-04-25 17:20:11 · 835 阅读 · 0 评论 -
PyTorch 深度学习入门与实践指南
PyTorch 是一个开源的深度学习框架,由 Facebook AI 研究团队开发,基于 Python 和 C++,以其灵活性和易用性在学术界和工业界广受欢迎。动态计算图(Eager Execution)PyTorch 使用动态计算图(也称为“即时执行”),与 TensorFlow 的静态计算图不同。动态计算图允许在运行时定义和修改网络结构,非常适合研究和调试。优点:代码直观,调试方便,适合快速原型开发。示例:你可以在训练过程中动态改变网络结构,比如根据输入数据调整层数。高性能与 GPU 加速。原创 2025-04-25 14:34:58 · 831 阅读 · 0 评论 -
SMOTE(Synthetic Minority Over-sampling Technique,合成少数类过采样技术)
SMOTE是一种经典且强大的处理不平衡数据集的方法,通过在少数类样本之间插值生成合成样本,显著提高了模型对少数类的预测能力。其核心优势在于生成的样本多样性,避免了简单复制样本导致的过拟合问题。然而,SMOTE也有局限性,如对噪声敏感、边界模糊等,因此衍生了许多变体(如Borderline-SMOTE、ADASYN、SMOTE-ENN)来解决这些问题。原创 2025-04-25 14:28:42 · 649 阅读 · 0 评论 -
优化器(Optimizer)
在深度学习中,优化器(Optimizer)是一种用于更新神经网络参数的算法,目的是最小化损失函数(Loss Function)。损失函数衡量了模型预测值与真实值之间的差距,而优化器的任务是通过调整模型参数(如权重和偏置),使损失函数的值尽可能小。优化过程可以看作是在高维参数空间中寻找损失函数的最优解(通常是最小值)。优化器通过迭代的方式,根据损失函数的梯度(Gradient),逐步更新参数。优化器是深度学习训练的核心,PyTorch 提供了丰富的优化器实现(如 SGD、Adam、AdamW)。原创 2025-04-25 14:14:31 · 853 阅读 · 0 评论 -
模型评估——量化模型在特定任务上的表现
模型评估是机器学习的核心环节,涉及数据划分、指标选择、方法设计和问题排查。分类任务关注混淆矩阵、精确率、召回率、AUC等;回归任务关注MSE、RMSE、R²等;生成模型和NLP任务有特定的指标如FID、BLEU。评估流程包括数据准备、训练验证、测试评估和结果分析,需警惕数据泄露、类别不平衡等问题。进阶话题如可解释性、公平性和不确定性量化在实际应用中越来越重要。原创 2025-04-25 14:06:19 · 749 阅读 · 0 评论 -
BERT(Bidirectional Encoder Representations from Transformers)
BERT(Bidirectional Encoder Representations from Transformers)是由Google在2018年10月提出的一个预训练语言模型,发表在论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》中。它的核心创新在于双向上下文建模,突破了之前语言模型(如Word2Vec、GloVe、ELMo等)在捕捉单词上下文时的局限性。原创 2025-04-25 13:54:57 · 784 阅读 · 0 评论 -
损失函数(回归、分类、生成等)
损失函数(也称为目标函数或代价函数)是衡量模型预测值y\hat{y}y与真实值yyy之间差异的函数,通常表示为LyyLyy。其目标是提供一个标量值,用于评估模型性能并指导优化过程。单样本损失:针对单个数据点的预测误差。总损失Jθ1N∑i1NLyiyi;θ其中,θ\thetaθ是模型参数,NNN是样本数量。原创 2025-04-25 13:52:38 · 589 阅读 · 0 评论 -
Token——从文本分词单元,扩展到图像、音频、视频等模态的离散表示
在NLP中,token是文本处理的最小单位,通常是将输入文本分割成离散的片段。单词(如“apple”)子词(如“playing”被分割为“play”和“##ing”)字符(如中文中单个汉字)符号(如标点符号、特殊字符)Tokenization(分词)是NLP的第一步,目的是将连续的文本分解为模型可以处理的离散单元。输入句子:“I love to play football.”原创 2025-04-25 13:49:49 · 861 阅读 · 0 评论 -
生成模型(VAE、GAN与DDPM)
VAE结合深度学习和贝叶斯推断,通过编码-解码结构学习数据的潜在分布。它假设数据由潜在变量zzz生成,并使用变分推断近似后验分布。GAN通过生成器和判别器的对抗训练,生成与真实数据分布一致的样本。生成器从噪声生成样本,判别器区分真实和生成样本。DDPM通过模拟数据加噪和去噪过程,学习生成与训练数据一致的样本。它在图像生成中表现优异,生成质量高且多样。VAE:稳定、理论强,但生成样本模糊。GAN:生成样本清晰,但训练复杂。DDPM:生成质量高、样本多样,但生成速度慢。原创 2025-04-25 01:32:48 · 265 阅读 · 0 评论 -
K 折叠交叉验证
K 折交叉验证是机器学习中评估模型性能的黄金标准,它通过多次划分数据集,充分利用数据,减少评估偏差,提供可靠的性能估计。它的核心在于平衡训练集大小、测试集代表性和计算成本。步骤:将数据分为 K 折,循环训练和测试,平均性能指标。优点:数据高效利用、结果稳定、泛化能力评估。缺点:计算成本高、可能受数据分布影响。变种:分层 K 折、留一法、重复 K 折等。应用:模型选择、超参数调优、特征选择等。原创 2025-04-25 00:47:18 · 680 阅读 · 0 评论 -
多任务学习
定义:多任务学习(Multi-Task Learning, MTL)是指在一个模型中同时学习多个相关任务,通过共享表示(representation)或参数,联合优化任务的损失函数,从而提升每个任务的性能、泛化能力和计算效率。形式化表达假设有TTT个任务,每个任务ttt对应数据集Dtxityiti1NtDt{(xityiti1Nt,其中xitxit是输入,yityit是标签。minθθ。原创 2025-04-25 00:29:42 · 578 阅读 · 0 评论 -
Pytorch中的Dataset和DataLoader
核心要点Dataset定义数据访问,是关键。DataLoader自动化批量加载,支持打乱和并行。CNN需要图像预处理(如transforms),RNN/LSTM需要序列处理(如进阶学习学习实现数据划分。探索或处理大规模数据。研究分布式数据加载()用于多GPU训练。资源推荐教程:PyTorch Data Loading Tutorial(官网)社区:PyTorch论坛、StackOverflow。原创 2025-04-25 00:14:14 · 893 阅读 · 0 评论 -
Batch Size
Batch Size(批大小)是指在深度学习模型训练过程中,每次前向传播和反向传播时输入到模型中的样本数量。具体来说,深度学习模型的训练通常基于梯度下降(Gradient Descent)算法,而batch_size决定了每次迭代(iteration)中用于计算梯度和更新模型参数的样本数量。Batch_size是深度学习训练中的一个核心超参数,它在梯度估计、计算效率、内存占用和模型性能之间起到平衡作用。定义:batch_size是每次迭代中用于计算梯度和更新参数的样本数量。作用。原创 2025-04-21 22:43:22 · 850 阅读 · 0 评论 -
ResNet 教程:理解并实现针对 CIFAR-10 的残差网络
ResNet 由何凯明等人在 2015 年的论文中提出,解决了训练非常深的神经网络的挑战。传统深层网络面临梯度消失和退化问题(随着深度增加,准确率饱和或下降)。ResNet 通过残差学习解决了这些问题,使得具有数百甚至上千层的网络成为可能。原创 2025-04-19 01:44:25 · 873 阅读 · 0 评论 -
CNN实现简易教程
卷积层的输出尺寸是设计网络时必须掌握的。为了让你更好地理解CNN的设计和实现,我们以MNIST手写数字数据集(10类,28x28灰度图像)为例,设计一个简单的CNN,并详细讲解每个步骤。将最后的池化层替换为全局平均池化(Global Average Pooling),将特征图直接平均为 ([batch_size, channels, 1, 1]),减少参数量。以下是通用的设计步骤,结合MNIST的经验进行说明。在开始实践之前,我们先快速回顾CNN的核心组件和设计原则,这将帮助你理解后续的代码和设计决策。原创 2025-04-16 13:52:58 · 989 阅读 · 0 评论 -
RNN概述
循环神经网络(Recurrent Neural Network, RNN)是一类专门处理序列数据的神经网络。与传统的前馈神经网络(Feedforward Neural Network)不同,RNN通过引入循环结构,使其能够记住之前的输入信息,从而在处理时间序列或序列数据时具有“记忆”能力。自然语言处理(NLP):如机器翻译、文本生成、情感分析。时间序列分析:如股票价格预测、语音信号处理。视频序列分析:如动作识别。原创 2025-04-16 02:11:30 · 1005 阅读 · 0 评论 -
LSTM概述
在深度学习中,普通的神经网络(如全连接网络或卷积神经网络)在处理序列数据时表现不佳,因为它们无法捕捉数据中的时间依赖关系。记忆单元是LSTM的核心,它像一条“传送带”,贯穿所有时间步,负责存储和传递长期信息。Cell State通过门控机制进行更新,确保模型能够记住关键信息(如句子的主语)并遗忘无关信息。具体推导涉及链式法则,较为复杂,但核心是门控机制通过sigmoid和tanh函数限制了梯度范围,缓解了梯度消失问题。(Cell State),能够选择性地记住或遗忘信息,从而有效建模长期和短期依赖。原创 2025-04-16 01:48:14 · 1029 阅读 · 0 评论