Image Recognition Combining Deep Learning with Fractal Theory
With the development of the AI industry, deep learning models have become increasingly prevalent across various fields. Nevertheless, most current neural network models are based on the Multi-Layer Perceptron (MLP) architecture, resulting in high-capacity models with a large number of parameters and a significant consumption of computational resources. Additionally, as the number of model parameters increases, the corresponding performance improvement is often not pronounced. While MLP-based deep learning models exhibit emergent properties, enhancing their parameters to levels capable of showcasing their full potential can lead to increased costs, thereby reducing their application value in scenarios that do not require high precision, such as simple daily gesture recognition, license plate identification, road sign recognition, and so on. This research project aims to reduce the consumption of computational resources in neural network models by incorporating fractal dimension calculations into the models. Using the Paddle and Pytorch frameworks, and based on the ResNet model, we have developed a cross-layer self-simila- rity statistical model combined with the re-fractal spectrum calculation of box-counting dimension. Experiments were conducted in the context of digital gesture recognition. This project seeks to provide new insights for research in related fields and has successfully implemented a gesture recognition model based on this approach, verifying its feasibility and demonstrating its potential for application in portable devices.
Box-Counting Dimension
云端计算作为一种主流的人工智能服务解决方案,虽然在识别准确率和终端负载之间找到了平衡,但其部署成本较高,适用场景多是与对话模型和AIGC相关,其服务重点在于准确度而不需要较高的实时性
本研究将基于分形维数理论,主要结合黎枫
“分形”(Fractal)一词在1975年被法国数学家曼德勃罗(Benoit B. Mandelbrot)提出
用经典的分形图案“科赫曲线”来举例,如
其每一部分都由4个跟它自身相比为1:3的小曲线组成,于是其分形维数为log(4)/log(3) ≈ 1.262,其中,数值3与4的意义可理解为若将原图形缩小3倍后将其与自身相比,不重叠地存在4个与其相似的部分,其严格定义需要引入Hausdorff测度,如下,部分摘自参考文献
定义1:任意非空子集 的直径为:
(1)
即U内任意两点之间距离的最大值。
如果 为可数或有限个直径不超过 的集构成的可以覆盖集合F (在n维欧氏空间 )的集类,即
(2)
且对任意的i值有 ,就称n维欧式空间 的 是F的一个 覆盖。至此,已经准备好给出Hausdorff测度定义,如下所示:
定义2:设 ,对任意一个 和 ,令
(3)
其中, 是F的一个 -覆盖。
对于任意 都存在:
(4)
定义3:令 ,则集合F的Hausdorff维数为:
(5)
且有
(6)
其中,在 这一点上, 的值可能是0,也可能是∞,或者满足 。
在此定义下,若图形为经典的可被整数维数描述的图形,如线段,正方形,立方体等,其分形维数与其整数维数相同,如此,几何图形的维数的定义被延拓至非整数,且其也可被用来描述符合自相似模式的其他事物。
计盒(Box Counting)方法定义了一种分形维数的计算方法,该分形维数被称作计盒维数
定义4:设A是 空间的任意非空有界子集,对于任意的一个 , 表示用来覆盖A所需边长为r的n维立方体(盒子)的最小数目。如果存在一个数d,使得 当 时,有 且存在一个整
数k使得 ,那么称d为A的计盒维数,也称盒维数。
对定义中等式取对数,并求解出d则可得:
(7)
一张灰度图 被视作三维平面 。xy平面被划分为 尺度的 非重叠网格,其中 并从1遍历到S。同时为了确保 ,如有必要在I周围进行零填充。记 和 分别为第 个网格上最大和最小灰度值。记 为使用大小为 的不重叠立方体盒子覆盖二维坐标为第 网格处的超表面的高度所需的盒子数量,其中 为盒子高度且 ,超表面是由平面灰度值变化所张成的三维表面。记 为使用 的盒子覆盖图像张成的整个三维超表面时所需的盒子总数。 和 计算公式如下:
其中, 和 分别是对应网格上覆盖该局部表面灰度值所需的盒子数索引的最大与最小值。因此,参考公式(7),差分盒维数定义为:
(8)
在实际计算过程中,差分盒维数 可由最小二乘拟合求出。
由于自然界中现象的复杂性,单个分形维数通常无法充分描述一种事物的全部特征,于是学术界逐渐发展出重分形的方法,通过将原集合划分为多个分形奇异集,分别计算每个集合的分形维数并串联成重分形频谱,可以有效地刻画非规则分形的特征,一般的划分方法为使用局部Hölder指数或称局部分形维数,以下给出局部Hölder指数的定义:
定义5
Hölder指数刻画局部标度或局部密度,指数值越小,局部变化越强烈。
至此可以给出重分形频谱定义:
定义6:令 则可以定义重分形频谱为:
(9)
其中,FD(·)代表一种分形维数计算方式,使用2.2介绍的计盒维数计算方式便可以计算数字图像的重分形频谱。
ResNet是一种神经网络结构,它通过串联一种叫做“残差块”(见
本文选用基于ResNet的神经网络模型作为主干网络,附加基于跨层自相似性统计的旁支结构,具体实现细节见第4章内容。
本文所构建的网络模型由主干结构与参考了参考文献
跨层自相似统计是将神将网络各层的输出特征图堆叠起来,通过卷积和最大值池化和最小值池化的方法,实现计盒维数的计算,再通过软直方图,将特征图多尺度的分形信息提取出来,实现跨层的重分形频谱的计算,将重分形频谱作为输入全连接层的特征向量的一部分,来提高模型的性能,以下介绍自相似性统计模块的实现细节。
自相似性统计模块分为跨层特征图缩放和堆叠部分、测度计算部分、软直方图计算部分、计盒维数统计部份以及特征融合部分,先来介绍跨层特征图堆叠部分。
跨城特征图的堆叠是将各层特征图缩放为同样的大小和维数,然后堆叠为一个三维的特征“体”的过程,因为神经网络每一层输出的特征图一般有着不同的尺寸,所以需要将他们先缩放为同一尺寸才能将它们堆叠为一个三维的特征张量来进行之后的计算,本文使用双线性插值的方法将每一层输出的特征图缩放为同一大小,然后先按通道(channel)维度分别堆叠为张量,然后再将每个维度的张量堆叠为一个张量,比如如果一批n个特征图,其通道的维数是3,则先将每个特征图按通道拆开,堆叠为一个N*H*W的特征张量,H和W分别为特征图的行数和列数,即高度(height)和宽度(width),然后将每个通道堆叠成的特征张量再堆叠为一个特征张量,以进行后续的计算,如
本文构建的神经网络的主干网络使用的激活函数为Relu且经过了批标准化(Batch Normalize)处理,所以各层输出的特征图上各点的值的范围为(−∞, +∞),大部分应当集中在(−3, +3)范围内,所以为方便之后的计算,先将上一步得到的特征张量通过sigmoid函数将特征值的范围重整到(0, 1)区间范围内,然后通过不同步长的最大值池化和最小值池化,将不同尺度测量下超平面的高低差提取出来,该处网络结构如
之后,将计算的结果输入无偏置的3*7*7三维卷积层进行在通道维度步长3的特征维数的卷积运算,步长为3的原因为特征堆叠步骤时输入的特征图像为三个,所以该步骤可认为是将之前输入的三个不同特征图的同一个通道堆叠为的特征张量看作一个通道数为三的特征图来计算测度,该特征图由三个不同层输出的特征图的相同通道组合而出,所以其包含了跨层的特征信息,即本次计算得出的测度特征图为跨层的测度特征图,通过该特征图,可计算跨层统计的测度软直方图,见
通过将上一步计算出的测度特征图分别减去多个不同的基准值,可得到测度特征的软直方图,该步包含上一步测度计算部分,将每一个取测度的卷积层设置为具有可训练的偏置,即可将测度减去基准值这部分包含在一次卷积操作里完成,见
使用软直方图计算不同基准值下的计盒维数,串联为向量,即为跨层统计的重分形频谱,见
因为本模型是通过三次不同尺度的盒计数的计算来确定计盒维数,所以log(1/s)为三个常量,直接写入了模型中,以减少模型计算消耗.
在计算完重分形频谱后,参考
本文构建的网络模型的最后一部分结构为全连接部分,将卷积部分计算得出的特征向量通过多层全连接层转化为类别的概率向量,本文将其中的一层设计为输入和输出维数相同,将该层重复了三次,以提高参数的利用效率,据测试,该做法可以提高识别的准确率,且不显著增加模型的参数量,代码见
此处的结构是一个简化的类似图神经网络
面介绍了模型的理论基础和具体结构,本文使用类似于pytorch的深度学习框架paddle构建模型,并使用云端算力对模型进行训练,然后将训练好的模型编译为静态的onnx格式部署在本地,使用本地的算力资源测试模型的推理性能。另外,本文还构建了另一例用于验证跨层自相似统计模块有效性的不同结构的模型。
本文主要使用Cifar10数据集对模型进行训练和测试,然后使用一例从网络寻找到的数字手势数据集对模型进行训练,然后将使用数字手势数据集训练好的模型编译为静态的onnx格式模型部署在本地,以测试其推理性能;
本文还构建了另一个模型,其主干结构不变,但跨层自相似统计结构替换为了多层卷积层,依然使用跨层堆叠的特征张量作为输入,使其性能恰好类似于拥有跨层自相似统计的模型,以验证自相似统计模块的有效性,以下分别介绍训练集参数以及另一个模型的结构和两种模型的训练参数:
Cifar10数据集是一个拥有10种类别的彩色图像的数据集(见
为方便表述,以下称存在自相似性统计模块的模型为主要模型,替换了自相似性统计模块的模型为平替验证模型。平替验证模型的主干结构与主要模型相同,其跨层自相似统计模块被替换为多层卷积层,通过调整各卷积层的参数或增添卷积层层数使平替验证模型与主要模型的准确率达到尽可能一致的水平,以对比在相同识别准确率的情况下,主要模型的自相似性统计模块是否使有效的;
平替验证模型的主干结构与主要模型一致,以下介绍平替验证模型替换自相似性统计模块的平替结构:
平替结构由四层卷积层连接而成,见
主要模型和平替模型如之前测试ResNet模型一样,均以相同的学习率和训练批次大小训练至相似的Loss值,然后对比二者所用的迭代次数来对比二者的训练性能和准确度,在完成训练测试后,使用手势识别训练集将二者训练至饱和,转换为onnx格式,部署在本地物理机上,对模型的推理性能进行测试,然后总结数据,得出模型的测试结论。
首先,两模型的训练测试结果对比如下:
模型 | 学习率 | 批次大小 | 迭代次数 | 最小Loss | 准确率 |
主要模型 | 0.3 | 200 | 4 | 1.711 | 66.41% |
平替模型 | 4 | 1.720 | 67.80% |
由
以下为两模型的部署测试结果:
两模型均在云端平台使用数字手势训练集训练后转化为onnx格式并下载到笔者的笔记本电脑中,之后使用onnxruntime读取模型并运行推理,训练集截图如
模型 | 学习率 | 批次大小 | 迭代次数 | 最小Loss | 准确率 |
主要模型 | 0.3 | 150 | 50 | 1.463 | 97.39% |
平替模型 | 1.462 | 96.67% |
可以看出,两模型训练后准确率相差不大,
模型 | 模型文件大小(MByte) | CPU推理时间(100次) |
主要模型 | 12.2 | 14.54 s |
平替模型 | 55.9 | 279.53 s |
可以看出,二者在准确率对比结果上不相上下,但平替模型的模型文件大小约为主要模型的三倍,CPU推理时间为主要模型的十余倍,由于设备限制,并未测试二者在GPU上的推理性能,可能平替模型在并行运算环境下表现会稍好一些,但在本次实验中,将跨层自相似统计模块替换为多层普通卷积的平替模型在推理性能上远弱于拥有跨层自相似统计模块的主要模型,说明相比于跨层自相似性统计模块,多层卷积层若想要实现与跨层自相似性统计模块相似的性能需要占用更多的存储空间,且跨层自相似性统计模块的计算效率要高于与其具有相似识别准确率的多层卷积模块,跨层自相似性统计模块的有效性得到验证。
本文的目的为探索深度学习模型的小型化并期望找到一种可行的方案,基于跨层自相似性统计的旁支结构便是本文所找到并实验可行的一种方案,构建的结构是将每层的输出交由跨层自相似性统计结构来计算分形维数,让结构更多的关注输入数据的分形信息,降低主干结构的冗余参数,从而提高模型的性能,研究发现:
(1) 主要模型在参数量大约3倍小于平替验证模型的情况下,其推理性能优于平替验证模型,可轻松实现在仅CPU算力环境下的部署,可以实现快速的实时推理;
(2) 跨层自相似性统计模块与多层串联的卷积层相比,计算资源的消耗更低,在模型中添加跨层自相似性统计模块可以使模型在参数量较低的情况下实现较高的准确性且不明显增加计算资源消耗;
(3) 主要模型与平替验证模型相比,主要模型在CPU环境下的推理性能更优,说明主要模型计算时的时间复杂度更低。
以上研究结果验证了本文的模型作为一种深度学习模型的小型化方案是有效的,该模型可用于对识别实时性要求较高的场景中,且其原理可用于处理多种类型的数据,不限于图像识别;其对部署设备计算性能需求相对友好使其可用于便携式设备实现生活辅助功能或其他类似场景下的功能部署,为多种人工为主要的生产场景赋能。
*通讯作者。