“类人”社交机器人检测数据集扩充方法研究

2022-01-26 12:43刘欣然徐雅斌
电子科技大学学报 2022年1期
关键词:编码器类人损失

刘欣然,徐雅斌*

(1. 北京信息科技大学网络文化与数字传播北京市重点实验室 北京 朝阳区 100101;2. 北京信息科技大学计算机学院 北京 朝阳区 100101)

社交机器人是一种具有虚拟人格化形象的算法智能体,它们渗透于社交网络之中,通过大量连接社交网络用户并发送特定信息,在一定程度上影响着公众舆论。其中,部分社交机器人利用了其对于舆论的影响力,在社交网络中实施谣言传播、虚假消息散布等恶意行为,威胁着社交网络的安全与稳定。基于此,针对社交机器人的检测技术成了近年来的研究热点。

然而,为逃避检测,另有一部分社交机器人通过升级换代,具有了逼真的网络身份(头像、用户名等详细的个人资料)、发送带有情感色彩博文的能力、相当数量的粉丝及关注者等一系列更为“类人”的网络形象特征。本文将上述经过升级的社交机器人命名为“类人”社交机器人。基于其“类人”的属性,从海量的网络用户群体中识别出“类人”社交机器人的难度更大,正因如此,能够使用相应的技术手段对它们进行有效、准确的检测就显得更加重要。

与普通的社交机器人检测任务相同,“类人”社交机器人检测,旨在使用分类模型对“类人”社交机器人用户和人类用户进行二分类。然而,现实中能够直接从社交网络中识别并获取到的“类人”社交机器人用户的数量远少于正常人类用户的数量,在此情况下训练得到的检测模型将存在严重的过拟合问题。为了获得性能更为优越的检测模型,就要求在训练模型之前首先进行训练数据集的扩充。由于“类人”社交机器人已经混迹在真实人类用户之中且难以被“识破”,那么便可以学习人类用户的社交行为数据,并生成相似数据,以达到扩充其检测训练集的目的。

为实现数据扩充,文献[1]提出使用数字DNA编码社交机器人用户的行为寿命,并使用遗传算法对当前的机器人用户进行迭代优化,由此生成符合实验要求的数据。虽然该方法具有一定的作用,但是需要事先对采集到的每个数据样本进行建模,工作量大、且实现效率低。

不同于文献[1],文献[2-3]分别提出使用生成式对抗网络(generative adversarial networks, GAN)和改进的条件对抗网络(conditional generative adversarial networks, CGAN)来扩充社交机器人数据集。文中二者均取得了良好的扩充效果,且提出的方法相较于文献[1]均更易于操作、实现效率更高。但是文献[2-3]均未考虑到GAN 的固有缺点(如生成器模式崩溃问题等)对于数据扩充结果可能产生的影响,更没有提出相应的解决办法。

为缓解GAN[4]生成器的模式崩溃问题,文献[5]提出了进化生成式对抗网络(evolutionary generative adversarial networks, E-GAN)。训练中,E-GAN 借用种群进化的思想训练生成器、使用多目标函数评价各生成器的性能并保留最优个体,以此保证了生成的数据同时具有较高的“真实性”与多样性,从而缓解了模式崩溃问题。但是E-GAN 的设计并非完美。首先,由单个全连接网络或卷积网络构成的生成器,难以从输入的随机噪声中充分挖掘出与训练数据相关的隐藏特征,导致生成数据的“真实性”与多样性程度差强人意。其次,E-GAN 生成器损失函数的优化目标存在自相矛盾的现象,导致训练过程中模型收敛速度慢、生成器梯度不稳定;训练结束后,生成数据的质量优劣不一。

为优化E-GAN 的训练效果,文献[6]提出修改E-GAN 生成器的损失函数及判别器结构,以避免梯度消失的发生;文献[7]提出改变判别器的输出形式及生成器的损失函数,从而提高生成数据的多样性;文献[8]提出使用帕累托优势度(Pareto dominance)函数作为评估生成器性能的多目标评估函数;文献[9]在E-GAN 的 “突变”步骤后引入“交叉”步骤,以进一步提高生成数据的多样性。文献[6-9]的实验结果较之原始E-GAN 均有一定的提高,但是均未解决制约模型性能提高的本质问题。

基于此,本文提出了一种基于改进的海林格距离的变分进化生成式对抗网络(Hellinger distance based variational evolutionary generative adversarial network, HVE-GAN)模型,以提高E-GAN 性能、实现“类人”社交机器人检测数据集的有效扩充。

1 E-GAN 生成器的结构改进

1.1 E-GAN 及变分自编码器

E-GAN 的结构如图1 所示,若无特殊说明,则文中D特指判别器(discriminator),D 特指解码器(decoder)。父代生成器Gθ通过变异产生子代生成器,子代生成器分别生成数据,通过评估函数对于各子代生成器的性能进行评估,性能最优的子代生成器将被保留作为下一次变异的父代;此时被挑选出来的生成器与判别器进行对抗训练,且根据对抗结果进行优化。

图1 E-GAN 模型结构图

由图1 可知,E-GAN 模型在训练过程中借用了进化算法的思想,其每个训练步骤由3 个阶段组成:

1)变异(variation):给定一个父代生成器个体Gθ,使其在不同的损失函数的指导下变异并产生新的子代

2)评价(evaluation):对于每一个子代生成器,它们的性能将在当前的“自然环境”(即与判别器的对抗训练)下,由评价函数给出;

3)选择(selection):E-GAN 将根据子代生成器的评估值进行“自然选择”,即优秀的子代生成器被保留到下一代,作为下一次训练过程中进行变异的父本。

变分自编码器[10](variational autoencoder, VAE)是以自编码器(autoencoder, AE)[11]结构为基础的深度生成模型。但是AE 的解码器不具有数据生成能力,而VAE 通过引入“重参数化”过程,使其解码器具有了数据生成能力。

1.2 E-GAN 的生成器结构改进方法

为了进一步提高E-GAN 生成数据的“真实性”与多样性,本文将E-GAN 的生成器由变分自编码器取代,形成变分进化生成式对抗网络(variational evolutionary generative adversarial networks, VEGAN)。

VE-GAN 的模型结构如图2 所示。修改后的生成器中,编码器E 负责接收人类用户数据,并将其编码至包含人类用户数据隐藏特征的低维数据空间,解码器D 负责从中采样,并将采样数据在不同的损失函数的指导下解码为与人类用户数据相似的“类人”社交机器人数据。

图2 VE-GAN 模型结构图

对生成器的结构进行修改后,模型的损失函数也要相应地发生变化。借鉴文献[12],则此时编码器E 的损失函数为:

其中,

式中,X为真实数据;先验分布Z~N(0,1),为重参数化后的隐空间数据;Q(|X)与P(Z)分别为与Z采样分布情况的表示。

对于单个生成器G而言,其损失函数为:

式中,LE−GAN(G_fake)为用于指导当前生成器变异的损失函数。判别器D的损失函数为:

则模型整体的损失函数为:

将E-GAN 的单个网络结构的生成器修改为VAE 结构,修改后:1)模型使用编码得到的隐空间数据而非随机噪声进行数据生成,隐空间数据中含有丰富的训练数据隐藏特征信息,有助于模型在信息加持下,生成“真实性”和多样性程度与训练数据更为相似的用户数据;2)生成器训练过程中,VAE 的损失函数能够迫使解码器输出与训练数据更为相似的数据,不断提升解码器利用隐空间数据拟合训练数据的能力。以上两点共同作用,使得生成数据的“真实性”和多样性程度得到了提高。

2 E-GAN 的损失函数优化设计

用于指导E-GAN 生成器变异的损失函数之一为Heuristic 损失函数,其定义为:

推理可知,最小化式(6)相当于最小化[KL(pg||preal)−2JS(pg||preal)],这便意味着生成器要在减小pg和preal之间的KL 散度的同时增大其JS 散度,显然该目标是自相矛盾的。在实践中,该目标也会严重影响生成器梯度的稳定性。因此需要对该损失函数进行替换。

本文使用改进的海林格距离(Hellinger distance)替换Heuristic 损失函数,将其作为生成器的损失函数之一。海林格距离是f 散度的一种,被用来度量两个概率分布之间的距离。在可度量空间上,海林格距离被定义为:

式中,P(x)和Q(x)分 别为在给定连续空间X中,x∈X的两个连续性分布。由于海林格距离具有对于不平衡数据集不敏感的优秀特征,被广泛应用于采样方法中。基于上述考虑,可将海林格距离应用于本模型,作为指导生成器变异的损失函数。

同时,为了避免在具体的训练过程中,由于生成器生成的数据量较大,导致原始的海林格距离的值也较大,从而给梯度带来较大的影响,本文将原始的海林格距离进行了缩放改进,使其更加适用于当前模型的特点。

改进的海林格距离为:

式(8)可理解为:生成器试图缩小其生成数据的实际概率分布值与目标概率分布值1 之间的海林格距离。式中,n为生成器生成数据的数量。式(8)仅对原始公式进行了缩放处理,既不会影响公式的性能,又能很好地将函数值控制在较小的范围内,从而也稳定了梯度。

在更为鲁棒的损失函数(改进的海林格距离)的指导下,彻底解决了在训练过程中,由不合理的损失函数优化目标导致的生成器梯度不稳定问题,从而使生成数据的质量也得到了保证。本文将进行了上述生成器结构与损失函数改进的模型称为基于海林格距离的变分进化生成式对抗网络(HVEGAN),并使用该模型完成“类人”社交机器人检测数据集的扩充任务。

3 “类人”社交机器人数据扩充算法

利用本文提出的HVE-GAN 进行“类人”社交机器人数据生成的算法步骤如下。

算法:“类人”社交机器人数据生成

输入:人类用户的数据X

输出:“类人”社交机器人数据X′

1) 初始化一个VAE 结构的生成器G0,并令其编码器 Enc0为初代编码器,解码器为初代解码器,初始化一个判别器D;

2) 将X输入给E nc0,并将其编码得到的包含人类用户隐藏特征的隐空间数据输 入给 D ec0,令其解码得到“类人”社交机器人数据=Dec();

4) 利用评估函数F=Fq+γFd,γ>0评 估G0的性能,并给出相应的评估分数,其中,γ为一个可学习的超参数,Fq为适应度分数,Fd为多样性分数;

5) 优化判别器D,以提高判别器性能,从而更好地促进生成器的进化;

6) 将X输入给子代生成器的编码器种群{Enc1,Enc2,···,Encn} 中 的各编码器个体 Enci,n为子代生成器的数量,i∈{1,2,···,n};经过单独的编码及重参数化后,分别得到数据集的不同隐空间变量数据集将z中 的各数据集分别输入给子代生成器的解码器种群 { Dec1,Dec2,···,Decn}中相应的解码器个体D eci,各解码器分别解码出“类人”社交机器人数据集

8) 由F给出该生成数据集的候选子代生成器Gi的评估分数,若任意Gi的评估函数值均低于G0的值,则继续选择G0作为本次训练中变异的父本生成器,否则根据他们的评估函数值排名选出最优模型代替G0作为本次的变异父本;

9) 本次变异父本G0在不同的损失函数的指导下进行变异,得到子代生成器及其相应的编码器、解码器种群;

10) 优化判别器D;

11) 若未完成预设次数的训练,则返回步骤6),进入下一次训练;若完成预设次数的训练后停止训练,并进入步骤12);

12) 取得HVE-GAN 当前的解码器模型,对其输入z~N(0,1),获得所需“类人”社交机器人的数据X′。

在上述算法中,步骤1)~步骤5)为利用HVEGAN 的初始生成器生成“类人”社交机器人数据阶段;步骤6)~步骤11)为子代生成器的数据生成阶段;步骤11)为循环条件,步骤12)为最终的检测数据集生成阶段。

其中,步骤4)提到的评估函数F的适应度分数为:

即Fq为判别器对于待评估数据给出的真实性度量。多样性分数为:

即Fd为判别器D的优化函数时,通过D的梯度值的高低反映出待评估数据分布的集中程度。梯度值越小,则数据分布越分散,其多样性程度越高。

4 实 验

为了验证HVE-GAN 模型性能的优越性,及其生成的“类人”社交机器人数据的“真实性”与多样性,选取文献[3]提出的社交机器人数据集扩充模型,以及E-GAN 作为基线模型,与本文提出的VE-GAN、HVE-GAN 一同进行数据生成,并进行对比实验;为了验证损失函数改进的有效性,进行E-GAN、VE-GAN 及HVE-GAN 在训练过程中生成器损失函数的变化情况对比实验。

4.1 模型参数设置

本文所提出的HVE-GAN 模型是基于E-GAN模型(http://github.com:WANG-Chaoyue/Evolutionary GAN.git)做出的进一步改进。模型搭建于Theano框架下。HVE-GAN 的生成器中,编码器为有一个隐藏层的全连接层结构,隐藏层的激活函数为LeakyRelu,输出层的激活函数为Sigmoid;解码器为有3 个隐藏层的全连接层结构,隐藏层的激活函数为LeakyRelu,输出层为一层线性连接层,没有激活函数;判别器同样为有3 个隐藏层的全连接层结构,其隐藏层的激活函数为LeakyRelu,而输出层的激活函数为Sigmoid。E-GAN 的生成器与判别器结构与VE-GAN 无异,只是减少了编码器结构。

模型训练时,上述模型的编码器、解码器或生成器、判别器均使用了Adam 优化算法,生成器与判别器的学习率均为0.0001,编码器的学习率为0.0002。训练时的batch size 大小设为64,训练次数设为10000。同样,除了编码器的超参数被去掉外,E-GAN 与HVE-GAN 的超参数设置均一致。

本文基于代码(https://github.com/eriklindernoren/PyTorch-GAN.git)对文献[2]中提出的GAN 的社交机器人生成模型进行了复现。GAN 搭建于PyTorch框架之下,生成器与判别器均采用了具有3 个隐藏层的全连接层结构,隐藏层的激活函数均为LeakyRelu。其中,GAN 判别器输出层的激活函数为Sigmoid。训练时,GAN 的其他超参数的设置也与E-GAN 完全相同,不再赘述。

4.2 实验数据获取及处理

由于“类人”社交机器人检测技术的原理为基于用户的社交行为特征向量进行二分类,则扩充检测数据集即为扩充“类人”社交机器人的社交行为特征向量,因此需要提取人类用户的社交行为特征,构造出每一位用户的特征向量用作实验的训练数据。为此,本文借鉴文献[13-14],提取了具有较高信息熵且普适的情感、非情感两类特征。

1) 情感特征提取。情感特征特指用户所发布的微博文本(以下简称博文)中所蕴含的语义情感特征。本实验借鉴文献[14],使用基于Attention 机制的BiLSTM 模型进行用户博文情感特征提取。博文情感特征定义为:

式中,K为该用户发布的所有博文的数量;affective_valuesi表示该用户发布的第i条博文的情感分数。Mean_of_affective_values 的取值范围为[0,1],越靠近0 或者1,则该用户所发布的博文中所蕴含的情感越强烈鲜明,该用户是真实人类用户的概率越大;若该值越靠近0.5,表明该用户发布的微博文本中蕴含的情感越微弱,或具有正向情感倾向和负向情感倾向的微博分布越均匀,则该用户是社交机器人用户的可能性越大。

2) 非情感特征提取。本文提取的非情感特征共3 类:用户发微博的时序特征、微博用户账号特征、用户微博传播特征,如表1~表3 所示。对于表中提到的Pic、Name、Verified、Location 4 个特征,分别用“1”或“0”替代“是”或“否”的值,其他非情感特征的提取方法参见文献[13-14],此处不再赘述。

表1 用户发微博的时序特征

表2 微博用户账号特征

表3 用户微博传播特征

经过上述两个步骤的特征提取,最终构造出的人类用户特征向量,即可作为HVE-GAN 的“学习对象”。

模型训练完成后,即可利用训练好的生成器生成实验所需的数据。但由于训练时间较短,生成的数据虽然与真实数据的差异性较小,仍然难以完全符合实验需求的精度,因此需要人为对数据进行预处理,处理方法如下:

1)将负数全部重置为0;

2) FriendCount 与FollowerCount 的特征数据仅保留整数部分;

3)对Pic、Name、Verified、Location 的特征数据,筛选出大于等于0.6,小于等于1.5 的数值,将其更新为1,小于0.6 的值将其更新为0;去掉这4 列值中不为0 或1 的特征向量数据;

4)去掉Mean_of_affective_values >1 的特征向量数据。

经过上述处理后的数据最终用于本文的实验。

4.3 实验结果及评估

实验一:生成数据“真实性”对比实验。

为了验证HVE-GAN 模型性能的优越性,及HVE-GAN 生成的“类人”社交机器人特征向量数据是否可以“以假乱真”,本实验利用各模型分别生成250 个“类人”社交机器人用户数据集,分别与同一批的250 个人类用户数据集混合,并使用分类器对各混合数据集进行分类,根据分类情况评价各模型的性能及生成数据的“真实性”程度。实验中选取AdaBoost、支持向量机(support vector machines,SVM)、逻辑回归(logistic regression)分类器,对上述经过混合数据集中的数据进行分类。并使用精确度(precision)、准确度(accuracy)、召回率(recall)、F1 值4 个指标对于分类结果进行评价。上述分类器对各个模型生成的“类人”社交机器人特征向量数据的分类评价情况如表4 所示。

由表4 可知,利用AdaBoost 分类器对于各模型生成的数据的分类情况相同;使用Logistic Regression 分类器对于上述模型生成的数据进行分类时,HVE-GAN 的评价指标值均明显低于其他模型;使用SVM 分类器进行分类时,HVE-GAN 在Precision 与Accuracy 指标值上仅略高于VE-GAN,但低于基线模型。且使用Logistic Regression 与SVM 分类时,VE-GAN 的分类评价情况也明显优于基线模型。

表4 各模型生成数据分类情况

由此可得,HVE-GAN 生成的数据质量优于基线模型,即其性能优于基线模型。且由VEGAN 的表现可知,模型性能的提升主要依赖于生成器模型结构的改进,由此证明了模型结构改进的有效性。由表4 还可以看出,虽然HVE-GAN 分类结果的Recall 值较高,但是Precision 与Accuracy均低于0.5(即分类器能够正确分类的概率低于0.5),说明分类器虽然能识别出人类用户的特征向量数据,但是难以区分生成的“类人”社交机器人的数据。由此可知,HVE-GAN 生成的数据具有较高的“真实性”。

实验二:生成数据多样性对比实验。

本实验旨在通过使用各模型一同生成“类人”社交机器人特征向量数据,并进行对原始数据覆盖图像的对比,验证HVE-GAN 在生成数据多样性方面的优越性及模型结构改进的有效性。

为了突出体现各模型生成的数据的多样性差异,本实验利用熵权法计算出人类用户特征向量中各特征的权重,选择权重排名前三的特征来表示该用户,并基于上述特征进行数据覆盖图像的绘制。权重较大,表明该特征对于用户身份识别的影响较大,从而可以代表该用户。

根据熵权法计算结果,本实验分别进行了粉丝数,发布博文时间间隔方差(以下简称时间间隔方差)和关注数特征的生成数据的覆盖对比。若某个模型生成的“类人”社交机器人特征向量数据可以较高程度地覆盖人类用户数据,则可以证明该模型生成的数据多样性程度高。

如图3 所示,HVE-GAN 除了在时间间隔方差特征覆盖对比实验中表现略逊于E-GAN 外,其生成的数据覆盖程度相比其他模型均有明显的优势。该情况一方面证明了E-GAN 本身即具有强大的生成能力,另一方面也证明了HVE-GAN 生成的数据的多样性程度显然更胜一筹,也可证明HVE-GAN模型的性能优于基线模型。

图3 特征覆盖对比

VE-GAN 的覆盖能力虽然不如HVE-GAN,但它们之间的差距并不大,由此也可以证明模型结构的修改是提高生成数据的多样性程度的决定因素。又由图3 可知,HVE-GAN 生成的数据虽然与基线模型相比其多样性程度有了明显的提高,但是与原始训练数据相比还有较大的差距。这是由于为了提高本次实验效率,对模型进行的训练时间较短、训练不够充分导致的。

实验三:损失函数修改有效性验证实验。

用于指导E-GAN 变异的损失函数共有3 种,除了Heuristic 损失函数外,还有Minimax 与Least Square 两种损失函数,其定义分别为:

经推导,Minimax 损失函数的优化目标相当于最小化生成数据的实际分布概率与目标分布概率之间的JS 散度;Least Square 损失函数的优化目标为缩小生成数据的实际分布概率与目标分布概率之间的均方误差。上述两个函数的优化目标均为缩小生成数据的实际分布概率与目标分布概率之间的距离,与本文的损失函数设计目标是完全一致的。

E-GAN 生成器损失函数的变化情况如图4a 所示,可见,Heuristic 损失函数在E-GAN 训练过程中震荡严重,由此可以推导出,在该损失函数指导下进行训练的生成器模型梯度十分不稳定,导致训练出的生成器生成数据的质量参差不齐。

VE-GAN 生成器的损失函数变化趋势如图4b所示,由图可知训练中VE-GAN 生成器的Heuristic损失函数震荡幅度依然较大。可见,即使进行了模型结构的改进,Heuristic 损失函数依然影响着生成器的性能。

如图4c 所示,进行了损失函数的更换的HVEGAN,训练中生成器的损失函数均呈平稳下降的趋势,模型的收敛速度得到了显著提升。由此可知,HVE-GAN 生成器的性能及生成数据的质量得到了持续稳定的提高。可见本文提出的损失函数的改进是必要和有效的。

图4 各生成模型生成器损失函数变化趋势

5 结束语

针对“类人”社交机器人检测所需的训练数据不足的问题,本文提出了一种数据集扩充模型HVE-GAN,模型将生成器修改为VAE 结构,提高了生成的“类人”社交机器人数据的“真实性”与多样性;将Heuristic 损失函数修改为改进的海林格距离,稳定了生成器的梯度,提高了模型收敛速度,保证了生成数据的质量。对比实验结果也充分表明,本文提出的HVE-GAN 模型,在生成数据“真实性”和多样性方面优于基线模型;在训练过程中其损失函数的变化趋势更加平稳,从而证明了HVE-GAN 性能的优越性及模型结构修改的有效性。

猜你喜欢
编码器类人损失
洪涝造成孟加拉损失25.4万吨大米
基于ResNet18特征编码器的水稻病虫害图像描述生成
WDGP36J / WDGA36J编码器Wachendorff自动化有限公司
类人生物大起底
基于Beaglebone Black 的绝对式编码器接口电路设计*
两败俱伤
你的手指长度,决定了你的性格!
口头禅暴露性格
基于TMS320F28335的绝对式光电编码器驱动设计
损失