摘要:
我觉得这个问题的核心在于理解为什么在实际应用中,尽管 RNN 可以动态处理不同长度的序列,我们还是需要截断和填充。RNN 本身确实可以通过循环结构处理任意长度的序列,但实际应用中,我们通常需要批量处理数据,而批量数据的形状需要固定。如果每个序列的长度不同,GPU 无法高效地进行并行计算,因为每次循环 阅读全文
摘要:
在TransformerEncoder中,要将嵌入表示先乘以嵌入维度的平方根的原因我觉得是让位置编码和特征维度的数值大小匹配,因为嵌入矩阵通常通过均匀分布初始化,例如在 PyTorch 的 nn.Embedding 中,默认使用均匀分布\([-\sqrt{\frac{3}{d}},\sqrt{\fr 阅读全文
摘要:
这个nn.LayerNorm有点搞笑我觉得,有个参数normalized_shape,输入想要归一化张量的最后几个维度,然后就将最后几个维度的元素看做一个整体进行归一化,如下 import torch import torch.nn as nn # 定义输入张量 (batch_size, seque 阅读全文