【论文解析】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)。
GP vs STGP

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

算法流程

BERGP算法分为两个阶段:

  • 第一阶段:构建块演化(Block evolving),演化出一些构建块。
  • 第二阶段:构建块重用(Block reusing),根据构建块生成最终的GP树。

算法流程

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

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

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

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

构建块演化的算法流程如下,总体上遵循了GP的算法流程。
值得注意的是,每10轮,子树突变(subtree mutation)随机生成的树的大小上界和下界会增加1。
伪代码
新解生成算子是算法的一个创新点。在新解生成阶段,构建块演化采用了基于多样性驱动的新解生成算法。
简而言之,算法会先计算两个GP树的曼哈顿距离,如果曼哈顿距离小于等于2,则执行突变(mutation),否则执行交叉(crossover)。
新解生成
曼哈顿距离的计算过程是将GP树使用的函数编码成一个向量,然后计算曼哈顿距离。
曼哈顿距离
评估阶段,即将构建块构建的特征连接一个支持向量机(SVM),计算训练准确率作为适应度值。
如果构建块不在存档(archive)中,则保存到存档中。
新解评估

构建块重用
构建块重用阶段就是根据第一阶段的构建块使用GP进行组合。
Block reusing
具体来说,就是使用下面这些函数,演化出一个GP树进行组合。
聚合函数

实验设置

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

实验结果

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

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

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

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

收敛曲线
从收敛曲线可以看出,BERGP初始时效果就很好,并最终达到了良好的准确率。
收敛曲线
从树大小(Tree Size)可以看出,由于使用了构建块,BERGP在树大小方面具有良好的优势。
Tree Size
Tree Size
训练时间
从训练时间来看,BERGP的训练时间较长。
训练时间
最终模型
下图展示了演化出的模型。从这个最终模型可以看出,算法具有一种Stacking的感觉。不同于Stacking的是,每个构建块实际上是一个特征提取模块,而不是一个完整的机器学习模型。
最终模型

posted @ 2023-07-09 14:05  震灵  阅读(63)  评论(0)    收藏  举报