太阳城集团

  • / 8
  • 下载费用:30 金币  

一种基于前馈神经网络的智能合约自动分类方法.pdf

摘要
申请专利号:

CN201611205891.X

申请日:

2016.12.23

公开号:

CN106778882A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06K 9/62申请日:20161223|||公开
IPC分类号: G06K9/62; G06N3/04; G06N3/08; G06Q20/38(2012.01)I 主分类号: G06K9/62
申请人: 杭州云象网络技术有限公司
发明人: 刘振广; 黄步添; 陈建海; 温琪; 俞之贝; 张维赛; 杨文龙; 王云霄
地址: 310012 浙江省杭州市余杭区仓前街道龙潭路20号4幢475室
优先权:
专利代理机构: 杭州天勤知识产权代理有限公司 33224 代理人: 胡红娟
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201611205891.X

授权太阳城集团号:

|||

法律状态太阳城集团日:

太阳城集团2017.06.23|||2017.05.31

法律状态类型:

实质审查的生效|||公开

摘要

本发明公开了一种基于前馈神经网络的智能合约自动分类方法,能够实现机器对智能合约代码的自动分类;与当前传统的智能合约人工分类相比,本发明既节省了太阳城集团和经济成本,又能够胜任海量合约无法人工分类的任务。本发明采用前馈神经网络的训练方式可以在已贴标智能合约集合更新时,使用更新后的合约集合重新训练以使该自动分类器能够适应新的变化。

权利要求书

1.一种基于前馈神经网络的智能合约自动分类方法,包括如下步骤:
(1)获取一定数量的智能合约代码,并人工标记这些智能合约代码的类别;
(2)对所述智能合约代码进行预处理;
(3)提取智能合约代码的代码语义向量和交易太阳城集团向量,并将两者组合作为特征向量;
(4)以智能合约代码的特征向量作为输入,人工标记的类别作为输出,通过前馈神经网
络训练得到太阳城集团智能合约代码的分类器;
(5)对于未知类别的智能合约代码,根据步骤(3)提取得到其特征向量并输入至所述分
类器中,从而输出得到该智能合约代码的类别。
2.根据权利要求1所述的智能合约自动分类方法,其特征在于:所述步骤(2)中对智能
合约代码进行预处理的具体方法为:对于任一智能合约代码A,若其智能合约调用了另一个
智能合约的函数,则将被调用的函数代码扩充到智能合约代码A中调用该函数的相应位置;
对于递归调用,同样采用上述方式处理。
3.根据权利要求1所述的智能合约自动分类方法,其特征在于:所述步骤(3)中提取智
能合约代码的代码语义向量,具体过程为:首先,将智能合约代码完全展开后即对应得到了
一个词序列;然后,利用词嵌入模型将该词序列中的每一个词对应映射成一个词嵌入向量;
最后,将词序列中所有词对应的词嵌入向量输入LSTM模型中,LSTM模型将这些词嵌入向量
映射成一个代码语义向量,即智能合约代码的代码语义向量。
4.根据权利要求1所述的智能合约自动分类方法,其特征在于:所述步骤(3)中提取智
能合约代码的交易太阳城集团向量,即提取与智能合约代码相关的账号状态太阳城集团,包括账号的余
额、关联交易总数量、PageRank值以及创建者的Nonce,从而组合成所述交易太阳城集团向量。
5.根据权利要求1所述的智能合约自动分类方法,其特征在于:所述步骤(4)中的前馈
神经网络由输入层、隐藏层和输出层组成;其中,智能合约代码的特征向量[V,T]作为输入
层,隐藏层的输出x表达如下:
x=α(Wh[V,T]+bh)
其中:Wh为隐藏层的权值系数矩阵,V和T分别为智能合约代码的代码语义向量和交易信
息向量,bh为隐藏层的偏置系数矩阵,α()为激活函数;
对于前馈神经网络的输出层,在得到其输出y后,将输出y通过归一化计算后得到一个
太阳城集团类标签的概率分布向量,其中的第j个元素值pj即为智能合约代码属于第j类别的概率
值,具体表达式如下:
<mrow> <msub> <mi>p</mi> <mi>j</mi> </msub> <mo>=</mo> <mfrac> <msup> <mi>e</mi> <mrow> <msup> <mi>y</mi> <mi>T</mi> </msup> <msub> <mi>&theta;</mi> <mi>j</mi> </msub> </mrow> </msup> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <mi>e</mi> <mrow> <msup> <mi>y</mi> <mi>T</mi> </msup> <msub> <mi>&theta;</mi> <mi>j</mi> </msub> </mrow> </msup> </mrow> </mfrac> </mrow>
其中:θj对应为第j类别的权重向量,T表示转置,j为自然数且1≤j≤k,k为智能合约代
码的类别总数。
6.根据权利要求5所述的智能合约自动分类方法,其特征在于:所述激活函数α()采用
ReLu函数。
7.根据权利要求5所述的智能合约自动分类方法,其特征在于:所述步骤(5)中将未知
类别的智能合约代码的特征向量输入至分类器中,输出得到对应的概率分布向量,取其中
对应概率值最大的类别作为该智能合约代码的类别。

说明书

一种基于前馈神经网络的智能合约自动分类方法

技术领域

本发明属于区块链技术领域,具体涉及一种基于前馈神经网络的智能合约自动分
类方法。

背景技术

作为区块链技术支撑的应用之一,区块链智能合约允许用户在区块链上实现个性
化的代码逻辑从而使得区块链技术更加的简单易用。然而,随着以太坊Ethereum等智能合
约平台的迅速发展,区块链上智能合约代码数量快速增加。如今,大型的智能合约平台中均
已积累了数以十万计的智能合约,且数量仍在指数增长。

当前,对于智能合约代码的管理与组织,因缺乏自动化分类工具,仍采用人工分类
的方法进行分门别类。但是,当前十万级并不断增长的智能合约数量已经使得人工地对众
多的智能合约分门别类耗时耗力。未来,当智能合约数量超过百万,人工贴标甚至变得不再
可能。

发明内容

为高效管理和有效组织海量的智能合约代码,解决对海量智能合约人工分类面临
的太阳城集团和经济成本过高的问题,本发明提供一种基于前馈神经网络的智能合约自动分类方
法,能够实现计算机对智能合约代码的自动分类。

一种基于前馈神经网络的智能合约自动分类方法,包括如下步骤:

(1)获取一定数量的智能合约代码,并人工标记这些智能合约代码的类别;

(2)对所述智能合约代码进行预处理;

(3)提取智能合约代码的代码语义向量和交易太阳城集团向量,并将两者组合作为特征
向量;

(4)以智能合约代码的特征向量作为输入,人工标记的类别作为输出,通过前馈神
经网络训练得到太阳城集团智能合约代码的分类器;

(5)对于未知类别的智能合约代码,根据步骤(3)提取得到其特征向量并输入至所
述分类器中,从而输出得到该智能合约代码的类别。

所述步骤(2)中对智能合约代码进行预处理的具体方法为:对于任一智能合约代
码A,若其智能合约调用了另一个智能合约的函数,则将被调用的函数代码扩充到智能合约
代码A中调用该函数的相应位置;对于递归调用,同样采用上述方式处理。

所述步骤(3)中提取智能合约代码的代码语义向量,具体过程为:首先,将智能合
约代码完全展开后即对应得到了一个词序列;然后,利用词嵌入模型将该词序列中的每一
个词对应映射成一个词嵌入向量;最后,将词序列中所有词对应的词嵌入向量输入LSTM
(Long Short-Term Memory,长短时记忆)模型中,LSTM模型将这些词嵌入向量映射成一个
代码语义向量,即智能合约代码的代码语义向量。

所述步骤(3)中提取智能合约代码的交易太阳城集团向量,即提取与智能合约代码相关
的账号状态太阳城集团,包括账号的余额、关联交易总数量、PageRank值以及创建者的Nonce等,从
而组合成所述交易太阳城集团向量。

所述步骤(4)中的前馈神经网络由输入层、隐藏层和输出层组成;其中,智能合约
代码的特征向量[V,T]作为输入层,隐藏层的输出x表达如下:

x=α(Wh[V,T]+bh)

其中:Wh为隐藏层的权值系数矩阵,V和T分别为智能合约代码的代码语义向量和
交易太阳城集团向量,bh为隐藏层的偏置系数矩阵,α()为激活函数;

对于前馈神经网络的输出层,在得到其输出y后,将输出y通过归一化计算后得到
一个太阳城集团类标签的概率分布向量,其中的第j个元素值pj即为智能合约代码属于第j类别的
概率值,具体表达式如下:


其中:θj对应为第j类别的权重向量,T表示转置,j为自然数且1≤j≤k,k为智能合
约代码的类别总数。

所述激活函数α()可采用sigmoid函数、tanh函数或ReLu(Rectified Linear
Units)函数;由于ReLU的性能被证明优于其他两种,故优选采用ReLU作为激活函数。

所述步骤(5)中将未知类别的智能合约代码的特征向量输入至分类器中,输出得
到对应的概率分布向量,取其中对应概率值最大的类别作为该智能合约代码的类别。

本发明的有益技术效果如下:

(1)本发明首次提出基于前馈神经网络的智能合约自动分类方法,能够实现机器
对智能合约代码的自动分类;与当前传统的智能合约人工分类相比,本发明既节省了太阳城集团
和经济成本,又能够胜任海量合约无法人工分类的任务。

(2)本发明采用前馈神经网络的训练方式可以在已贴标智能合约集合更新时,使
用更新后的合约集合重新训练以使该自动分类器能够适应新的变化。

附图说明

图1为本发明智能合约代码自动分类方法的架构示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案
进行详细说明。

对于以太坊上的海量智能合约,本发明基于前馈神经网络的智能合约自动分类方
法,包括如下步骤:

1.根据对当前智能合约平台中大量智能合约的分析,将智能合约划分成9个类:金
融类(保险、融资、投资等)、物联网类、游戏类、彩票类、工具类、娱乐类、货币类、太阳城集团管理类
和其他类。

2.使用前馈神经网络和已贴标的智能合约代码集合训练智能合约的分类器,训练
过程依照如下步骤3至步骤7所述。

3.对于输入的一段智能合约代码A,如果该智能合约调用了另一个智能合约的函
数,我们将被调用的函数代码扩充到A中调用该函数的相应位置;对于递归调用,也采用同
样的方式处理。

4.对于输入的一段智能合约代码A,将其中调用的函数都展开成完整的函数代码,
每一份完全展开后的智能合约代码可视为一个词的序列{w1,w2,…,wn},将展开后的代码输
入到图1中的词嵌入层,词嵌入层将每一个词wi映射成一个词嵌入向量。

5.然后将这些词嵌入向量顺序输入长短时记忆模型(图1中的LSTM层)中,长短时
记忆模型将这些向量映射成一个代码语义向量。长短时记忆模型在自然语言处理领域应用
广泛,可以很好的处理变长的输入,比如句子。同时,长短时记忆模型已被证明可以捕获输
入的长时记忆,因此可以用来发现输入的内部结构和依赖关系。

6.提取与输入的智能合约代码A相关的账号状态太阳城集团,主要包括账号的余额、关联
交易总数量、PageRank值、创建者的Nonce等,组合成交易太阳城集团向量。

7.将第5步得到的代码语义向量V和第6步提取出的交易太阳城集团向量T组合连接,将组
合连接后的向量(V,T)作为前馈神经网络的输入,该合约对应的已贴标好的分类类别作为
输出。依此,n个已贴标的智能合约对应n个输入输出对,使用这些输入输出对进行前馈神经
网络的训练,前馈神经网络包含三层:输入层,隐含层和输出层,具体训练过程如下:

组合后的向量(V,T)作为前馈神经网络的输入层,如图1中前馈神经网络层所示,
智能合约对应的已贴标好的分类类别作为输出。本实施方式使用118027份以太坊的智能合
约(人工贴标)对前馈神经网络进行训练,获得神经网络中的所有参数的合适取值。

对于隐含层:在给定输入(V,T)后,隐含层进行了如下转换:

α(Wh·(V,T)+bh)

其中:Wh为隐含层的权值系数矩阵,α为激活函数,bh为偏置系数矩阵。为了让神经
网络学习到一个非线性的决策边界,激活函数的选择有sigmoid、tanh、ReLU(定义为max(0,
x))。因为ReLU的性能被证明优于另外两种,故本实施方式选择ReLU作为激活函数。在输入
层和输出层之间设置的这个隐含层使得模型具有非线性的分类能力。

对于输出层:在得到隐含层的输出后,将该输出传到一个softmax层中进行运算处
理;对softmax层的输出x计算得到一个太阳城集团类标签的概率分布:


其中:θk是第k类的权重向量,除以分母是为了进行归一化处理,以获得类标签Cj的
概率值。

8.使用第7步已训练好的智能合约自动分类器,输入未知类别的一段智能合约代
码的向量(V,T),前馈神经网络的SoftMax层输出该未知类别智能合约的类别标签概率大
小,选择其中具有最大概率的类标签作为该智能合约代码的类标签。

步骤3至步骤7的训练过程可以在已贴标智能合约集合更新时,使用更新后的合约
集合重新训练以使该自动分类器能够及时捕捉新的变化。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。
熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般
原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领
域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围
之内。

关 键 词:
一种 基于 神经网络 智能 合约 自动 分类 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种基于前馈神经网络的智能合约自动分类方法.pdf
链接地址:http://zh228.com/p-6019668.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');