<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 具有注意力的編碼器 - 解碼器RNN體系結構的實現模式 > 原文: [https://machinelearningmastery.com/implementation-patterns-encoder-decoder-rnn-architecture-attention/](https://machinelearningmastery.com/implementation-patterns-encoder-decoder-rnn-architecture-attention/) 用于循環神經網絡的編碼器 - 解碼器架構被證明在自然語言處理領域中的一系列序列到序列預測問題上是強大的。 注意力是一種解決編碼器 - 解碼器架構在長序列上的限制的機制,并且通常加速學習并提高模型在序列到序列預測問題上的技能。 在這篇文章中,您將發現用于實現編碼器 - 解碼器模型的模式,無論是否受到關注。 閱讀這篇文章后,你會知道: * 編碼器 - 解碼器循環神經網絡的直接與遞歸實現模式。 * 注意力如何適合編碼器 - 解碼器模型的直接實現模式。 * 如何使用編碼器 - 解碼器模型的遞歸實現模式來實現關注。 讓我們開始吧。 ![Implementation Patterns for the Encoder-Decoder RNN Architecture with Attention](img/cf4a06346b261f096ad61babb48f969e.jpg) 具有注意力的編碼器 - 解碼器RNN架構的實現模式 照片由 [Philip McErlean](https://www.flickr.com/photos/64320477@N05/34172852904/) ,保留一些權利。 ## 注意編碼器解碼器 用于循環神經網絡的編碼器 - 解碼器模型是用于序列到序列預測問題的架構,其中輸入序列的長度不同于輸出序列的長度。 它由兩個子模型組成,顧名思義: * **編碼器**:編碼器負責逐步執行輸入時間步長并將整個序列編碼為稱為上下文向量的固定長度向量。 * **解碼器**:解碼器負責在從上下文向量讀取時逐步執行輸出時間步長。 該體系結構的問題在于長輸入或輸出序列的表現差。原因被認為是由于編碼器使用的固定大小的內部表示。 注意是解決此限制的體系結構的擴展。它的工作原理是首先提供從編碼器到解碼器的更豐富的上下文和學習機制,其中解碼器可以在預測輸出序列中的每個時間步長時學習在更豐富的編碼中注意的位置。 有關編碼器 - 解碼器架構的更多信息,請參閱帖子: * [編碼器 - 解碼器長短期存儲器網絡](https://machinelearningmastery.com/encoder-decoder-long-short-term-memory-networks/) ## 直接編碼器 - 解碼器實現 有多種方法可以將編碼器 - 解碼器架構實現為系統。 一種方法是在給定編碼器輸入的情況下從解碼器整體產生輸出。這就是模型經常被描述的方式。 > ...我們提出了一種新穎的神經網絡架構,它學習將可變長度序列編碼成固定長度的向量表示,并將給定的固定長度向量表示解碼回可變長度序列。 - [使用RNN編碼器 - 解碼器進行統計機器翻譯的學習短語表示](https://arxiv.org/abs/1406.1078),2014。 我們將此模型稱為直接編碼器 - 解碼器實現,因為缺少更好的名稱。 為了清楚起見,讓我們通過一個法國到英語神經機器翻譯的小插圖。 1. 法語的句子作為輸入提供給模型。 2. 編碼器一次一個字地讀取該句子,并將該序列編碼為固定長度的向量。 3. 解碼器讀取編碼輸入并以英語輸出每個單詞。 以下是此實現的描述。 ![Direct Encoder Decoder Model Implementation for Neural Machine Translation](img/a31f6749b553a92893742facbbdadee8.jpg) 神經機器翻譯的直接編碼器解碼器模型實現 ## 遞歸編碼器 - 解碼器實現 另一種實現是對模型進行幀化,使得它僅生成一個字,并且遞歸地調用模型以生成整個輸出序列。 我們將這稱為遞歸實現(缺少更好的名稱),以區別于上面的描述。 在他們關于標題為“_將圖像放入圖像標題_ _發生器_”的標題生成模型的論文中,“Marc Tanti,et al。將直接方法稱為“_連續視圖_”: > 傳統上,神經語言模型被描述為字符串被認為是連續生成的。在每個時間步之后生成一個新單詞,RNN的狀態與最后生成的單詞組合以生成下一個單詞。我們將此稱為“連續視圖”。 - [將圖像放在圖像標題生成器](https://arxiv.org/abs/1703.09137)中的位置,2017年。 他們將遞歸實現稱為“_不連續視圖_”: > 我們建議根據一系列隨時間的不連續快照來考慮RNN,每個字都是從前一個字的整個前綴生成的,并且每次都重新初始化RNN的狀態。我們將此稱為“不連續視圖” — [Where to put the Image in an Image Caption Generator](https://arxiv.org/abs/1703.09137), 2017. 我們可以使用遞歸實現逐步完成相同的法語 - 英語神經機器翻譯示例。 1. 法語的句子作為輸入提供給模型。 2. 編碼器一次一個字地讀取該句子,并將該序列編碼為固定長度的向量。 3. 解碼器讀取編碼輸入并輸出一個英文單詞。 4. 輸出與編碼的法語句子一起作為輸入,轉到步驟3。 Below is a depiction of this implementation. ![Recursive Encoder Decoder Model Implementation for Neural Machine Translation](img/e9464623763ac443ab96c92b649fce29.jpg) 神經機器翻譯的遞歸編碼器解碼器模型實現 為了開始該過程,可能需要向模型提供“_序列開始_”令牌作為到目前為止生成的輸出序列的輸入。 到目前為止生成的整個輸出序列可以被重放作為具有或不具有編碼輸入序列的解碼器的輸入,以允許解碼器在預測下一個字之前到達相同的內部狀態,如果模型生成整個模型那么輸出序列一次,如上一節所述。 ## 合并編碼器 - 解碼器實現 遞歸實現可以模仿輸出整個序列,如在第一個模型中那樣。 遞歸實現還允許您改變模型并尋求更簡單或更熟練的模型。 一個示例是還對輸入序列進行編碼并使用解碼器模型來學習如何最佳地組合到目前為止生成的編碼輸入序列和輸出序列。 Marc Tanti,et al。在他們的論文中“_循環神經網絡(RNN)在圖像標題生成器中的作用是什么?_ “稱之為”合并模式。“ > ...在給定的時間步長,合并體系結構通過將到目前為止生成的字符串的RNNencoded前綴(生成過程的“過去”)與非語言信息(生成過程的指南)組合來預測下一步生成什么。 - [循環神經網絡(RNN)在圖像標題生成器中的作用是什么?](https://arxiv.org/abs/1708.02043) ,2017 該模型仍然是遞歸調用的,只有模型的內部結構是變化的。我們可以用一個描述清楚地說明這一點。 ![Merge Encoder Decoder Model Implementation for Neural Machine Translation](img/efa14d8e50fb240be696e611be02b6c9.jpg) 用于神經機器翻譯的合并編碼器解碼器模型實現 ## 具有注意實現的直接編碼器 - 解碼器 我們現在可以在編碼器 - 解碼器循環神經網絡架構的這些不同實現的上下文中考慮注意機制。 正如Bahdanau等人所描述的那樣。在他們的論文“[通過聯合學習對齊和翻譯](https://arxiv.org/abs/1409.0473)的神經機器翻譯”,涉及以下幾個要素: * **更豐富的編碼**。編碼器的輸出被擴展,以提供輸入序列中所有字的信息,而不僅僅是序列中最后一個字的最終輸出。 * **對齊模型**。新的小神經網絡模型用于使用來自前一時間步驟的解碼器的有人參與輸出來對齊或關聯擴展編碼。 * **加權編碼**。對齊的加權,可用作編碼輸入序列上的概率分布。 * **加權上下文向量**。應用于編碼輸入序列的加權然后可用于解碼下一個字。 注意,在所有這些編碼器 - 解碼器模型中,模型的輸出(下一個預測字)和解碼器的輸出(內部表示)之間存在差異。解碼器不直接輸出字;通常,完全連接的層連接到解碼器,該解碼器輸出單詞詞匯表上的概率分布,然后使用諸如波束搜索的啟發式進一步搜索。 有關如何計算編碼器 - 解碼器模型中的注意力的更多詳細信息,請參閱帖子: * [編碼器 - 解碼器循環神經網絡中的注意事項如何工作](https://machinelearningmastery.com/how-does-attention-work-in-encoder-decoder-recurrent-neural-networks/) 我們可以關注直接編碼器 - 解碼器模型的動畫,如下所示。 ![Direct Encoder Decoder With Attention Model Implementation for Neural Machine Translation](img/25f86b9f1dffd58a35818eea06e520d6.jpg) 基于注意模型的直接編碼器解碼器在神經機器翻譯中的應用 在直接編碼器 - 解碼器模型中實現注意力可能具有挑戰性。這是因為具有向量化方程的有效神經網絡庫需要在計算之前獲得所有信息。 對于每個預測,模型需要從解碼器訪問有人參與的輸出,從而中斷了這種需要。 ## 具有注意實現的遞歸編碼器 - 解碼器 注意力有助于遞歸描述和實現。 注意力的遞歸實現要求除了使得到目前為止生成的輸出序列可用于解碼器之外,還可以將從前一時間步驟生成的解碼器的輸出提供給用于預測下一個字的注意機制。 我們可以用卡通更清楚。 ![Recursive Encoder Decoder With Attention Model Implementation for Neural Machine Translation](img/ba77e61e96b9a1ba8309102cb39dd6be.jpg) 基于注意模型實現神經機器人翻譯的遞歸編碼器解碼器 遞歸方法還為嘗試新設計帶來了額外的靈活性。 例如,Luong等人。在他們的論文“ [_基于注意力的神經機器翻譯的有效方法_](https://arxiv.org/abs/1508.04025) ”更進一步,并提出從前一時間步驟(h(t-1)解碼器的輸出))也可以作為輸入饋送到解碼器,而不是用于注意力計算。他們稱之為“投入喂養”模式。 > 擁有這種聯系的效果是雙重的:(a)我們希望使模型充分了解先前的對齊選擇,并且(b)我們創建一個跨越水平和垂直的非常深的網絡 - [基于注意力的神經機器翻譯的有效方法](https://arxiv.org/abs/1508.04025),2015。 有趣的是,這種輸入饋送加上他們的本地關注導致了標準機器翻譯任務的最新表現(在他們寫作時)。 輸入饋送方法與合并模型有關。合并模型不是僅提供來自上一時間步的解碼輸出,而是提供所有先前生成的時間步的編碼。 人們可以想象在解碼器中注意利用這種編碼來幫助解碼編碼的輸入序列,或者可能在兩種編碼上都使用注意力。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### 帖子 * [編碼器 - 解碼器長短期存儲器網絡](https://machinelearningmastery.com/encoder-decoder-long-short-term-memory-networks/) * [長期短期記憶循環神經網絡](https://machinelearningmastery.com/attention-long-short-term-memory-recurrent-neural-networks/)的注意事項 * [編碼器 - 解碼器循環神經網絡中的注意事項如何工作](https://machinelearningmastery.com/how-does-attention-work-in-encoder-decoder-recurrent-neural-networks/) ### 文件 * [使用RNN編碼器 - 解碼器進行統計機器翻譯的學習短語表示](https://arxiv.org/abs/1406.1078),2014。 * [通過共同學習對齊和翻譯的神經機器翻譯](https://arxiv.org/abs/1409.0473),2015。 * [將圖像放在圖像標題生成器](https://arxiv.org/abs/1703.09137)中的位置,2017。 * [循環神經網絡(RNN)在圖像標題生成器中的作用是什么?](https://arxiv.org/abs/1708.02043) ,2017 * [基于注意力的神經機器翻譯的有效方法](https://arxiv.org/abs/1508.04025),2015。 ## 摘要 在這篇文章中,您發現了用于實現編碼器 - 解碼器模型的模式,無論是否受到關注。 具體來說,你學到了: * 編碼器 - 解碼器循環神經網絡的直接與遞歸實現模式。 * 注意力如何適合編碼器 - 解碼器模型的直接實現模式。 * 如何使用編碼器 - 解碼器模型的遞歸實現模式來實現關注。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看