<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/best-practices-document-classification-deep-learning/](https://machinelearningmastery.com/best-practices-document-classification-deep-learning/) 文本分類描述了一類問題,例如預測推文和電影評論的情感,以及將電子郵件分類為垃圾郵件。 深度學習方法在文本分類方面證明非常好,在一系列標準學術基準問題上實現了最先進的結果。 在這篇文章中,您將發現在開發用于文本分類的深度學習模型時要考慮的一些最佳實踐。 閱讀這篇文章后,你會知道: * 深度學習方法的一般組合,在開始文本分類問題時要考慮。 * 第一個嘗試提供有關如何配置超參數的具體建議的架構。 * 在靈活性和能力方面,更深層次的網絡可能是該領域的未來。 讓我們開始吧。 ![Best Practices for Document Classification with Deep Learning](img/a27fd8667f8f49d17583292a3c5e62ab.jpg) 深度學習文檔分類的最佳實踐 [storebukkebruse](https://www.flickr.com/photos/tusnelda/6140792529/) 的照片,保留一些權利。 ## 概觀 本教程分為 5 個部分;他們是: 1. 詞嵌入+ CNN =文本分類 2. 使用單層 CNN 架構 3. 撥入 CNN 超參數 4. 考慮字符級 CNN 5. 考慮更深入的 CNN 進行分類 ## 1\. 詞嵌入+ CNN =文本分類 文本分類的操作方法涉及使用單詞嵌入來表示單詞和卷積神經網絡(CNN)來學習如何區分分類問題的文檔。 Yoav Goldberg 在自然語言處理深度學習的入門讀物中評論說,神經網絡通常提供比經典線性分類器更好的表現,特別是與預訓練的字嵌入一起使用時。 > 網絡的非線性以及容易集成預訓練的字嵌入的能力通常會帶來更高的分類準確性。 - [自然語言處理神經網絡模型入門](https://arxiv.org/abs/1510.00726),2015。 他還評論說卷積神經網絡在文檔分類方面是有效的,即因為它們能夠以對輸入序列中的位置不變的方式選擇顯著特征(例如令牌或令牌序列)。 > 具有卷積和池化層的網絡對于分類任務很有用,在這些分類任務中我們期望找到關于類成員資格的強大的局部線索,但是這些線索可以出現在輸入中的不同位置。 [...]我們希望了解某些單詞序列是該主題的良好指標,并不一定關心它們在文檔中的出現位置。卷積層和匯集層允許模型學習如何找到這樣的本地指標,而不管它們的位置如何。 - [自然語言處理神經網絡模型入門](https://arxiv.org/abs/1510.00726),2015。 因此,該架構由三個關鍵部分組成: 1. **單詞嵌入**:單詞的分布式表示,其中具有相似含義的不同單詞(基于其用法)也具有相似的表示。 2. **卷積模型**:一種特征提取模型,用于學習從使用單詞嵌入表示的文檔中提取顯著特征。 3. **完全連接模型**:根據預測輸出解釋提取的特征。 Yoav Goldberg 在他的書中強調了 CNN 作為特征提取器模型的作用: > ... CNN 本質上是一種特征提取架構。它本身并不構成一個獨立的,有用的網絡,而是意味著要集成到一個更大的網絡中,并接受訓練以與其協同工作以產生最終結果。 CNNs 層的職責是提取對手頭的整體預測任務有用的有意義的子結構。 - 第 152 頁,[自然語言處理的神經網絡方法](http://amzn.to/2vRopQz),2017。 將這三個要素結合在一起,可能是下一節中描述的最廣泛引用的組合實例之一。 ## 2.使用單層 CNN 架構 使用單層 CNN 可以獲得用于文檔分類的良好結果,可能在過濾器上具有不同大小的內核,以允許以不同比例對單詞表示進行分組。 Yoon Kim 在研究使用預訓練的單詞向量進行卷積神經網絡分類任務時發現,使用預先訓練的靜態單詞向量非常有效。他建議在非常大的文本語料庫中訓練的預訓練的單詞嵌入,例如從谷歌新聞中訓練的 1000 億個令牌的免費 word2vec 向量,可以提供用于自然語言處理的良好通用特征。 > 盡管對超參數進行了很少的調整,但是具有一層卷積的簡單 CNN 表現得非常好。我們的結果增加了公認的證據,即無監督的單詞向量訓練是 NLP 深度學習的重要組成部分 - [用于句子分類的卷積神經網絡](https://arxiv.org/abs/1408.5882),2014。 他還發現,對單詞向量進行進一步的任務特定調整可以提供額外的表現改進。 Kim 描述了使用 CNN 進行自然語言處理的一般方法。句子被映射到嵌入向量,并且可用作模型的矩陣輸入。使用不同大小的內核(例如,一次 2 或 3 個字)逐字輸入地執行卷積。然后使用最大池層處理所得到的特征圖以壓縮或匯總所提取的特征。 該架構基于 Ronan Collobert 等人使用的方法。在他們的論文“[自然語言處理(幾乎)來自 Scratch](https://arxiv.org/abs/1103.0398) ”,2011 年。在其中,他們開發了一個單一的端到端神經網絡模型,具有卷積和匯集層,可用于一系列基本自然語言處理問題。 Kim 提供了一個圖表,有助于查看使用不同大小的內核作為不同顏色(紅色和黃色)的過濾器的采樣。 ![Example of a CNN Filter and Polling Architecture for Natural Language Processing](img/d4ad4d52b98d4d58a038dfe86c2651bc.jpg) 用于自然語言處理的 CNN 過濾器和輪詢架構的示例。 取自“用于句子分類的卷積神經網絡”,2014 年。 有用的是,他報告了他所選擇的模型配置,通過網格搜索發現并在一系列 7 個文本分類任務中使用,總結如下: * 傳遞函數:整流線性。 * 內核大小:2,4,5。 * 過濾器數量:100 * dropout率:0.5 * 權重正則化(L2):3 * 批量大小:50 * 更新規則:Adadelta 這些配置可用于激發您自己實驗的起點。 ## 3.撥入 CNN 超參數 在對文檔分類問題調整卷積神經網絡時,一些超參數比其他參數更重要。 Ye Zhang 和 Byron Wallace 對配置單層卷積神經網絡進行文檔分類所需的超參數進行了靈敏度分析。該研究的動機是他們聲稱模型對其配置很敏感。 > 不幸的是,基于 CNN 的模型(即使是簡單的模型)的缺點是它們需要從業者指定要使用的確切模型架構并設置伴隨的超參數。對于初學者來說,做出這樣的決定看起來像黑色藝術,因為模型中有許多自由參數。 - [用于句子分類的卷積神經網絡(和從業者指南)的靈敏度分析](https://arxiv.org/abs/1510.03820),2015 年。 他們的目標是提供可用于在新文本分類任務上配置 CNN 的常規配置。 它們提供了對模型體系結構的良好描述以及用于配置模型的決策點,如下所示。 ![Convolutional Neural Network Architecture for Sentence Classification](img/22ce3c817c06500a10b4356c1da2db68.jpg) 用于句子分類的卷積神經網絡結構 取自“_ 用于句子分類的卷積神經網絡(和從業者指南)的靈敏度分析 _”,2015。 該研究提供了許多有用的發現,可以作為配置淺 CNN 模型進行文本分類的起點。 一般調查結果如下: * 預訓練的 word2vec 和 GloVe 嵌入的選擇因問題而異,并且兩者都比使用單熱編碼的單詞向量表現更好。 * 內核的大小很重要,應針對每個問題進行調整。 * 要素圖的數量也很重要,應該進行調整。 * 1-max 池通常優于其他類型的池。 * Dropout 對模型表現影響不大。 他們繼續提供更具體的啟發式方法,如下所示: * 使用 word2vec 或 GloVe 字嵌入作為起點,并在擬合模型時進行調整。 * 跨不同內核大小的網格搜索,以找到問題的最佳配置,范圍為 1-10。 * 搜索 100-600 的過濾器數量,并在同一搜索中探索 0.0-0.5 的丟失。 * 使用 tanh,relu 和線性激活功能進行探索。 關鍵的警告是,調查結果是基于使用單個句子作為輸入的二元文本分類問題的實證結果。 我建議閱讀全文以獲取更多詳細信息: * [用于句子分類的卷積神經網絡(和從業者指南)的靈敏度分析](https://arxiv.org/abs/1510.03820),2015 年。 ## 4.考慮字符級 CNN 文本文檔可以使用卷積神經網絡在角色級別建模,該卷積神經網絡能夠學習單詞,句子,段落等的相關層次結構。 張翔,等。使用基于字符的文本表示作為卷積神經網絡的輸入。該方法的承諾是,如果 CNN 可以學習抽象顯著的細節,那么清理和準備文本所需的所有勞動密集型工作都可以克服。 > ......除了先前研究的結論之外,ConvNets 不需要語言的語法或語義結構,因此深入的 ConvNets 不需要語言知識。對于可以用于不同語言的單個系統而言,這種工程簡化可能是至關重要的,因為無論是否可以分割成單詞,字符總是構成必要的構造。僅處理字符還具有以下優點:可以自然地學習諸如拼寫錯誤和表情符號之類的異常字符組合。 - 用于文本分類的[字符級卷積網絡](https://arxiv.org/abs/1509.01626),2015 年。 該模型以固定大小的字母表讀入一個熱門的編碼字符。編碼字符以塊或 1,024 個字符的序列讀取。隨后是具有池化的 6 個卷積層的堆棧,在網絡的輸出端具有 3 個完全連接的層以便進行預測。 ![Character-based Convolutional Neural Network for Text Classification](img/c4866f7ed8a5fff365f7c34641a4bd14.jpg) 基于字符的文本分類卷積神經網絡 取自“_ 用于文本分類的字符級卷積網絡 _”,2015。 該模型取得了一些成功,在提供更大文本語料的問題上表現更好。 > ...分析表明,人物級別的 ConvNet 是一種有效的方法。 [...]我們的模型在比較中的表現有多好取決于許多因素,例如數據集大小,文本是否經過策劃以及字母表的選擇。 - 用于文本分類的[字符級卷積網絡](https://arxiv.org/abs/1509.01626),2015 年。 使用這種方法的擴展版本的結果在下一節中介紹的后續文章中被推到了最新技術水平。 ## 5.考慮更深入的 CNN 進行分類 盡管標準和可重用的體系結構尚未被用于分類任務,但是使用非常深的卷積神經網絡可以實現更好的表現。 Alexis Conneau,et al。評論用于自然語言處理的相對較淺的網絡以及用于計算機視覺應用的更深層網絡的成功。例如,Kim(上文)將模型限制為單個卷積層。 本文中使用的用于自然語言的其他體系結構限于 5 層和 6 層。這與用于計算機視覺的成功架構形成對比,具有 19 層甚至 152 層。 他們建議并證明使用非常深的卷積神經網絡模型(稱為 VDCNN)對分層特征學習有益。 > ...我們建議使用多個卷積層的深層架構來實現這一目標,最多使用 29 層。我們的架構設計受到最近計算機視覺進展的啟發[...]所提出的深度卷積網絡顯示出比以前的 ConvNets 方法更好的結果。 他們的方法的關鍵是嵌入單個字符,而不是單詞嵌入。 > 我們提出了一種用于文本處理的新架構(VDCNN),它直接在字符級別操作,并且僅使用小卷積和池化操作。 - [用于文本分類的非常深的卷積網絡](https://arxiv.org/abs/1509.01626),2016。 一套 8 個大型文本分類任務的結果顯示出比更淺層網絡更好的表現。具體而言,在撰寫本文時,除了兩個測試數據集之外的所有數據集都具有最先進的結果。 通常,他們通過探索更深層的架構方法得出一些重要發現: * 非常深的架構在小型和大型數據集上運行良好。 * 更深的網絡減少了分類錯誤。 * 與其他更復雜的池化類型相比,最大池化可獲得更好的結果。 * 通常更深入會降低準確性;架構中使用的快捷方式連接很重要。 > ......這是第一次在 NLP 中顯示卷積神經網絡的“深度效益”。 - [用于文本分類的非常深的卷積網絡](https://arxiv.org/abs/1606.01781),2016。 ## 進一步閱讀 如果您要深入了解,本節將提供有關該主題的更多資源。 * [自然語言處理神經網絡模型入門](https://arxiv.org/abs/1510.00726),2015。 * [用于句子分類的卷積神經網絡](https://arxiv.org/abs/1103.0398),2014。 * [自然語言處理(幾乎)來自 Scratch](https://arxiv.org/abs/1103.0398) ,2011。 * [用于文本分類的非常深的卷積網絡](https://arxiv.org/abs/1606.01781),2016。 * [用于文本分類的字符級卷積網絡](https://arxiv.org/abs/1509.01626),2015 年。 * [用于句子分類的卷積神經網絡(和從業者指南)的靈敏度分析](https://arxiv.org/abs/1510.03820),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>

                              哎呀哎呀视频在线观看