由于深度学习模型近期取得的进展,对于许多主流语言来说,手写字符识别已经是得到解决的问题了。但对于其它语言而言,由于缺乏足够大的、用来训练深度学习模型的标注数据集,这仍然是一个极具挑战性的问题。

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

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