zoukankan      html  css  js  c++  java
  • transformer笔记

    基础结构:

    输入:[batch_size,sequence_length,embedding dimension]

    batch_size:句子的个数

    sequence_length:句子的长度

    embedding dimension:

    vocab_size:总字数

    embedding_size:字向量维度的大小

    什么是位置嵌入?

    位置嵌入提供了每个字的位置信息。位置嵌入的维度是:

    [max sequence_length,embedding dimension]

    max sequence_length:超参数,限定句子的最大长度

    初始化字向量:[vocab_size,embedding dimension]

    其中pos是指句中字的位置,取值范围是[0,max sequense length] ,i是指字向量的维度,取值范围是[0,embedding dimension],d_model是指字向量维度大小。

    什么是自注意力机制?

    也就是初始输入:[batchsize,sequence length] 

    位置信息:[batchsize,sequence length,embedding dimension]

    初始输入+位置信息(利用了广播机制?)

    然后使用Q,K,V进行线性变换。

    多头自注意力?

    放缩点积注意力:

    Query,Key,Value首先进过一个线性变换,然后输入到放缩点积attention,注意这里要做h次,其实也就是所谓的多头,每一次算一个头。而且每次Q,K,V进行线性变换的参数W是不一样的。然后将h次的放缩点积attention结果进行拼接,再进行一次线性变换得到的值作为多头attention的结果。 

    什么是attention mask?

    超出当前句长的句子需要padding到最大句长。一般情况下使用的是0填充 ,但是在进行softmax时,e0=1。为了让无效的区域不参与计算,需要做一个mask让这些区域无效,一般会对无效的区域加一个很大的负数的偏置:

    其他的操作?

    (1)残差连接

    (2)Layer Norm。

    阿尔法和贝尔塔用来弥补归一化过程中损失掉的信息。

    整体结构?

    参考:

    https://www.bilibili.com/video/BV1sE411Y7cP?from=search&seid=360256464200193261 

    https://blog.csdn.net/NeilGY/article/details/88721545 

  • 相关阅读:
    JS入门(二)
    JavaScript中冒泡排序
    JS入门(一)
    页面的编写(二)
    页面的编写(一)
    编写页面之前的准备
    2019 ICPC徐州网络赛 K.Center
    2019 ICPC徐州网络赛 B.so easy(unordered_map)
    2018-2019 ICPC焦作区域赛B
    2019南昌ICPC网络赛 H.The Nth Item(矩阵快速幂+欧拉降幂+数学处理)
  • 原文地址:https://www.cnblogs.com/xiximayou/p/13339835.html
Copyright © 2011-2022 走看看