- 博客(765)
- 资源 (3)
- 收藏
- 关注
原创 Transformer实战(31)——解释Transformer模型决策
在本节中,我们讨论了人工智能面临的最重要问题之一:可解释人工智能 (explainable artificial intelligence, XAI)。随着语言模型的不断发展,可解释性成为一个严峻的问题。本节中,我们从 Transformer 的角度出发,解释了 Transformer 架构的决策过程,使用了两种模型无关的方法:LIME 和 SHAP。通过这两种技术,我们尝试解释模型在简单的文本分类过程中如何赋予输入(单词)不同的权重。
2025-12-14 10:34:29
1094
40
原创 PyTorch实战(16)——基于LSTM实现音乐生成
本节我们将介绍音乐生成,利用 PyTorch 构建能够创作类古典音乐的机器学习模型。在本节中,我们将采用长短期记忆网络 (Long Short-Term Memory, LSTM) 来处理序列化音乐数据,介绍构建人工智能音乐生成模型的完整流程,重点展示 PyTorch 在数据加载、模型训练和音乐样本生成中的应用。
2025-12-11 11:42:55
1280
51
原创 Transformer实战(30)——Transformer注意力机制可视化
在本节中,我们讨论了人工智能面临的最重要问题之一:可解释人工智能 (explainable artificial intelligence, XAI)。随着语言模型的不断发展,可解释性成为一个严峻的问题。本节中,我们从 Transformer 的角度出发,研究了 Transformer 架构中的自注意力机制,尝试通过各种可视化工具理解这些机制的内部过程。
2025-12-10 08:36:41
877
17
原创 PyTorch深度学习实战(49)——扩散模型(Diffusion Model)详解与实现
扩散模型通过正向过程逐步向图像添加噪声,再通过逆向过程逐步去噪以生成高质量图像。本节以花卉图像生成为例,详细阐述了扩散模型的数学原理、U-Net 架构及其在去噪中的应用,包括注意力机制和跳跃连接的作用。同时,提供了完整的 PyTorch 实现流程,涵盖数据预处理、模型构建、训练及图像生成步骤,展示了从随机噪声逐步生成清晰花卉图像的过程。
2025-12-10 08:21:25
938
28
原创 PyTorch实战(15)——基于Transformer的文本生成技术
本节系统介绍了基于 Transformer 架构的文本生成技术。首先通过 PyTorch 构建并训练了 Transformer 语言模型,展示了从模型训练、保存到文本生成的全流程。随后引入预训练模型 GPT-2,详细解析了贪婪搜索、束搜索、Top-k 和 Top-p 等文本生成策略的特点与实现方法,其中 Top-p 采样在保持语义连贯性的同时展现出更好的创造性。最后通过 OpenAI API 演示了 GPT-3 的强大生成能力,实验表明,随着模型规模的扩大和生成策略的优化,文本生成质量显著提升。
2025-12-08 08:54:13
1181
45
原创 Transformer实战(29)——大语言模型(Large Language Model,LLM)
在本节中,我们介绍了大语言模型 (Large Language Model, LLM) 的概念。我们探讨了类似 T5 的模型如何在给定不同提示时生成多样化的响应。此外,我们成功地使用参数高效微调 (Parameter Efficient Fine-Tuning, PEFT) 和量化技术训练了开源语言模型 LLaMA。
2025-12-05 08:36:42
1092
53
原创 PyTorch实战(14)——图注意力网络(Graph Attention Network,GAT)
本节介绍了图注意力网络 (Graph Attention Network, GAT) 在节点分类任务中的应用。相比图卷积网络 (GCN) 的平均聚合机制,GAT 通过引入注意力机制,能够为不同邻居节点分配差异化权重,从而更精准地捕捉图结构信息。实验表明,GAT 在 CiteSeer 数据集上的分类准确率达到 71.1%,较 GCN 提升 2.5 个百分点。可视化结果显示,GAT 学习到的节点表征具有更好的类别区分度。这验证了注意力机制在图数据建模中的有效性,为处理复杂图结构任务提供了更优解决方案。
2025-12-02 11:39:23
1146
49
原创 生成模型实战 | BERT详解与实现
BERT (Bidirectional Encoder Representations from Transformers) 是 Google 在提出的预训练语言模型,它通过 Transformer 编码器结构和掩码语言模型 (Masked Language Model, MLM) 任务,实现了真正的双向上下文理解。在本节中,我们将学习如何从零开始训练自编码语言模型。训练过程包括模型的预训练和针对特定任务的训练。首先,学习 BERT 模型及其工作原理,然后,使用一个简单的小型语料库来训练语言模型。
2025-11-30 14:42:17
1513
100
原创 Transformer实战(28)——使用 LoRA 高效微调 FLAN-T5
本节内容详细介绍了如何使用参数高效微调 (Parameter Efficient Fine-Tuning, PEFT) 方法中的低秩适配 (Low-rank Adaptation, LoRA) 和量化 LoRA (quantized LoRA, QLoRA) 技术,对 FLAN-T5 模型进行高效微调,以解决自然语言推理 (NLI) 问题任务。LoRA 和 QLoRA 在保持模型性能的同时,显著提升了训练效率和资源利用率,尤其适合资源受限的场景。实验结果表明,PEFT 方法在大语言模型应用中具有重要价值。
2025-11-28 08:57:54
1036
81
原创 PyTorch实战(13)——图卷积网络(Graph Convolutional Network,GCN)
图卷积网络 (Graph Convolutional Network, GCN) 模型能够同时结合节点级特征和图级(邻域)信息进行分类,显著提升了图数据建模能力,适用于节点分类、图分类等多种任务。本节中,我们通过 PyTorch Geometric 库在 CiteSeer 图数据集上构建模型,们首先用前馈神经网络作为基线模型完成节点分类任务,随后用 GCN 模型替代前馈网络显著提升了分类准确率。
2025-11-26 15:30:37
784
37
原创 PyTorch实战(12)——图神经网络(Graph Neural Network,GNN)
在本节中,我们首先简要概述了图神经网络 (Graph Neural Network, GNN) 的核心概念与应用,GNN 通过构建计算图分层聚合节点特征,解决了传统神经网络处理图数据时的四大局限:信息深度不足、节点顺序敏感、动态扩展困难和特征稀疏性问题。了解了不同类型的图学习任务(包括节点级、边级和图级三大类)。接着我们研究了几种流行的 GNN 模型,包括:GCN (通过权重共享实现图卷积)、GAT (引入注意力机制区分邻居重要性)和 GraphSAGE (采用随机采样应对大规模图)。
2025-11-26 08:35:41
1227
77
原创 Transformer实战(27)——参数高效微调(Parameter Efficient Fine-Tuning,PEFT)
在本节中,我们讨论了如何利用参数高效微调 (Parameter Efficient Fine-Tuning, PEFT) 使微调过程更加高效。我们介绍了三种不同的 PEFT 方法:加性、选择性和低秩方法。使用 adapter-transformers 和 Hugging Face 的 PEFT 框架进行实践,解决了文本分类任务,在不需要训练整个语言模型的情况下,实现了相近的性能,并节省了大量时间。
2025-11-24 08:46:16
1106
82
原创 视觉Transformer实战 | Token-to-Token Vision Transformer(T2T-ViT)详解与实现
Vision Transformer (ViT) 在计算机视觉领域取得了巨大成功,但标准的 ViT 存在一些局限性,如需要大规模预训练数据、对局部结构建模不足等。Token-to-Token ViT (T2T-ViT) 通过引入渐进式分词过程改进了原始 ViT,使其能够在中小型数据集上取得更好的性能。本节将详细介绍 T2T-ViT 的技术原理,并使用 PyTorch 从零开始实现 T2T-ViT。
2025-11-21 10:04:56
4040
73
原创 PyTorch实战(11)——随机连接神经网络(RandWireNN)
神经架构搜索 (NAS) 是深度学习一个热门领域,与面向特定任务的自动机器学习 (AutoML) 领域高度契合。AutoML 通过自动化数据集加载、架构设计和模型部署,显著降低了机器学习应用门槛。不同于传统人工设计网络结构,我们将实现一种通过架构生成器自动寻找最优拓扑的新型网络——随机连接神经网络 (RandWireNN),RandWireNN 基于自动搜索最优架构的思想,通过随机图生成算法构建网络拓扑。在本节中,我们将探索 NAS,并使用 PyTorch 实现 RandWireNN 模型。
2025-11-19 08:20:13
1137
86
原创 Transformer实战(26)——通过领域适应提升Transformer模型性能
本节探讨了通过领域适应技术提升 Transformer 模型在特定任务中性能的方法。实验表明,在 IMDB 数据集上,经过领域适应的 BERT 模型相比原始 BERT 在情感分析任务中取得了全面提升。领域适应通过缩小预训练与目标领域的数据分布差异,显著提升了模型泛化能力。
2025-11-17 08:36:06
1071
76
原创 PyTorch实战(10)——从零开始实现GPT模型
GPT-2 是由 OpenAI 开发的大语言模型 (LLM)。它标志着自然语言处理 (NLP) 领域的一个重要里程碑,并为更复杂的模型的发展奠定了基础。在本节中,我们将学习如何从零开始构建 GPT-2XL,这是 GPT-2 的最大参数量版本。之后,从 Hugging Face 提取预训练的权重,并将其加载到自定义的 GPT-2 模型中。使用自定义 GPT-2 模型输入提示 (prompt) 来生成文本。此外,我们可以通过使用温度 (temperature) 参数和 top-K 采样来控制生成文本的创意性。
2025-11-14 09:41:16
1414
74
原创 TensorFlow深度学习实战(9)——卷积神经网络应用
在卷积神经网络 (Convolutional Neural Network, CNN) 一节中,我们已讨论了 CNN,CNN 架构能够有效用于图像分类任务中。基本的 CNN 架构可以通过多种方式组合和扩展,以解决各种更复杂的任务。在本节中,我们将研究目标检测、图像分割等计算机视觉任务,并展示如何通过将 CNN 转换为更大、更复杂的架构来解决这些任务。
2025-11-14 08:45:00
1254
11
原创 TensorFlow深度学习实战(43)——TensorFlow.js
TensorFlow.js 是一个强大的工具,使得开发者能够在 JavaScript 环境中进行深度学习的训练与推理。它的主要优势在于能够直接在浏览器和 Node.js 环境中运行,极大地简化了 Web 应用中的机器学习集成。在本节中,我们介绍了如何在原生 JavaScript 和 Node.js 中使用 TensorFlow.js。
2025-11-12 08:30:00
1696
56
原创 TensorFlow深度学习实战——胶囊网络
胶囊网络 (CapsNet) 是一种新型神经网络,解决了传统 CNN 因池化操作丢失空间信息的问题。它通过胶囊向量同时表示特征存在和位置关系,采用动态路由机制根据预测一致性选择信息传递路径,取代了传统的池化方法。这种设计使 CapsNet 在识别重叠数字等复杂任务上表现优于 CNN,其典型结构包含卷积层、主胶囊层和数字胶囊层。
2025-11-11 15:45:00
940
13
原创 TensorFlow深度学习实战(42)——TensorFlow生态系统
在本节中,我们将学习 TensorFlow 生态系统的不同组件,包括 TensorFlow Hub、TensorFlow Datasets、TensorFlow JS 和 TensorFlow Lite 等。详细介绍 TensorFlow Hub,一个用于预训练深度学习模型的仓库,以及 TensorFlow Datasets,一个提供预定义数据集的集合。我们还将介绍 TensorFlow Lite,一个用于移动和边缘设备的开源深度学习框架。
2025-11-11 11:19:57
996
3
原创 基于连续随机变量互信息最大化的无监督学习
本文,探讨了连续随机变量的互信息估计问题,重点介绍了 MINE 方法。MINE 通过神经网络参数化函数 T,利用 KL 散度的 Donsker-Varadhan 表示来估计互信息,并给出了参数化下界。通过二元高斯分布案例验证了 MINE 估计结果与解析计算高度一致,证明了其有效性。随后,将 MINE 应用于 MNIST 无监督聚类,通过最大化图像及其变换版本的潜在编码间互信息进行学习,并使用线性分类器对连续潜向量进行分类。
2025-11-10 13:06:41
783
9
原创 Transformer实战(25)——自动超参数优化提升Transformer模型性能
本文首先介绍了的超参数与训练中自动学习的参数之间的区别,并列举了常见的模型结构超参数和训练控制超参数。接着概述了超参数调优的三种策略:网格搜索、随机搜索和基于概率模型的贝叶斯优化。最后,以 Optuna 框架默认的 TPE 算法为例,演示了如何定义学习率和批大小的搜索空间、配置 Trainer 并调用 hyperparameter_search 执行超参数优化。
2025-11-10 09:20:45
1679
69
原创 使用互信息进行无监督学习
深度学习中的一个经典问题是监督分类,监督分类需要带标注的输入图像。我们已经学习了如何在 MNIST 和 CIFAR10 数据集上执行分类任务,这两个数据集均属于已标注数据集。与监督学习不同,本节的目标是实现无监督学习。我们关注的是无标注条件下的分类问题。核心思路是:如果能够学会对所有训练数据的潜编码向量进行聚类,那么通过线性分割算法即可对每个测试输入数据的潜向量进行分类。
2025-11-09 10:06:08
1017
11
原创 Transformer实战——指令微调嵌入模型
传统文本表示模型在跨领域、多任务场景中常因“相似性”定义差异而受限。指令微调通过动态任务指令,使单一模型灵活适配不同需求。以 Instructor 模型为例,其核心在于指令模板设计:用户通过指定文本类型和任务目标,即可生成任务定制的嵌入。在本节中,我们将介绍指令微调嵌入。指令微调嵌入不仅关注文本的表示,还使我们能够利用指令进行处理。
2025-11-09 07:56:28
704
3
原创 无监督学习与互信息
在机器学习中,获取大量高质量标注数据成本高昂。为解决此问题,无监督学习利用丰富的无标注数据成为研究重点。其中,互信息是衡量两个随机变量之间依赖关系的关键指标,能够捕捉非线性统计关联,非常适合处理非结构化数据。通过最大化神经网络中变量间的互信息,可以有效地从无标注数据中提取有用信息,提升模型在下游任务(如分类)的性能。互信息与熵密切相关,其值等于联合分布与边缘分布乘积间的KL散度,也可通过熵与条件熵的差值得出,具有对称性,并反映了已知一个变量后另一个变量不确定性的减少。
2025-11-08 08:30:00
1736
4
原创 语义分割详解与实现
语义分割是一种计算机视觉技术,旨在对图像中的每个像素进行分类,将属于同一对象类别的所有像素标记为相同类别,而不区分同一类别中的不同个体。与目标检测使用边界框定位不同,语义分割通过逐像素分类实现精细分割,广泛应用于医学影像、卫星图像分析等领域。其网络架构通常基于全卷积网络,结合特征金字塔与上采样操作,输出与输入尺寸相同的像素级分类结果。训练过程采用交叉熵损失函数和 Adam 优化器,并通过平均交并比和像素准确率等指标评估模型性能。
2025-11-07 14:59:36
1106
6
原创 Transformer实战(24)——通过数据增强提升Transformer模型性能
数据增强是一种简单而有效的方法,能够通过扩充和多样化训练数据,显著提升 Transformer 模型在自然语言处理 (Natural Language Processing, NLP) 任务中的性能,尤其在数据稀缺或多样性不足的场景下具有重要价值。本文首先介绍了数据增强的基本概念及其在深度学习中提高模型准确性的重要性,然后分析了字符级、词级和句子级三种不同粒度的数据增强方法,并以 IMDb 情感分类任务为例,使用 nlpaug 库演示了多种数据增强技术的具体实现,提升模型表现。
2025-11-07 08:13:31
1390
76
原创 目标检测模型SSD详解与实现
本文介绍了基于 Keras 的 SSD 实时目标检测技术的原理与实现。SSD 通过单次前向传播即可完成目标检测,在现代 GPU 上可实现实时检测,且支持端到端训练。详细阐述了 SSD 的损失函数设计,包括类别预测的交叉熵损失(或改进的焦点损失)和偏移量预测的平滑 L1 损失,以解决类别不平衡问题。SSD 模型架构采用 ResNet 等预训练网络作为骨干网络进行特征提取,并通过多尺度特征图预测不同尺寸的锚框类别和偏移量。此外,还提供了使用 Keras 实现 SSD 模型的完整代码。
2025-11-06 14:47:51
677
16
原创 目标检测基础
目标检测是计算机视觉的核心任务,需同时对图像中的物体进行定位与识别。传统方法存在速度慢、精度低等问题,而深度学习显著推动了该领域发展,使实时高精度检测成为可能。检测的核心是为每个物体预测边界框坐标和类别标签。为实现高效检测,引入了锚框机制,通过预设多尺度、多宽高比的候选区域,缩小预测偏移量,提升定位精度。训练时,通过计算锚框与真实边界框的交并比 (IoU) 确定正负样本,并基于此生成类别标签和坐标偏移量作为监督信号。该方法提升了检测器对多尺度目标和复杂场景的鲁棒性。
2025-11-06 09:34:59
758
2
原创 视觉Transformer实战——Vision Transformer(ViT)详解与实现
在计算机视觉领域,卷积神经网络 (CNN) 长期以来一直是处理图像任务的主流架构。然而,随着 Transformer 在自然语言处理领域的巨大成功,研究人员开始探索将这种基于自注意力机制的架构应用于视觉任务。Vision Transformer (ViT) 是这一探索的重要里程碑,它首次证明了纯 Transformer 架构在图像分类任务上可以超越最先进的 CNN 模型。本文将详细介绍 ViT 的技术原理,并使用 PyTorch 从零开始构建 ViT 模型用于图像分类任务。
2025-11-05 08:51:40
4823
61
原创 生成模型实战 | β-VAE详解与实现
本文介绍了 β-VAE 的实现及其在潜空间解耦表征中的应用。通过在 VAE 的 KL 散度损失项前引入大于 1 的权重系数 β,β-VAE 能够强制潜编码学习相互独立的特征,从而实现对生成属性的独立控制。详细阐述了 β-VAE 的核心公式、网络架构及训练过程,并在 MNIST 数据集上进行了实验验证。结果显示,模型成功将数字的倾斜角度和笔画粗细等特征解耦到不同的潜维度上,证明了 β-VAE 在潜空间解耦方面的有效性。
2025-11-04 17:01:26
860
15
原创 使用Keras实现策略梯度法
本文介绍了四种策略梯度方法( REINFORCE、带基线的 REINFORCE、演员-评论家、优势演员-评论家)在连续动作空间环境 MountainCarContinuous-v0 中的统一实现。核心方案是构建共享编码器的策略网络和价值网络:策略网络通过高斯分布预测动作,价值网络评估状态价值。使用统一的损失函数结构封装不同算法的梯度计算差异——性能梯度通过对数概率损失函数整合,价值梯度通过值损失函数处理。
2025-11-04 14:43:57
1043
原创 优势演员-评论家(Advantage Actor-Critic,A2C)算法详解与实现
本文介绍了强化学习中的优势演员-评论家 (A2C) 算法。A2C 在演员-评论家框架基础上,通过三个关键改进提升性能:采用回合制更新替代同策略学习,使用优势函数(即回报与状态价值预测的差值)更精准地评估行动价值,并利用均方误差优化价值网络。此外,算法引入策略熵正则项以鼓励探索,防止策略过早收敛。文中还详述了 A2C 与相关算法的核心差异,并使用 Keras 给出了具体实现。
2025-11-03 16:17:26
1350
13
原创 Transformer实战——使用BERTopic进行主题建模
主题词是指在语义空间中,与主题向量接近的词汇。在本节中,我们没有对语料库进行聚类,而是将该技术应用于整个语料库。在使用 SBERT 进行文本聚类与语义搜索一节中,我们通过选择与聚类中心最接近的句子来分析聚类。在本节中,我们学习如何通过将主题模型分别应用于每个聚类来找到主题。
2025-11-03 08:26:21
1435
48
原创 演员-评论家(Actor-Critic)算法详解与实现
本文介绍了强化学习中的演员-评论家 (Actor-Critic) 方法,它是对带基线 REINFORCE 算法的改进。该方法包含两个核心网络:策略网络作为“演员”负责选择动作,价值网络作为“评论家”评估动作的优劣。关键创新在于使用时序差分误差来同时指导两个网络的更新,这一机制结合了自举法,能有效降低方差并加速学习。演员-评论家方法支持同策略学习,每一步都可同步训练策略网络和价值网络。最后给出了算法的 Keras 实现,展示了如何通过 delta 误差和折扣因子来更新网络参数。
2025-11-02 13:00:00
1367
2
原创 TensorFlow深度学习实战——自定义图神经网络层
我们已经学习了如何构建并训练图神经网络 (Graph Neural Network, GNN) 以解决常见的图机器学习任务。实现过程中,我们选择使用预构建的 Deep Graph Library (DGL) 图卷积层,但针对具体问题,我们可能会需要 DGL 库中未提供的网络层。DGL 提供了一个消息传递 API,用于构建自定义图神经网络层。在本节中,我们将介绍如何使用消息传递 API 构建自定义图卷积层。
2025-11-02 08:28:29
1292
3
原创 PyTorch生成式人工智能——MUNIT详解与实现
本文介绍了基于风格的生成对抗网络 MUNIT,它是一种无需成对数据的图像到图像转换模型。MUNIT 的核心思想是将图像解耦为内容编码和风格编码,假设不同域共享内容空间但具有不同的风格空间。模型通过两个自编码器分别提取内容和风格,并使用自适应实例归一化将目标域风格与源域内容结合生成新图像。通过对抗训练和编码循环一致性损失,MUNIT 能够实现连续分布的多模式图像转换。本文使用 PyTorch 从零开始实现了 MUNIT,包括模型架构、训练流程和测试方法。
2025-10-31 16:08:14
1048
22
原创 策略梯度法详解与实现
本文系统介绍了策略梯度方法在强化学习中的原理与实现。策略梯度方法通过直接优化参数化策略网络,克服了Q学习在连续动作空间和策略优化方面的局限性。核心理论策略梯度定理表明,性能梯度可通过策略函数对数与Q值的乘积进行估计。详细分析了蒙特卡洛策略梯度 (REINFORCE) 及其带基线的改进版本:前者通过回合完整轨迹计算梯度但存在高方差问题;后者引入价值函数作为基线有效降低方差。通过 tf.keras 代码实例,展示了两种算法在连续动作空间中的具体实现。
2025-10-31 08:36:00
951
8
原创 Double DQN(DDQN)详解与实现
在深度 Q 网络 (Deep Q-Network, DQN) 中,目标 Q 网络负责选择并评估每个动作,这会导致 Q 值被高估。为解决此问题,Double DQN (DDQN) 提出使用 Q 网络选择动作,而用目标 Q 网络评估动作。在本节中,我们将介绍 DDQN 的基本原理,并使用 Keras 实现 DDQN。
2025-10-30 15:10:55
1011
12
原创 TensorFlow深度学习实战——自定义图数据集
我们已经学习了如何构建并训练图神经网络 (Graph Neural Network, GNN) 以解决常见的图机器学习任务。实现过程中,我们选择使用预构建的 Deep Graph Library (DGL) 数据集,但针对具体问题,我们可能会需要 DGL 库中未提供的数据集。实践中,我们通常需要使用自己的数据,因此,本节将学习如何将自己的数据转换为 DGL 数据集。
2025-10-30 14:50:00
954
4
用于目标检测的 YOLO V3 模型架构及权重文件(含 OpenCV 使用示例)
2021-09-30
用于图像分类的 ResNet-50 模型架构及权重文件(使用 Caffe 框架进行预训练)
2021-09-30
用于目标检测的 MobileNet-SSD 模型架构及权重文件(使用 Caffe 框架进行预训练)
2021-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅