当前位置: 首页 > news >正文

python做的知名网站福建省建设执业注册中心网站

python做的知名网站,福建省建设执业注册中心网站,企业做网站公司哪家好,广州网站建设新锐前言 最近研究了很多精妙的transformer资料,发现各大教育机构的对此讲解的讳莫如深,本着求索的态度,所以查了相关的资料和原始文献,结合自己的理解,写一点东西,希望能对你有所帮助。 Attention 解释 简单…

前言

最近研究了很多精妙的transformer资料,发现各大教育机构的对此讲解的讳莫如深,本着求索的态度,所以查了相关的资料和原始文献,结合自己的理解,写一点东西,希望能对你有所帮助。

Attention 解释

简单来说,Attention(注意力机制)是一种让模型自动“关注”重要信息、忽略不重要内容的机制,就像人们在阅读一段话时会本能地关注关键字。

我们从最简单的例子讲起,参考很多教学资料的经典的一句话:

“我昨天吃了一个苹果,它非常甜。”

请问这里的“它”是指什么?

你肯定会说:“它”就是“苹果”!

没错!因为你人脑在读“它”这个字时,自动把注意力放回到前面的“苹果”,从而理解整句话的意思。

但计算机并不会自己理解这种“代词指代关系”。

我们让模型读这句话:

“我昨天吃了一个苹果,它非常甜。”

模型可能会懵逼:“‘它’是指昨天?还是我?还是苹果?”

这时候就需要 Attention 机制出马了!

Attention 的核心能力

模型在处理某个词(比如“它”)时,能够自动“关注”与它相关的其他词(比如“苹果”),从而更准确地理解句子的语义。
用一句话形象的理解:Attention 能让模型把注意力集中在“有用的词”上。

Attention 机制的实现

先看一下Attention的公式:

Attention(Q, K, V) = softmax(Q × K^T / √d) × V

我们逐个拆开。

理解 Q、K、V

Q、K、V对应(查询、键、值)
你可以这样理解这三个概念:

术语类比解释
Q(Query)你想查什么比如“它”
K(Key)可能的候选项比如“我”“昨天”“苹果”
V(Value)实际的信息内容和每个词相关的向量表示
简单说:

Q 就是你当前处理的词,K 是你要匹配的候选,V 是词的真实信息。

计算相似度

Q × K^T

  • 比如现在要处理“它”,就拿“它”的向量(Q)去跟所有其他词的向量(K)做对比,看谁最像。
  • 将QK相乘后的矩阵做行列对调^T得到新的矩阵,点积
  • 点积越大,说明两个词越相关。

归一化处理

softmax()函数做归一化处理
对所有相似度做一个 softmax,让它们变成概率分布:
如下:

相似度(点积)归一化后权重
1.20.1
昨天0.50.05
苹果4.00.85

→ 模型知道“它”与“苹果”关系最大,应该重点关注它。
向量维度 d 很大,比如 512、1024,点积的数值就可能变得非常大,于是就需要做缩放处理,如下步骤。

缩放点积

√d
d 是每个向量的维度(可能是64 或 128或更大的值),√d 是对这个维度进行开方来做缩放处理。
为啥呢?因为softmax 遇到很大的值会“爆炸”,从而导致:

  • 某几个位置变成 0.99、0.999…
  • 其他全变成接近 0
  • 权重分布极端化,训练不稳定,模型收敛困难!
    除以 √d 是为了防止向量维度越大,点积值越大,从而导致 softmax 输出过于极端,影响模型效果。
    这个技巧也被称为:
    Scaled Dot-Product Attention(缩放点积注意力)

加权求和

最后公式乘上 V

  • 把每个词的表示(V)按照刚才算出的权重加权平均。
  • 这样你就得到了一个新的“融合了相关信息”的向量。

这个向量就是“它”的最终表示,包含了“苹果”的语义!

代码实现

#入门简洁版代码
import numpy as npdef softmax(x):"""对最后一维做 softmax"""e_x = np.exp(x - np.max(x, axis=-1, keepdims=True))  # 防止溢出return e_x / np.sum(e_x, axis=-1, keepdims=True)def attention(Q, K, V):"""Q: [n, d] 查询向量K: [n, d] 键向量V: [n, d] 值向量返回: 注意力输出 [n, d]"""d_k = Q.shape[-1]  # 向量维度 dscores = np.dot(Q, K.T) / np.sqrt(d_k)  # 计算 Q 和 K 的相似度,并缩放weights = softmax(scores)              # 得到注意力权重output = np.dot(weights, V)            # 用注意力权重加权 Vreturn output, weights#测试样例
# 假设我们有 3 个词,每个词是 3 维向量
Q = np.array([[1, 0, 0],[0, 1, 0],[0, 0, 1]], dtype=np.float32)K = np.array([[1, 0, 0],[0, 1, 0],[0, 0, 1]], dtype=np.float32)V = np.array([[10, 0, 0],[0, 10, 0],[0, 0, 10]], dtype=np.float32)output, weights = attention(Q, K, V)print("Attention Weights:\n", weights)
print("Output:\n", output)#输出结果
Attention Weights:[[0.843, 0.078, 0.078],[0.078, 0.843, 0.078],[0.078, 0.078, 0.843]]Output:[[8.43, 0.78, 0.78],[0.78, 8.43, 0.78],[0.78, 0.78, 8.43]]

小结

对于每个词,Attention 做了 3 步:

  1. 计算当前词(Q)和所有词(K)的相似度
  2. 变成概率分布(softmax)
  3. 用这个概率去加权所有的词(V)得到最终的输出
    这样,模型就可以自动“关注”关键部分了!
    举个实际例子来感受一下:
    句子:“The animal didn’t cross the street because it was too tired.”
    这个句子里,“it” 到底指“animal”还是“street”?
    人脑会根据语义判断:“它很累”显然是“animal”在累。
    Attention 就能捕捉到这一点:
  • Q = “it”
  • K = [“The”, “animal”, “didn’t”, …, “street”]
  • Attention 会分配最大权重给 “animal”,因为“它”和“animal”最相关。

多头注意力(Multi-head Attention)

刚刚我们讲的是一组 Q、K、V,其实 Transformer 是多个头一起做 Attention!

  • 每个头可以“关注”不同的信息维度:
  • 有的关注语法结构
  • 有的关注长距离关系
  • 有的关注词性搭配
    然后把多个头的结果拼起来,让模型拥有更全面的理解。

自注意力(Self-Attention)

自注意力就是自己和自己做 Attention。

每个词都和其他词(包括自己)计算 Attention。
比如句子:“I love you”:

  • “I” 会关注 “I”、“love”、“you”
  • “love” 会关注“I”、“love”、“you”
  • “you” 也一样

这样每个词都能“看全局”,知道跟自己相关的词有哪些。

Attention特点总结

特点说明
全局建模可以一次性看全句所有词
并行计算不像 RNN 要一个个处理,可以并行
聚焦关键自动抓住关键内容
易扩展可堆叠、可组合,非常灵活

Attention 应用场景

应用举例
NLP机器翻译、问答系统、对话生成
计算机视觉图像分类、图像描述、图像问答
多模态任务文本+图像、文本+语音
编程任务代码补全、代码解释

特别是 ChatGPT、BERT、T5、GPT-4 这些模型,都是用的 Attention 机制

总结

Attention 就是让模型学会“聚焦重点”的机制,就像你看书时自动划重点一样,它能帮助模型更聪明地理解输入数据的结构和语义。

延伸阅读推荐

  • 《Attention is All You Need》原始论文:https://arxiv.org/abs/1706.03762
  • 《动手学深度学习》中文版 Attention 章节

在这里插入图片描述

http://www.yayakq.cn/news/750792/

相关文章:

  • 致和网站建设中国十大设计名校
  • 怎样安装网站模板请人用wordpress建站假期
  • 上海网站建设公司哪家好iis怎么建网站
  • 网站改版换了域名张家港普通网站建设
  • 百度网盘怎样做网站上海高端网站建设公
  • 网站一般费用会员管理系统登录
  • 网站建设的客户都在哪里租房网站那些地图区域统计怎么做的
  • 福州网站建设服务公司版式设计排版
  • 微信公众号建设公司seo超级外链发布
  • 南昌h5建站网页设计与制作论文6000
  • 网站推广的六种方式百度权重3的网站值多少
  • 浙江省建设厅网站高工网站自动seo
  • 关于做网站的总结摄影婚纱网站建设
  • 余姚做网站设计哪里提供邢台做网站
  • 一站式网站建设与运营这种资源网站怎么做才赚钱
  • 本地环境搭建网站做贷款在那些网站找客户
  • 焦作北京网站建设厦门建设管理局网站
  • 谢岗镇网站建设网站为什么要挂服务器上
  • 外国网站打开很慢wordpress logo img
  • 怎么分析竞争对手网站杭州化工网站建设
  • 个人简历制作网站免费建自己的网站
  • 搜索引擎优化网站排名西青做网站的公司
  • 网站建设话术中国服务外包网
  • 网站版式设计说明pageadmin建站系统
  • 近期热点舆情事件潍坊百度推广优化
  • 合肥网站优化哪家好网页浏览设置在哪里打开
  • 做app还是网站自己做的网站跳转到购彩大厅
  • 本地推广找哪些网站象山经济开发区建设有限公司网站
  • 学做网站教学百度网盘凡科建站怎么样
  • 怎么看一个网站是html5推广型网站免费建设