【论文解析】TEVC 2023 A Genetic Programming Approach with Building Block Evolving and Reusing to Image Classification
论文名称:《A Genetic Programming Approach with Building Block Evolving and Reusing to Image Classification》
论文作者:Ying Bi; Jing Liang; Bing Xue; Mengjie Zhang
作者单位:Victoria University of Wellington, Zhengzhou University
Building Block Evolving and Reusing?
简单来说,这篇文章的核心思想就是先使用GP演化一些模型,然后再使用GP将这些模型拼接起来,类似于Stacking的思想。
基础知识
简单来说,GP在图像分类中主要使用了强类型遗传编程(STGP)。

具体而言,就是将图像领域的处理算子组合在一起,形成一个用于图像分类的流水线pipeline。

算法流程
BERGP算法分为两个阶段:
- 第一阶段:构建块演化(Block evolving),演化出一些构建块。
- 第二阶段:构建块重用(Block reusing),根据构建块生成最终的GP树。

按照上述流程进行演化后,最终可以形成一个集成模型,用于在测试集上进行测试。

构建块演化
在构建块演化阶段,主要是演化出如下所示的构建块。

在构建块演化阶段,使用的函数是图像处理领域的经典算子。

而在构建块演化阶段,使用的终端包括原始图像和一些算子的超参数设定。

构建块演化的算法流程如下,总体上遵循了GP的算法流程。
值得注意的是,每10轮,子树突变(subtree mutation)随机生成的树的大小上界和下界会增加1。

新解生成算子是算法的一个创新点。在新解生成阶段,构建块演化采用了基于多样性驱动的新解生成算法。
简而言之,算法会先计算两个GP树的曼哈顿距离,如果曼哈顿距离小于等于2,则执行突变(mutation),否则执行交叉(crossover)。

曼哈顿距离的计算过程是将GP树使用的函数编码成一个向量,然后计算曼哈顿距离。

评估阶段,即将构建块构建的特征连接一个支持向量机(SVM),计算训练准确率作为适应度值。
如果构建块不在存档(archive)中,则保存到存档中。

构建块重用
构建块重用阶段就是根据第一阶段的构建块使用GP进行组合。

具体来说,就是使用下面这些函数,演化出一个GP树进行组合。

实验设置
数据集采用了一些图像领域的经典数据集,其他实验参数也遵循了作者在GP图像分类问题上的一贯设置。

实验结果
首先,作者将所提出的算法与作者以前提出的一些GP图像分类算法进行了对比,从下图可以看出所提出算法的显著优势。

作者将BERGP与经典的卷积神经网络(CNN)算法进行了对比,从下图可以看出所提出的GP算法在小样本学习方面具有显著优势。

作者将BERGP与ORL数据集上的经典算法进行了对比,从下图可以看出所提出的GP算法在ORL数据集上具有显著优势。

作者将BERGP与EYALE数据集上的经典算法进行了对比,从下图可以看出所提出的GP算法在EYALE数据集上具有显著优势。

收敛曲线
从收敛曲线可以看出,BERGP初始时效果就很好,并最终达到了良好的准确率。

从树大小(Tree Size)可以看出,由于使用了构建块,BERGP在树大小方面具有良好的优势。


训练时间
从训练时间来看,BERGP的训练时间较长。

最终模型
下图展示了演化出的模型。从这个最终模型可以看出,算法具有一种Stacking的感觉。不同于Stacking的是,每个构建块实际上是一个特征提取模块,而不是一个完整的机器学习模型。


浙公网安备 33010602011771号