torch中的梯度计算
1. 引言 梯度计算是深度学习的核心机制之一,PyTorch通过 自动微分(Autograd) 系统实现了高效的梯度计算。本文将深入解析PyTorch中梯度计算的原理与实现细节。 2. 计算图与反向传播 PyTorch采用 动态计算图(Dynamic Computation Graph): 前向传播时实时构建计算图 每个张量操作被记录为图中的节点 反向传播时自动计算梯度 ...
1. 引言 梯度计算是深度学习的核心机制之一,PyTorch通过 自动微分(Autograd) 系统实现了高效的梯度计算。本文将深入解析PyTorch中梯度计算的原理与实现细节。 2. 计算图与反向传播 PyTorch采用 动态计算图(Dynamic Computation Graph): 前向传播时实时构建计算图 每个张量操作被记录为图中的节点 反向传播时自动计算梯度 ...
RQ-VAE(Residual Quantized Variational Autoencoder)方法详解 一、 方法概述 Residual-Quantized Variational AutoEncoder(RQ-VAE)是一种结合了残差连接(Residual Connection)和量化技术(Quantization)的变分自编码器(VAE)。 它旨在通过引入这些技术,提高模型的生成...
Flash Attention 计算正确性数学推导 标准注意力计算 给定查询矩阵 \(Q \in \mathbb{R}^{N \times d}\),键矩阵\(K \in \mathbb{R}^{N \times d}\),值矩阵\(V \in \mathbb{R}^{N \times d}\),标准注意力输出\(O \in \mathbb{R}^{N \times d}\)计算为: ...
Self-Attention 与 Cross-Attention 的区别及实现细节 应用场景 类型 应用场景 示例 Self-Attention 单序列内部关系建模 Transformer 编码器、文本分类 Cross-Attentio...
看看gpt2的代码,改成生成式推荐需要的代码。 https://github.com/huggingface/transformers/blob/main/src/transformers/models/gpt2/modeling_gpt2.py # coding=utf-8 # Copyright 2018 The OpenAI Team Authors and HuggingFace ...
一、常用损失函数及使用场景 1. 均方误差(MSE, Mean Squared Error) 公式: \[L = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2\] 使用场景:回归任务(如房价预测、温度预测)。 优点:计算简单,梯度平滑,收敛快。 缺点:对异常值敏感,可能导致梯度爆炸。 图像特点:二次函数曲线...
简单做个demo,对一批文本数据进行预处理,方便后续训练 """ 步骤 1:安装依赖库 """ # !pip install datasets transformers """ 步骤 2:准备文件结构 """ # 假设原始数据存放结构: # ./raw_data/ # ├── part-0001.txt # ├── part-0002.txt # └── ...(数千个文本文...
温度系数的作用 在Softmax损失函数中引入温度系数(Temperature Scaling)的目的是通过调节概率分布的“尖锐”或“平滑”程度,优化模型的训练或推理效果。具体作用如下: 控制输出分布的平滑度 温度系数公式: \[p_i = \frac{\exp(z_i / \tau)}{\sum_{j=1}^C \exp(z_j / \tau)}\...
写在最前,利用机器学习框架进行训练是,我们都需要定义损失函数,框架会自动通过梯度下降法,最小化损失函数。 因为梯度的方向,是函数变大的方向,所以我们会沿着负梯度方向优化。 [\theta := \theta - \alpha * g(\theta)] 其中:$g(\theta)$就是损失函数的梯度。 框架干的事情是固定的,所以想要达成不同的目的,就需要设计不同的损失函数。 交叉熵损失...
在PyTorch中,使用nn.Parameter(设置requires_grad=False)和register_buffer的主要区别如下: 特性 nn.Parameter(requires_grad=False) register_buffer 存储位置 属于模型参数 (mod...