batch norm是列标准化,layer norm是行标准化
transforms的encoder,这里省略了一些东西。每一个block都是输入一段向量,然后输出一段向量。每一个block不仅仅是一层layer。每一个block所做的事情,大概是先输出一段向量,做self-attention,考虑整个seq,然后输出。再将输出输入到全连接层中,最后的输出就是block的输出。
在transforms的encoder中,所做的事更为复杂。在经过self-attention后,我们在输出a上加上了自身b。将相加的结果,也就是residual,再经过规范化。这里用的规范化不再是batch normalization 而是layer normalization。将规范化后的结果作为全连接层的输出,再输出的时候,仍然要加上自身。最后在经过规范化,就是block的输出。
在输入的时候,除了词向量之外,还需要加入位置编码,用来确定其相对位置。