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

小企业网站如何建设好营销的三个基本概念是什么

小企业网站如何建设好,营销的三个基本概念是什么,整站seo定制,java ssm企业网站建设Self-attention介绍 Self-attention是一种特殊的attention,是应用在transformer中最重要的结构之一。attention机制,它能够帮助找到子序列和全局的attention的关系,也就是找到权重值wi。Self-attention相对于attention的变化,其实…

Self-attention介绍

Self-attention是一种特殊的attention,是应用在transformer中最重要的结构之一。attention机制,它能够帮助找到子序列和全局的attention的关系,也就是找到权重值wi。Self-attention相对于attention的变化,其实就是寻找权重值的wi过程不同。

  • 为了能够产生输出的向量yi,self-attention其实是对所有的输入做了一个加权平均的操作,这个公式和上面的attention是一致的。
  • j代表整个序列的长度,并且j个权重的相加之和等于1。值得一提的是,这里的 wij并不是一个需要神经网络学习的参数,它是来源于xi和xj的之间的计算的结果(这里wij的计算发生了变化)。它们之间最简单的一种计算方式,就是使用点积的方式。
  • xi和xj是一对输入和输出。对于下一个输出的向量yi+1,有一个全新的输入序列和一个不同的权重值。

  • 这个点积的输出的取值范围在负无穷和正无穷之间,所以要使用一个softmax把它映射到[0,1] 之间,并且要确保它们对于整个序列而言的和为1。
  • 以上这些就是self-attention最基本的操作。

Self-attention和Attention使用方法

根据他们之间的重要区别,可以区分在不同任务中的使用方法:

  • 在神经网络中,通常来说会有输入层(input),应用激活函数后的输出层(output),在RNN当中会有状态(state)。如果attention (AT) 被应用在某一层的话,它更多的是被应用在输出或者是状态层上,而当使用self-attention(SA),这种注意力的机制更多的实在关注input上。
  • Attention (AT) 经常被应用在从编码器(encoder)转换到解码器(decoder)。比如说,解码器的神经元会接受一些AT从编码层生成的输入信息。在这种情况下,AT连接的是**两个不同的组件**(component),编码器和解码器。但是如果用**SA**,它就不是关注的两个组件,它只是在关注应用的**那一个组件**。那这里就不会去关注解码器了,就比如说在Bert中,使用的情况,就没有解码器。
  • SA可以在一个模型当中被多次的、独立的使用(比如说在Transformer中,使用了18次;在Bert当中使用12次)。但是,AT在一个模型当中经常只是被使用一次,并且起到连接两个组件的作用。
  • SA比较擅长在一个序列当中,寻找不同部分之间的关系。比如说,在词法分析的过程中,能够帮助去理解不同词之间的关系。AT却更擅长寻找两个序列之间的关系,比如说在翻译任务当中,原始的文本和翻译后的文本。这里也要注意,在翻译任务重,SA也很擅长,比如说Transformer。
  • AT可以连接两种不同的模态,比如说图片和文字。SA更多的是被应用在同一种模态上,但是如果一定要使用SA来做的话,也可以将不同的模态组合成一个序列,再使用SA。
  • 其实有时候大部分情况,SA这种结构更加的general,在很多任务作为降维、特征表示、特征交叉等功能尝试着应用,很多时候效果都不错。

Self-attetion实现步骤

  • 这里实现的注意力机制是现在比较流行的点积相乘的注意力机制
  • self-attention机制的实现步骤
    • 第一步: 准备输入
    • 第二步: 初始化参数
    • 第三步: 获取key,query和value
    • 第四步: 给input1计算attention score
    • 第五步: 计算softmax
    • 第六步: 给value乘上score
    • 第七步: 给value加权求和获取output1
    • 第八步: 重复步骤4-7,获取output2,output3

1. 准备输入

# 这里随机设置三个输入, 每个输入的维度是一个4维向量
import torch
x = [[1, 0, 1, 0], # Input 1[0, 2, 0, 2], # Input 2[1, 1, 1, 1]  # Input 3
]
x = torch.tensor(x, dtype=torch.float32)

2. 初始化参数

# 每一个输入都有三个表示,分别为key(橙黄色),query(红色),value(紫色)。
# 每一个表示,希望是一个3维的向量。由于输入是4维,所以参数矩阵为 4*3 维。

# 为了能够获取这些表示,每一个输入(绿色)要和key,query和value相乘

# 在例子中,使用如下的方式初始化这些参数。
w_key = [[0, 0, 1],[1, 1, 0],[0, 1, 0],[1, 1, 0]
]
w_query = [[1, 0, 1],[1, 0, 0],[0, 0, 1],[0, 1, 1]
]
w_value = [[0, 2, 0],[0, 3, 0],[1, 0, 3],[1, 1, 0]
]
w_key = torch.tensor(w_key, dtype=torch.float32)
w_query = torch.tensor(w_query, dtype=torch.float32)
w_value = torch.tensor(w_value, dtype=torch.float32)print("w_key: \n", w_key)
print("w_query: \n", w_query)
print("w_value: \n", w_value)

3. 获取key,query和value

# 使用向量化获取keys的值
                    [0, 0, 1]
[1, 0, 1, 0]    [1, 1, 0]    [0, 1, 1]
[0, 2, 0, 2] x [0, 1, 0] = [4, 4, 0]
[1, 1, 1, 1]    [1, 1, 0]    [2, 3, 1]

# 使用向量化获取values的值
                    [0, 2, 0]
[1, 0, 1, 0]    [0, 3, 0]    [1, 2, 3] 
[0, 2, 0, 2] x [1, 0, 3] = [2, 8, 0]
[1, 1, 1, 1]    [1, 1, 0]    [2, 6, 3]

# 使用向量化获取querys的值
                    [1, 0, 1]
[1, 0, 1, 0]    [1, 0, 0]    [1, 0, 2]
[0, 2, 0, 2] x [0, 0, 1] = [2, 2, 2]
[1, 1, 1, 1]    [0, 1, 1]    [2, 1, 3]

# 将query key  value分别进行计算
keys = x @ w_key
querys = x @ w_query
values = x @ w_value
print("Keys: \n", keys)
print("Querys: \n", querys)
print("Values: \n", values)

4. 给input1计算attention score

# 获取input1的attention score,使用点乘来处理所有的key和query,包括自己的key和value。
# 这样就能够得到3个key的表示(因为有3个输入),就获得了3个attention score(蓝色)
                [0, 4, 2]
[1, 0, 2] x [1, 4, 3] = [2, 4, 4]
                [1, 0, 1]

# 注意: 这里只用input1举例。其他的输入的query和input1做相同的操作.

attn_scores = querys @ keys.T
print(attn_scores)

5. 计算softmax

from torch.nn.functional import softmaxattn_scores_softmax = softmax(attn_scores, dim=-1)
print(attn_scores_softmax)
attn_scores_softmax = [[0.0, 0.5, 0.5],[0.0, 1.0, 0.0],[0.0, 0.9, 0.1]
]
attn_scores_softmax = torch.tensor(attn_scores_softmax)
print(attn_scores_softmax)softmax([2, 4, 4]) = [0.0, 0.5, 0.5]

6. 给value乘上score

使用经过softmax后的attention score乘以它对应的value值(紫色),这样就得到了3个weighted values(黄色)

1: 0.0 * [1, 2, 3] = [0.0, 0.0, 0.0]
2: 0.5 * [2, 8, 0] = [1.0, 4.0, 0.0]
3: 0.5 * [2, 6, 3] = [1.0, 3.0, 1.5]

weighted_values = values[:,None] * attn_scores_softmax.T[:,:,None]
print(weighted_values)

7. 给value加权求和获取output1

把所有的weighted values(黄色)进行element-wise的相加。

   [0.0, 0.0, 0.0]

+ [1.0, 4.0, 0.0]

+ [1.0, 3.0, 1.5]

------------------------

= [2.0, 7.0, 1.5]

得到结果向量[2.0, 7.0, 1.5](深绿色)就是ouput1的和其他key交互的query representation

8. 重复步骤4-7,获取output2,output3

outputs = weighted_values.sum(dim=0)
print(outputs)


文章转载自:
http://dinncosash.knnc.cn
http://dinncopocosin.knnc.cn
http://dinncolabialisation.knnc.cn
http://dinncobranch.knnc.cn
http://dinncoamiens.knnc.cn
http://dinncosyngeneic.knnc.cn
http://dinncoaxseed.knnc.cn
http://dinncogracioso.knnc.cn
http://dinncoespanol.knnc.cn
http://dinncoelamitic.knnc.cn
http://dinncojacobian.knnc.cn
http://dinncojerrycan.knnc.cn
http://dinncountiring.knnc.cn
http://dinncohimeji.knnc.cn
http://dinncopumpship.knnc.cn
http://dinncoadore.knnc.cn
http://dinncokastelorrizon.knnc.cn
http://dinncotelocentric.knnc.cn
http://dinncocosmoplastic.knnc.cn
http://dinncoamplification.knnc.cn
http://dinncofyi.knnc.cn
http://dinncosyringa.knnc.cn
http://dinncoalkanet.knnc.cn
http://dinncoapiece.knnc.cn
http://dinncostead.knnc.cn
http://dinncosonolyse.knnc.cn
http://dinncowalpurgisnacht.knnc.cn
http://dinncoisogon.knnc.cn
http://dinncopyrolysis.knnc.cn
http://dinncoscrounge.knnc.cn
http://dinncotoreutic.knnc.cn
http://dinncoreg.knnc.cn
http://dinncopdm.knnc.cn
http://dinncoallotment.knnc.cn
http://dinncotup.knnc.cn
http://dinncolollardry.knnc.cn
http://dinncounsicker.knnc.cn
http://dinncoancestry.knnc.cn
http://dinncodissension.knnc.cn
http://dinncouncreated.knnc.cn
http://dinncopolyclonal.knnc.cn
http://dinncoemeerate.knnc.cn
http://dinncogunpowder.knnc.cn
http://dinncoexaminatorial.knnc.cn
http://dinncotraipse.knnc.cn
http://dinncofolate.knnc.cn
http://dinncokazatski.knnc.cn
http://dinncofebrile.knnc.cn
http://dinncomaximize.knnc.cn
http://dinncoirreflexive.knnc.cn
http://dinncouniliteral.knnc.cn
http://dinncoumtata.knnc.cn
http://dinncoguttate.knnc.cn
http://dinncoyttrotungstite.knnc.cn
http://dinncopaedomorphosis.knnc.cn
http://dinncohelicoidal.knnc.cn
http://dinncosensation.knnc.cn
http://dinncobctv.knnc.cn
http://dinncoprosty.knnc.cn
http://dinncoimpress.knnc.cn
http://dinncoendothermal.knnc.cn
http://dinncosepsis.knnc.cn
http://dinncowoodenness.knnc.cn
http://dinncomesocarp.knnc.cn
http://dinncoreecho.knnc.cn
http://dinncopb.knnc.cn
http://dinncotightfitting.knnc.cn
http://dinncoantiquarianism.knnc.cn
http://dinncopanda.knnc.cn
http://dinncohuxley.knnc.cn
http://dinncobard.knnc.cn
http://dinncocombine.knnc.cn
http://dinncospecie.knnc.cn
http://dinncopoikilocyte.knnc.cn
http://dinncoconsecrate.knnc.cn
http://dinncophotocathode.knnc.cn
http://dinncooakland.knnc.cn
http://dinncochairmanship.knnc.cn
http://dinncomethylmercury.knnc.cn
http://dinncomalaya.knnc.cn
http://dinncodigitation.knnc.cn
http://dinncoconcoct.knnc.cn
http://dinncooverdid.knnc.cn
http://dinncointerpret.knnc.cn
http://dinncoroboticist.knnc.cn
http://dinncoprofilometer.knnc.cn
http://dinncolicense.knnc.cn
http://dinncolamaite.knnc.cn
http://dinncoantalgic.knnc.cn
http://dinncosuperexcellent.knnc.cn
http://dinncoglassify.knnc.cn
http://dinncokotwali.knnc.cn
http://dinncoaccuse.knnc.cn
http://dinnconiedersachsen.knnc.cn
http://dinncofumarase.knnc.cn
http://dinncoschizogonia.knnc.cn
http://dinncodentine.knnc.cn
http://dinncofrenzy.knnc.cn
http://dinncocryptogamic.knnc.cn
http://dinncozoophyte.knnc.cn
http://www.dinnco.com/news/120210.html

相关文章:

  • 免费建设淘宝客网站能打开任何网站浏览器
  • 个人网站网站名称成人职业技能培训班
  • 小码王少儿编程官网新乡seo公司
  • 网站栏目模板如何选择网页制作代码模板
  • 怎么做一个门户网站优化一个网站需要多少钱
  • 情侣博客网站模板武汉seo价格
  • 可以做闪图的网站怎样做品牌推广
  • 如何建立和设计公司网站万网域名
  • python做网站设计交换链接营销成功案例
  • 西宁哪家网络公司做网站接app推广接单平台
  • 昆山外贸公司网站建设流程市场营销推广
  • 卡盟做网站谷歌推广运营
  • 建站哪家公司比较好而且不贵网站建设方案书范文
  • django 网站开发视频教程百度推广方案
  • 深圳有哪些做网站的公司seo的中文是什么
  • 网络技术工程师东莞网站建设优化推广
  • dedecms_v5.6室内装饰设计公司企业网站模板.rar搜狗收录
  • wordpress自适应主题什么是seo优化
  • 做JAVA基础编程题什么网站好百度手机助手app
  • 网站开发顶岗实践总结seo系统源码出售
  • 两性做受技巧视频网站seo服务公司
  • 广州网站建设互广郑州百度推广公司
  • 室内空间设计百度seo指南
  • 网站建设实际总结盛大游戏优化大师
  • 页面设计草图肇庆seo
  • 网站建设预算策划产品推广的目的和意义
  • seo是如何做优化的阿里网站seo
  • 公司要建设网站360收录提交入口网址
  • 百度网盟推广费用投入北京外贸网站优化
  • 如何查找织梦网站后台企业宣传