<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 如何利用長短時記憶循環神經網絡處理很長的序列 > 原文: [https://machinelearningmastery.com/handle-long-sequences-long-short-term-memory-recurrent-neural-networks/](https://machinelearningmastery.com/handle-long-sequences-long-short-term-memory-recurrent-neural-networks/) 長短期記憶或LSTM循環神經網絡能夠學習和記憶長輸入序列。 如果您的問題為每個輸入都有一個輸出,如時間序列預測或文本轉換,LSTM可以很好地工作。但是當你有很長的輸入序列而只有一個或幾個輸出時,LSTM可能很難使用。 這通常稱為序列標記或序列分類。 一些例子包括: * 包含數千個單詞的文件中的情感分類(自然語言處理)。 * 數千個時間步驟(醫學)的腦電圖痕跡的分類。 * 數千個DNA堿基對序列的編碼或非編碼基因的分類(生物信息學)。 當使用像LSTM這樣的循環神經網絡時,這些所謂的序列分類任務需要特殊處理。 在這篇文章中,您將發現6種方法來處理序列分類問題的很長序列。 讓我們開始吧。 ![How to Handle Very Long Sequences with Long Short-Term Memory Recurrent Neural Networks](img/6aab78f734f460fd40c6f74d9ee5c3a4.jpg) 如何使用長短期記憶循環神經網絡處理很長的序列 照片由 [Justin Jensen](https://www.flickr.com/photos/justinjensen/8883963633/) ,保留一些權利。 ## 1.按順序使用序列 起點是按原樣使用長序列數據而不做任何更改。 這可能導致訓練時間非常長的問題。 更麻煩的是,嘗試在非常長的輸入序列上反向傳播可能會導致梯度漸漸消失,反過來又會導致難以理解的模型。 對于大型LSTM模型,通常在實踐中使用250-500時間步長的合理限制。 ## 2.截斷序列 處理很長序列的常用技術是簡單地截斷它們。 這可以通過從輸入序列的開頭或結尾有選擇地刪除時間步驟來完成。 這將允許您以丟失數據為代價強制序列處于可管理的長度。 截斷輸入序列的風險是,為了進行準確預測而對模型有價值的數據正在丟失。 ## 3.總結序列 在一些問題域中,可以概括輸入序列。 例如,在輸入序列是單詞的情況下,可以從輸入序列中移除高于指定單詞頻率的所有單詞(例如“和”,“該”等)。 這可以被構造為僅將觀察結果保持在整個訓練數據集中的排名頻率高于某個固定值的位置。 總結可以導致將問題集中在輸入序列的最顯著部分上并且充分減少輸入序列的長度。 ## 4.隨機抽樣 較不系統的方法可以是使用隨機采樣來總結序列。 可以從序列中選擇隨機時間步驟并將其從序列中移除,以便將它們減少到特定長度。 或者,可以選擇隨機連續子序列以在期望長度上構建新的采樣序列,小心處理域所需的重疊或非重疊。 這種方法可能適用于沒有明顯方法來系統地減少序列長度的情況。 該方法還可以用作一種數據增強方案,以便從每個輸入序列創建許多可能的不同輸入序列。當可用的訓練數據有限時,這些方法可以提高模型的魯棒性。 ## 5.使用截斷反向傳播 不是基于整個序列更新模型,而是可以從最后時間步驟的子集估計梯度。 這被稱為[通過時間截斷反向傳播](http://machinelearningmastery.com/gentle-introduction-backpropagation-time/),或簡稱為TBPTT。它可以顯著加速長序列中LSTM等循環神經網絡的學習過程。 這將允許所有序列作為輸入提供并執行正向傳遞,但是僅使用最后幾十或幾百個時間步長來估計梯度并用于權重更新。 LSTM的一些現代實現允許您指定用于更新的時間步數,將用作輸入序列的時間步長分開。例如: * [Theano](http://deeplearning.net/software/theano/library/scan.html) 中的“truncate_gradient”參數。 ## 6.使用編碼器 - 解碼器架構 您可以使用自動編碼器來學習長序列的新表示長度,然后使用解碼器網絡將編碼表示解釋為所需的輸出。 這可能涉及無監督自動編碼器作為序列的預處理傳遞,或者用于自然語言翻譯的更新近的[編碼器 - 解碼器LSTM樣式網絡](http://machinelearningmastery.com/learn-add-numbers-seq2seq-recurrent-neural-networks/)。 同樣,從非常長的序列中學習可能仍然存在困難,但是更復雜的架構可以提供額外的杠桿或技能,特別是如果與上述一種或多種技術結合使用。 ## 榮譽提及和瘋狂的想法 本節列出了一些未經過深思熟慮的其他想法。 * 探索將輸入序列分成多個固定長度的子序列,并訓練具有每個子序列的模型作為單獨的特征(例如,并行輸入序列)。 * 探索雙向LSTM,其中對中的每個LSTM適合輸入序列的一半,并且每個層的結果被合并。從2縮放到更多以適當地減少子序列的長度。 * 探索使用序列感知編碼方案,投影方法甚至散列,以減少特定于域的方式中的時間步數。 你有自己的瘋狂想法嗎? 請在評論中告訴我。 ## 進一步閱讀 本節列出了一些用于進一步閱讀序列分類問題的資源: * 維基百科上的[序列標記](https://en.wikipedia.org/wiki/Sequence_labeling)。 * [序列分類簡介](http://dl.acm.org/citation.cfm?id=1882478),2010 ## 摘要 在這篇文章中,您發現了在訓練像LSTM這樣的復現神經網絡時如何處理很長的序列。 具體來說,你學到了: * 如何使用截斷,摘要和隨機采樣來減少序列長度。 * 如何調整學習使用截斷反向傳播的時間。 * 如何調整網絡架構以使用編碼器 - 解碼器結構。 你有任何問題嗎? 在評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看