
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
多头注意力机制import mathimport torchfrom torch import nnfrom d2l import torch as d2l实现类#@saveclass MultiHeadAttention(nn.Module):"""多头注意力"""def __init__(self, key_size, query_size, value_size, num_hiddens,n
GRU序列中并不是所有信息都同等重要,为了记住重要的信息和遗忘不重要的信息,最早的方法是”长短期记忆”(long-short-term memory,LSTM),这节门控循环单元(gated recurrent unit,GRU)是一个稍微简化的变体,通常能够提供同等的效果, 并且计算的速度明显更快。理论两个门(和隐藏状态类似)重置门(虫豸们~)Rt=σ(XtWxr+Ht−1Whr+br)R_t
RNN从零实现%matplotlib inlineimport mathimport torchfrom torch import nnfrom torch.nn import functional as Ffrom d2l import torch as d2lbatch_size, num_steps = 32, 35train_iter, vocab = d2l.load_data_time
BatchNorm(BN)遇到了问题损失函数在最后,后面的层训练较快数据输入在最底部前面的层训练的慢前面的层一变,所有都得跟着变最后的层需要重新学习多次导致收敛变慢我们可以在学习底部层的时候避免变化顶部层吗?所以提出了批量归一化BatchNorm(BN)固定小批量里的均值和方差μB=1∣B∣∑i∈BxiσB2=1∣B∣∑i∈B(xi−μB)2+ϵ\mu_B = \frac{1}{|B|}\sum_
L2正则化%matplotlib inlineimport torchfrom torch import nnfrom d2l import torch as d2l生成数据y=0.05+∑i=1d0.01xi+ϵ where ϵ∼N(0,0.012)y = 0.05 + \sum_{i=1}^{d}{0.01x_i} + \epsilon \;where \ \epsilon \si
Dropout定义Dropout函数import torchfrom torch import nnfrom d2l import torch as d2ldef dropout_layer(X, dropout):assert 0 <= dropout <= 1# 在本情况中,所有元素都被丢弃if dropout == 1:return torch.zeros_like(X)# 在本
BERT微调数据集自然语言推断任务:主要研究 假设(hypothesis)是否可以从前提(premise)中推断出来, 其中两者都是文本序列。 换言之,自然语言推断决定了一对文本序列之间的逻辑关系。这类关系通常分为三种类型:蕴涵(entailment):假设可以从前提中推断出来。矛盾(contradiction):假设的否定可以从前提中推断出来。中性(neutral):所有其他情况。斯坦福自然语言
卷积层二维互相关运算import torchfrom torch import nnfrom d2l import torch as d2ldef corr2d(X, K):"""计算二维互相关运算"""h, w = K.shapeY = torch.zeros((X.shape[0] - h + 1, X.shape[1] - w + 1))for i in range(Y.shape[0]):
NiN因为全连接层的参数太多了,NiN块以一个普通卷积层开始,后面是两个1×1的卷积层,相当于参数首先的全连接层。这两个1×1卷积层充当带有ReLU激活函数的逐像素全连接层。 第一层的卷积窗口形状通常由用户设置。 随后的卷积窗口形状固定为1×1。模型结构import torchfrom torch import nnfrom d2l import torch as d2ldef nin_block
RNN简易实现import torchfrom torch import nnfrom torch.nn import functional as Ffrom d2l import torch as d2lbatch_size, num_steps = 32, 35train_iter, vocab = d2l.load_data_time_machine(batch_size, num_step







