刘晓童, 赵梦玲, 王桂荣, 金小峰
(延边大学 工学院,吉林 延吉 133002)
朝鲜语古籍具有多文种混排的特点,尤其以中朝两种文字混排的情况居多.目前,朝鲜语标注数据集的匮乏是影响研究朝鲜语古籍文字识别的关键因素之一.由于人工标注数据存在效率低和成本高的问题,因此如何利用自动标注方法来构建朝鲜语古籍文字图像数据集,并以此为进一步研究朝鲜语古籍文字的识别方法和实现朝鲜语古籍数字化具有重要的意义.为此,一些学者对此进行了研究.例如:苏向东[1]针对蒙古文古籍标注数据集匮乏的情形,提出了一种半自动样本选取方法.研究显示,该方法可有效提高无标注数据的标注效率,但对未标注数据集只能进行粗分类.姜丽[2]提出了一种基于BIRCH 和改进K 中心点算法的古籍汉字图像聚类方法.研究显示,该方法可对古籍汉字图像进行有效分类,但作者未利用该方法构建标注数据集.Yang等[3]针对手写数据集提出了DCN 方法,研究显示该方法可有效提高图像的聚类质量.王畅等[4]提出了一种将聚类和跟踪相融合的人脸图像数据集的构建方法,研究显示该方法可提升人脸数据集的生成效率和准确率.Yan等[5]针对因标注数据集匮乏导致视觉任务研究受限的问题,提出了Clusterfit方法.研究显示,该方法可显著提高预训练模型提取视觉特征的鲁棒性,且模型运用少量的与预训练任务相关的特定信息即可进行聚类,从而使提取的特征更适合于下游任务.
DeepCluster[6]是一种可扩展的无监督学习聚类方法.由于该方法将无监督聚类与深度神经网络相融合,因此其具有不需要借助已标注数据或特定领域先验知识的优点,并可将学习到的通用特征应用于下游分类任务中.基于此,本文利用DeepCluster聚类方法提出了一种朝鲜语古籍文字图像的聚类方法,并通过实验验证了该方法的有效性.
DeepCluster网络模型的总体网络架构如图1所示.模型的输出由聚类和分类两个分支构成,且这两个分支共享卷积网络的参数.聚类分支的任务是将卷积网络提取的特征输入到聚类模型K-means[7]中进行聚类.其过程为:首先,利用主成分分析法对卷积网络输出的特征向量进行降维;然后,对降维的特征向量进行线性转换和L2归一化;最后,利用K-means对特征向量进行聚类(每个聚类分配一个伪标签),以此获得图像的聚类结果.在对输入样本进行分类的过程中,模型通过误差的反向传播来调整卷积网络的参数.
图1 DeepCluster网络模型的结构
DeepCluster网络模型虽然能够在训练过程中实现收敛,但由于其参数采用的是交替迭代聚类和分类的更新方式,因此在学习过程中会得到一些没有意义的平凡解,进而会导致模型在聚类过程中出现空簇和参数平凡化的问题[8].为了避免得到平凡解,本文首先对由卷积网络提取的n×d维特征进行Kmeans聚类,以此得到k个簇,并将其作为初始的伪标签(形式为k维的one-hot编码);然后,通过交替使用式(1)和式(2)对特征进行聚类,以此生成伪标签;最后,通过预测生成的伪标签来更新网络参数.
式(1)中,fθ(·)为卷积网络映射函数,θ为映射函数的参数,xn为训练样本,yn∈{0,1}k为xn对应的标签;式(2)中,l(·)为多项逻辑损失函数,gw(·,·)为预测伪标签的参数化分类器函数.
基于DeepCluster的朝鲜语古籍文字图像聚类模型的结构如图2所示.由于朝鲜语古籍文字图像具有样本稀少的特点(属于小型数据集),所以本文在模型中选用了AlexNet卷积网络.
图2 基于DeepCluster的朝鲜语古籍文字图像聚类模型的结构
图3为典型的AlexNet卷积网络的结构图.该网络由5个卷积层和3个全连接层组成,各卷积层(从左至右)分别有96、256、384、384和256个滤波器.由于将批处理规范化作为归一化网络层能够减少对初始化的高度依赖和提高网络的泛化能力,以及能够使参数之间的联系保持不变(参数范围为0~1),因此本文在DeepCluster中用批处理规范化代替了AlexNet卷积网络中的局部响应归一化层.另外,由于常用的无监督方法通常不能直接将图像域中的不同颜色作为标签,所以本文模型采用基于Sobel滤波器的固定线性变换来去除图像域中的不同颜色和增加其局部的对比度[9].
图3 AlexNet卷积网络的结构
本文模型对朝鲜语古籍文字图像进行聚类的流程为:
1)生成初始标签.首先,对AlexNet卷积网络架构进行随机权重初始化,并移除最后一个全连接层;然后,利用网络对图像进行特征提取,并前向传递参数,以此获取图像模型的第2个全连接层的特征向量.由AlexNet卷积网络的结构可知,此时网络输出的特征向量的维度为4096,如图4所示.对N张图像重复上述操作过程即可得到一个[N,4096]的图像特征矩阵.
图4 简化后的AlexNet卷积网络对文字图像进行特征提取的示意图
2)生成伪标签.首先,采用主成分分析法对图像特征进行降维,使特征矩阵由4096维减少至256维;然后,对降维之后的特征进行L2 归一化处理,以此得到N幅图像的矩阵[N,256];最后,利用K-means对预处理后的特征进行聚类,以此获得图像及其对应的聚类类别.由此获得的集群类别结果即为训练模型的伪标签.生成伪标签的过程如图5所示.
图5 模型通过特征聚类生成伪标签的示意图
3)判别预测标签和真实集群标签.首先,创建新批次的图像,以此使每个待聚类的图像有均等被包含于簇内的机会;然后,对待聚类的图像进行随机增强,以此得到图像和其相应的集群;最后,对模型进行训练(批量大小为256),并运用交叉熵损失对比模型的预测标签和真实集群的标签,以此使得模型能够学习到有用的特征.模型判别标签的过程如图6所示.
图6 模型判别标签的示意图
为了提高网络的整体学习性能和获得更多的有效图像特征,在将图片输入模型之前,本文利用对输入图像进行随机水平翻转、随机大小变换以及纵横比的裁剪等方式对数据进行了增强.
对图像执行聚类时,首先确定被训练的类别数量.确定的集群类别数量虽然越多越可对未标注的图像进行更细粒度的分组,但为了便于对聚类结果进行人工判别和标注,本文依据现存的朝鲜语字符类别数量(11172个)以及通过设置不同类别数量进行聚类试验,最终将朝鲜语古籍文字图像的聚类簇数设置为20000个.
本文所用数据集来源于《同文类解》《阐义昭鉴谚解》和《谚解胎产集》3本朝鲜语古籍.对这3本古籍进行扫描后共获得文本图像875张,其中《同文类解》160张,《阐义昭鉴谚解》555张,《谚解胎产集》160张.在上述古籍中,《同文类解》收录了对应汉语的朝鲜语对译词和对应满语的朝鲜语对译词,《谚解胎产集》由朝鲜语和汉语两种语言书写,《阐义昭鉴谚解》为手写朝鲜语版本.对上述古籍文本图像进行文字图像切割后共得到303167张文字图像.图7是切分的部分文字图像的样例.
图7 部分朝鲜语古籍文字图像的示例
实验硬件环境为Intel(R) Core(TM) i7-7820X CPU+NVIDIA GeForce RTX 2080(8GB显存),软件环境为Python 3.7.13+Pytorch 1.12.1.
聚类结果评价指标采用准确率和标准化互信息(NMI)[8].NMI的计算公式为:
其中:A和B为随机变量;I(A;B)为A和B的互信息,I(A;B)=H(A)-H(A|B);H(·)为随机变量的信息熵.由式(3)可知:若A和B相互独立,则NMI(A;B)= 0;若由A可确定B,或由B可确定A,则NMI(A;B)= 1.
实验数据集采用由上述切割得到的无标注的303167张文字图像.实验中,设置批量大小为256,初始聚类簇数为20000.图8为NMI值随迭代轮次的变化趋势.由图8可以看出:NMI值随迭代轮次的增加而呈增大趋势.模型在训练初期时,由于卷积网络未能提取文字图像的有效特征,因此导致聚类效果较差,表现为NMI值较小.当迭代轮次逐渐增加时,模型通过不断更新卷积网络的参数,进而不断提高了模型对不同类别特征的提取能力和聚类效果,表现为NMI值逐渐增大.当迭代轮次达到500时(NMI=0.89),曲线上升趋势趋于稳定,表明此时模型已收敛.
图8 NMI值随迭代轮次的变化趋势
图9是模型训练稳定时部分聚类结果中的簇.由图9可以看出,图像尽管受到了多种干扰(如尺寸不同、切分不准确以及噪声等),但模型的聚类结果仍是准确的.
图9 聚类结果的部分示例
为了验证本文方法的优越性,将本文方法与DCN方法进行了对比实验.实验中,均使用上述切分的数据集(303167张无标注的朝鲜语古籍文字图像).实验结果见表1.由表1可以看出,本文方法的准确率和NMI值比DCN 方法分别提高了15.32个百分点和0.180.该结果表明,本文方法对文字图像的聚类性能显著优于DCN 方法对文字图像的聚类性能.
表1 本文方法和DCN 方法的聚类结果
研究表明,本文提出的基于DeepCluster的朝鲜语古籍文字图像聚类方法的准确率和NMI值比DCN 方法分别提高了15.32个百分点和0.180,因此该方法可为构建朝鲜语古籍数据集提供参考.在今后的工作中,我们将探讨适用于小样本朝鲜语古籍数据集的聚类方法,以进一步提高构建小样本标注数据集的有效性.