北京工商大学王立教授等:基于生成对抗网络和深度森林结合的粮食加工

摘要:粮食加工过程污染物的准确预测对粮食安全具有重要意义,但由于粮食加工工艺复杂,污染物检测困难导致数据量较小,难以满足建模预测所需,需要研究小样本的污染物数据扩充方法。生成对抗网络(GAN)作为一种无监督学习算法框架的模型,能生成高质量的样本,具有比传统机器学习更

粮食加工过程污染物的准确预测对粮食安全具有重要意义,但由于粮食加工工艺复杂,污染物检测困难导致数据量较小,难以满足建模预测所需,需要研究小样本的污染物数据扩充方法。生成对抗网络(GAN)作为一种无监督学习算法框架的模型,能生成高质量的样本,具有比传统机器学习更加强大的特征学习和特征表达能力,生成的数据逼真。随机森林(RF)和神经网络相比较,能更好地挖掘离散过程数据的信息,且更适用于中小型的数据集,算法的解释性更强,具有非微分形式基学习器和无需大量训练数据的特点。深度森林(DF)在RF基础上进行了加深,在预测性能上优于RF,解决现有大多深度学习基于深度神经网络(DNN)只适用于连续过程数据处理的问题。

北京工商大学计算机与人工智能学院的郭香兰、王立*、金学波拟采用时间生成对抗网络(TimeGAN)模型进行粮食加工过程污染物数据的扩充,再基于无监督学习的GAN模型和适用于离散过程数据的DF模型进行粮食加工过程污染物数据的预测。

1 基于TimeGAN模型的粮食加工过程数据扩充

粮食加工过程污染物的准确预测需要大量的数据进行模型训练,因此使用适合于扩充粮食加工过程污染物数据的“时间上的动力学”的TimeGAN方法对小样本污染物数据进行数据的扩充并保留其时间相关性。TimeGAN于2019年提出,作为一种基于GAN的框架,能够生成各种不同领域的真实时间序列数据,与以往在真实数据和合成数据上实现无监督对抗性损失的其他GAN架构不同,TimeGAN架构引入了监督损失的概念-鼓励模型,通过使用原始数据作为监督捕捉数据中的时间条件分布。

首先将原始数据进行按照第一个环节污染物的大小进行排序,并压缩为一维数据,将压缩后的数据输入到TimeGAN中,通过TimeGAN对原始数据的学习生成多组数据。这些生成的数据与原始数据类似,最后将生成的一维数据尺寸还原为与原始数据相同的尺寸,根据需求可以得到足够的生成数据,以达到训练深度学习所需要的数据量。

记加工过程环节数为I+J,其中I为已知污染物浓度的环节数,J为需要预测的污染物浓度的环节数,定义粮食加工过程污染物数据如式(1)所示:

式中:N为样本数据数量,此时数据量大小为N×(I+J)。

将式(1)进行划分,记已知污染物浓度的环节数据为X,记需要预测的污染物浓度的环节数据为Y,如式(2)、(3)所示:

考虑到粮食污染物数据在行向是以环节数改变,而列向是另外一组样本,两行数据之间的关系变化趋势相同,但是第t行数据初始数据值(t=1,2...N)不同而导致后续环节的数值(h=2,3...I+J)不同,但是仍然与有关,所以,每一列数据之间同样有着一定的变化规律,所以TimeGAN所述的“时间上的动力学”关系在粮食污染物数据中的关系是每一组数据之间的关系。因此数据输入到TimeGAN模型之前,需要先进行数据预处理。

TimeGAN模型对粮食加工过程污染物数据进行扩充的结构图如图1所示。首先,将原始数据每行进行按照第一个环节污染物的大小进行排序,与对应的后续环节也同的位置改变,得到排序后的N行(I+J)列数据,全体作为一组数据,然后经过变换变为N×(I+J)行1 列的一维数据,将变换后的数据输入到TimeGAN中,TimeGAN通过对原始数据的学习,会生成得到多组生成的数据,最后将生成的一维数据尺寸反变换,还原为与原始数据相同的N行(I+J)列数据,这些生成的数据与原始数据相似,但是又有所不同,根据需求可以生成多组数据,直到数据足够进行预测模型的训练。

2 基于GAN和DF模型的粮食加工过程污染物预测

2.1

基于GAN-DF模型的粮食加工过程污染物预测

GAN由生成器与判别器组成,生成器通过学习得到与真实数据相似的生成数据,判别器的作用是区分出真实数据与生成器生成的数据,体现竞争学习的思想。生成器与判别器相互竞争进行优化学习,经过学习后,生成器生成的数据很逼真,达到了以假乱真的目的。

为了使GAN的生成器能够进行粮食加工过程污染物的预测,对GAN的生成器进行设计,使生成器输入已知环节数的粮食加工过程污染物数据,输出需要预测环节数的粮食加工过程污染物数据。在GAN的结构基础上使用DNN[30]。GAN的生成器的输入为已知的I个环节,然后分别经过4 层大小的DNN网络,最后得到需要预测的J个环节。GAN的判别器的输入为(I+J)个环节,然后分别经过4 层大小的DNN网络,输出到一个一维标量,最后经过激活函数得到分类结果。

将GAN与DF进行结合,首先使用GAN进行预测,将已知的I个环节与GAN预测的J个环节进行融合。

定义为GAN模型对Xtrain的输出,其数据量大小与Y相同,当有traintrainN组数据时,的大小是N行J列,将训练的输入X与输出Ytrain数据进行训练GAN,训练好的GAN模型可以从Xtrain得到,将Xtrain与,行数保持不变,列数进行合并。

融合后数据变为N行(I+J)列,融合后的数据作为DF的输入,得到GAN预测的J个环节。在这里,DF不但学习到了已知的I个环节与需要预测的J个环节之间的变化关系,同时学习到了GAN预测结果的偏差,进一步提高了预测的准确率。

如图2所示,GAN的生成器的输入为已知的I个环节,然后分别经过4 层大小的DNN网络,最后得到需要预测的J个环节,判别器需要分辨出真实数据与生成数据,所以判别器的输入是真实数据与生成数据,由于独立的J个环节数据并不能区分出真假,所以将已知的I个环节分别融合生成器生成的J个环节数据与真实的J个环节数据,所以GAN的判别器的输入为(I+J)个环节,然后分别经过4 层DNN网络。

对于判别器而言,由于已知的I个环节加上生成器预测的J个环节不是真实的数据变化趋势,因此输入到判别器时标签是0,同理,已知的I个环节加上真实的J个环节输入到判别器时标签是1,因此判别器最后的输出是一个一维标量。经过激活函数后,输出值越大则说明输入数据越真实,即变化规律越准确。经过对抗训练后,生成器输入已知的I个环节时,就能输出与真实数据相似的J个环节,即拥有了预测的能力。GAN-DF的算法流程图如图3所示。

GAN-DF模型训练时,首先将每一组训练数据用来训练GAN,GAN训练完成之后,将GAN对训练集预测的结果与训练集输入进行融合,融合后的输入作为DF训练集的输入,再结合训练集的输出,对DF进行训练。在DF通过训练学习到粮食污染物加工过程变化规律与GAN预测的误差后,就得到了GAN-DF模型。然后使用测试数据进行计算模型预测的准确率。

2.2

基于DFGAN模型的粮食加工过程污染物预测

由于DF的训练方式是基于集成学习的方法,而GAN的训练方式是基于神经网络的反向传播训练,因此将DF直接嵌入GAN时无法进行训练,基于GAN的思想,将DF嵌入GAN,作为GAN模型的生成器,构建DFGAN模型,进行稻米加工过程的污染物预测。DFGAN模型结构如图4所示。traintraintraintrain

X与Y对DF进行第一次训练,训练好后DF模型可以通过X得到DF的预测值,将X与进行横向合并,得到判别器的输入,一般如式(4)所示:

式中:是对第N组数据在第(I+J)个的预测值,由于的第(I+1)个到第(I+J)个环节的数据是DF预测出来的,所以判别器需要判定为假,因此加上标签0,进入到判别器。同时,测试集的输入结合输出,即式(1)所示的数据是真实的数据,因此加上标签1,进入判别器。根据判别器判别的效果,先反向传播进行优化判别器,损失函数为BCE Loss。由于生成器无法使用判别器的结果直接进行反向传播训练,因此,使用判别器的损失函数对生成器的性能进行判别,检测当前生成器对于训练数据的预测精度,如果判别器的损失函数相对于上一次调节生成器时的损失函数没有改变,就说明生成器预测效果仍然很好,不需要进行优化生成器,如果损失函数相对于上一次调节生成器时的损失函数有一定改变,且改变的绝对值大小达到调节阈值时,调节生成器,增加级联层数,调节阈值的取值如式(5)所示:

式中:δe是当前的预测误差减去上一次的预测误差的绝对值;epoch是当前训练的轮次,δe的设计思路是在训练开始时,epoch很小,预测效果随着epoch增加会有明显改变,此时希望δe较大,能迅速增大级联层,epoch比较大时,随着epoch增加预测效果改变较小,此时希望δe较小,能让预测精度提升较小的时候仍然改变级联层数,epoch非常大时,仍然能有一定大小的δe,δe的初始值定义为0。所以构造式(5)所示的调节阈值,δe是一个随着epoch增大而减小的值,其中a需要根据预测精度的数量级确定,以此保证满足δe的设计思路;b是影响δe衰减快慢的因子,b的取值大约为0.8到0.99之间;c的取值是为了保证训练次数已经很大时,仍然保证δe有一定数值。在当δe的大小达到调节阈值时,就说明上一次生成器在增加级联层时预测效果有明显的改变,仍然需要进行优化生成器,直到完成所有批次的训练。

如图5所示,首先进行模型初始化,在每一轮训练开始时,首先检测δe的大小是否达到调节阈值,如果达到,那就使生成器中级联森林的层数加一,并使用训练数据进行训练生成器。然后进行本轮判别器的训练,本轮训练中每个批次的样本都输入到生成器进行预测,同时结合真实数据训练判别器。当前轮次结束后,继续检测δe的大小,重复这一步骤,直到达到轮次结束。

2.3

基于DFGAN模型的粮食加工过程污染物预测

为进一步提高预测精度,建立基于长短时记忆(LSTM)-DFGAN的预测模型。

首先建立LSTM-DF模型,定义为LSTM模型对traintraintraintraintraintraintrainX的输出,其数据量大小与Y相同,当有N 组数据时,的大小是N行J列,结合训练的输入X与输出Y数据训练LSTM,训练好的LSTM模型可以通过X得到,将X与进行融合,行数保持不变,列数进行合并,融合后数据变为N行(I+J)列,作为DF的输入,同时Y作为DF的输出,训练DF。将LSTM与DF结合得到LSTM-DF的模型结构如图6所示。

使用LSTM进行预测,将已知的I个环节与LSTM预测的J个环节结合为一组新的数据,作为DF的输入,得到DF预测的J个环节。在这里,DF不但学习到了已知的I个环节与需要预测的J个环节之间的变化关系,同时学习到了LSTM预测结果的偏差,进一步提高了预测的准确率。LSTM-DF的算法流程图如图7所示。

进行数据划分之后,获取了训练集的输入数据与输出数据,首先将每一组训练数据用来训练LSTM,LSTM训练完成之后,将LSTM的对训练集预测结果,与训练集输入进行融合,融合后的输入作为DF训练集的输入,再结合训练集的输出,对DF进行训练。在DF通过训练学习到粮食污染物加工过程变化规律与LSTM预测的误差后,就得到了LSTM-DF模型。

而后,将LSTM-DF模型嵌入到GAN模型,使用LSTM-DF模型作为生成器,首先将使用已知的I个环节与需要预测的J个环节训练LSTM,LSTM训练完成之后,将LSTM的预测结果与训练集输入进行融合,融合方式与GAN与DF进行结合的方式类似。LSTM-DFGAN的结构图如图8所示。

融合后数据变为N行(I+J)列,作为DF的输入,行数不变,列进行合并,即每一组数据,融合后的(I+J)个环节与需要预测的J个数据作为DF与判别器训练集的输入,使用4 层DNN网络作为判别器,损失函数对DF生成的数据进行判别,检测当前DF对于训练数据的预测精度,如果判别器的损失函数相对于上一次损失函数没有改变,就继续训练判别器,不需要进行优化生成器,如果损失函数相对于上一次损失函数改变的大小达到调节阈值时,调节DF,增加级联层数。LSTM-DFGAN的算法流程如图9所示。

3 模型仿真与验证

3.1

数据集

本实验以稻谷加工过程为例进行模型的仿真与验证。稻谷加工过程工序较多,分为原粮、一道砻谷、二道砻谷、一道碾米、二道碾米、三道碾米、四道碾米共7 道加工工艺(图10)。

数据集为江苏、湖北、黑龙江等地的12 种稻谷型号,包括铅(Pb)、铬(Cr)、砷(As)、镉(Cd)、汞(Hg)共5 种重金属污染物,一共84 组样本。以其中的铅(Pb)为例,验证本文提出的粮食加工过程污染物数据扩充和预测方法,其中的GAN网络所涉及的4 层DNN网络都使用512与256大小的两层隐藏层,输入层网络节点数与输入数据尺寸一样,输出层网络节点数与输出数据尺寸一样。

3.2

稻谷加工过程Pb数据扩充

图11~14分别展示了从原来的一组数据扩充了1、10、100 组和1000 组的结果,其中每一组大小是12×7,对应12 种稻谷型号的7 道工艺。

为了验证原始数据与生成数据同等有效,对生成的数据进行一些统计量上的验证,包括质心对比与数据分布区间。

对原数据与生成数据的每一个环节数据进行质心计算,原数据为[0.12,0.06,0.05,0.05,0.04,0.03,0.04],生成的数据为[0.13,0.06,0.05,0.05,0.05,0.03,0.04]。

其次是原粮所含污染物在在不同区间的占比,结果如表1所示。

3.3

稻谷加工过程Pb数据预测

对于利用TimeGAN模型生成的数据,分别对Pb的原数据、不同数量的扩充数据使用以上6 种预测方法,以前面4 个环节预测后面3 个环节,训练集与测试集的比例为8∶2,同时使用RF作为对比实验,取5 组预测结果中的一组数据进行可视化。如图15所示,每个模型预测效果都在一定范围内,但是有差别,LSTM-DFGAN模型效果综合最优。

预测的准确度如表2所示,用平均绝对误差(MAE)与均方根误差(RMSE)两个指标衡量。对于原数据,每个方法预测的误差都较大,LSTM-DF的MAE及RMSE均为最小,每个模型的MAE与RMSE均在同一数量级,与最小的数据相比,最大的MAE高了约41%,最大的RMSE高了约27%。对于第2组数据,LSTM-DFGAN与GAN-DF的MAE相同且最小,与LSTM-DF、LSTM-DFGAN相差在18%以内,DF的MAE最大,超过了LSTM-DFGAN的MAE的50%,GAN-DF模型的RMSE最小,与LSTMDF、LSTM-DFGAN相差在21%以内,同样,DF的RMSE也是最大,超过了LSTM-DFGAN的RMSE的50%。对于第3组数据,GAN-DF模型的MAE最小,但是与LSTM-DF、DFGAN、LSTM-DFGAN很接近,相差约8%,RF、DF的MAE高了约50%,LSTM-DFGAN模型的RMSE最小,LSTM-DF、GAN-DF、DFGAN较接近,与LSTM-DFGAN相差在21%左右,与RF、DF相差超过100%。对于第4组与第5组数据,LSTM-DFGAN模型的MAE与RMSE均最小,MAE与LSTM-DF、GANDF、DFGAN相差超过15%,与RF、DF相差超过100%,RMSE与LSTM-DF、GAN-DF、DFGAN相差超过5%,与RF、DF相差超过100%。

综合来看,从不同模型的角度,LSTM-DFGAN模型的误差最小,其次是GAN-DF模型,然后是LSTM-DF模型与DFGAN模型,这4 个模型误差基本在同一个量级,并且差距较小。误差最大的是RF模型与DF模型,误差大约为前面3 个模型的2~3 倍,数据量大的时候DF更小,但是数据量少的时候RF效果较好。证明本文提出的LSTM-DFGAN模型预测效果较为优秀,可以实现对粮食加工过程污染物的预测。

从数据扩充的角度,原数据的预测效果都较差,原因是数据量太少,模型极易过拟合。随着数据的扩充的量越来越多,每个模型的预测效果都越来越好,数据量增多对LSTM-DF、GAN-DF、DFGAN、LSTM-DFGAN带来的预测提升更大,提升了约3 个数量级,对RF、DF的预测精度提升相对较小,提升了约2 个数量级。

结论

本实验针对粮食加工过程污染物的小样本数据扩充和粮食加工过程这一间歇过程污染物的预测问题,引入深度学习领域中时间序列数据生成技术TimeGAN和离散时间序列建模预测技术,通过改进并结合无监督学习的GAN模型、适用离散过程建模的DF模型与时间序列预测的LSTM模型,先后建立GAN-DF、DFGAN、LSTMDFGAN等模型,提出适用于粮食加工过程污染物的数据扩充和预测的全新算法。通过稻谷加工过程的金属污染物数据进行仿真验证,结果表明TimeGAN方法扩充数据可行,LSTM-DFGAN模型综合预测效果更为理想。本研究属于食品和人工智能交叉领域研究,在食品安全的智能预测方向具有一定的理论和应用创新,研究成果可提高粮食加工过程污染物预测的准确性及有效性,大幅度降低粮食加工过程污染发生率,对促进粮食安全、促进学科间的渗透与交叉发展发挥积极作用。

本文《基于生成对抗网络和深度森林结合的粮食加工过程污染物小样本数据扩充及预测》来源于《食品科学》2024年45卷第12期22-30,作者:郭香兰,王 立*,金学波,于家斌,白玉廷,李涵宇,隗立昂,马 倩,温浩然。DOI :10.7506/spkx1002-6630-20240129-264。

来源:新浪财经

相关推荐