當前位置:
首頁 > 新聞 > 僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

由於深度學習近期取得的進展,手寫字元識別任務對一些主流語言來說已然不是什麼難題了。但是對於一些訓練樣本較少的非主流語言來說,這仍是一個挑戰性問題。為此,本文提出新模型TextCaps,它每類僅用200個訓練樣本就能達到和當前最佳水平媲美的結果。

由於深度學習模型近期取得的進展,對於許多主流語言來說,手寫字元識別已經是得到解決的問題了。但對於其它語言而言,由於缺乏足夠大的、用來訓練深度學習模型的標註數據集,這仍然是一個極具挑戰性的問題。

儘管 CNN 可以很好地理解圖片中的低級和高級特徵,但這樣做會在池化層上丟失有價值的信息。CNN 的訓練需要大量訓練樣本(一般每一類需要數千或數萬個樣本)才能成功地對圖像分類。因此人們對用少量訓練樣本訓練成功的 CNN 有著濃厚興趣。

本文提出了一種技術,它藉助膠囊網路(Capsule Networks,CapsNets)[4] 解決了標註數據集太小的問題。我們僅通過操縱實例化參數 [5],利用了 CapsNet 增強數據的能力。在本文的例子中,CapsNet 不僅識別了字元圖像,還學習了它的屬性。這讓 CapsNet 得以在標註數據很少的字元識別問題中大展拳腳。

本文的架構以 Sabour 等人提出的 CapsNet 架構 [4] 為基礎,該架構是由膠囊網路和全連接解碼器網路組成的。研究人員用反卷積網路(deconvolutional network)代替了解碼器網路,同時還對膠囊網路做了一些小改動。

通過給表徵實體屬性的實例化參數加入一些可控雜訊,研究人員轉換實體以表徵現實中發生的實際變化。這樣就產生了一種全新的數據生成技術,這種技術生成的數據會比基於仿射變換生成的增強數據更加逼真。

重建準確率在很多情況下也很重要,因此研究人員提出了一種從經驗上講很合適的策略,這種策略結合了可以顯著提升重建性能的損失函數。該系統在每類樣本只有 200 個數據點的情況下得到了和當前最佳結果相當的結果。如果用更多訓練數據,可以得到更好的結果。

本文的主要貢獻如下:

  • 在所有可用訓練樣本上訓練該系統後,在 EMNIST-letters、EMNIST-balanced 以及 EMNIST-digits 字元數據集上得到的結果都優於當前最佳結果;
  • 研究人員還在非字元數據集 Fashion-MNIST 上評估了該架構,以確保模型的靈活性和魯棒性。他們用 200 個訓練樣本得到了非常好的結果,並用完整的數據集得到了當前最佳的結果;
  • 研究人員提出了一種用少量訓練樣本(每一類 200 個數據)訓練膠囊網路的新技術,並在相同數量的測試樣本上實現了當前最佳的性能。和當前最佳的系統相比,我們的模型只需要 10% 的數據就可以得到類似的結果;
  • 研究人員還提出並評估了解碼器網路的幾個變體,用不同的損失函數分析了解碼器網路的性能,以提供組合損失函數的適當策略。

論文:TextCaps : Handwritten Character Recognition with Very Small Datasets

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

論文地址:https://arxiv.org/pdf/1904.08095.pdf

摘要:儘管字元識別系統進展很快,但由於缺乏大量有標註的訓練數據,很多本地化語言還是難以從中獲益。這是因為這樣的語言難以獲得大量標註數據,而深度學習還無法通過少量訓練樣本正確學習。

為了解決這個問題,我們引入了一種根據現有樣本生成新訓練樣本的技術。通過給相應的實例化參數添加隨機可控雜訊,這個新技術可以產生逼真的增強數據,這些增強數據也會反映出人類實際手寫字元時會出現的一些變化。

我們只用每類 200 個訓練樣本的數據進行訓練,就得到了超越基於 EMNIST-letter 數據集所獲的現有字元識別的結果,同時還獲得了與 EMNIST-balanced 、EMNIST-digits 以及 MNIST 這三個數據集相當的現有結果。

我們還開發了一種用損失函數組合有效改善重建能力的策略。我們的系統在缺乏大量標註訓練數據的本地化語言的字元識別任務中很有用,甚至在其它相關的通用內容(比如目標識別)上也是如此。

用膠囊網路進行字元識別

我們提出了一種由膠囊網路和解碼器網路組成且針對字元識別任務的架構,如圖 1 和圖 2 所示。

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

圖 1:TextCap 模型:用於字元分類的 CapsNet 模型。

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

圖 2:TextCap 解碼器

圖 2:TextCap 解碼器:用於字元重建的解碼器網路。通過屏蔽 TextCap 分類器的 DigitCaps 層來獲得網路的輸入。

基於實例化參數擾動的圖像數據生成技術

用預訓練的解碼器網路,我們可以只用實例化參數向量成功重建原始圖像。該擾動演算法背後的原理是,通過在實例化向量值中添加可控的隨機雜訊,我們可以創建和原始圖像迥然不同的新圖像,從而有效擴大訓練數據集。

圖 3 展示了改變一個特定實例化參數後產生的圖像變體。

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

圖 3:擾動實例化參數後產生的字元變體。

類似地,每一個實例化參數都分別或共同負責圖像的某個特定屬性。因此,我們提出了一種新技術,它可以根據訓練樣本有限的數據集產生新數據集,如圖 4 所示。

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

圖 4:提升解碼器性能的整體方法。

實驗和結果

我們從表 1 中每個數據集的訓練集中選取了 200 個訓練樣本來訓練 TextCaps,並用每個數據集的完整測試集進行測試。為了測試 TextCaps 架構的性能,我們還用完整的訓練集訓練了模型,並用完整的測試集進行測試。

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

表 1:用於評估 TextCaps 的五個數據集。

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

表 2:TextCaps 和當前最佳結果的比較,表中展示了 3 次試驗的平均值和標準差。

僅200個樣本就能得到當前最佳結果:手寫字元識別新模型TextCaps

表 3:使用不同的損失函數組合時產生的每個重建結果的 PSNR 值。

我們在這裡用了兩個解碼器網路模型,每個解碼器都有一個損失函數。對每一個損失函數組合來說,第一行的 PSNR 值對應第一個重建損失函數(用在第一個解碼器中),第二行對應的是第二個損失函數(用在第二個解碼器中)。

原文鏈接:https://arxiv.org/abs/1904.08095

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

在AI+教育的黃金賽道,網易有道如何踐行進階之路
基礎入門,怎樣用PaddlePaddle優雅地寫VGG與ResNet

TAG:機器之心 |