哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>PyTorch教程10.7之用于機器翻譯的編碼器-解碼器Seq2Seq

PyTorch教程10.7之用于機器翻譯的編碼器-解碼器Seq2Seq

2023-06-05 | pdf | 0.37 MB | 次下載 | 免費

資料介紹

在所謂的 seq2seq 問題中,如機器翻譯(如 第 10.5 節(jié)所述),其中輸入和輸出均由可變長度的未對齊序列組成,我們通常依賴編碼器-解碼器架構(gòu)(第10.6 節(jié))。在本節(jié)中,我們將演示編碼器-解碼器架構(gòu)在機器翻譯任務(wù)中的應(yīng)用,其中編碼器和解碼器均作為 RNN 實現(xiàn)( Cho,2014 年,Sutskever等人,2014 年。

在這里,編碼器 RNN 將可變長度序列作為輸入并將其轉(zhuǎn)換為固定形狀的隱藏狀態(tài)。稍后,在 第 11 節(jié)中,我們將介紹注意力機制,它允許我們訪問編碼輸入,而無需將整個輸入壓縮為單個固定長度的表示形式。

然后,為了生成輸出序列,一次一個標記,由一個單獨的 RNN 組成的解碼器模型將在給定輸入序列和輸出中的前一個標記的情況下預(yù)測每個連續(xù)的目標標記。在訓(xùn)練期間,解碼器通常會以官方“ground-truth”標簽中的前面標記為條件。然而,在測試時,我們希望根據(jù)已經(jīng)預(yù)測的標記來調(diào)節(jié)解碼器的每個輸出。請注意,如果我們忽略編碼器,則 seq2seq 架構(gòu)中的解碼器的行為就像普通語言模型一樣。圖 10.7.1說明了如何在機器翻譯中使用兩個 RNN 進行序列到序列學(xué)習(xí)。

https://file.elecfans.com/web2/M00/A9/C8/poYBAGR9N3mATR0fAAFvoV0b0sI161.svg

圖 10.7.1使用 RNN 編碼器和 RNN 解碼器進行序列到序列學(xué)習(xí)。

圖 10.7.1中,特殊的“”標記標志著序列的結(jié)束。一旦生成此令牌,我們的模型就可以停止進行預(yù)測。在 RNN 解碼器的初始時間步,有兩個特殊的設(shè)計決策需要注意:首先,我們以特殊的序列開始“”標記開始每個輸入。其次,我們可以在每個解碼時間步將編碼器的最終隱藏狀態(tài)輸入解碼器Cho等人,2014 年在其他一些設(shè)計中,例如Sutskever等人。( 2014 ),RNN 編碼器的最終隱藏狀態(tài)僅在第一個解碼步驟用于啟動解碼器的隱藏狀態(tài)。

import collections
import math
import torch
from torch import nn
from torch.nn import functional as F
from d2l import torch as d2l
import collections
import math
from mxnet import autograd, gluon, init, np, npx
from mxnet.gluon import nn, rnn
from d2l import mxnet as d2l

npx.set_np()
import collections
import math
from functools import partial
import jax
import optax
from flax import linen as nn
from jax import numpy as jnp
from d2l import jax as d2l
import collections
import math
import tensorflow as tf
from d2l import tensorflow as d2l

10.7.1。教師強迫

雖然在輸入序列上運行編碼器相對簡單,但如何處理解碼器的輸入和輸出則需要更加小心。最常見的方法有時稱為 教師強制。在這里,原始目標序列(標記標簽)作為輸入被送入解碼器。更具體地說,特殊的序列開始標記和原始目標序列(不包括最終標記)被連接起來作為解碼器的輸入,而解碼器輸出(用于訓(xùn)練的標簽)是原始目標序列,移動了一個標記: “”,“Ils”,“regardent”,“?!?“Ils”、“regardent”、“.”、“”(圖 10.7.1)。

我們在10.5.3 節(jié)中的實施為教師強制準備了訓(xùn)練數(shù)據(jù),其中用于自監(jiān)督學(xué)習(xí)的轉(zhuǎn)移標記類似于9.3 節(jié)中的語言模型訓(xùn)練。另一種方法是將來自前一個時間步的預(yù)測標記作為當前輸入提供給解碼器。

下面,我們 將更詳細地解釋圖 10.7.1中描繪的設(shè)計。我們將在第 10.5 節(jié)中介紹的英語-法語數(shù)據(jù)集上訓(xùn)練該模型進行機器翻譯 。

10.7.2。編碼器

回想一下,編碼器將可變長度的輸入序列轉(zhuǎn)換為固定形狀的上下文變量 c(見圖 10.7.1)。

考慮一個單序列示例(批量大小 1)。假設(shè)輸入序列是x1,…,xT, 這樣xt是個 tth令牌。在時間步t, RNN 變換輸入特征向量xt為了xt 和隱藏狀態(tài)ht?1從上一次進入當前隱藏狀態(tài)ht. 我們可以使用一個函數(shù)f表達RNN循環(huán)層的變換:

(10.7.1)ht=f(xt,ht?1).

通常,編碼器通過自定義函數(shù)將所有時間步的隱藏狀態(tài)轉(zhuǎn)換為上下文變量q:

(10.7.2)c=q(h1,…,hT).

例如,在圖 10.7.1中,上下文變量只是隱藏狀態(tài)hT對應(yīng)于編碼器 RNN 在處理輸入序列的最終標記后的表示。

在這個例子中,我們使用單向 RNN 來設(shè)計編碼器,其中隱藏狀態(tài)僅取決于隱藏狀態(tài)時間步和之前的輸入子序列。我們還可以使用雙向 RNN 構(gòu)建編碼器。在這種情況下,隱藏狀態(tài)取決于時間步長前后的子序列(包括當前時間步長的輸入),它編碼了整個序列的信息。

現(xiàn)在讓我們來實現(xiàn) RNN 編碼器。請注意,我們使用嵌入層來獲取輸入序列中每個標記的特征向量。嵌入層的權(quán)重是一個矩陣,其中行數(shù)對應(yīng)于輸入詞匯表的大小 ( vocab_size),列數(shù)對應(yīng)于特征向量的維度 ( embed_size)。對于任何輸入令牌索引i,嵌入層獲取ith權(quán)矩陣的行(從 0 開始)返回其特征向量。在這里,我們使用多層 GRU 實現(xiàn)編碼器。

def init_seq2seq(module): #@save
  """Initialize weights for Seq2Seq."""
  if type(module) == nn.Linear:
     nn.init.xavier_uniform_(module.weight)
  if type(module) == nn.GRU:
    for param in module._flat_weights_names:
      if "weight" in param:
        nn.init.xavier_uniform_(module._parameters[param])

class Seq2SeqEncoder(d2l.Encoder): #@save
  """The RNN encoder for sequence to sequence learning."""
  def __init__(self, vocab_size, embed_size, num_hiddens, num_layers,
         dropout=0):
    super().__init__()
    self.embedding = nn.Embedding(vocab_size, embed_size)
    self.rnn = d2l.GRU(embed_size, num_hiddens, num_layers, dropout)
    self.apply(init_seq2seq)

  def forward(self, X, *args):
    # X shape: (batch_size, num_steps)
    embs = self.embedding(X.t().type(torch.in
解碼器 編碼器 pytorch
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

評論

查看更多

下載排行

本周

  1. 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
  2. 1.12 MB  |  5次下載  |  免費
  3. 2HT81696H 內(nèi)置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊
  4. 1.21 MB   |  1次下載  |  免費
  5. 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊
  6. 0.87 MB   |  次下載  |  免費
  7. 4南芯 Southchip SC8802C 充電控制器 規(guī)格書 Datasheet 佰祥電子
  8. 88.16 KB  |  次下載  |  免費
  9. 5矽力杰 Silergy SY7065 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
  10. 910.67 KB  |  次下載  |  免費
  11. 6矽力杰 Silergy SY7066 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
  12. 989.14 KB  |  次下載  |  免費
  13. 7WD6208A產(chǎn)品規(guī)格書
  14. 631.24 KB  |  次下載  |  免費
  15. 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊
  16. 1.64 MB   |  次下載  |  2 積分

本月

  1. 1EMC PCB設(shè)計總結(jié)
  2. 0.33 MB   |  12次下載  |  免費
  3. 2PD取電芯片 ECP5702規(guī)格書
  4. 0.88 MB   |  5次下載  |  免費
  5. 3矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
  6. 1.12 MB  |  5次下載  |  免費
  7. 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動電路選型表
  8. 0.10 MB   |  3次下載  |  免費
  9. 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊
  10. 0.88 MB   |  3次下載  |  免費
  11. 6SY50655 用于高輸入電壓應(yīng)用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
  12. 1.01 MB   |  3次下載  |  免費
  13. 7怎么為半導(dǎo)體測試儀選擇精密放大器
  14. 0.65 MB   |  2次下載  |  免費
  15. 8SY52341 次級側(cè)同步整流英文手冊
  16. 0.94 MB   |  2次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191469次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81606次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73832次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分
连南| 延安市| 石狮市| 泗阳县| 衡水市| 工布江达县| 龙海市| 石楼县| 玛多县| 新蔡县| 丰镇市| 新津县| 富阳市| 望谟县| 平阴县| 新竹县| 天全县| 繁峙县| 宾阳县| 安国市| 陆河县| 大城县| 鄢陵县| 彩票| 禹州市| 平顺县| 临清市| 庆城县| 巴南区| 时尚| 鄄城县| 瓮安县| 平谷区| 开远市| 法库县| 全州县| 达尔| 准格尔旗| 崇阳县| 遂宁市| 祥云县|