模型训练对于初始化参数的一些理解

模型训练里面会有Q K V 查询向量,键向量,值向量
它们是什么?
首先模型训练是基于一个语言的,比如基于一个汉语,有5000个词,这是词汇表,然后我们要训练模型训练的是什么,其实就是维度,词是死的固定的,给每个词赋予512维就好比每个词赋予了512个属性,分别解释这个词的各种作用
然后每个词就有512个参数值了,这个是随机初始的,在训练开始的时候,然后我们再从固定的三个维度来字义这个词就是初始的WQ,WK,WV它们就是三个学习矩阵每个都是512*512的,也是随机初始的,然后就可以来学习了,比如一个词“我”这个词向量与WQ点积就得到Q,与WK点积就得到K,与WV点积就得到V,就得到了一个词的W,K,V,然后用它们来参与attention计算

比如先有50000个词,512维,那么每个词都有自己的对应的512维的初始数值是吗,这个初始数值与初始的W^Q W^K W^V 有关系吗,是没有关系的WQ、WK、WV 是模型参数,不是词向量自身的一部分WQ、WK、WV被叫作线性变换矩阵,我们用三组线性变换矩阵(WQ、WK、WV)去投影词向量,从而生成 Q、K、V。

它们不是“定义词”的维度,而是让模型从不同角度看待同一个词。
WQ 是“我想问什么”(Query)
WK 是“我能提供什么信息”(Key)
WV 是“我携带什么内容”(Value)

训练过程中,模型不仅更新词向量,也更新这些矩阵
在反向传播时,损失函数的梯度会同时作用于:
词嵌入(embedding)参数;
WQ、WK、WV;
以及其他层的参数(比如 FFN 层、LayerNorm 等)。
所以训练实际上是在同时学习词语的表示和注意力的投影方式。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容