以下要介绍的文章(【Paper】 Zhang X Y , Bengio Y , Liu C L . Online and offline handwritten Chinese character recognition: A comprehensive study and new benchmark[J]. Pattern Recognition, 2017, 61(Complete):348-360.) 说实话也,差不多这样子的,但是毕竟发在PR上,还是有几个创新点值得我们学习。
文章将传统的特征图(directMap)和深度卷积神经网络结合起来了,在线上和线下的文字识别提高到一个较高精度。文章提出了一个新的网络适应层,能够一定程度上实现无监督学习,即可以对新书写风格样本也能准确分类。
在深度学习之前,样本预处理可以说是特别重要的一部分,好的预处理能够极大提高分类性能,前人有大量关于预处理的研究工作,包括形状归一化、去噪、方向分解等等。
方向分解主要有两种实现方式1:1、normalization-cooperated 2、normalization-based ,其中 基于normalization-cooperated方法,无需生成归一化字体,能够减少笔画梯度上的扭曲失真,接下来文章给出具体的DirectMap生成方式。
线下文字的DirectMap的具体流程是这样的:
线上文字能够记录每个笔画的轨迹信息,所能利用的信息更多,且存在较少的噪声干扰,具体流程是这样的:
最后得到如下图:
从图中可以看到在8个方向的分解,线下字体笔画是空心的,而在线的笔画实心的。图像密度是稀疏的,可以进一步压缩(文章resize成8x32x32)。
在提出网络之前,文章还分析了一波传统方法与神经网络的联系与区别:
简单的说就是隐藏层代替人工特征提取器NFC、MQDF等,自动提取了特征。
接下来给出了具体设计的网络:
文章中讲了许多网络细节,是目前网络设计的主流规范,这里就简单介绍:
适应层是本文的一个亮点,目前的研究趋向于弱监督学习无监督学习,如何能使用已有标记的样本去发现未知的样本,是近几年急需解决的问题。
以往的fine-tune策略是,在训练好的网络中加入新的训练样本,再进行训练,仅微调最后全连接层的参数。在很深层的网络中,根据大部分实验来看,也能取得较好的结果,但这还是局限于监督学习。本文提出了一种微调策略,具体过程如下:
1、估计从训练集中计算类均值
式中训练集为 { x i t r n , y i t r n } i = 1 N \left\{x_{i}^{trn}, y_{i}^{trn}\right\}_{i=1}^{N} {xitrn,yitrn}i=1N, y i trn ∈ { 1 , 2 , … , c } y_{i}^{\operatorname{trn}} \in\{1,2, \ldots, c\} yitrn∈{1,2,…,c},c是类别数, ϕ ( x i t r n ) \phi\left(x_{i}^{\mathrm{trn}}\right) ϕ(xitrn)是源网络层输出, { μ 1 , … , μ c } \left\{\mu_{1}, \dots, \mu_{c}\right\} {μ1,…,μc}是训练集的均值向量,这用于之后未知类的计算。
2、定义适应层
所谓的适应层,即包括矩阵 A ∈ R d × d A \in \mathbb{R}^{d \times d} A∈Rd×d和偏置向量 b ∈ R d b \in \mathbb{R}^{d} b∈Rd,且没有激活函数。学习流程为:先随意初始化A和b,将样本输入到添加适应层后的网络中,得到一个预测类 y i y_i yi以及softmax层的置信度 f i f_i fi,给出评价函数
min A , b ∑ i = 1 n f i ∥ A ϕ ( x i ) + b − μ y i ∥ 2 2 + β ∥ A − I ∥ F 2 + γ ∥ b ∥ 2 2 ( 2 ) \min _{A, b} \sum_{i=1}^{n} f_{i}\left\|A \phi\left(x_{i}\right)+b-\mu_{y_{i}}\right\|_{2}^{2}+\beta\|A-I\|_{F}^{2}+\gamma\|b\|_{2}^{2}\quad\quad(2) A,bmini=1∑nfi∥Aϕ(xi)+b−μyi∥22+β∥A−I∥F2+γ∥b∥22(2)
优化此函数得到最优参数A和b。相应调整网络适应层的参数,再次迭代循环。具体的算法流程图如下:
这个算法策略其实与K-mean聚类相似,只是初始类中心点是根据训练集确定,评价函数是一个二次凸函数,第一项是经验损失,第二三项是正则化项,最优解可以在有限次迭代得到(QP问题)。通过此策略一定程度上可以提高无监督学习的准确率。
实验采用HWDB1.0-1.2以及OLHWDB1.0-1.2两个训练集,ICDAR-2013作为训练集(60个作者不同的书写风格)
使用使用一个 NVIDIA Titan-X 12G GPU.,每次实验训练70个epochs,每次80小时(我只能惊叹!!!!)
实验使用批次动量梯度下降法,三个断层代表学习率的下降,学习率对训练产生重要影响,随着迭代进行要降低学习率。
上面两个表格是此方法与以往的线上线下字符识别结果对比,作者花了大量的时间吹嘘了一波,不过总的来看结果还是不错的,他是直接把测试集作为无监督样本。
上表是不同网络的输入特征图尺寸。
上图是正则化的对网络影响。
上面两个图是添加适应层后线下线上识别误差减少率,除了一个作家手写字体之外,其余样本错误率均有所下降。
最后还验证了不同特征方向分解方法的效果。
优点:
1、DirectMap有良好的特征提取能力,前人特征设计方法工作即使在今天仍值得我们学习借鉴,能够把前人的设计理念经验和我们目前深度网络结合起来,深度学习有可能进一步突破。
2、目前大部分网络适用于闭数据集,适应层设计使得网络能够适应于一个开放集,更具有鲁棒性。
缺点:
1、创新型不足,只是在小改动。
2、个人觉得DirectMap也是提取的字符特征图,是不是增加网络深度原始样本训练也能达到相同的效果?结果是不是不能体现DirectMap的优越性?
3、适应性层是不是可以进一步改进,不局限于最后一层,不局限于简单的线性变换。
C.-L. Liu, Normalization-cooperated gradient feature extraction for handwritten character recognition, IEEE Trans. Pattern Anal. Mach. Intell. 29 (8) (2007) 1465–1469 ↩︎
C.-L. Liu, K. Marukawa, Pseudo two-dimensional shape normalization methods for handwritten Chinese character recognition, Pattern Recognit. 38 (12) (2005) 2242–2255. ↩︎
C.-L. Liu, X.-D. Zhou, Online Japanese character recognition using trajectorybased normalization and direction feature extraction, in: Proceedings of International Workshop on Frontiers in Handwriting Recognition (IWFHR), 2006, pp. 217–222. ↩︎