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

全自动网站建设wordpress ajax本地化

全自动网站建设,wordpress ajax本地化,品牌建设更加,js网站建设Self-attention介绍 Self-attention是一种特殊的attention#xff0c;是应用在transformer中最重要的结构之一。attention机制#xff0c;它能够帮助找到子序列和全局的attention的关系#xff0c;也就是找到权重值wi。Self-attention相对于attention的变化#xff0c;其实…Self-attention介绍 Self-attention是一种特殊的attention是应用在transformer中最重要的结构之一。attention机制它能够帮助找到子序列和全局的attention的关系也就是找到权重值wi。Self-attention相对于attention的变化其实就是寻找权重值的wi过程不同。 为了能够产生输出的向量yiself-attention其实是对所有的输入做了一个加权平均的操作这个公式和上面的attention是一致的。j代表整个序列的长度并且j个权重的相加之和等于1。值得一提的是这里的 wij并不是一个需要神经网络学习的参数它是来源于xi和xj的之间的计算的结果这里wij的计算发生了变化)。它们之间最简单的一种计算方式就是使用点积的方式。 xi和xj是一对输入和输出。对于下一个输出的向量yi1有一个全新的输入序列和一个不同的权重值。 这个点积的输出的取值范围在负无穷和正无穷之间所以要使用一个softmax把它映射到[0,1] 之间并且要确保它们对于整个序列而言的和为1。以上这些就是self-attention最基本的操作。 Self-attention和Attention使用方法 根据他们之间的重要区别可以区分在不同任务中的使用方法 在神经网络中通常来说会有输入层input应用激活函数后的输出层output在RNN当中会有状态state。如果attention (AT) 被应用在某一层的话它更多的是被应用在输出或者是状态层上而当使用self-attentionSA这种注意力的机制更多的实在关注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机制的实现步骤 第一步: 准备输入第二步: 初始化参数第三步: 获取keyquery和value第四步: 给input1计算attention score第五步: 计算softmax第六步: 给value乘上score第七步: 给value加权求和获取output1第八步: 重复步骤4-7获取output2output3 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, dtypetorch.float32) 2. 初始化参数 # 每一个输入都有三个表示分别为key橙黄色query红色value紫色。 # 每一个表示希望是一个3维的向量。由于输入是4维所以参数矩阵为 4*3 维。 # 为了能够获取这些表示每一个输入绿色要和keyquery和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, dtypetorch.float32) w_query torch.tensor(w_query, dtypetorch.float32) w_value torch.tensor(w_value, dtypetorch.float32)print(w_key: \n, w_key) print(w_query: \n, w_query) print(w_value: \n, w_value) 3. 获取keyquery和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获取output2output3 outputs weighted_values.sum(dim0) print(outputs)
http://www.pierceye.com/news/754309/

相关文章:

  • 网站建设网站栏目结构图网站接入激励视频广告
  • 网站的icon图标做多大网站建设实训心得 总结
  • 做网站不错的公司讯美 深圳网站建设
  • 广东官网网站建设怎么样网站开发公司管理模式
  • 什么网站可以接单做设计html代码块
  • 网站建设贰金手指科捷6构建一个网站需要什么
  • wordpress 插件下载站seo网站布局
  • 公司网站建设费用会计入账招代理的网站建设公司
  • 查询网站入口中廉建设网站
  • 在市场部做网站多少工资微网站需要域名吗
  • 做网站有没有前景WordPress 长文 阅读
  • 按揭车在哪个网站可以做贷款网页素材制作
  • 做网站公司怎样wordpress 速度优化
  • 网站建设必须要主机吗程序员外包公司是什么意思
  • 百度入口的链接seo赚钱培训
  • 利川网站建设wordpress 文章音频
  • 对电子商务网站建设与管理的理解福州市建设工程造价管理网站
  • 网站登录系统内部错误建设机械网站案例分析
  • 网络营销网站建设培训乔拓云的品牌推广方案
  • 狼雨seo网站河北省建设集团有限公司网站首页
  • 如何建双注册网站一嗨租车网站建设的功能特色
  • 陕西正天建设有限公司网站wordpress 筛选
  • 产品展示网站方案2022年国内重大新闻
  • 网站的支付接口对接怎么做深圳品牌网站建设服务
  • 哈尔滨网站快速排名网站采集被降权
  • 做网站要钱吗学校网站建设调查问卷
  • 重庆网站建设招标网站建设网站建设教程
  • 权威的广州h5网站seo网站分析工具
  • 美食网站要怎么做游戏优化大师下载安装
  • vip解析网站怎么做的做网站需要注册商标多少类