[发明专利]基于离线监督学习的函数式程序自动合成方法有效

专利信息
申请号: 201911301796.3 申请日: 2019-12-17
公开(公告)号: CN111142857B 公开(公告)日: 2023-04-25
发明(设计)人: 王雨泓;李鑫;郭建 申请(专利权)人: 华东师范大学
主分类号: G06F8/30 分类号: G06F8/30;G06F8/70;G06F40/289;G06N3/0442;G06N3/0455;G06N3/084
代理公司: 上海蓝迪专利商标事务所(普通合伙) 31215 代理人: 徐筱梅;张翔
地址: 200241 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 离线 监督 学习 函数 程序 自动 合成 方法
【权利要求书】:

1.一种基于离线监督学习的函数式程序自动合成方法,其特征在于:包括以下步骤:

步骤一:对给定的输入输出示例对,利用miniKanren约束逻辑编程系统基于三种不同的策略生成状态树形式的训练样本;

步骤二:从状态树中提取关系约束,并用神经网络模型对其进行编码,得到关系约束的嵌入信息;

步骤三:从状态树中提取程序执行轨迹,即候选子程序的信息,利用神经网络对其进行编码,得到候选子程序的嵌入信息;

步骤四:针对每个候选子程序计算其上下文的嵌入信息;

步骤五:将关系约束、候选子程序以及候选子程序上下文三者的嵌入信息进行拼接,得到特征矩阵,输入到神经网络中,计算出候选子程序的概率分布;

步骤六:根据目标程序的子程序计算出对应的one-hot向量,设计损失函数计算候选子程序的概率分布与该one-hot向量的误差,并将其反向传播,调整神经网络模型参数;

步骤七:重复步骤二至步骤六,直至神经网络模型的精度在训练集和验证集上均达到预期;

步骤八:利用训练好的神经网络模型基于给定的输入输出示例对和miniKanren进行交互,合成满足需求的程序;其中:

所述利用miniKanren约束逻辑编程系统基于三种不同的策略生成状态树形式的训练样本包括以下步骤:

步骤A1:将输入输出示例对输入到miniKanren中,输出状态树;对状态树的叶子节点进行展开,将得到的所有状态树插入到训练样本队列中;每次所选取的叶子节点满足性质:从状态树的根节点到该叶子节点的路径上的程序构成目标程序的子程序;

步骤A2:设置状态树展开步数T,其数值等于2倍的目标程序合成步数;将输入输出示例对输入到miniKanren中,得到状态树;随机选择状态树的叶子节点进行展开,当展开步数达到T时结束展开,将得到的所有状态树插入到训练样本队列中;

步骤A3:设置随机种子S,S∈[0,1],S是实数;设置状态树展开步数T,其值与步骤A2中设置的步数相同;将输入输出示例对输入到miniKanren中,输出状态树;根据S的值,对状态树进行不同的展开;当S小于0.5时,按照步骤A1的策略选择叶子节点对状态树进行展开;当S大于等于0.5时,按照步骤A2的策略选择叶子节点对状态树进行展开;当展开步数达到T时结束展开,将得到的所有状态树插入到训练样本队列中。

2.如权利要求1所述的基于离线监督学习的函数式程序自动合成方法,其特征在于:所述步骤二具体包括以下步骤:

步骤B1:获取状态树叶子节点的关系约束,将关系约束进行分词并使用word2vector模型计算出对应分词的嵌入词向量;

步骤B2:将关系约束的嵌入词向量输入到以LSTM为内核的编码器中计算出关系约束的嵌入向量,得到关系约束的嵌入信息。

3.如权利要求2所述的基于离线监督学习的函数式程序自动合成方法,其特征在于:步骤三所述利用神经网络对其进行编码,得到候选子程序的嵌入信息包括以下步骤:

步骤C1:读取从状态树的根节点到叶子节点的一条路径信息作为一个候选子程序;

步骤C2:将候选子程序进行分词并使用word2vector模型计算出对应分词的嵌入词向量;

步骤C3:将候选子程序的嵌入词向量输入到以LSTM为内核的编码器中并计算出候选子程序的嵌入向量,得到候选子程序的嵌入信息;其中,使用的编码器与步骤B2中使用的编码器一致。

4.如权利要求1所述的基于离线监督学习的函数式程序自动合成方法,其特征在于:步骤四所述针对每个候选子程序计算其上下文的嵌入信息的方式如公式(1)所示:

其中为第i个候选子程序的上下文的嵌入信息,Pj为第j个候选子程序的嵌入信息,n为候选子程序的数目。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911301796.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top