反向传播与 Transformer 学习笔记

783 字
4 分钟
反向传播与 Transformer 学习笔记

以下为原始学习笔记,保留原文表述,内容尚未逐条核对。

反向传播算法#

先预训练得到输出值,然后对于每一个样本,每一个输出层的激活值,考察与目标值的偏差的平方,然后要达到目标值的话,上一层每个激活值需要变大还是变小。平方就是需要变大变小的相对量,输出层所有激活值对其的影响加起来就这样改变上一层。以此类推直到第一层。

如果样本太多,可以用mini-batch方法,把样本拆成多个mini-batch,只用一个batch训练可能梯度下降没那么快,但结果是对的。

求c对w偏导,链式法则拆成三个

Generative Pre-trained Transformer#

每个token对应一个向量

注意力模块 前馈层(多层感知器)

张量:三维以上数组

先把一句话切分,可认为一个单词一个token

embedding词嵌入,将token变成高维嵌入向量,方向可以对应语义

从语义的角度:男-女约等于国王=王后

另一种方式:识别器向量×词向量,越接近值越大

结合上下文信息,用上下文的特征在向量上再加减

每次只用最后的向量预测下一个token的概率,最后这个是解嵌入矩阵

softmax函数,让最大概率接近1,最小的接近0,即自然指数然后归一化。

温度T:让数据先除以T再求自然指数,可以调整

T小过拟合 T大欠拟合

词嵌入与注意力#

词嵌入:最开始相同词的嵌入向量一样(如果位置相同的话,位置不同还是不一样的),在attention阶段把上下文信息嵌入进去修改。

经过多层attention过程

让一个查询矩阵和嵌入向量相乘得到一个query,得到一个低维向量

同理得到key

然后Q×K如果很大的话,就算是匹配了。这便是注意力模式。

另外后方token不能影响前方。(掩码)

“值矩阵”乘上用来修改的向量,再加上被修改的向量。

一般值矩阵数量等于Q+K,然后这个值矩阵还很大,一般分解成两个矩阵相乘

自注意

真正的transformer是多头注意力的,有多种注意力模式,然后把所有模式的结果求和

注意力机制本身还是让向量之间传递信息。

多层感知器#

事实存储在多层感知器里,MLP

向量和表述特征的向量相乘,点积如果等于1就说明符合这一特征。

之后加上偏置向量。然后ReLU

先升维再relu最后降维。注意矩阵乘向量有两种理解方式:横向量每一项一个个乘上右边的向量,或者列向量和右边的向量做点积。

最后加上最初的项=向量。

这个过程就可以在向量中加上特征。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

反向传播与 Transformer 学习笔记
https://blog.hachile.org/posts/backpropagation-and-transformer-notes/
作者
Gunpowder
发布于
2026-10-18
许可协议
CC BY-NC-SA 4.0
文章目录