APP下载

基于多项式特征生成的卷积神经网络

2024-01-17肖志成于晓东

吉林大学学报(理学版) 2024年1期
关键词:卷积神经网络特征

刘 铭, 肖志成, 于晓东

(1. 长春工业大学 数学与统计学院, 长春 130012; 2. 上海杉达学院 信息科学与技术学院, 上海 201209)

数据是深度学习模型建立过程中不可或缺的因素, 在深度学习建模中对数据的质量和数量都有很高的要求. 决定一个深度学习模型最终实际效果的因素, 除模型的神经网络结构及模型的超参数外, 最重要的就是模型的训练数据. 随着深度学习深入到不同领域中面临不同的任务时, 通常情况下, 神经网络模型需要足够多的数据使模型拥有涵盖业务场景任务的能力, 当数据的丰富度和广泛度达到一定程度时, 可有效抑制训练过程中产生的过拟合、 数据类别之间不平衡影响识别效果、 在验证数据或新数据上欠拟合等问题. 但在很多场景任务中, 能收集的数据总量通常有限, 如在医疗场景中, 一些罕见病的可供研究病例样本数量难以获得足够的病例样本数据. 但在实际的深度学习模型建模过程中, 可通过一些合理的方式生成一些与原始数据类似但存在一定差异的数据, 将这些数据添加到训练数据中, 可有效提升模型在处理有限数据时的性能.

在图像分类领域, 较经典的图像特征生成方式是采用图像增强[1], 如翻转、 裁剪、 几何变换、 色域空间变换等. 这类图像增强方式通过直观地在训练数据基础上生成与训练图像相似但不相同的增强数据达到丰富数据的目的[2], 并且在实际训练中通常还采用将若干种图像增强方法组合的方式进一步丰富数据.

基于神经网络的图像生成模型可通过训练学习已有图像数据, 构建一个生成与训练数据难以分辨的类似数据的图像生成模型. 尽管需要额外的训练学习已有的数据, 但由于其产生的数据与原始数据之间有较高相似性, 可以有效地丰富数据. 如基于生成对抗网络的图像增强模型[3].

多项式特征生成是机器学习领域中对数据进行特征工程时使用的一种基本数据增强方式. 在早期的建模中得到了广泛应用[4]. 在不同任务、 不同场景下数据多种多样, 数据域有时表现为线性结构, 有时表现为非线性结构, 在数据特征组成较复杂的情况下, 使用多项式特征生成可以在一些特征的基础上, 由线性结构转换为非线性结构[5], 即得到一些特征的高阶项与低阶项的组合. 多数情况下可以丰富模型, 使模型的效果及性能得到提升.

本文结合机器学习中经典的多项式数据增强和深度学习框架理论, 提出一种在深度学习训练过程中, 在训练数据集基础上扩增输入数据的数据增强算法. 对比实验结果表明, 在多个数据集上利用本文算法的模型与未使用本文算法处理的模型相比, 添加本文数据扩增堆叠算法后的模型, 在多个数据集上准确率均有较大提升.

1 基于多项式特征生成的数据扩增

为将机器学习的多项式特征生成应用转化到高维数据中, 本文在一维数据的多项式特征生成算法基础上提出一种高维数据对应的多项式特征生成算法, 并以三维图像数据为例进行介绍. 本文算法提出的图像特征生成算法, 可作为一种用于卷积神经网络训练中利用数据增强生成特征[6]的算法.

1.1 幂次为二的多项式特征生成

一般情况下机器学习中的多项式特征生成常对应于1×n的n维数据, 如一个由两个输入x1,x2组成的线性模型:

y=a0+a1x1+a2x2,

(1)

利用多项式特征法所构造的幂次为二的二阶多项式特征生成后变为

(2)

与式(1)相比, 构造的二阶多项式增加了三项, 其中两项为两个特征的平方项, 一项为两个输入的乘积项.平方项只与相应的输入特征对应, 而乘积项由两个特征共同组成.因此, 也将该项称为交叉特征或互相关项, 平方项的数量与输入特征项对应, 而互相关项的数量随输入特征的数量变化[3].

1.2 卷积神经网络的特征输入形式

在卷积神经网络中, 处理图像输入时对应由一个或多个通道组成的长宽固定的矩阵, 如一个通道数为3、 长宽均为3的矩阵fc表示为

(3)

其中c表示数据对应的通道.组成矩阵fc的各元素一般表示图像数据对应的像素值, 这些像素值是图像中信息对应的一种数值形式, 因此是卷积神经网络接触学习的主要目标.所以, 可以将对应的像素值视为可用于多项式特征生成对应的特征.

由于在实际应用中, 卷积神经网络的输入数据对应的维度大小除对应的数据数量可作为一个超参数浮动设定外, 输入的通道数及数据长宽通常是固定的, 如将卷积神经网络的输入维度设为f对应的维度, 则每个输入卷积神经网络训练的图像数据类似fc的矩阵作为输入.

1.3 图像数据的多项式特征生成算法

为使多项式特征生成的新特征在可以输入卷积神经网络模型的同时, 考虑到执行拉伸产生的计算及信息损失, 本文通过在通道数据基础上生成的方式生成多项式数据.采用计算原数据各通道对应矩阵元素的相应二阶多项式的平方项及互相关项的方式生成若干新数据, 该运算可由Hadamard积完成[7], 用公式表示为

fg=fi∘fj,

(4)

其中fi,fj为f的子矩阵,f∈c,h,w,i,j∈[0,c),i≥j,c为输入数据的通道数,w为输入数据的宽,h为输入数据的高.

以生成的两个平方项和互相关项为例.由fc生成各通道对应二阶多项式的平方项为

(5)

由fc生成各通道对应输入通道为3的二阶多项式的互相关项以第i,j通道生成的其中一项为例, 可表示为

(6)

从形式上看, 新生成数据矩阵中的元素与n维特征数据生成的二阶多项式中的项可以对应, 且数据矩阵的维度未发生改变, 可用于模型训练.

这里对于数据的平方项和互相关项的处理可以与推荐系统领域网络中使用特征嵌入时使用的元素尺度(Bit-wise)生成和向量尺度(Vector-wise)生成分别对应[7], 实际上可见二者具有很高的共通性. 本文同理给出一种图像数据的显式特征组合方式.

生成的数据图像数据与作为生成材料的各通道图像相比, 在保存基础形态结构的基础上, 存在明显色度差异, 如图1所示. 由图1可见, 与现有的数据增强变换简单地进行色值变换相比, 生成的图像显然与原始图像之间通过其生成的非线性函数有极高的关联性, 与原始图像相比生成的特征数据由于使用的通道不同具有明显的渐近层次感. 对于这样一类数据相当于从数据的近邻分布中取样, 生成的数据可以很好控制模型的决策边界, 从而减少损失值的震荡达到更好的训练效果[8].

图1 原始图像和由其分解出的各通道及生成的灰度图像Fig.1 Original image and each channel decomposedfrom it and generated grayscale image

2 生成多项式特征堆叠

在深度学习的训练中, 常采用随机打乱原始数据以及通过数据增强生成数据的方式, 增强模型的泛化能力, 提高模型的训练效果[9]. 通过多项式特征生成算法生成的数据同样可利用这种方式进行模型训练, 即仅作为一种简便、 易用的数据增强方式生成图像数据. 但由于数据是由一张图片的各通道数据通过多项式的固定非线性关系生成的, 因此对于一张图片各生成图像之间具有很高的相关性, 在机器学习中也常将这些数据共同使用. 因此, 本文构建一种多项式特征的堆叠结构处理数据及生成数据.

对比式(1)和式(2)可见, 在机器学习中对于采用多项式特征生成的数据并没有作为输入特征数据, 而是将这些新生成的特征与原始特征一起共同作为模型的输入数据. 因此针对这一特点, 本文采用在卷积神经网络中处理特征图生成传递时的一种堆叠结构[10], 构建类似的结构处理多项式特征生成的数据.

由于多项式特征输入的数据生成由原始图像的各通道数据组合而成, 同时生成的数据维度与卷积神经网络数据输入数据维度一致, 对于一张通道、 高、 宽为(c,h,w)的输入图像fc, 生成的数据为h,w与输入图像一致, 因此可将各生成图像与原始图像组合为数据维度为(c+c′,h,w)的组合数据, 其中c′为多项式特征生成算法生成数据的数量.

图2为处理特征输入时的常规方式与多项式特征生成特征输入的特征输入方式.由图2可见, 将生成数据与原始数据按固定的结构在通道维度上组合后作为卷积神经网络的输入.对于卷积神经网络, 处理多通道输入图像时需要配置多个卷积核组成卷积层, 可有效实现各通道数据之间的融合, 如对于一个输入维度为(3,h,w)的原始图像, 在卷积层利用一个(k,k,1)的卷积核通过卷积后可生成一个维度为(h-k+1,w-k+1)的输出特征图.从而实现类似式(1)中原始特征与多项式特征生成的特征之间组合的目的.

图2 处理特征输入时的常规方式(A)与多项式特征生成特征输入的特征输入方式(B)Fig.2 Conventional way (A) of processing feature input and polynomial feature generation feature input (B)

3 实验分析

为验证本文提出的图像生成算法及多项式特征堆叠在卷积神经网络中应用的有效性, 结合目前卷积神经网络中流行的神经网络结构及执行图像增强相关的神经网络结构[11-12], 构建一个由卷积层、 特征堆叠结构、 残差结构组成的卷积神经网络, 结构列于表1.网络中采用的二阶多项式特征生成算法可以生成输入通道平方倍的生成特征, 如果将这些生成特征全部纳入神经网络中, 会使模型所需资源数量过多.因此, 在将生成特征与原始特征结合时, 通过一个参数控制决定生成特征所占通道数与原始输入卷积输出的通道数, 在表1构建的神经网络结构中, 控制二者的数量之比为1∶1, 即两者的通道数量均为16通道, 从生成特征中取多项式特征生成的前16通道特征, 用于特征堆叠结构中.

表1 卷积神经网络结构

将神经网络结构中特征堆叠放在一个卷积后的主要目的是充分利用由卷积获取得到的原始信息, 同时尽量将特征堆叠结构前置以减少模型在靠后的层结构中生成多项式特征时产生的资源占用问题. 采用残差结构作为后面几层的主要目的是使模型具有足够的能力拟合数据集.

数据集CIFAR[13]和Caltech[14]作为检验模型性能的数据集. 模型的检验指标采用图像识别时的准确率. 为验证模型识别效果的有效性, 设置不采用多项式特征生成算法的模型作为对比, 即在其他结构相同的情况下不附加生成特征, 直接将卷积后的特征图向后传递, 从而保证两个模型之间的差异仅体现在是否采用本文提出的算法上. 在模型的参数设置上参考使用这两个数据集作为对照实验数据集的相关研究[10-11]设置, 在优化器及损失函数的选择上与其相同, 便于横向比较. 不同的是微调了模型的学习率和每次训练数据的数量大小, 并采用神经网络结构, 同时为进一步减少干扰因素, 在执行模型训练时不添加其他数据增强算法生成的图像和基于其他数据集的预训练模型进行训练.

模型的训练过程如图3和图4所示. 在模型迭代100次后从损失值和准确率变化曲线可见, 在两个数据集上的模型都已经收敛. 表明模型已经充分得到了训练, 模型的准确率可充分代表模型的性能. 且未添加生成特征的模型的损失值有上升趋势, 即有过拟合的趋势. 而应用本文算法的模型损失值变化较平缓, 模型的最优准确率列于表2.

表2 两种模型的最优准确率

图3 数据集CIFAR随迭代次数的损失值和准确率变化曲线Fig.3 Variation curves of loss values and accuracy rates of CIFAR dataset with number of iterations

图4 数据集Caltech随迭代次数的损失值和准确率变化曲线Fig.4 Variation curves of loss values and accuracy rates of Caltech dataset with number of iterations

由表2可见, 在两个数据集上利用本文提出的多项式特征堆叠的模型结构训练的准确率均优于未使用本文算法的模型, 表明本文提出的多项式特征堆叠算法由原始特征生成对应特征并进行特征堆叠后对增强模型的性能有正向影响, 有效提升了模型的识别准确率.

综上所述, 在经典多项式生成算法的基础上, 本文结合卷积神经网络的相关特点, 提出了一种更简便的图像特征生成算法, 并结合特征堆叠提出了一种用于卷积神经网络的多项式特征生成堆叠算法. 该算法的主要思想是通过生成多项式这种非线性化的方法丰富数据域, 利用该方式可有效提升卷积神经网络的性能. 算法在生成特征的利用上有所浪费, 需要根据模型的结构特点权衡设计. 但由于其对原始特征和生成特征的结构设计, 也给模型设计带来了灵活性.

猜你喜欢

卷积神经网络特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
如何表达“特征”
神经网络抑制无线通信干扰探究
从滤波器理解卷积
不忠诚的四个特征
基于傅里叶域卷积表示的目标跟踪算法
抓住特征巧观察
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定