粮食加工过程污染物的准确预测对粮食安全具有重要意义,但由于粮食加工工艺复杂,污染物检测困难导致数据量较小,难以满足建模预测所需,需要研究小样本的污染物数据扩充方法。生成对抗网络(GAN)作为一种无监督学习算法框架的模型,能生成高质量的样本,具有比传统机器学习更加强大的特征学习和特征表达能力,生成的数据逼真。随机森林(RF)和神经网络相比较,能更好地挖掘离散过程数据的信息,且更适用于中小型的数据集,算法的解释性更强,具有非微分形式基学习器和无需大量训练数据的特点。深度森林(DF)在RF基础上进行了加深,在预测性能上优于RF,解决现有大多深度学习基于深度神经网络(DNN)只适用于连续过程数据处理的问题。
北京工商大学计算机与人工智能学院的郭香兰、王立*、金学波等拟采用时间生成对抗网络(TimeGAN)模型进行粮食加工过程污染物数据的扩充,再基于无监督学习的GAN模型和适用于离散过程数据的DF模型进行粮食加工过程污染物数据的预测。
1 基于TimeGAN模型的粮食加工过程数据扩充
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 基于GAN和DF模型的粮食加工过程污染物预测
2.1
GAN由生成器与判别器组成,生成器通过学习得到与真实数据相似的生成数据,判别器的作用是区分出真实数据与生成器生成的数据,体现竞争学习的思想。生成器与判别器相互竞争进行优化学习,经过学习后,生成器生成的数据很逼真,达到了以假乱真的目的。
为了使GAN的生成器能够进行粮食加工过程污染物的预测,对GAN的生成器进行设计,使生成器输入已知环节数的粮食加工过程污染物数据,输出需要预测环节数的粮食加工过程污染物数据。在GAN的结构基础上使用DNN[30]。GAN的生成器的输入为已知的I 个环节,然后分别经过4 层大小的DNN网络,最后得到需要预测的J 个环节。GAN的判别器的输入为(I+J)个环节,然后分别经过4 层大小的DNN网络,输出到一个一维标量,最后经过激活函数得到分类结果。
将GAN与DF进行结合,首先使用GAN进行预测,将已知的I 个环节与GAN预测的J 个环节进行融合。
定义为GAN模型对Xtrain的输出,其数据量大小与Ytrain相同,当有N 组数据时,的大小是N 行J 列,将训练的输入Xtrain与输出Ytrain数据进行训练GAN,训练好的GAN模型可以从Xtrain得到,将Xtrain与,行数保持不变,列数进行合并。
融合后数据变为N 行(I+J)列,融合后的数据作为DF的输入,得到GAN预测的J 个环节。在这里,DF不但学习到了已知的I 个环节与需要预测的J 个环节之间的变化关系,同时学习到了GAN预测结果的偏差,进一步提高了预测的准确率。
GAN-DF模型训练时,首先将每一组训练数据用来训练GAN,GAN训练完成之后,将GAN对训练集预测的结果与训练集输入进行融合,融合后的输入作为DF训练集的输入,再结合训练集的输出,对DF进行训练。在DF通过训练学习到粮食污染物加工过程变化规律与GAN预测的误差后,就得到了GAN-DF模型。然后使用测试数据进行计算模型预测的准确率。
2.2
Xtrain与Ytrain对DF进行第一次训练,训练好后DF模型可以通过Xtrain得到DF的预测值,将Xtrain与进行横向合并,得到判别器的输入,一般如式(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
为进一步提高预测精度,建立基于长短时记忆(LSTM)-DFGAN的预测模型。
进行数据划分之后,获取了训练集的输入数据与输出数据,首先将每一组训练数据用来训练LSTM,LSTM训练完成之后,将LSTM的对训练集预测结果,与训练集输入进行融合,融合后的输入作为DF训练集的输入,再结合训练集的输出,对DF进行训练。在DF通过训练学习到粮食污染物加工过程变化规律与LSTM预测的误差后,就得到了LSTM-DF模型。
3 模型仿真与验证
3 模型仿真与验证
3.1
数据集为江苏、湖北、黑龙江等地的12 种稻谷型号,包括铅(Pb)、铬(Cr)、砷(As)、镉(Cd)、汞(Hg)共5 种重金属污染物,一共84 组样本。以其中的铅(Pb)为例,验证本文提出的粮食加工过程污染物数据扩充和预测方法,其中的GAN网络所涉及的4 层DNN网络都使用512与256大小的两层隐藏层,输入层网络节点数与输入数据尺寸一样,输出层网络节点数与输出数据尺寸一样。
3.2
图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]。
3.3
综合来看,从不同模型的角度,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模型综合预测效果更为理想。本研究属于食品和人工智能交叉领域研究,在食品安全的智能预测方向具有一定的理论和应用创新,研究成果可提高粮食加工过程污染物预测的准确性及有效性,大幅度降低粮食加工过程污染发生率,对促进粮食安全、促进学科间的渗透与交叉发展发挥积极作用。
本文转载自“ 食品科学杂志社”微信公众号,原标题“《食品科学》:北京工商大学王立教授等:基于生成对抗网络和深度森林结合的粮食加工过程污染物小样本数据扩充及预测”。转载仅用于学术分享,若有侵权,请后台留言联系修改或删除!
『点赞在看,精彩不断』↓ ↓ ↓