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

河南海华工程建设监理公司网站网站建设需求策划书

河南海华工程建设监理公司网站,网站建设需求策划书,做网站设计管理需要什么知识,asp.net网站开发简明教程在注意力机制中#xff0c;每个查询都会关注所有的键#xff0d;值对并生成一个注意力输出。由于查询、键和值来自同一组输入#xff0c;因此被称为 自注意力#xff08;self-attention#xff09;#xff0c;也被称为内部注意力#xff08;intra-attention#xff09;…在注意力机制中每个查询都会关注所有的键值对并生成一个注意力输出。由于查询、键和值来自同一组输入因此被称为 自注意力self-attention也被称为内部注意力intra-attention。本节将使用自注意力进行序列编码以及使用序列的顺序作为补充信息。 import math import torch from torch import nn from d2l import torch as d2l10.6.1 自注意力 给定一个由词元组成的输入序列 x 1 , … , x n \boldsymbol{x}_1,\dots,\boldsymbol{x}_n x1​,…,xn​其中任意 x i ∈ R d ( 1 ≤ i ≤ n ) \boldsymbol{x}_i\in\R^d\quad(1\le i\le n) xi​∈Rd(1≤i≤n) 。该序列的自注意力输出为一个长度相同的序列 y 1 , … , y n \boldsymbol{y}_1,\dots,\boldsymbol{y}_n y1​,…,yn​其中 y i f ( x i , ( x 1 , x 1 ) , … , ( x n , x n ) ) ∈ R d \boldsymbol{y}_if(\boldsymbol{x}_i,(\boldsymbol{x}_1,\boldsymbol{x}_1),\dots,(\boldsymbol{x}_n,\boldsymbol{x}_n))\in\R^d yi​f(xi​,(x1​,x1​),…,(xn​,xn​))∈Rd num_hiddens, num_heads 100, 5 attention d2l.MultiHeadAttention(num_hiddens, num_hiddens, num_hiddens, # 基于多头注意力对一个张量完成自注意力的计算num_hiddens, num_heads, 0.5) attention.eval()MultiHeadAttention((attention): DotProductAttention((dropout): Dropout(p0.5, inplaceFalse))(W_q): Linear(in_features100, out_features100, biasFalse)(W_k): Linear(in_features100, out_features100, biasFalse)(W_v): Linear(in_features100, out_features100, biasFalse)(W_o): Linear(in_features100, out_features100, biasFalse) )batch_size, num_queries, valid_lens 2, 4, torch.tensor([3, 2]) X torch.ones((batch_size, num_queries, num_hiddens)) # 张量的形状为批量大小时间步的数目或词元序列的长度d。 attention(X, X, X, valid_lens).shape # 输出与输入的张量形状相同torch.Size([2, 4, 100])10.6.2 比较卷积神经网络、循环神经网络和自注意力 卷积神经网络 计算复杂度为 O ( k n d 2 ) O(knd^2) O(knd2) k k k 为卷积核大小 n n n 为序列长度是 d d d 为输入和输出的通道数量 并行度为 O ( n ) O(n) O(n) 最大路径长度为 O ( n / k ) O(n/k) O(n/k) 循环神经网络 计算复杂度为 O ( n d 2 ) O(nd^2) O(nd2) d × d d\times d d×d 权重矩阵和 d d d 维隐状态的乘法计算复杂度为 O ( d 2 ) O(d^2) O(d2)由于序列长度为 n n n因此循环神经网络层的计算复杂度为 O ( n d 2 ) O(nd^2) O(nd2) 并行度为 O ( 1 ) O(1) O(1) 有 O ( n ) O(n) O(n) 个顺序操作无法并行化。 最大路径长度也是 O ( n ) O(n) O(n) 自注意力 计算复杂度为 O ( n 2 d ) O(n^2d) O(n2d) 查询、键和值都是 n × d n\times d n×d 矩阵 并行度为 O ( n ) O(n) O(n) 每个词元都通过自注意力直接连接到任何其他词元。因此有 O ( 1 ) O(1) O(1) 个顺序操作可以并行计算 最大路径长度也是 O ( 1 ) O(1) O(1) 总而言之卷积神经网络和自注意力都拥有并行计算的优势而且自注意力的最大路径长度最短。但是因为其计算复杂度是关于序列长度的二次方所以在很长的序列中计算会非常慢。 10.6.3 位置编码 在处理词元序列时循环神经网络是逐个的重复地处理词元的而自注意力则因为并行计算而放弃了顺序操作。为了使用序列的顺序信息通过在输入表示中添加 位置编码positional encoding 来注入绝对的或相对的位置信息。位置编码可以通过学习得到也可以直接固定得到。 基于正弦函数和余弦函数的固定位置编码的矩阵第 i i i 行、第 2 j 2j 2j 列和 2 j 1 2j1 2j1 列上的元素为 p i , 2 j sin ⁡ ( i 1000 0 2 j / d ) p i , 2 j 1 cos ⁡ ( i 1000 0 2 j / d ) \begin{align} p_{i,2j}\sin{\left(\frac{i}{10000^{2j/d}}\right)}\\ p_{i,2j1}\cos{\left(\frac{i}{10000^{2j/d}}\right)} \end{align} pi,2j​pi,2j1​​sin(100002j/di​)cos(100002j/di​)​​ #save class PositionalEncoding(nn.Module):位置编码def __init__(self, num_hiddens, dropout, max_len1000):super(PositionalEncoding, self).__init__()self.dropout nn.Dropout(dropout)# 创建一个足够长的Pself.P torch.zeros((1, max_len, num_hiddens))X torch.arange(max_len, dtypetorch.float32).reshape(-1, 1) / torch.pow(10000, torch.arange(0, num_hiddens, 2, dtypetorch.float32) / num_hiddens)self.P[:, :, 0::2] torch.sin(X)self.P[:, :, 1::2] torch.cos(X)def forward(self, X):X X self.P[:, :X.shape[1], :].to(X.device)return self.dropout(X)在位置嵌入矩阵 P \boldsymbol{P} P 中行代表词元在序列中的位置列代表位置编码的不同维度。从下面的例子中可以看到位置嵌入矩阵的第 6 列和第 7 列的频率高于第 8 列和第 9 列。第 6 列和第 7 列之间的偏移量第 8 列和第 9 列相同是由于正弦函数和余弦函数的交替。 encoding_dim, num_steps 32, 60 pos_encoding PositionalEncoding(encoding_dim, 0) pos_encoding.eval() X pos_encoding(torch.zeros((1, num_steps, encoding_dim))) P pos_encoding.P[:, :X.shape[1], :] d2l.plot(torch.arange(num_steps), P[0, :, 6:10].T, xlabelRow (position),figsize(6, 2.5), legend[Col %d % d for d in torch.arange(6, 10)])​ ​ 10.6.3.1 绝对位置信息 打印出 0 , 1 , … , 7 0,1,\dots,7 0,1,…,7 的二进制表示形式即可明白沿着编码维度单调降低的频率与绝对位置信息的关系。 每个数字、每两个数字和每四个数字上的比特值在第一个最低位、第二个最低位和第三个最低位上分别交替。 for i in range(8):print(f{i}的二进制是{i:03b})0的二进制是000 1的二进制是001 2的二进制是010 3的二进制是011 4的二进制是100 5的二进制是101 6的二进制是110 7的二进制是111在二进制表示中较高比特位的交替频率低于较低比特位与下面的热图所示相似只是位置编码通过使用三角函数在编码维度上降低频率。由于输出是浮点数因此此类连续表示比二进制表示法更节省空间。 P P[0, :, :].unsqueeze(0).unsqueeze(0) d2l.show_heatmaps(P, xlabelColumn (encoding dimension),ylabelRow (position), figsize(3.5, 4), cmapBlues)​ ​ 10.6.3.2 相对位置信息 除了捕获绝对位置信息之外上述的位置编码还允许模型学习得到输入序列中相对位置信息。这是因为对于任何确定的位置偏移 δ \delta δ位置 i δ i\delta iδ 处的位置编码可以线性投影位置 i i i 处的位置编码来表示。 这种投影的数学解释是令 ω j 1 / 1000 0 2 j / d \omega_j1/10000^{2j/d} ωj​1/100002j/d对于任何确定的位置偏移 δ \delta δ上个式子中的任何一对 ( p i , 2 j , p i , 2 j 1 ) (p_{i,2j},p_{i,2j1}) (pi,2j​,pi,2j1​) 都可以线性投影到 ( p i δ , 2 j , p i δ , 2 j 1 ) (p_{i\delta,2j},p_{i\delta,2j1}) (piδ,2j​,piδ,2j1​) [ cos ⁡ ( δ ω j ) sin ⁡ ( δ ω j ) − sin ⁡ ( δ ω j ) cos ⁡ ( δ ω j ) ] [ p i , 2 j p i , 2 j 1 ] [ cos ⁡ ( δ ω j ) sin ⁡ ( i ω j ) sin ⁡ ( δ ω j ) cos ⁡ ( i ω j ) − sin ⁡ ( δ ω j ) sin ⁡ ( i ω j ) cos ⁡ ( δ ω j ) cos ⁡ ( i ω j ) ] [ sin ⁡ ( ( i δ ) ω j ) cos ⁡ ( ( i δ ) ω j ) ] [ p i , 2 j p i , 2 j 1 ] \begin{align} \begin{bmatrix} \cos{(\delta\omega_j)} \sin{(\delta\omega_j)}\\ -\sin{(\delta\omega_j)} \cos{(\delta\omega_j)} \end{bmatrix} \begin{bmatrix} p_{i,2j}\\ p_{i,2j1} \end{bmatrix}\\ \begin{bmatrix} \cos{(\delta\omega_j)}\sin{(i\omega_j)}\sin{(\delta\omega_j)}\cos{(i\omega_j)}\\ -\sin{(\delta\omega_j)}\sin{(i\omega_j)}\cos{(\delta\omega_j)}\cos{(i\omega_j)} \end{bmatrix}\\ \begin{bmatrix} \sin{((i\delta)\omega_j)}\\ \cos{((i\delta)\omega_j)} \end{bmatrix}\\ \begin{bmatrix} p_{i,2j}\\ p_{i,2j1} \end{bmatrix} \end{align} ​[cos(δωj​)−sin(δωj​)​sin(δωj​)cos(δωj​)​][pi,2j​pi,2j1​​][cos(δωj​)sin(iωj​)sin(δωj​)cos(iωj​)−sin(δωj​)sin(iωj​)cos(δωj​)cos(iωj​)​][sin((iδ)ωj​)cos((iδ)ωj​)​][pi,2j​pi,2j1​​]​​ 2 × 2 2\times 2 2×2 投影矩阵不依赖于任何位置的索引 i i i。 练习 1假设设计一个深度架构通过堆叠基于位置编码的自注意力层来表示序列。可能会存在什么问题 2请设计一种可学习的位置编码方法。
http://www.hkea.cn/news/14456480/

相关文章:

  • 网站不兼容ie6wordpress 隐私策略
  • 360网站建设搜索淮安建设机械网站制作
  • 创建自己的网站需要准备什么友情链接查询结果
  • 丽水建设局网站文件wordpress 栏目权限
  • 金华网站建设哪个公司好点电子商务网站建设与维护实验报告
  • 郑州企业网站推广网站分享链接怎么做的
  • au网站怎么注册自己造网站
  • 成都建站推广网站开发与硬件合同
  • 彩票网站建设开发大连百姓网
  • 长沙网站seo推广石家庄防疫最新政策
  • 门户网站的建设方案做汽车价格的网站建设
  • 商业平台网站开发工商天眼查官网查企业
  • 网站平台建设项目书软件工程考研科目
  • 网站建设知识童装网站建设文案
  • 个人网站做贷款广告毕业设计做网站怎样的工作量算达标
  • 自己的网站服务器wordpress invoker
  • 个人网站开发总结文档企业建设电子商务网站的目的
  • 网站搜索功能怎样做南通建设工程造价信息网站
  • 深圳网站设计公司 网络服务个人网站备案后可以做行业内容吗
  • 廊坊哪里有做阿里巴巴网站的杭州网站建设洛洛科技
  • 什么是网站建设外包wordpress添加项目
  • 兰州市建设工程招标投标中心网站产品推广宣传语
  • 更新网站要怎么做呢做国外贸易的网站
  • 展览公司网站建设中国城乡建设部网站证书查询
  • 做淘宝浏览单的网站前端做网站需要学什么
  • 信诚网络公司网站小程序公众号网站开发
  • 做网站时遇到的问题网站开发的业务需求分析
  • 盐城做百度网站搭建网站团队计划
  • 网站的中英文切换代码网站页面相似度检测
  • 南昌定制网站开发费用网站设计工程师