CNN似乎主要針對固定大小的輸入實施。現在我想用CNN來訓練一些不同大小的句子,有哪些常用的方法?如何使用CNN來訓練不同大小的輸入數據?
回答
以下建議主要與CNN有關的計算機視覺(特別是用於識別),但也可能對您的域有所幫助:我會看看"Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition" by He et al.提出一個空間金字塔池圖層。
總體思路:CNN的卷積層(以及相關層,如池,本地響應規範化等)能夠處理可變大小的輸入。因此,可變尺寸輸入的問題向下傳播到需要具有固定尺寸的矢量的第一完全連接/內積層。他等人。建議在第一個完全連接層之前添加Spatial Pyramid Pooling Layer(本文詳細內容)。該層本身通過將最後一個卷積層(或隨後的池化或響應規範化層)的特徵映射分層劃分爲固定數量的分箱來工作。在這些垃圾箱內,通常會收集響應,創建一個固定大小的輸出(其大小取決於垃圾箱的層次和數量)。請參閱紙張的插圖。
該圖層已經基於Caffe實現,可在GitHub上獲得:ShaoqingRen/SPP_net。
這是關於可變大小輸入的一般概念的一個很好的答案,但它是關於計算機視覺,而問題是關於句子 – dvb
是的,的確如此。這就是爲什麼我的意思是一個建議。自然地,遞歸神經網絡將是處理不同長度的句子/單詞的好模型。但是這個問題明確地詢問CNN。 CNN確實主要用於固定大小的輸入 - 獨立於應用程序域。在計算機視覺中,SPP圖層和類似的池化方法非常流行。這些想法是通用的,並不侷限於計算機視覺,只是發生在計算機視覺領域。 –
DynamicCNN - for Theano/Lasagne by Fréderic Godin是一種可能對句子建模更好的方法。它是基於一個由Nal Kalchbrenner,愛德華Grefenstette,菲爾Blunsom從2014年
引述提到論文的摘要命名"A Convolutional Neural Network for Modelling Sentences"紙:
的網絡使用動態K-最大池,一個全球性的池操作 超過線性序列。網絡處理長度不等的輸入句子,並且在能夠明確捕獲短期和長期關係的句子上誘導特徵圖。網絡 不依賴分析樹,並且很容易適用於任何 語言。我們在四個實驗中測試了DCNN:小規模二進制和 多級情感預測,六方問題分類和 遠程監控的Twitter情緒預測。網絡 在前三個任務中獲得了優異的性能,在最後一個任務中相對於最強基準的錯誤減少了25%,因此獲得了更好的性能。
我自己並沒有使用它,但它解決了SO上的另一個類似的sentences modeling problem。
- 1. CNN給定訓練數據的理想輸入大小
- 2. NaN的Tensorflow熵在訓練時的大輸入CNN
- 3. 如何處理CNN模型中的不同輸入大小
- 4. 如何使用附加的分類/數字特徵來訓練CNN模型?
- 5. 大數據中的CNN培訓方法
- 6. 如何製作多尺度圖像來訓練CNN
- 7. 如何使用Tensorflow在CNN中訓練圖像
- 8. 如何在不同的輸入上使用訓練好的模型
- 9. validation_batch_size等於訓練CNN中的train_batch_size?
- 10. 機器學習的非平衡訓練數據(CNN/RNN)
- 11. 如何訓練Keras LTSM多維輸入?
- 12. 培訓多輸入Keras NN與批處理訓練數據
- 13. 在spaCy中使用不同的word2vec訓練數據
- 14. 在Keras中使用預先訓練的CNN進行傳輸學習的輸入維數
- 15. CNN負面訓練圖片示例
- 16. 試圖訓練區域CNN(R-CNN)的ImageNet模型
- 17. 如何有效分離不同大小的數據輸入?
- 18. 使用Theano的簡單CNN訓練的準確性非常低
- 19. 使用預先訓練的(Tensorflow)CNN的分類圖像
- 20. 如何使用相同的StringToWordVector過濾器來訓練數據和看不見的數據
- 21. Tensorflow Layers API CNN參數在訓練過程中不會改變
- 22. 1)從整個訓練集中訓練CNN和2)訓練集中的訓練集,然後是整個訓練集之間的區別是什麼?
- 23. 如何訓練RBM並使用DeepLearning4J重建輸入?
- 24. 如何在更快的R-CNN中訓練RPN?
- 25. Tensorflow爲不同的訓練輸入參數返回相同的結果
- 26. 如何格式化Keras上的訓練輸入和輸出數據
- 27. 如何使用數組數組來訓練分類器?
- 28. 簡單的CNN的不平衡訓練和測試準確性
- 29. 訓練任意長度的輸入和目標的數據
- 30. 如何在使用Caffe訓練時獲得訓練錯誤?
始終將輸入掩蓋到數據集中的最大尺寸。 – alvas
但我正在嘗試處理一些文章,其長度範圍從500到40,000 ...可能填充有點低效? –