一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向源代码分类模型的对抗样本生成方法与流程

2021-12-07 23:57:00 来源:中国专利 TAG:

技术特征:
1.一种面向源代码分类模型的对抗样本生成方法,其特征是,包括以下步骤:a、数据预处理:对于原始代码以及所选的目标分类模型,先进行代码片段预处理,即将源代码处理成token序列,或是使用srcml工具将源代码处理成为xml格式;b、代码转换方式的提取:从测试集中提取一对源代码样本<x,y>,将其初始状态记为s0;提取每个源代码样本的转换特征,得到对应的可执行转换序列a,限制当前源代码整个迭代攻击过程中的转换操作,并建立属于当前可执行转换序列a的转换操作价值表q(a),用于记录每个转换操作ai(ai∈a,1≤i≤k)的对应价值,以指导各操作的选择执行;c、候选转换方式的选择:参照转换操作价值表q(a),使用
ϵ

贪心算法选择对源代码样本的执行转换,转换操作价值表q(a)中存储着当前可执行转换序列a中的所有可执行转换以及不断更新的对应权值,用以衡量当前源代码转换至某状态时,选择何种转换操作可获得最高的期望奖励值;d、执行转换:对源代码样本x,应用执行步骤c中选择的转换操作,生成新的转换后的代码段x

;e、攻击测试:将步骤d生成的新的代码段x

送入目标分类模型进行攻击测试,如果致使分类结果与原功能标签不同,则表示攻击成功,停止当前迭代;否则为攻击失败,重复步骤c和步骤d;f、奖励机制:每次攻击测试即获取一个奖励值rt并累加,同时更新转换操作价值表q(a),用以指导后续的攻击。2.根据权利要求1所述的面向源代码分类模型的对抗样本生成方法,其特征是,步骤a中在数据预处理后,使用pandas对数据进行封装。3.根据权利要求1所述的面向源代码分类模型的对抗样本生成方法,其特征是,步骤c中的选择转换操作的具体方式是:设定一个阈值
ϵ
,每次操作选择之前产生一个随机数,如果该随机数高于阈值
ϵ
,则选择当前状态下执行奖励值最高的转换操作;如果该随机数低于阈值
ϵ
,则随机选择当前可执行转换序列a中的任意操作执行。4.根据权利要求1所述的面向源代码分类模型的对抗样本生成方法,其特征是,步骤f的具体方式是:在将新的代码段x

送入原分类模型进行攻击测试后,得到当前状态下的一个奖励值rt,如果新转换后得到的样本没有得到一个正向的奖励,则放弃当前样本,将下次迭代被攻击样本转换为本次变换前的样本;所有奖励值累加,得到目前样本序列的累计奖励值,并通过奖励值来更新转换操作价值表q(a)。5.根据权利要求4所述的面向源代码分类模型的对抗样本生成方法,其特征是,所述奖励值是通过计算模型分类概率标签值计算得出。6.根据权利要求4所述的面向源代码分类模型的对抗样本生成方法,其特征是,所述正向奖励是指有助于误导目标分类模型,其是通过计算目标标签分类概率的降低程度来得到。

技术总结
本发明涉及一种面向源代码分类模型的对抗样本生成方法,包括数据预处理、代码转换方式的提取、候选转换方式的选择、执行转换、攻击测试和奖励机制。本发明针对现有对抗样本生成方法的缺点和不足,针对源代码的结构信息,提取出可执行的对抗操作,并引入了马尔可夫决策过程和时序差分算法的思想,在执行对抗操作的同时,加入操作的影响系数来引导操作的选择执行,通过决策学习来不断完善对抗生成方法,由此实现了一种更为快捷、更为有效的对抗样本生成方法。成方法。成方法。


技术研发人员:田俊峰 王辰欣 李珍
受保护的技术使用者:河北大学
技术研发日:2021.08.30
技术公布日:2021/12/6
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献