gpt的构造和原理

gpt是序列预测模型。

问答是通过确定问答格式样本训练出来的!比如“Q:xxxx.A:xxx"本质还是根据前面的序列预测后面的序列。在自回归训练过程中,文本序列(可能包含问题和紧随其后的答案)被视为一个整体输入到模型中。

词嵌入是把词汇转换成n维向量的层,此时向量不考虑前后文只考虑这个词是什么。类似查词典。

自注意力机制是把局部特征向量转换成全局特征向量的层,也就是考虑前后文改变这个词意,q反映是元素关注特征的向量,k是元素有的供别人关注特征的向量,所以点积之后反映的相似度代表了关注的和对方有的的契合度,也就可以衡量注意力得分了,除以维度开根是为了防止梯度爆炸,softmax是为了标准化。得到的就是注意力得分然后乘以对方的v向量就是受到对方的影响。

预测则是靠fnn(前馈网络)进行的。

gpt的参数通过反向传递和梯度下降进行查找的。经典的梯度下降就是通过链式法则的数学方法,不过也有随机梯度下降,adam什么的方法。变动一点的数值方法不知道有没有。

完整预测过程:

词嵌入矩阵是二维的,就像词典一样把词转换成n维度向量,有两个索引,分别是词语,还有维度,比如cat的向量是3,2,57,1,62。[cat,3]就是57.这样转换完得到的就是3维的局部向量,比如第1句的第3个词语是cat,转换后就是[1,3,0:4]=3,2,57,1,62。
再去多头自注意机制层,各个头平分维度,在低维子空间计算,所以每一个头管5(维度)/头数个维度,这个数也是dk,dq和dv,就是查询向量,键向量和值向量的维度。然后用序列内每一个元素的局部特征向量乘以查询向量变换矩阵,键向量变换矩阵和值向量变换矩阵,就可以得到查询向量,键向量和值向量。用a的查询向量点积b的键向量就可以得到a对b的注意力得分,然后除以向量维度(kqv的,都一样,等于局部特征向量除以头数)的1/2次方,这是为了防止过大,我之前有想为什么不除以模,说是实践中训练时间会高很多,除以这个可以削弱维度太多造成相似度的数值过大。再把这个注意力得分除以根号维度的东西做softmax归一化就可以放注意力得分矩阵里的a,b位置了,这个矩阵n*n,代表每一个元素i对元素j的注意(s受影响)程度,用这个值乘上j的v向量就是对i的影响,把每一个头得到的这个影响,重新拼起来,就是和原来局部特征向量维数一样的一个向量,通过残差连接把他加回原来的局部特征向量再做层归一化(归一化加缩放平移)就是全局特征向量。全局特征向量再放FNN里面预测后面的序列,特别是我发现预测的序列长度和原来的序列一定是相同的,因为算完的是改变值,加上原来的全局特征序列(残差)就是新的序列的全局特征序列。再归一化然后用词嵌入矩阵的转置矩阵(向量to词汇)(词汇,维度)转回去。
但是这个时候转回去可能发现转回的向量没有对应的词,比如这里适合放意思是15,2,66的词语,但是词嵌入矩阵里没有,只有15,2,63的apple和15,2,67的banana。那么就转概率或者说得分,所有概率用三维概率/得分分布矩阵保存。[1(第一句),4(第4个词),apple(词汇,通常也会转编码)]=4(得分),[1,4,banana]=6(得分)。
然后用softmax归一化之后,所有得分之和变成1,就是概率了,[1(第一句),4(第4个词),apple(词汇,通常也会转编码)]=0.4,[1,4,banana]=0.6。
然后选最大或者全输出什么的就看选择了。比如选最大,那么就推测下一个词语是banana。

sleepgpt主要是利用了全局特征向量这个功能。光通过局部特征无法判断有病与否。

某一个时间点不看前后,无论处在哪一个睡眠时期都不是有问题的。

但是特定的一些序列比如121(我乱说的,举个例子),323之类的就能说明有睡眠问题。

这就是gpt在分类中的运用。

最后说明一下知识是以参数形式隐性的存储在自注意力,FNN,层归一化等层的训练参数中的。绝大多数比如查询(Q)、键(K)和值(V)矩阵是通过训练学习到的参数,但是像注意力得分矩阵这种是需要根据q向量和前后文kv向量算的,当然是每一次理解前后文的时候都要去算的。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值