Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
梯度裁剪

梯度裁剪

引入 梯度裁剪(Gradient Clipping)是一种在深度学习中用于防止梯度爆炸的技术。原理是通过对梯度进行限制,将梯度的大小控制在一个合理的范围内,避免梯度出现过大的极端情况,从而保证模型训练的稳定性和有效性。 L2范数裁剪 设模型参数为\(\theta\),梯度为\(\nabla\theta\),阈值为\(c\),则 总梯度L2范数: \[ \mathrm{total\_norm}
2025-04-26
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习
学习率预热和学习率衰减

学习率预热和学习率衰减

学习率预热 学习率预热(Learning Rate Warmup),是一种在深度学习训练过程中调整学习率的策略。 在训练开始时,先使用一个较小的学习率,然后逐步将学习率增加到预设的正常学习率水平。这个先使用较小学习率然后逐步增加学习率到正常水平的过程就叫做学习率预热。 学习率预热 学习率预热的原因: 避免模型初期不稳定:在训练刚开始时,模型的参数是随机初始化的。如果此时使用较大的学习率,可
2025-04-25
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习
Transformer

Transformer

模型 上图是Transformer结构(包括中文和英文版),下面会解析结构并使用PyTorch进行实现。 模型结构 层规范化(LayerNorm) 层规范化(Layer Normalization)是一种深度神经网络中的规范化技术,由Jimmy Lei Ba 等人在2016年提出,旨在解决训练过程中的内部协变量偏移(Internal Covariate Shift)问题。其核心思想是对单个样本
2025-04-23
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习 #NLP
多头自注意力机制

多头自注意力机制

自注意力机制 在之前的机器翻译中,使用注意力机制的Seq2Seq模型,\(\mathbf{K}\)、\(\mathbf{V}\)是编码器中所有时间步的最后一个时间步的隐藏状态,\(\mathbf{Q}\)是解码器中当前时间步隐藏状态输入(即上一个时间步的隐藏状态输出)\(\mathbf{H}_{t-1}\),以此来决定当前时间步的输出更应该关注编码器哪些信息。 与这种注意力机制不同的是,自注意力机
2025-04-21
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习 #NLP
使用注意力机制的Seq2Seq

使用注意力机制的Seq2Seq

引入 在使用注意力机制的Seq2Seq模型中,Key和Value都是编码器最后一层所有时间步的隐藏单元数据,编码器使用双向循环神经网络,num_layers=l,batch_size=n,hidden_size=h,src_len=s,则: \[ \mathbf{K} = \mathbf{V} = \mathbf{H}^{(l)}\in\mathbb{R}^{n\times s\times 2h
2025-04-19
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习 #NLP
循环神经网络的进阶

循环神经网络的进阶

深度循环神经网络 深度循环神经网络 假设在时间步\(t\)有一个小批量的输入数据\(\mathbf{X}_t\in\mathbb{R}^{n\times d}\)(样本数:\(n\),每个样本中的输入数:\(d\))。同时,将\(l^{\mathrm{th}}\)隐藏层(\(l=1, \cdots, L\))的隐藏状态设为\(\mathbf{H}_t^{(l)}\in\mathbb{R}^{
2025-04-19
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习
注意力机制

注意力机制

注意力机制的引入 在生物学中,注意力受到非自主性提示恶化自主性提示有选择地引导。 非自主性提示是基于环境中物体的突出性和易见性。比如,对于五个物品:一份报纸、一篇研究论文、一杯咖啡、一本笔记和一本书,所有纸制品都是黑白印刷的,但咖啡杯是红色的。这个咖啡杯在这种视觉环境中是显眼和突出的,人本的注意力被不由自主地被吸引,所以我们会把视力最敏锐的地方放到咖啡上。 如果我们的主观意愿是读一本书,那么此时
2025-04-19
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习
循环神经网络的多卡训练

循环神经网络的多卡训练

对于DataParallel,会默认将数据按照dim=0的维度进行拆分,输出也将按照dim=0的维度进行拼接。 如果传入隐藏状态,常规方式就会出现问题:hidden会被当成输入数据处理,程序会将hidden按照dim=0的维度拆分后传入模型,比如,如果hidden的维度是(num_layers, batch_size, hidden_size),如果有\(n\)张显卡,那么一张显卡上的模型得到的h
2025-04-03
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
LSTM和GRU

LSTM和GRU

GRU 引入 在循环神经网络RNN中,较长的时间步在反向传播中可能导致梯度消失或者梯度爆炸(梯度爆炸可以使用梯度裁剪,而梯度消失则是导致RNN性能瓶颈的主要原因),因此只能选用较小的时间步或者在长序列上使用截断时间步。传统RNN因为梯度消失的问题,在超过20步时记忆能力显著下降。 在一个长序列中,并不是每个时间步的信息都非常重要,因此,有些时间步上的信息可以不给予太多的关注,而有些时间步上的信息则
2025-04-03
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习
RNN通过时间反向传播

RNN通过时间反向传播

循环神经网络的梯度分析 循环神经网络(RNN)的前向传播满足: \[ \begin{aligned} &\mathbf{h}_t = \phi(\mathbf{x}_t\mathbf{W}_{xh} + \mathbf{h}_{t-1}\mathbf{W}_{hh} + \mathbf{b}_h)\\ &\mathbf{o}_t = \mathbf{h}_t\mathbf{W}_{
2025-04-02
深度学习 > 理论基础
#人工智能 #神经网络 #深度学习
1234…7

搜索

What doesn't kill you makes you stronger.