第15卷第2期 智能系统学报 Vol.15 No.2 2020年3月 CAAI Transactions on Intelligent Systems Mar.2020 D0:10.11992/tis.201904069 网络出版地址:http:/kns.cnki.net/kcms/detail/23.1538.TP.20190828.1430.004html 基于Capsule网络的甲骨文构件识别方法 鲁绪正,蔡恒进,林莉 (武汉大学计算机学院,湖北武汉430072) 摘要:甲骨文作为中国最早的成形文字系统,具有重要的文化和学术价值。研究甲骨文构件和其构形系统是 破译未识别的甲骨文的重要方向,但是甲骨文构件的标记工作只能由资深专家来完成,并且需要耗费大量时间 和精力。针对这些问题,提出了一种基于Capsule网络和迁移学习的模型OracleNet,.可以自动识别并标记甲骨 文字形中包含的构件:同时,构建了包含标记的甲骨文字形和构件数据集,用于模型的训练和评估。实验结果 显示,OracleNet模型对甲骨文构件的预测精确度达到了60%以上,其中Top5精确度达到了7l.56%,验证了模 型的有效性。 关键词:甲骨文;甲骨文构件识别;卷积神经网络;Capsule网络;动态路由算法;迁移学习;多目标识别:图像识别 中图分类号:TP319.4文献标志码:A文章编号:1673-4785(2020)02-0243-12 中文引用格式:鲁绪正,蔡恒进,林莉.基于Capsule网络的甲骨文构件识别方法智能系统学报,2020,15(2):243-254. 英文引用格式:LU Xuzheng,CAI Hengjin,.LIN Li.Recognition of Oracle Radical based on the Capsule networkJ.CAAI transac- tions on intelligent systems,2020,15(2):243-254. Recognition of Oracle Radical based on the Capsule network LU Xuzheng,CAI Hengjin,LIN Li (School of Computer Science,Wuhan University,Wuhan 430072,China) Abstract:As the earliest shaped character system in China,the inscriptions on bones or tortoise shells of the Shang Dynasty (c.16th-11th century BC)have important cultural and academic values.The research on the constructional ele- ment,i.e.,Oracle Radical,and configuration system of the inscriptions on bones or tortoise shells of the Shang Dynasty is a vital direction to identify the unrecognized Oracle Graphics.However,the marking of Radicals can only be done by experienced experts;moreover,it will take a considerable amount of time and effort.To solve these problems,we pro- posed a model,i.e.,OracleNet,based on the Capsule network and transfer learning,which can automatically identify the Oracle Radical contained in a graphic.At the same time,we built a labeled Oracle Graphics dataset and a labeled Radic- als dataset,which were used for training and evaluating the model.The experiment showed that the OracleNet had more than 60%precision for recognizing Radicals in a graphic and the Top 5 precision reached 71.56%,which verified valid- ity of the model. Keywords:inscriptions on bones or tortoise shells of the Shang Dynasty:Oracle Radical recognition;convolutional neural networks:Capsule network:dynamic routing algorithm:transfer learning:multi-target recognition:image recognition: 甲骨文作为汉字鼻祖,记录了商朝的经济和术意义。目前,已识别的甲骨文字形有2400余 政治情况。其不仅是一种文化的符号、文明的标个,未识别的仍有2500余个,因此甲骨文的相关 志,还复原了殷商历史的框架,将我国信史时代 研究任重道远。 向前推进了近五个世纪四。自1899年甲骨文出土 研究表明,甲骨文已经具有了一套相对完整 后,甲骨文已逐渐渗透到历史学、艺术史、科技史 的构形体系,这套构形体系将甲骨文分为了字形 等多个相关学科领域,其传承具有重大文化及学 和构件。组成甲骨文字形的构件通过一些固定的 收稿日期:2019-05-05.网络出版日期:2019-08-28 构造规律相互影响、关联,在此基础上进行相互 通信作者:蔡恒进.E-mail:hjcai@whu.edu.cn. 区分,并且最终组合起来构建出了一个有序的构
DOI: 10.11992/tis.201904069 网络出版地址: http://kns.cnki.net/kcms/detail/23.1538.TP.20190828.1430.004.html 基于 Capsule 网络的甲骨文构件识别方法 鲁绪正,蔡恒进,林莉 (武汉大学 计算机学院,湖北 武汉 430072) 摘 要:甲骨文作为中国最早的成形文字系统,具有重要的文化和学术价值。研究甲骨文构件和其构形系统是 破译未识别的甲骨文的重要方向,但是甲骨文构件的标记工作只能由资深专家来完成,并且需要耗费大量时间 和精力。针对这些问题,提出了一种基于 Capsule 网络和迁移学习的模型 OracleNet,可以自动识别并标记甲骨 文字形中包含的构件;同时,构建了包含标记的甲骨文字形和构件数据集,用于模型的训练和评估。实验结果 显示,OracleNet 模型对甲骨文构件的预测精确度达到了 60% 以上,其中 Top5 精确度达到了 71.56%,验证了模 型的有效性。 关键词:甲骨文;甲骨文构件识别;卷积神经网络;Capsule 网络;动态路由算法;迁移学习;多目标识别;图像识别 中图分类号:TP319.4 文献标志码:A 文章编号:1673−4785(2020)02−0243−12 中文引用格式:鲁绪正, 蔡恒进, 林莉. 基于 Capsule 网络的甲骨文构件识别方法 [J]. 智能系统学报, 2020, 15(2): 243–254. 英文引用格式:LU Xuzheng, CAI Hengjin, LIN Li. Recognition of Oracle Radical based on the Capsule network[J]. CAAI transactions on intelligent systems, 2020, 15(2): 243–254. Recognition of Oracle Radical based on the Capsule network LU Xuzheng,CAI Hengjin,LIN Li (School of Computer Science, Wuhan University, Wuhan 430072, China) Abstract: As the earliest shaped character system in China, the inscriptions on bones or tortoise shells of the Shang Dynasty (c. 16th–11th century BC) have important cultural and academic values. The research on the constructional element, i.e., Oracle Radical, and configuration system of the inscriptions on bones or tortoise shells of the Shang Dynasty is a vital direction to identify the unrecognized Oracle Graphics. However, the marking of Radicals can only be done by experienced experts; moreover, it will take a considerable amount of time and effort. To solve these problems, we proposed a model, i.e., OracleNet, based on the Capsule network and transfer learning, which can automatically identify the Oracle Radical contained in a graphic. At the same time, we built a labeled Oracle Graphics dataset and a labeled Radicals dataset, which were used for training and evaluating the model. The experiment showed that the OracleNet had more than 60% precision for recognizing Radicals in a graphic and the Top 5 precision reached 71.56%, which verified validity of the model. Keywords: inscriptions on bones or tortoise shells of the Shang Dynasty; Oracle Radical recognition; convolutional neural networks; Capsule network; dynamic routing algorithm; transfer learning; multi-target recognition; image recognition; 甲骨文作为汉字鼻祖,记录了商朝的经济和 政治情况。其不仅是一种文化的符号、文明的标 志,还复原了殷商历史的框架,将我国信史时代 向前推进了近五个世纪[1]。自 1899 年甲骨文出土 后,甲骨文已逐渐渗透到历史学、艺术史、科技史 等多个相关学科领域,其传承具有重大文化及学 术意义。目前,已识别的甲骨文字形有 2 400 余 个,未识别的仍有 2 500 余个,因此甲骨文的相关 研究任重道远。 研究表明,甲骨文已经具有了一套相对完整 的构形体系,这套构形体系将甲骨文分为了字形 和构件。组成甲骨文字形的构件通过一些固定的 构造规律相互影响、关联,在此基础上进行相互 区分,并且最终组合起来构建出了一个有序的构 收稿日期:2019−05−05. 网络出版日期:2019−08−28. 通信作者:蔡恒进. E-mail:hjcai@whu.edu.cn. 第 15 卷第 2 期 智 能 系 统 学 报 Vol.15 No.2 2020 年 3 月 CAAI Transactions on Intelligent Systems Mar. 2020
·244· 智能系统学报 第15卷 形系统,而甲骨文构件精确地反映出了该系统的 ical-148数据集。 性质和特点。所以,对于甲骨文识别相关工作 1.1 Oracle-250数据集 来说,甲骨文构件的研究是其基础,具有重要意义。 目前已发现的殷商甲骨文字形共有近5000 许多学者从甲骨文构件的角度出发,以加快 个,其中包括已识别甲骨文字形2304个,未识别 未知字形的解读工作,如周新伦等)基于图论对 甲骨文字形2523个。由于甲骨文字形中大部分 甲骨文的笔画特点进行分析,从而识别甲骨文字 字形出现率极低,样本数很少,本文只选择甲骨 形,实现了早期的尝试;而李锋等则是对甲骨文 文字形中频率最高的250个字形来构成Oracle- 的图特征进行了提取,以提升甲骨文字形识别的 250数据集。 准确度;李东琦等实现了一个基于甲骨文构件 此外,由于各个类别的分布不均匀,本文通过 的编码器,将甲骨文进行了数字化:高峰等通过 网络获取和数据增强算法,对已识别的原始数据 建立甲骨文语义构件向量,结合Hopfield网络的 集进行了扩充,同时对250个类别的样本数量进 识别结果的方法来匹配甲骨拓片或者照片中的模 行平衡。最终得到的Oracle-250数据集中的甲骨 糊字;吴琴霞等m通过仿射变换复用构件生成甲 文字形样本总数为92160个。 骨文字形,为以后的语义构件统计打下了基础: 在本数据集中,并没有对甲骨文图片的大小 而顾绍通利用分型集合的原理将甲骨文字形进行 设置标准,可以在后续神经网络中进行调整。在 拆分、描述,然后再对甲骨文字形进行识别,达到 已识别的甲骨文字形数据中,标记了每个字形所 了一定的效果。 包含的构件,Oracle-250中的部分样本如表1所示。 然而,通过构件研究甲骨文,首先需要专家进 表1 Oracle-250部分样本及其所含构件 行构件标注,不仅需要相关专业知识,还要耗费 Table 1 Samples of Oracle-250 and containing radicals 大量的时间、人力和精力。针对上述问题,本文 甲骨文字形 索引 构件 索引 构件 索引 提出了一种新的通过机器识别甲骨文构件的方 法,建立了一个基于Capsule网络和迁移学习的 模型OracleNet,通过甲骨文构件数据集对其进行 训练,可以同时对甲骨文字形中多个构件同时进 187 60 行识别。 甲骨文数据集 本文尝试通过深度学习(deep learning)的方 1.2 Radical--148数据集 法来识别甲骨文字形中包含的构件,而深度学习 殷商甲骨文是具有系统的成熟文字,每个字 模型对于数据样本的准备有以下要求: 都是由构件组成或其本身就是构件。通过专家学 1)数据样本图片需要清晰可见且无重叠、模 者多年的全面考察,甲骨文的基础构件共有412 糊,图片大小、颜色、格式需要统一; 个,这些基础构件一般来说可以独立使用于记录 2)字形识别任务为有监督学习的分类任务, 语言之中,也可以和其他的基础构件一起组成新 所以全部训练数据都需要被正确标记; 的甲骨文字形。 3)本文需要提取甲骨文构形规律和构件特 若按照是否构成完整字形来分类,甲骨文构 征,所以需要被正确标记的甲骨文字形数据集; 件中278个为成字构件,而其他的134个为非字 4)数据样本需要满足一定数量,否则深度学 构件。而如果按照甲骨文构件行使的功能来分 习模型难以收敛。 类,甲骨文构件中有356个用于表形功能,有 鉴于目前并没有公开的较为完整的数字化甲 125个用于表义,113个用于示音,18个用于标示 骨文字形集,为了便于后续研究,本文通过对经 功能。其中,有一部分成字构件独立成字时自身 典书籍《甲骨文字编》例中扫描的甲骨文字形进 就具有了表形、表义或示音功能,而当这些构件 行预处理、标记,建立了两个类似于MINSIT数据 用于组成新的甲骨文字形的时候,可能会行使其 集的已标记甲骨文数据集。 他的功能,而和自身原本的功能不同。 这两个数据集不仅限于用于图像分类识别任 《甲骨文字编》中选取了主要的成字构件, 务,还可以应用于其他甲骨文领域的研究中,如 并将这些构件分为了148类。Radical-148数据集 甲骨文字形破译等。本文希望通过这个数据集简 也参考了这种分类方式,是已标记的构件图片的 化研究人员对于甲骨文数据收集、处理、筛选的 集合,包含148个构件类别。 时间,更多专注于研究本身。 为了进一步扩充Radical-l48数据集,本文从 两个数据集分别为:Oracle-250数据集和Rad- 字源网站获取了更多的构件字形图片对数据集进
形系统,而甲骨文构件精确地反映出了该系统的 性质和特点[2]。所以,对于甲骨文识别相关工作 来说,甲骨文构件的研究是其基础,具有重要意义。 许多学者从甲骨文构件的角度出发,以加快 未知字形的解读工作,如周新伦等[3] 基于图论对 甲骨文的笔画特点进行分析,从而识别甲骨文字 形,实现了早期的尝试;而李锋等[4] 则是对甲骨文 的图特征进行了提取,以提升甲骨文字形识别的 准确度;李东琦等[5] 实现了一个基于甲骨文构件 的编码器,将甲骨文进行了数字化;高峰等[6] 通过 建立甲骨文语义构件向量,结合 Hopfield 网络的 识别结果的方法来匹配甲骨拓片或者照片中的模 糊字;吴琴霞等[7] 通过仿射变换复用构件生成甲 骨文字形,为以后的语义构件统计打下了基础; 而顾绍通利用分型集合的原理将甲骨文字形进行 拆分、描述,然后再对甲骨文字形进行识别,达到 了一定的效果[8]。 然而,通过构件研究甲骨文,首先需要专家进 行构件标注,不仅需要相关专业知识,还要耗费 大量的时间、人力和精力。针对上述问题,本文 提出了一种新的通过机器识别甲骨文构件的方 法,建立了一个基于 Capsule 网络和迁移学习的 模型 OracleNet,通过甲骨文构件数据集对其进行 训练,可以同时对甲骨文字形中多个构件同时进 行识别。 1 甲骨文数据集 本文尝试通过深度学习 (deep learning) 的方 法来识别甲骨文字形中包含的构件,而深度学习 模型对于数据样本的准备有以下要求: 1) 数据样本图片需要清晰可见且无重叠、模 糊,图片大小、颜色、格式需要统一; 2) 字形识别任务为有监督学习的分类任务, 所以全部训练数据都需要被正确标记; 3) 本文需要提取甲骨文构形规律和构件特 征,所以需要被正确标记的甲骨文字形数据集; 4) 数据样本需要满足一定数量,否则深度学 习模型难以收敛。 鉴于目前并没有公开的较为完整的数字化甲 骨文字形集,为了便于后续研究,本文通过对经 典书籍《甲骨文字编》[9] 中扫描的甲骨文字形进 行预处理、标记,建立了两个类似于 MINSIT 数据 集的已标记甲骨文数据集。 这两个数据集不仅限于用于图像分类识别任 务,还可以应用于其他甲骨文领域的研究中,如 甲骨文字形破译等。本文希望通过这个数据集简 化研究人员对于甲骨文数据收集、处理、筛选的 时间,更多专注于研究本身。 两个数据集分别为:Oracle-250 数据集和 Radical-148 数据集。 1.1 Oracle-250 数据集 目前已发现的殷商甲骨文字形共有近 5 000 个,其中包括已识别甲骨文字形 2 304 个,未识别 甲骨文字形 2 523 个。由于甲骨文字形中大部分 字形出现率极低,样本数很少,本文只选择甲骨 文字形中频率最高的 250 个字形来构成 Oracle- 250 数据集。 此外,由于各个类别的分布不均匀,本文通过 网络获取和数据增强算法,对已识别的原始数据 集进行了扩充,同时对 250 个类别的样本数量进 行平衡。最终得到的 Oracle-250 数据集中的甲骨 文字形样本总数为 92 160 个。 在本数据集中,并没有对甲骨文图片的大小 设置标准,可以在后续神经网络中进行调整。在 已识别的甲骨文字形数据中,标记了每个字形所 包含的构件,Oracle-250 中的部分样本如表 1 所示。 表 1 Oracle-250 部分样本及其所含构件 Table 1 Samples of Oracle-250 and containing radicals 甲骨文字形 索引 构件 索引 构件 索引 37 65 0 187 60 8 76 73 9 1.2 Radical-148 数据集 殷商甲骨文是具有系统的成熟文字,每个字 都是由构件组成或其本身就是构件。通过专家学 者多年的全面考察,甲骨文的基础构件共有 412 个,这些基础构件一般来说可以独立使用于记录 语言之中,也可以和其他的基础构件一起组成新 的甲骨文字形。 若按照是否构成完整字形来分类,甲骨文构 件中 278 个为成字构件,而其他的 134 个为非字 构件。而如果按照甲骨文构件行使的功能来分 类,甲骨文构件中有 356 个用于表形功能,有 125 个用于表义,113 个用于示音,18 个用于标示 功能。其中,有一部分成字构件独立成字时自身 就具有了表形、表义或示音功能,而当这些构件 用于组成新的甲骨文字形的时候,可能会行使其 他的功能,而和自身原本的功能不同。 《甲骨文字编》中选取了主要的成字构件, 并将这些构件分为了 148 类。Radical-148 数据集 也参考了这种分类方式,是已标记的构件图片的 集合,包含 148 个构件类别。 为了进一步扩充 Radical-148 数据集,本文从 字源网站获取了更多的构件字形图片对数据集进 ·244· 智 能 系 统 学 报 第 15 卷
第2期 鲁绪正,等:基于Capsule网络的甲骨文构件识别方法 ·245· 行填充,但这些字形出现的频率不同,导致了数 最终,本文得到148个类的甲骨文构件图片 据集数量不平衡。 共计108989张。扩充后的Radical-148数据集如 为解决这一问题,本文邀请了700名志愿者 表2所示。 分别对部分甲骨文构件进行手写仿写。志愿者进 表20 racle-.250部分样本及其所含构件 行仿写的内容是经过计算和设计的,由随机从原 Table 2 Samples of Oracle-250 and their containing radicals 始数据库中选出的甲骨文构件字符组成,而每个 类型的构件的仿写总量是根据原始类别而计算得 汉字Unicode图片数量原始图片样本 手写扩充样本 出的。因此,每位志愿者的仿写内容是不一样 4EBA 956 刀饣个个↑ 饣1人入1 的,针对同一构件,不同仿写者所参照的图片也 5927 947 个个本个个 个大个大个 是不一样的,这样可以保证收集到的数据的多样 止 6B62 692 出世Vy ¥世 度最大,同时又解决了原始数据不均衡的问题。 女 5973 611 如图1所示各为一张仿写问卷征集表,图2 虫虫宫告中特 曳电舟书 所示为一份仿写结果。 格X 2 Capsule网络 申回双妙名 Capsule网络是Geoffrey Hinton在2017年提 出的一种新型的神经网络io,与LeNet!山、Alex- 秀公华孕 Net等传统卷积神经网络(convolutional neural 象然岩入 networks,.CNN)不同,Capsule神经网络设计了一 种新型的神经元一Capsule(胶囊),来表示一些 特定的实体类型(Entity)。 ¥细”1丝 Capsule网络的设计受到了人类视觉生物学 H承表会兰础阿多巾高亞工HH素 原理的启发。在传统的CNN架构中,图像整体全 部传入模型进行训练,通过卷积运算将图像中一 个位置获得的优秀权重值知识转化到其他位置 数平 上,并通过池化(Pooling)运算逐渐缩小特征图 (Feature Map),从而为模型带来不变性。 但是,这样的计算过程和人类视觉生物学原 理有所不同,人类视觉往往会通过注视一些较小 图1 Radica-148数据集问卷征集表 Fig.1 Questionnaire of Radical-148 的区域(注视点)序列来降低需要进行高分辨处 木4客✉日生应合 理的画面面积,而不会去同时关注图像的全部内 容。Hinton假设人类的多层视觉系统可以在每个 注视点上创建一种类似于解析树(Parse Tree)的 4个 机制,对于每个注视点,其解析树由指定多层神 经网络进行构建,每一层会被分割为许多神经元 小组,它们被称为Capsule 本文使用Capsule网络来进行甲骨文构件识 别的原因是: BY不 l)Capsule网络可以方便地通过单目标(Sin- gle-Object)数据集进行训练,而在测试时可以进 行高精度的多目标(Multi-Object)预测),这种方 式和本文的甲骨文识别任务相契合:通过单目标 的甲骨文构件数据集训练模型,然后在甲骨文字 形数据集上进行多目标预测,判断每个甲骨文字 王 G 形中包含的构件: 图2已填写的Radical-148数据集征集表 2)相对于其他的多目标预测模型,如RCNN Fig.2 Filled questionnaire of Radical-148 Fast-RCNNUS等,Capsule网络无需准备多标签数
行填充,但这些字形出现的频率不同,导致了数 据集数量不平衡。 为解决这一问题,本文邀请了 700 名志愿者 分别对部分甲骨文构件进行手写仿写。志愿者进 行仿写的内容是经过计算和设计的,由随机从原 始数据库中选出的甲骨文构件字符组成,而每个 类型的构件的仿写总量是根据原始类别而计算得 出的。因此,每位志愿者的仿写内容是不一样 的,针对同一构件,不同仿写者所参照的图片也 是不一样的,这样可以保证收集到的数据的多样 度最大,同时又解决了原始数据不均衡的问题。 如图 1 所示各为一张仿写问卷征集表,图 2 所示为一份仿写结果。 图 1 Radical-148 数据集问卷征集表 Fig. 1 Questionnaire of Radical-148 图 2 已填写的 Radical-148 数据集征集表 Fig. 2 Filled questionnaire of Radical-148 最终,本文得到 148 个类的甲骨文构件图片 共计 108 989 张。扩充后的 Radical-148 数据集如 表 2 所示。 表 2 Oracle-250 部分样本及其所含构件 Table 2 Samples of Oracle-250 and their containing radicals 汉字 Unicode 图片数量 原始图片样本 手写扩充样本 人 4EBA 956 大 5927 947 止 6B62 692 女 5973 611 2 Capsule 网络 Capsule 网络是 Geoffrey Hinton 在 2017 年提 出的一种新型的神经网络[10] ,与 LeNet[11] 、AlexNet[12] 等传统卷积神经网络 (convolutional neural networks, CNN) 不同,Capsule 神经网络设计了一 种新型的神经元−Capsule(胶囊),来表示一些 特定的实体类型 (Entity)。 Capsule 网络的设计受到了人类视觉生物学 原理的启发。在传统的 CNN 架构中,图像整体全 部传入模型进行训练,通过卷积运算将图像中一 个位置获得的优秀权重值知识转化到其他位置 上,并通过池化 (Pooling) 运算逐渐缩小特征图 (Feature Map),从而为模型带来不变性。 但是,这样的计算过程和人类视觉生物学原 理有所不同,人类视觉往往会通过注视一些较小 的区域 (注视点) 序列来降低需要进行高分辨处 理的画面面积,而不会去同时关注图像的全部内 容。Hinton 假设人类的多层视觉系统可以在每个 注视点上创建一种类似于解析树 (Parse Tree) 的 机制,对于每个注视点,其解析树由指定多层神 经网络进行构建,每一层会被分割为许多神经元 小组,它们被称为 Capsule。 本文使用 Capsule 网络来进行甲骨文构件识 别的原因是: 1) Capsule 网络可以方便地通过单目标 (Single-Object) 数据集进行训练,而在测试时可以进 行高精度的多目标 (Multi-Object) 预测[13] ,这种方 式和本文的甲骨文识别任务相契合:通过单目标 的甲骨文构件数据集训练模型,然后在甲骨文字 形数据集上进行多目标预测,判断每个甲骨文字 形中包含的构件; 2) 相对于其他的多目标预测模型,如 RCNN[14] 、 Fast-RCNN[15] 等,Capsule 网络无需准备多标签数 第 2 期 鲁绪正,等:基于 Capsule 网络的甲骨文构件识别方法 ·245·
·246· 智能系统学报 第15卷 据集,同时也不需要对训练数据中目标的位置信 总输入s,为下层Capsule中所有输出向量i 息进行标记,从而可以极大程度上降低数据准备 的加权和: 的工作量。 =∑ce 2.1 Capsule 式中:c,为耦合系数(coupling coefficients),由迭代 Capsule是一组新型的神经元,该神经元使用 的动态路由选择过程确定。 激活向量(Activity Vector)代替传统CNN中的标 Capsule,和其上层所有的Capsule之间的耦合 量特征值,用“向量输入/输出”取代了以往的“标 系数的和为l,并且由“softmax”路由算法决定: 量输入/输出”。 每个Capsule单元表示了特定实体类型的实 ,= 例化参数,如色彩、位置、纹理、大小、方向等,通 exp(bi 过激活向量的长度来表示某个特定实体出现的概 ∑epo 率,通过激活向量的方向来表示该实体所对应的 式中:b是Capsule,和上层Capsule,相耦合的对数 更高层级属性。 先验概率,初始化为0。 Capsule网络提供了一种基于聚类思想来代 对数先验概率b,和权值矩阵W分别通过动 替池化完成特征整合的全新方案,Capsule本身也 态路由算法和梯度回传有区别地进行训练,它们 可以通过动态路由算法带来类似于池化的不变 之和两个Capsule的位置与类型相关,而和输入 性。其优势在于,相对于传统的池化算法,Cap- 图像的内容无关。 sule保留了全部的图像特征,其表达能力也更强。 耦合系数c,通过测量上层的每一个Capsule, 2.2 squashing激活函数 的输入',和下层的每一个Capsule,的预测一致性 Capsule网络将激活向量视作逻辑单元,其长 进行迭代更新,并被加入b中。本文中该预测一 度表示特定实体出现的概率,以判断图像中实例 致性被设置为标量乘积iy,为对数似然度。 化实体的存在与否。为此,Capsule网络需要使用 Capsule网络动态路由算法的流程如图3 一种新型的非线性激活函数:squashing函数,其 所示。 表示为 小s Capsule I Capsule 2 Capsule 3 Vi= 1+l lsll 式中:y,表示第j个Capsule的输出向量;s表示 输入向量的总和。 、Squashing Squashing Squashing 和传统神经网络中常使用的sigmoid函数类 路 似,squashing函数使激活向量的方向不变,将较 (S 短和较长的激活向量的长度分别缩放至0和1附 近,并将向量长度控制在0~l。通过squashing 1212 C23C3314 激活函数,Capsule实现了用激活向量的模长来表 示实体出现的概率。 2.3动态路由算法 Capsule网络通过动态路由算法(dynamic rou- 1+1层 ting algorithm)来实现对更高层级的Capsule实体 1层 (或属性)的聚类,并将子Capsule输出向量中包含 的特征信息传送到合适的父类Capsule中。 图3 Capsule网络的动态路由算法 在全连接形式的Capsule网络中,对于除了第 Fig.3 Dynamic routing algorithm of Capsule network 一层Capsule之外的所有层级,每层Capsule的输 在卷积形式的Capsule层中,每一个Cap 出在传入下一层Capsule之前,都需要乘以一个 sule单元都是一个卷积单元而不是全连接单元, 权值矩阵W,进行变换: 因此每一个Capsule将输出一个向量组而不是单 立市=W: (1) 个输出向量。 式中:W,为待训练的权值矩阵,通过反向传播梯 动态路由算法的步骤如算法1所示。 度更新进行训练;4:为输入向量。 算法1动态路由算法
据集,同时也不需要对训练数据中目标的位置信 息进行标记,从而可以极大程度上降低数据准备 的工作量。 2.1 Capsule Capsule 是一组新型的神经元,该神经元使用 激活向量 (Activity Vector) 代替传统 CNN 中的标 量特征值,用“向量输入/输出”取代了以往的“标 量输入/输出”。 每个 Capsule 单元表示了特定实体类型的实 例化参数,如色彩、位置、纹理、大小、方向等,通 过激活向量的长度来表示某个特定实体出现的概 率,通过激活向量的方向来表示该实体所对应的 更高层级属性。 Capsule 网络提供了一种基于聚类思想来代 替池化完成特征整合的全新方案,Capsule 本身也 可以通过动态路由算法带来类似于池化的不变 性。其优势在于,相对于传统的池化算法,Capsule 保留了全部的图像特征,其表达能力也更强。 2.2 squashing 激活函数 Capsule 网络将激活向量视作逻辑单元,其长 度表示特定实体出现的概率,以判断图像中实例 化实体的存在与否。为此,Capsule 网络需要使用 一种新型的非线性激活函数:squashing 函数,其 表示为 vj = sj 2 1+ sj 2 sj sj vj 式中: 表示第 j 个 Capsule 的输出向量; sj 表示 输入向量的总和。 和传统神经网络中常使用的 sigmoid 函数类 似,squashing 函数使激活向量的方向不变,将较 短和较长的激活向量的长度分别缩放至 0 和 1 附 近,并将向量长度控制在 0~1。通过 squashing 激活函数,Capsule 实现了用激活向量的模长来表 示实体出现的概率。 2.3 动态路由算法 Capsule 网络通过动态路由算法 (dynamic routing algorithm) 来实现对更高层级的 Capsule 实体 (或属性) 的聚类,并将子 Capsule 输出向量中包含 的特征信息传送到合适的父类 Capsule 中。 Wi j 在全连接形式的 Capsule 网络中,对于除了第 一层 Capsule 之外的所有层级,每层 Capsule 的输 出在传入下一层 Capsule 之前,都需要乘以一个 权值矩阵 进行变换: uˆ j|i = Wi jui (1) Wi j ui 式中: 为待训练的权值矩阵,通过反向传播梯 度更新进行训练; 为输入向量。 总输入 sj 为下层 Capsule 中所有输出向量 uˆ j|i 的加权和: sj = ∑ i ci juˆ j|i 式中:ci j 为耦合系数 (coupling coefficients),由迭代 的动态路由选择过程确定。 Capsulei 和其上层所有的 Capsule 之间的耦合 系数的和为 1,并且由“softmax”路由算法决定: ∑ j ci j = 1 ci j = exp( bi j) ∑ k exp(bik) 式中: bi j 是 Capsulei 和上层 Capsulej 相耦合的对数 先验概率,初始化为 0。 对数先验概率 bi j 和权值矩阵 Wi j 分别通过动 态路由算法和梯度回传有区别地进行训练,它们 之和两个 Capsule 的位置与类型相关,而和输入 图像的内容无关。 ci j Capsulej vj Capsulei bi j uˆ j|i · vj 耦合系数 通过测量上层的每一个 的输入 和下层的每一个 的预测一致性 进行迭代更新,并被加入 中。本文中该预测一 致性被设置为标量乘积 ,为对数似然度。 Capsule 网络动态路由算法的流程如图 3 所示。 Squashing Squashing Squashing 动 态 路 由 Capsule 1 Capsule 2 Capsule 3 l + 1 层 l 层 V1 V2 V3 S1 c11 c21 c31 c41 u1 u2 u3 u4 W11 W21 W31 W41 W12 W22 W32 W42 W13 W23 W33 W43 u1|1 S2 S3 ^ u1|2 ^ u1|3 ^ u1|4 ^ c12 c22 c32 c42 u2|1 ^ u2|2 ^ u2|3 ^ u2|4 ^ c13 c23 c33 c43 u3|1 ^ u3|2 ^ u3|3 ^ u3|4 ^ 图 3 Capsule 网络的动态路由算法 Fig. 3 Dynamic routing algorithm of Capsule network 在卷积形式的 Capsule 层中,每一个 Capsule 单元都是一个卷积单元而不是全连接单元, 因此每一个 Capsule 将输出一个向量组而不是单 个输出向量。 动态路由算法的步骤如算法 1 所示。 算法 1 动态路由算法 ·246· 智 能 系 统 学 报 第 15 卷
第2期 鲁绪正,等:基于Capsule网络的甲骨文构件识别方法 ·247· 输入第l层Capsule的输出向量组w 下边界值;入通过对不存在的类别进行加权,从而 输出第I+l层Capsule的输出向量组"j 阻止网络在刚开始学习的过程中缩小所有Capsule 1)对于第I层中的所有Capsule i以及第l+1 的激活向量的长度。 层中的所有Capsule j:初始化b=0 本文中,m*设置为0.9,m设置为0.1,d设置 2)执行循环,迭代r次: 为0.5。 3)对于第I层中的所有Capsule i:c:←- 2.5重构 softmax (b) 传统的卷积神经网络通常使用Dropout!6作 4)对于第l+1层中的所有Capsule j:s← ∑cn 为正则化方法以降低过拟合风险,而Capsule网 络使用一种重构(Reconstruction)结构进行正 5)对于第l+1层中的所有Capsule j:y,- 则化。 squash(s;) 重构结构的原理类似于自动编码机(Autoen-. 6)对于第I层中的所有Capsule i以及第I+1 coder)中的解码器(Decoder)部分,在训练过程 层中的所有Capsule j:b←b+i" 中,忽略其他所有Capsule,只使用正确类别所对 7)返回V 应的Capsule的激活向量重新构建出原始图像。 2.4损失函数 通过重构图像与原始输入图像计算得到重构损 在进行分类时,Capsule网络通过计算不同类 失(Reconstruction Loss),并且将该损失计人模型 别所对应的激活向量的模长来表示某个类型实体 总损失中进行梯度回传更新。重构结构鼓励Cap 存在的概率。当网络检测到了某种实体时,概率 sule的激活向量对图像进行更为宏观的表征,使 趋近于1,而当网络认为某种实体不存在时,概率 激活向量包含更多的有用信息,从而达到正则化 趋近于O。同时,为了支持多目标识别,Capsule 网络的损失函数采用了支持向量机(support vec- 的目的。 tor machine)中经常使用的Margin loss,其表达 3 OracleNet 式为 L.T.max(0,m*-lv+ 3.1 OracleNet架构 d(1-T.)max(0,ll-m)月 针对甲骨文构件识别任务,本文建立了一个 式中:c是分类的类别;T。为分类的指示函数,c 基于卷积神经网络和Capsule网络的端对端的模 类存在时为1,否则为0;m与m分别代表了上 型,命名为OracleNet,其架构如图4所示。 卷积模块 Capsule模块 Margin 路 分类损失 Loss P总损失 重构模块 下采样 Cross Entropy 重构损失 图4 OracleNet架构 Fig.4 Architecture of OracleNet 3.1.1卷积模块 中的空间特征信息,每层卷积层都采用ReLUU7 OracleNet首先通过多层卷积层来提取图片 激活函,并且使用批标准化(Batch Normaliza-
输入 第 l 层 Capsule 的输出向量组 ui 输出 第 l+1 层 Capsule 的输出向量组 vj l i l+1 j bi j = 0 1) 对于第 层中的所有 Capsule 以及第 层中的所有 Capsule :初始化 2) 执行循环,迭代 r 次: l i ci ← softmax(bi) 3 ) 对于第 层中的所 有 Capsule : ∑ l+1 j sj ← i ci juˆ j|i 4) 对于第 层中的所有 Capsule : l+1 j vj ← squash( sj ) 5) 对于第 层中的所有 Capsule : l i l+1 j bi j ← bi j +uˆ j|i · vj 6) 对于第 层中的所有 Capsule 以及第 层中的所有 Capsule : 7) 返回 vj 2.4 损失函数 在进行分类时,Capsule 网络通过计算不同类 别所对应的激活向量的模长来表示某个类型实体 存在的概率。当网络检测到了某种实体时,概率 趋近于 1,而当网络认为某种实体不存在时,概率 趋近于 0。同时,为了支持多目标识别,Capsule 网络的损失函数采用了支持向量机 (support vector machine) 中经常使用的 Margin loss,其表达 式为 Lc = Tcmax(0,m + −∥vc∥) 2+ λ(1−Tc)max(0,∥vc∥ −m − ) 2 c Tc c m + m − 式中: 是分类的类别; 为分类的指示函数, 类存在时为 1,否则为 0; 与 分别代表了上 下边界值; λ 通过对不存在的类别进行加权,从而 阻止网络在刚开始学习的过程中缩小所有 Capsule 的激活向量的长度。 m + m − 本文中, 设置为 0.9, 设置为 0.1,λ 设置 为 0.5。 2.5 重构 传统的卷积神经网络通常使用 Dropout[16] 作 为正则化方法以降低过拟合风险,而 Capsule 网 络使用一种重构 (Reconstruction) 结构进行正 则化。 重构结构的原理类似于自动编码机 (Autoencoder) 中的解码器 (Decoder) 部分,在训练过程 中,忽略其他所有 Capsule,只使用正确类别所对 应的 Capsule 的激活向量重新构建出原始图像。 通过重构图像与原始输入图像计算得到重构损 失 (Reconstruction Loss),并且将该损失计入模型 总损失中进行梯度回传更新。重构结构鼓励 Capsule 的激活向量对图像进行更为宏观的表征,使 激活向量包含更多的有用信息,从而达到正则化 的目的。 3 OracleNet 3.1 OracleNet 架构 针对甲骨文构件识别任务,本文建立了一个 基于卷积神经网络和 Capsule 网络的端对端的模 型,命名为 OracleNet,其架构如图 4 所示。 ... ... 下采样 重构损失 分类损失 总损失 Margin Loss Cross Entropy 卷积模块 Capsule 模块 重构模块 动 态 路 由 图 4 OracleNet 架构 Fig. 4 Architecture of OracleNet 3.1.1 卷积模块 OracleNet 首先通过多层卷积层来提取图片 中的空间特征信息,每层卷积层都采用 ReLU[17] 激活函,并且使用批标准化 (Batch Normaliza- 第 2 期 鲁绪正,等:基于 Capsule 网络的甲骨文构件识别方法 ·247·