電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>PyTorch教程11.6之自注意力和位置編碼

PyTorch教程11.6之自注意力和位置編碼

2023-06-05 | pdf | 0.33 MB | 次下載 | 免費(fèi)

資料介紹

深度學(xué)習(xí)中,我們經(jīng)常使用 CNN 或 RNN 對(duì)序列進(jìn)行編碼。現(xiàn)在考慮到注意力機(jī)制,想象一下將一系列標(biāo)記輸入注意力機(jī)制,這樣在每個(gè)步驟中,每個(gè)標(biāo)記都有自己的查詢、鍵和值。在這里,當(dāng)在下一層計(jì)算令牌表示的值時(shí),令牌可以(通過其查詢向量)參與每個(gè)其他令牌(基于它們的鍵向量進(jìn)行匹配)。使用完整的查詢鍵兼容性分?jǐn)?shù)集,我們可以通過在其他標(biāo)記上構(gòu)建適當(dāng)?shù)募訖?quán)和來為每個(gè)標(biāo)記計(jì)算表示。因?yàn)槊總€(gè)標(biāo)記都關(guān)注另一個(gè)標(biāo)記(不同于解碼器步驟關(guān)注編碼器步驟的情況),這種架構(gòu)通常被描述為自注意力模型 Lin等。, 2017 年, Vaswani等人。, 2017 ),以及其他地方描述的內(nèi)部注意力模型 ( Cheng et al. , 2016 , Parikh et al. , 2016 , Paulus et al. , 2017 )在本節(jié)中,我們將討論使用自注意力的序列編碼,包括使用序列順序的附加信息。

import math
import torch
from torch import nn
from d2l import torch as d2l
import math
from mxnet import autograd, np, npx
from mxnet.gluon import nn
from d2l import mxnet as d2l

npx.set_np()
import jax
from flax import linen as nn
from jax import numpy as jnp
from d2l import jax as d2l
No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
import numpy as np
import tensorflow as tf
from d2l import tensorflow as d2l

11.6.1。自注意力

給定一系列輸入標(biāo)記 x1,…,xn任何地方 xi∈Rd(1≤i≤n), 它的self-attention輸出一個(gè)相同長(zhǎng)度的序列 y1,…,yn, 在哪里

(11.6.1)yi=f(xi,(x1,x1),…,(xn,xn))∈Rd

根據(jù) (11.1.1)中attention pooling的定義。使用多頭注意力,以下代碼片段計(jì)算具有形狀(批量大小、時(shí)間步數(shù)或標(biāo)記中的序列長(zhǎng)度, d). 輸出張量具有相同的形狀。

num_hiddens, num_heads = 100, 5
attention = d2l.MultiHeadAttention(num_hiddens, num_heads, 0.5)
batch_size, num_queries, valid_lens = 2, 4, torch.tensor([3, 2])
X = torch.ones((batch_size, num_queries, num_hiddens))
d2l.check_shape(attention(X, X, X, valid_lens),
        (batch_size, num_queries, num_hiddens))
num_hiddens, num_heads = 100, 5
attention = d2l.MultiHeadAttention(num_hiddens, num_heads, 0.5)
attention.initialize()

batch_size, num_queries, valid_lens = 2, 4, np.array([3, 2])
X = np.ones((batch_size, num_queries, num_hiddens))
d2l.check_shape(attention(X, X, X, valid_lens),
        (batch_size, num_queries, num_hiddens))
num_hiddens, num_heads = 100, 5
attention = d2l.MultiHeadAttention(num_hiddens, num_heads, 0.5)

batch_size, num_queries, valid_lens = 2, 4, jnp.array([3, 2])
X = jnp.ones((batch_size, num_queries, num_hiddens))
d2l.check_shape(attention.init_with_output(d2l.get_key(), X, X, X, valid_lens,
                      training=False)[0][0],
        (batch_size, num_queries, num_hiddens))
num_hiddens, num_heads = 100, 5
attention = d2l.MultiHeadAttention(num_hiddens, num_hiddens, num_hiddens,
                  num_hiddens, num_heads, 0.5)

batch_size, num_queries, valid_lens = 2, 4, tf.constant([3, 2])
X = tf.ones((batch_size, num_queries, num_hiddens))
d2l.check_shape(attention(X, X, X, valid_lens, training=False),
        (batch_size, num_queries, num_hiddens))

11.6.2。比較 CNN、RNN 和自注意力

讓我們比較一下映射一系列的架構(gòu)n標(biāo)記到另一個(gè)等長(zhǎng)序列,其中每個(gè)輸入或輸出標(biāo)記由一個(gè)d維向量。具體來說,我們將考慮 CNN、RNN 和自注意力。我們將比較它們的計(jì)算復(fù)雜度、順序操作和最大路徑長(zhǎng)度。請(qǐng)注意,順序操作會(huì)阻止并行計(jì)算,而序列位置的任意組合之間的較短路徑可以更容易地學(xué)習(xí)序列內(nèi)的遠(yuǎn)程依賴關(guān)系 Hochreiter等人,2001 年。

https://file.elecfans.com/web2/M00/AA/44/pYYBAGR9OB2AYW27AAGoqLUwK-4826.svg

圖 11.6.1比較 CNN(省略填充標(biāo)記)、RNN 和自注意力架構(gòu)。

考慮一個(gè)卷積層,其內(nèi)核大小為k. 我們將在后面的章節(jié)中提供有關(guān)使用 CNN 進(jìn)行序列處理的更多詳細(xì)信息。現(xiàn)在,我們只需要知道,因?yàn)樾蛄虚L(zhǎng)度是n,輸入和輸出通道的數(shù)量都是 d, 卷積層的計(jì)算復(fù)雜度為 O(knd2). 如圖11.6.1 所示,CNN 是分層的,因此有O(1) 順序操作和最大路徑長(zhǎng)度是

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
  2. 2.96 MB   |  44次下載  |  免費(fèi)
  3. 2聯(lián)想E46L DAOLL6筆記本電腦圖紙
  4. 1.10 MB   |  2次下載  |  5 積分
  5. 3MATLAB繪圖合集
  6. 27.12 MB   |  2次下載  |  5 積分
  7. 4PR735,使用UCC28060的600W交錯(cuò)式PFC轉(zhuǎn)換器
  8. 540.03KB   |  1次下載  |  免費(fèi)
  9. 5UCC38C42 30W同步降壓轉(zhuǎn)換器參考設(shè)計(jì)
  10. 428.07KB   |  1次下載  |  免費(fèi)
  11. 6DV2004S1/ES1/HS1快速充電開發(fā)系統(tǒng)
  12. 2.08MB   |  1次下載  |  免費(fèi)
  13. 7模態(tài)分解合集matlab代碼
  14. 3.03 MB   |  1次下載  |  2 積分
  15. 8美的電磁爐維修手冊(cè)大全
  16. 1.56 MB   |  1次下載  |  5 積分

本月

  1. 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
  2. 2.96 MB   |  44次下載  |  免費(fèi)
  3. 2UC3842/3/4/5電源管理芯片中文手冊(cè)
  4. 1.75 MB   |  15次下載  |  免費(fèi)
  5. 3DMT0660數(shù)字萬用表產(chǎn)品說明書
  6. 0.70 MB   |  13次下載  |  免費(fèi)
  7. 4TPS54202H降壓轉(zhuǎn)換器評(píng)估模塊用戶指南
  8. 1.02MB   |  8次下載  |  免費(fèi)
  9. 5STM32F101x8/STM32F101xB手冊(cè)
  10. 1.69 MB   |  8次下載  |  1 積分
  11. 6HY12P65/HY12P66數(shù)字萬用表芯片規(guī)格書
  12. 0.69 MB   |  6次下載  |  免費(fèi)
  13. 7華瑞昇CR216芯片數(shù)字萬用表規(guī)格書附原理圖及校正流程方法
  14. 0.74 MB   |  6次下載  |  3 積分
  15. 8華瑞昇CR215芯片數(shù)字萬用表原理圖
  16. 0.21 MB   |  5次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935119次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73807次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65987次下載  |  10 積分