- 博客(177)
- 收藏
- 关注
原创 【机器学习】强化学习
1. 强化学习的基本概念强化学习问题通常被建模为马尔可夫决策过程(Markov Decision Process, MDP)智能体(Agent):学习的主体,比如机器人、自动驾驶汽车、游戏 AI 等。环境(Environment):智能体所处的世界,它可以是物理环境(现实世界)或虚拟环境(游戏、金融市场等)。状态(State, S):描述环境当前的情况。例如,在自动驾驶中,状态可能包括道路状况、速度、障碍物位置等。动作(Action, A):智能体可以采取的行为。
2025-03-19 17:13:21
1550
原创 【机器学习】机器学习四大分类
虽然不是机器学习的“基本类型”,但这些方法在现代 AI 发展中起到了重要作用,属于。,如迁移学习、自监督学习、在线学习、联邦学习等,它们通常被视为机器学习的。随着深度学习的发展,出现了一些新的。机器学习的方法主要可以分为。
2025-03-19 14:40:59
1060
原创 【人工智能】通用人工智能 AGI
AGI 是 Artificial General Intelligence 的缩写,中文翻译为通用人工智能。与我们常见的**特定人工智能(Narrow AI)**不同,AGI 是一个更高深、更具野心的目标。通用人工智能(AGI)的核心目标是构建一种具有和人类同等或更高水平智能的人工智能系统,其特点是:如果 AGI 得以实现,它可能会具备以下潜在能力:全面完成现有特定 AI 的任务:人工科学家:社会情感智能:解决全球问题:促进其他学科发展:虽然 AGI 的目标很吸引人,但由于 AGI 的通用性和潜在力量,也带
2025-02-05 16:36:25
1299
原创 【设计模式】6大设计原则和23种设计模式
它们解决的问题是:如何组合类和对象来构建更复杂的、系统化的结构,同时保持系统的可扩展性和模块化。它们解决的问题通常是:如何以更优雅、灵活的方式创建对象,同时避免直接使用new关键字的硬编码。它们解决的问题是:在运行时,让对象之间的通信变得灵活、解耦,并使代码具有更清晰的逻辑。它们通过对对象创建过程的抽象,减少代码中的耦合性,使创建对象的过程更灵活和可控。它们处理的是如何优雅地组织类和对象之间的关系,以形成更大的、灵活的结构。根据项目需求,选择正确的设计模式来贯彻相应的设计原则,从而提升代码的。
2025-01-16 11:28:25
969
原创 【算法】回溯法
展示每一步的调用堆栈。递归函数调用实际上会通过系统栈记录调用信息,直到递归的返回条件触发为止。注意:递归函数的每次调用都有独立的上下文,每一层的result都是完全不同的变量。重复对剩下的分支处理(递归展开 + 收缩)以上述调用代码为例,我们将用。来模拟递归过程,并结合输入。
2025-01-14 16:33:36
522
原创 【正则化技术】Label Smoothing
Label Smoothing 是一种有效的正则化技术,可以改善模型的泛化能力,尤其是在大规模分类任务中表现突出。在 Transformer 等现代 NLP 模型中,它是提升 BLEU 分数等指标的重要工具。在分类任务中,目标是让模型输出的预测概率 P(y|x) 尽可能接近目标标签的分布(即 One-Hot 编码)。是一种在模型训练过程中常用的正则化技术,目的是避免模型过于自信地预测目标类别,从而提升模型的泛化能力。通过这种方式,目标分布会在所有类别上分配一些概率,而不是将所有概率集中在一个类别上。
2025-01-07 11:48:16
365
原创 【评估指标】每秒浮点运算次数 FLOPs
例如,一个 GPU 的理论峰值性能可能用 TFLOPs(万亿次浮点运算)表示。在深度学习和计算领域中,FLOPs 通常用来衡量模型的计算复杂度,表示模型执行一次完整前向或后向传播所需的浮点运算数量。总结来说,FLOPs 是衡量模型计算复杂度的核心指标,对于评估模型效率和硬件需求至关重要。FLOPs 指的是一个模型在计算过程中所需要执行的基本浮点运算的总数。Transformer 以显著更低的 FLOPs 数实现了优越的性能。例如:对于矩阵乘法,如果矩阵大小为 A ∈Rm×n和 B∈Rn×p,
2025-01-07 10:34:03
1478
原创 【评估指标】困惑度 Perplexity
(困惑度)是机器学习和自然语言处理中常用的一个概念,尤其在语言模型的评估中。它用于衡量一个模型对文本数据的预测能力,直观上表示模型对数据“不确定”的程度。
2024-12-17 17:45:45
1309
原创 【高效微调】低秩适配 LoRA 、量化低秩适配 QLoRA 技术
LoRA 是一种高效的微调方法,通过在模型的线性层中插入低秩矩阵,减少了参数量和计算成本,同时保持了模型的高性能。它在资源受限场景下微调大型模型时表现出色,已被广泛应用于 NLP、CV 等领域。
2024-12-05 12:35:56
815
原创 【深度学习】检索增强生成 RAG
RAG 是一个强大的框架,将检索(准确找到相关信息)和生成(生成连贯的答案)相结合,解决了生成式模型知识过时和回答准确性的问题,是现代问答和知识生成任务的重要方向。是一种结合信息检索(Retrieval)和生成(Generation)的技术框架,广泛应用于需要动态知识查询的任务,比如开放领域问答、文档生成等。传统生成模型(如 GPT、BERT)在回答问题时依赖于预训练数据的记忆,而 RAG 提供了一种动态查询外部知识库的能力。这种设计使 RAG 能够动态获取外部知识,解决生成模型对训练数据依赖的问题。
2024-12-02 18:16:06
844
原创 【评估指标】MAP@k
MAP@k是一种用于评估模型在信息检索或多标签分类任务中预测结果质量的指标。它衡量模型在预测前 k 个结果中相关性(正确性的平均精度),并对所有样本取平均值。U:测试样本的总数(问题的数量)。AP@k(u):第 u 个问题的,计算方式如下:P(i):到预测列表中第 i 个位置的精度(Precision at i):rel(i):指示函数,如果第 i 个预测在实际答案列表,则 rel(i) = 1,否则 rel(i) = 0。
2024-11-22 16:55:30
1073
1
原创 【深度学习】模型训练时减少GPU显存占用
在深度学习中,大的批量大小(batch size)可以提高模型性能和稳定性,但直接增大批量大小需要更多的显存。混合精度训练通过在深度学习模型的训练过程中,将部分数据和计算从 32 位浮点数(FP32)转换为 16 位浮点数(FP16),从而显著减少显存使用并提高训练速度。在深度学习中,大部分计算可以在更低的精度(FP16)下完成,而不会影响训练的准确性和稳定性。在深度学习中,反向传播需要保留前向传播过程中生成的中间激活值(activations)来计算梯度。在混合精度训练中,使用。
2024-11-21 12:06:27
1626
原创 正则化技术
L1 和 L2 正则化是常用的正则化技术,通过对模型参数施加约束,防止过拟合,提高模型的泛化能力。它们通过在损失函数中添加惩罚项,限制模型参数的大小。L1 正则化在梯度下降中会产生一种稀疏效应,导致某些参数被直接更新为 0,从而进行特征选择。它通过在训练时添加限制,避免模型过于复杂,从而提升模型对未见数据的泛化能力。正则化(Regularization)是机器学习和深度学习中一种防止模型。L2 正则化会使权重逐渐减小,但通常不会变为 0。在 Hugging Face 的。
2024-11-21 11:23:15
1105
原创 【评估指标】误差
绝对误差计算的是预测值与真实值之间的绝对差值。平方误差是预测值与真实值之间的差值的平方。相对误差衡量误差相对于真实值的比例。对数误差用于平衡不同尺度的预测值,尤其适用于对数分布的数据。
2024-11-15 18:34:12
1112
原创 【深度学习】使用硬件加速模型训练速度
数据并行是最常用的多 GPU 训练策略,将数据划分到不同的 GPU 上,并在每个 GPU 上独立地计算前向传播和反向传播。分布式数据并行是分布式训练中最常用的模式,它与单机器多GPU 的数据并行类似,但在不同机器的 GPU 间进行并行计算。模型并行是指将模型的不同部分分配到不同的 GPU 上,每个 GPU 只负责一部分模型的计算。管道并行是一种结合数据并行和模型并行的方式,将模型分成多个阶段,数据分批次流经每个阶段的不同 GPU,从而在多个 GPU 之间形成“流水线”。以下是使用DDP的代码示例。
2024-11-13 17:06:56
1314
原创 【数据结构】B树
B树通常定义为一棵平衡的多路搜索树,并用一个整数 m 表示其阶数,即每个节点最多有 m 个子节点。每个节点最多包含 m - 1 个关键字和 m 个子节点。每个非根节点至少包含 ⌈m/2⌉−1 个关键字和 ⌈m/2⌉ 个子节点。根节点至少包含 1 个关键字,特殊情况除外(当树为空时,根节点没有关键字)。所有叶子节点都在同一层,即 B 树的高度是均匀的。每个节点的关键字从小到大排序,并且遵循左小右大的原则。每个关键字 k 的左子树的所有关键字都小于 k,右子树的所有关键字都大于 k。
2024-11-06 10:51:39
1142
原创 【算法】查找算法
线性查找:适用于无序、小规模数据。二分查找:适用于有序数组,效率高。插值查找:适用于均匀分布的有序数据。跳表查找:适合动态更新的链表结构。哈希查找:适合快速查找单个元素。DFS/BFS:适用于图和树结构中的节点查找。指数查找:适合无界或非常大的有序数组。三分查找:适用于有序数组,但效率通常不如二分查找。选择查找算法时,需要综合考虑数据规模、数据结构的特性以及查找需求。
2024-11-06 10:45:49
1031
原创 【算法】排序算法
冒泡排序、选择排序、插入排序:简单,适合小数据集或已部分排序的数据。快速排序、归并排序:高效,适合大规模数据,但需要注意最坏情况(快排)和空间消耗(归并)。堆排序:时间复杂度稳定,不需要额外空间,但不稳定。基数排序:适合范围内的整数排序,速度快且稳定。
2024-11-06 10:41:31
492
原创 【自然语言处理】GPT模型
GPT是一种基于Transformer架构的生成式预训练语言模型,依靠大规模的数据训练,能够生成高质量的自然语言文本。随着版本的迭代,GPT在任务泛化能力、少样本学习、文本生成质量等方面取得了显著进展。尽管其在推理能力和偏见问题上仍有改进空间,但其广泛的应用场景已经使其成为自然语言处理领域的核心技术之一。
2024-10-22 18:12:01
1329
原创 【自然语言处理】多头注意力机制 Multi-Head Attention
多头注意力机制通过多个不同的头来并行计算多个注意力分布,使得模型能够从多个角度捕获输入序列中的不同特征。其关键优势在于增强了模型的表示能力,同时可以有效并行化计算,在自然语言处理、计算机视觉等领域取得了广泛的成功。
2024-10-15 19:42:19
5044
原创 【自然语言处理】Self-Attention机制
特性普通的Attention输入同一个序列(Query = Key = Value)不同的序列(Query ≠ Key ≠ Value)应用场景同一序列内部的依赖建模序列间的信息传递典型任务编码器内部、BERT、GPT机器翻译、图像描述生成关注点序列内部的全局信息跨序列的信息关联并行化高效并行解码阶段难以并行时间复杂度O(n^2)O(nm)Self-Attention通常用于建模单个序列中的元素间的依赖,而普通的Attention则用于建模两个序列之间的依赖。
2024-10-15 17:58:07
1604
原创 【自然语言处理】Encoder-Decoder模型中Attention机制的引入
Attention机制的引入,允许Decoder在生成每个目标词时,能够动态地根据源句子的不同部分调整注意力,使得模型能够处理更长的序列,并提高生成结果的准确性。Attention机制在机器翻译等任务中取得了显著的效果,并且为之后的Transformer等模型的出现奠定了基础。
2024-10-12 19:01:58
1109
原创 【自然语言处理】Encoder-Decoder架构
Encoder-Decoder模型是一种神经网络架构,广泛应用于需要将一个序列映射到另一个序列的任务中,最典型的应用是机器翻译。它的核心思想是通过两个独立但相互关联的神经网络来处理输入序列和生成输出序列。
2024-10-11 12:00:22
1347
3
原创 微调(Fine-tuning)
微调(Fine-tuning)是指在预训练模型的基础上,通过进一步训练模型的全部或部分参数,使其适应特定的下游任务或数据集的过程。微调通常用于自然语言处理(NLP)、计算机视觉(CV)等领域的深度学习模型。
2024-09-26 17:43:10
828
原创 【自然语言处理】词嵌入技术
是一种将的技术,通常是低维度的连续向量。这些向量被设计为捕捉词汇之间的,使得语义相似的词在嵌入空间中的距离也更近。词嵌入可以看作是将,从而在一定程度上解决了自然语言处理中的语义表示问题。简单来说,词嵌入就是一种将词汇转换成向量的方法,使得计算机能够理解词与词之间的关系,并在不同的NLP任务(如文本分类、机器翻译、问答系统等)中表现出色。
2024-09-26 17:06:57
2178
原创 【算法】反向传播算法
David Rumelhart 是人工智能领域的先驱之一,他与 James McClelland 等人在1986年通过其著作《》详细介绍了,这一算法为多层神经网络的训练提供了有效的途径,是深度学习发展的重要里程碑之一。
2024-09-25 19:52:15
2752
原创 【模型】感知器
随着多层感知器(Multi-Layer Perceptron, MLP)和反向传播算法(Backpropagation)的发展,神经网络克服了单层感知器的不足,能够解决更复杂的非线性问题。Rosenblatt 的感知器模型被视为现代深度学习的前身,其理念和方法在今天依然具有重要的学术价值和实际应用意义。虽然感知器模型在处理复杂任务时受到限制,但它的提出为后续多层神经网络、卷积神经网络(CNN)、循环神经网络(RNN)等复杂结构的设计提供了重要的参考和启发。感知器是最早尝试模拟人脑神经元功能的计算模型之一。
2024-09-24 18:05:32
1168
原创 Python使用虚拟环境解决依赖冲突
在处理多个 Python 库依赖时,遇到依赖冲突是很常见的,特别是当项目依赖的库版本相互不兼容时。要解决这些冲突,可以采用以下方式。
2024-09-20 17:54:32
1396
原创 正则表达式
正则表达式(Regular Expression,简称或)是用于匹配字符串的一种模式表达式,常用于文本搜索、替换、提取等任务。下面介绍正则表达式的常用方法及其典型应用。
2024-09-18 19:26:48
1480
2
原创 【数据集处理】Feather 文件
Feather 文件格式是一种高效、跨语言的数据存储格式,特别适用于需要快速读写的数据科学和数据分析工作流。它的列存储格式使得它在处理大规模数据时特别有用。通过使用pandas库的to_feather和方法,可以方便地将数据保存为 Feather 文件并读取。
2024-08-27 19:15:20
851
原创 【模型】Temporal Fusion Transformer (TFT) 模型
Temporal Fusion Transformer (TFT) 模型是一种专为时间序列预测设计的高级深度学习模型。它结合了神经网络的多种机制来处理时间序列数据中的复杂关系。TFT 由 Lim et al. 于 2019 年提出,旨在处理时间序列中的不确定性和多尺度的依赖关系。TFT 模型的架构结合了以下几个主要组件:输入层和嵌入层:Variable Selection Network(变量选择网络):LSTM编码器/解码器:自注意力机制(Self-Attention Mechanism):Gated R
2024-08-26 18:04:21
3104
原创 【模型】VotingRegressor
是一个集成学习模型,属于 Scikit-learn 库中提供的集成方法之一。它的主要思想是通过结合多个基于不同算法的回归模型来提高预测性能。这些基础模型各自做出预测,然后会对它们的输出进行加权平均(或直接平均),最终给出一个集成的预测结果。
2024-08-16 19:30:52
578
原创 joblib、pickle库
joblib是一个 Python 库,主要用于提供高效的序列化工具以及并行计算的能力。它广泛应用于机器学习中,尤其是在模型的保存与加载,以及并行处理等方面。
2024-08-15 19:23:01
813
原创 【机器学习算法】梯度提升决策树
梯度提升决策树(Gradient Boosting Decision Trees, GBDT)是一种集成学习方法,它通过结合多个弱学习器(通常是决策树)来构建一个强大的预测模型。GBDT 是目前最流行和最有效的机器学习算法之一,特别适用于回归和分类任务。它在许多实际应用中表现出色,包括金融风险控制、搜索排名、推荐系统等领域。
2024-08-15 18:56:51
1125
原创 【模型】XGBoost
XGBoost 基于梯度提升框架,它通过逐步构建一系列弱学习器(通常是决策树),每一个新的学习器都试图纠正前一个学习器的错误。: 传统的 GBDT 在生成树时是串行的,而 XGBoost 可以通过并行计算优化树结构的部分操作,从而显著提高训练速度。: XGBoost 的正则化机制和内置的处理缺失值能力,使得它在复杂的、噪声较多的数据集上也能表现良好。: 在预测阶段,XGBoost 使用每棵树的输出通过加权投票来做最终预测,从而提升模型的准确性。增加这个值可以提高模型的复杂度,但也增加了过拟合的风险。
2024-08-15 18:53:30
1062
原创 【模型】TFLiteModel
TensorFlow Lite 提供了一种将 TensorFlow 模型部署到移动设备、嵌入式设备和物联网设备的轻量级解决方案。通过模型转换、优化和部署,TFLite 模型能够在资源受限的环境中高效运行,并支持各种硬件加速选项,如 GPU、DSP 和 Edge TPU。这使得 TFLite 成为在边缘计算设备上运行机器学习模型的理想选择。
2024-08-13 18:03:26
1348
原创 【对抗性训练】FGM、AWP
FGM 是一种快速生成对抗样本的方法,通过对输入样本施加小的扰动,使得模型在原始样本上的预测信心大幅下降,从而产生对抗样本。FGM 的目标是找到一个微小的扰动,使得模型对样本的预测结果发生改变。FGM 是 FGSM(Fast Gradient Sign Method)的简化版本,它的原理相同,但省去了符号函数的应用。AWP 是一种通过扰动模型参数来提升模型鲁棒性的方法。与 FGM 不同,AWP 并不直接在输入样本上施加扰动,而是在模型参数空间中引入扰动。
2024-08-13 17:40:53
1589
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人