CN110321430B - 域名识别和域名识别模型生成方法、装置及存储介质 - Google Patents
域名识别和域名识别模型生成方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110321430B CN110321430B CN201910302560.5A CN201910302560A CN110321430B CN 110321430 B CN110321430 B CN 110321430B CN 201910302560 A CN201910302560 A CN 201910302560A CN 110321430 B CN110321430 B CN 110321430B
- Authority
- CN
- China
- Prior art keywords
- training
- neural network
- network model
- accuracy
- specified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Character Discrimination (AREA)
Abstract
本说明书实施例公开了一种域名识别和域名识别模型生成方法、装置及存储介质,涉及网络技术领域,所述方法包括:获取待分类域名所对应的一维有序向量,所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字,根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值,所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,满足预设条件的神经网络模型,对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。通过本说明书实施例可以提高识别准确率。
Description
技术领域
本说明书涉及网络技术领域,特别涉及一种域名识别和域名识别模型生成方法、装置及存储介质。
背景技术
域名生成算法,简称DGA,是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段。攻击者通常选择高效的域名生成算法,在一天内就可以生成海量的C&C域名。然而,现有的黑名单技术,只能排除现有的非法域名,并不能排除新生成的非法域名,所以识别准确率低,不能满足现有的域名检测要求。
目前传统的人工识别方法,是根据具有一定安全领域专业知识及经验的人通过观察总结的方式进行识别,但是黑客使用的DGA算法可以是任意一种类转码、加密或随机规则算法,且这样的算法种类非常繁多,如果仅通过现有的DGA算法的结果样本进行特征总结,存在着很大的局限性,识别效果不理想,识别准确率低。
现有的非神经网络方法,往往首先需要按照分词规则对域名样本集合进行分词处理,得到分词集合,再基于分词集合得到识别结果,但是按照分词规则建立分词集合的方式,对后续识别效果产生一定的影响,导致识别精度不高。
现有的全连接神经网络,由于不具备短期记忆特性,且不能够对数据序列进行预测,导致识别准确率不高。
由上可见,现有的域名识别方法,均不能达到很高的识别准确率。
发明内容
本说明书实施方式的目的是提供一种域名识别和域名识别模型生成方法、装置及存储介质,以提高域名识别准确率。
为实现上述目的,本说明书实施例提供了一种域名识别方法,可以包括:
获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。
进一步地,所述方法的另一些实施例中,所述对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果,可以包括:
将待分类域名的检测值与指定中间值进行大小比较,判断所述检测值是否大于指定中间值;
如果所述检测值大于所述指定中间值,则确定所述待分类域名为非法域名;
如果所述检测值小于所述指定中间值,则确定所述待分类域名为合法域名。
进一步地,所述方法的另一些实施例中,所述对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果,可以包括:
将待分类域名的检测值与指定中间值进行大小比较,判断所述检测值是否小于指定中间值;
如果所述检测值小于所述指定中间值,则确定所述待分类域名为非法域名;
如果所述检测值大于所述指定中间值,则确定所述待分类域名为合法域名。
进一步地,所述方法的另一些实施例中,所述获取待分类域名所对应的一维有序向量,可以包括:
获取待分类域名对应的第一字符串;
根据字符和数字的对应关系,将所述第一字符串中的字符转换成对应的数字,并生成所述第一字符串对应的一维有序向量。
进一步地,所述方法的另一些实施例中,所述生成所述第一字符串对应的一维有序向量,可以包括:
判断第一字符串对应的一维有序向量的长度是否小于指定长度;
如果所述长度小于所述指定长度,则对所述一维有序向量的尾部进行补值,得到指定长度的一维有序向量。
进一步地,所述方法的另一些实施例中,所述获取待分类域名对应的第一字符串,可以包括:
获取待分类域名;
将所述待分类域名的前缀或/和后缀进行滤除,得到所述待分类域名对应的第一字符串。
进一步地,所述方法的另一些实施例中,所述获取待分类域名,至少可以包括以下任意一种:
根据预设的域名生成算法,生成待分类域名;
根据ALEXA排行榜,获取待分类域名;
根据浏览网页的网址,提取出待分类域名。
为实现上述目的,本说明书实施例又提供了一种域名识别模型生成方法,可以包括:
获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型。
进一步地,所述方法的另一些实施例中,在获取训练矩阵之前,可以包括:
获取预设的总训练轮数;
将所述总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于所述总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵。
进一步地,所述方法的另一些实施例中,在得到优化后的神经网络模型之后,可以包括:
更新当前训练轮数。
进一步地,所述方法的另一些实施例中,在得到优化后的神经网络模型之后,还可以包括:
获取验证矩阵;所述验证矩阵包括多个验证域名对应的一维有序向量;所述一维有序向量包括多个验证域名进行字符数字转换后得到的数字;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型。
进一步地,所述方法的另一些实施例中,所述根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率,可以包括:
根据验证矩阵和优化后的神经网络模型,得到与所述验证矩阵对应的多个验证域名的验证实际值;
根据所述验证实际值和验证预期值,得到多个所述验证域名的检测结果;
根据所述检测结果,确定所述验证矩阵的准确率。
进一步地,所述方法的另一些实施例中,所述根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型,可以包括:
将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型。
进一步地,所述方法的另一些实施例中,在确定优化后的神经网络模型为满足预设条件的神经网络模型之前,还可以包括:
获取测试矩阵;所述测试矩阵包括多个测试域名对应的一维有序向量;所述一维有序向量包括多个测试域名进行字符数字转换后得到的数字;
根据所述测试矩阵和优化后的神经网络模型,确定多个所述测试域名的检测结果;
判断所述检测结果和预设结果是否相同;
如果所述检测结果和所述预设结果相同,则确定所述神经网络模型为满足预设条件的神经网络模型。
另一方面,本说明书实施例提供了一种域名识别装置,可以包括:
获取模块,用于获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
确定模块,用于根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
检测模块,用于对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。
进一步地,所述设备的另一些实施例中,所述获取模块,可以包括:
获取单元,用于获取待分类域名对应的第一字符串;
转换生成单元,用于根据字符和数字的对应关系,将所述第一字符串中的字符转换成对应的数字,并生成所述第一字符串对应的一维有序向量。
另一方面,本说明书实施例又提供了一种域名识别模型生成装置,可以包括:
获取模块,用于获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
计算模块,用于根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
优化模块,用于根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型。
进一步地,所述设备的另一些实施例中,所述设备还可以包括:
比较模块,用于将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于所述总训练轮数。
进一步地,所述设备的另一些实施例中,所述设备还可以包括:
更新模块,用于更新当前训练轮数。
进一步地,所述设备的另一些实施例中,所述设备还可以包括:
第一确定模块,用于根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
第二确定模块,用于根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型。
进一步地,所述设备的另一些实施例中,所述第一确定模块,可以包括:
验证单元,用于根据验证矩阵和优化后的神经网络模型,得到与所述验证矩阵对应的多个验证域名的验证实际值;
检测单元,用于根据所述验证实际值和验证预期值,得到多个所述验证域名的检测结果;
确定单元,用于根据所述检测结果,确定所述验证矩阵的准确率。
进一步地,所述设备的另一些实施例中,所述第二确定模块,可以包括:
比较单元,用于将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
更新判断单元,用于如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
确定单元,用于如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型。
又一方面,本说明书还提供了一种域名识别装置,可以包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时可以执行如下步骤:
获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。
又一方面,本说明书还提供了一种域名识别模型生成装置,可以包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时可以执行如下步骤:
获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型。
又一方面,本说明书还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现:
获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。
又一方面,本说明书又提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现:
获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型。
本说明书实施例提供的一种域名识别和域名识别模型生成方法、装置及存储介质,通过获取待分类域名所对应的一维有序向量,并根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值,又对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。该方法可以通过软件实现,根据预设的损失函数和优化算法,得到优化后的神经网络模型,并基于待分类域名所对应的一维有序向量,可以简便、准确地得到所述待分类域名的检测结果,有效地解决了由于现有域名识别准确率偏低的问题,大大提高了域名识别准确率。
附图说明
为了更清楚地说明本说明书实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一些实施例提供的域名识别方法的方法流程示意图;
图2为本说明书一些实施例提供的神经网络模型的结构示意图;
图3为本说明书一些实施例提供的域名识别模型生成方法的方法流程示意图;
图4为本说明书另一些实施例提供的域名识别模型生成方法的方法流程示意图;
图5为本说明书又一些实施例提供的域名识别模型生成方法的方法流程示意图;
图6为本说明书一些实施例提供的域名识别装置的模块结构示意图;
图7为本说明书一些实施例提供的域名识别装置中获取模块的结构示意图;
图8为本说明书一些实施例提供的域名识别模型生成装置的模块结构示意图;
图9为本说明书另一些实施例提供的域名识别模型生成装置的模块结构示意图;
图10为本说明书又一些实施例提供的域名识别模型生成装置的模块结构示意图;
图11为本说明书又一些实施例提供的域名识别模型生成装置的模块结构示意图;
图12为本说明书一些实施例提供的计算机存储介质的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施方式中的附图,对本说明书实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本说明书一部分实施方式,而不是全部的实施方式。基于本说明书中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本说明书保护的范围。
在进行域名识别的过程中,现有黑名单技术只能识别现有的非法域名,对新生成的非法域名识别准确率低,传统的人工识别技术,依靠人员对现有的DGA算法的结果样本进行特征总结,存在着很大的局限性,对新生成的非法域名识别准确率也低,现有的非神经网络技术,由于分词集合对识别效果产生一定的影响,导致识别精度不高,现有的全连接神经网络,由于不具备短期记忆特性,且不能够对数据序列进行预测,导致识别准确率不高。为了解决上述问题,根据预设的损失函数和优化算法,对初始神经网络模型进行训练,得到满足预设条件的神经网络模型,再基于待分类域名所对应的一维有序向量,得到所述待分类域名的检测结果,从而提高了域名识别准确率。
图1是本说明书一些实施例提供的域名识别方法的方法流程示意图,本说明书一些实施例提供的域名识别方法可以包括:
S101:获取待分类域名所对应的一维有序向量,所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字。
在本说明书的一些实施例中,可以通过获取待分类域名对应的第一字符串,再根据预设的字符和数字之间的对应关系,将所述第一字符串中的字符转换成对应的数字,并基于字符数字转换后的字符串,生成所述第一字符串对应的一维有序向量。其中,常见字符有0到9这10个数字字符,a到z这26个小写字母字符,A到Z这26个大写字母字符,以及-、_这两个特殊字符,字符和数字之间的对应关系可以是:数字字符0到9对应数字1到10,a到z对应数字11到36,A到Z对应数字37到62,特殊字符-、_对应数字63到64。值得注意的是,上述字符和数字之间的对应关系,只是为了便于解释本申请,基于此还可以得到其他的对应关系,本申请对此不作限制。在一些具体的实施方式中,判断所述一维有序向量的长度是否小于指定长度,如果所述长度小于所述指定长度,则对所述一维有序向量的尾部进行补值,得到指定长度的一维有序向量。例如:sina转换后的一维向量为:[29,19,24,11],但指定长度为8,则进行补值后的一维向量为[29,19,24,11,0,0,0,0],值得注意的是,在进行补值时,可以补零,也可以补其他值,本申请对此不作限制。在本说明书的一些实施例中,所述待分类域名对应的第一字符串,可以通过获取待分类域名,并将所述待分类域名的前缀或/和后缀进行滤除,得到所述待分类域名对应的第一字符串。例如:待分类域名baidu.com,滤除后缀后的第一字符串为:baidu。又例如:待分类域名Sina.com.cn,滤除后缀后的第一字符串为Sina。
在本申请的一些实施例中,所述获取待分类域名,可以根据预设的域名生成算法,生成待分类域名,所述域名生成算法可以是banjori,也可以是corebot,还可以是ramdo,本申请对此不作限制。也可以根据ALEXA网站排名榜,获取待分类域名。又可以根据浏览网页的网址,提取出待分类域名。例如:百度网址:www.baidu.com,baidu.com则是对应百度网址的域名,又例如:360网址:http://www.360.cn,360.cn则是对应360网址的域名。
S102:根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值,所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,满足预设条件的神经网络模型。
在本说明书的一些实施例中,所述神经网络模型由四层组成,如图2所示,第一层网络为数据降维层(embedding),主要负责进行one-hot转换及降维映射,第一层网络利用N-gram和神经网络模型,实现了固定长度向量的转换和输出。所述one-hot转换是一种编码,是将类别变量转换为机器学习算法易于利用的一种形式的过程。所述N-gram模型本质上是一个概率模型,主要是根据单词中字母的先后顺序,分解单词所有连接的组合来实现。
在本说明书的一些实施例中,所述神经网络模型中的第二层网络,由多个长短期记忆(Long Short Term Memory,LSTM)神经元构成的LSTM网络,根据Rectified LinearUnits(Relu)激活函数或tanh激活函数,得到第二层网络的输出值。所述LSTM网络是一种时间递归神经网络,适合于处理和预测时间序列中间隔或延迟相对较长的重要事件。所述relu激活函数用于在神经元低于阈值时处于沉默状态。所述神经网络模型中的第三层网络,根据Sigmoid函数将输出范围控制在(0,1)之间。所述Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。所述神经网络模型中的第四层网络,通过单神经元将所述第三层网络的输出值进行汇总输出。所述Tanh是Sigmoid的变形,与sigmoid不同的是,tanh是0均值的。在本申请的一些实施例中,可以根据开源AI框架构建立训练网路,例如:TensorFlow,本申请对此不作限制。值得注意的是,上述神经网络模型的建立过程只是为了便于解释本申请实施例,基于此也可以通过其他函数建立类似的神经网络模型,本申请对此不作限制。
S103:对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。
在本说明书的一些实施例中,可以将待分类域名的检测值与指定中间值进行大小比较,判断所述检测值是否大于指定中间值,如果所述检测值大于所述指定中间值,则确定所述待分类域名为非法域名,如果所述检测值小于所述指定中间值,则确定所述待分类域名为合法域名。在本说明书的一些具体的实施方式中,假设预期值1对应非法域名,预期值0对应合法域名,指定中间值为0.5,由于在实际检测过程中,检测值难以达到1或者0,所以将(0.5,1]范围内的检测值对应的待分类域名,均确定为非法域名,将[0,0.5)范围内的检测值对应的待分类域名,均确定为合法域名。
在本说明书的另一些实施例中,可以将待分类域名的检测值与指定中间值进行大小比较,判断所述检测值是否小于指定中间值,如果所述检测值小于所述指定中间值,则确定所述待分类域名为非法域名,如果所述检测值大于所述指定中间值,则确定所述待分类域名为合法域名。在本说明书的一些具体的实施方式中,假设预期值0对应非法域名,预期值1对应合法域名,指定中间值为0.5,由于在实际检测过程中,检测值难以达到1或者0,所以将(0.5,1]范围内的检测值对应的待分类域名,均确定为合法域名,将[0,0.5)范围内的检测值对应的待分类域名,均确定为非法域名。
图3是本说明书一些实施例提供的域名识别模型生成方法的方法流程示意图,本说明书实施例提供的域名识别模型生成方法可以包括:
S301:获取训练矩阵,所述训练矩阵包括多个训练域名对应的一维有序向量,所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字。
在本说明书的一些实施例中,可以通过预设的字符和数字之间的对应关系,将训练域名进行字符数字转换,得到字符数字转换后的字符串,并基于所述字符串,生成一维向量,从而得到多个训练域名所对应的多维向量,也就是训练矩阵。所述多个训练域名,包括合法域名和非法域名,合法域名和非法域名的占比可以相同,也可以不相同,本申请对此不作限制。获取多个训练域名的方式有很多,比如:根据预设的域名生成算法,生成待分类域名。又比如:根据ALEXA网站排名榜,获取待分类域名。又比如:根据浏览网页的网址,提取出待分类域名。本申请对此不作限制。
在本说明书的一些实施例中,在获取训练矩阵之前,可以获取预设的总训练轮数,并将所述总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于所述总训练轮数,如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵。如果所述当前训练轮数大于所述总训练轮数,则不再获取训练矩阵进行模型训练,并将当前训练模型确定为满足预设条件的神经网络模型。
S302:根据预设的损失函数,计算训练实际值和训练预期值之间的损失值,所述训练实际值根据所述训练矩阵和初始神经网络模型得到。
在本说明书的一些实施例中,可以根据以下公式,计算训练实际值和训练预期值之间的损失值其中,所述yi用于表示训练矩阵输入到初始神经网络模型进行训练,得到的所述训练矩阵每个一维训练向量所对应的训练值,所述y_predictedi用于表示每个所述一维训练向量所对应的预期值。
在本说明书的另一些实施例中,可以根据以下公式,计算训练实际值和训练预期值之间的损失值其中,所述yi用于表示训练矩阵输入到初始神经网络模型进行训练,得到的所述训练矩阵每个一维训练向量所对应的训练值,所述y_predictedi用于表示每个所述一维训练向量所对应的预期值。
值得注意的是,上述实施例只是为了便于解释,训练实际值和训练预期值之间的损失值的计算过程,基于此,还可以根据其他的公式或算法,计算所述训练实际值和所述训练预期值之间的损失值,本申请对此不作限制。
S303:根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型。
在本说明书的一些实施例中,可以根据预设的优化函数,通过标准LSTM反向传播算法,更新神经网络中各神经元节点参数及LSTM单元节点门上各待训练参数,例如:标准神经元上的y=a·x+b中的a、b,在不断的训练中通过反向传播算法将损失更新到各参数。其中,更新过程均可通过各主流人工智能程序框架调用直接完成。所述预设的优化函数有很多,例如:RMSprop自适应学习率优化函数,主要训练过程可以为:
假设全局学习率ε,衰减速率ρ,初始参数θ,小常数δ,所述δ通常设为10-6,初始化累积变量r=0;
While非终止条件do
从训练集中取m个样本,对应目标为y(i)
累积平方梯度:r←ρ·r+(1-ρ)·g⊙g
更新θ:θ←θ+Δθ
End While
在本说明书的一些实施例中,在得到优化后的神经网络模型之后,更新当前训练轮数,每次更新速度为单位1。在本说明书的一些实施例中,在得到优化后的神经网络模型之后,还可以获取验证矩阵,所述验证矩阵包括多个验证域名对应的一维有序向量,所述一维有序向量包括多个验证域名进行字符数字转换后得到的数字,再根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率,又根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型。所述获取验证矩阵,可以通过预设的字符和数字之间的对应关系,将验证域名进行字符数字转换,得到字符数字转换的字符串,并基于所述字符串,生成一维向量,从而得到多个验证域名所对应的多维向量,也就是验证矩阵。所述多个验证域名,包括合法域名和非法域名,合法域名和非法域名的占比可以相同,也可以不相同,本申请对此不作限制。获取多个验证域名的方式有很多,比如:根据预设的域名生成算法,生成待分类域名。又比如:根据ALEXA网站排名榜,获取待分类域名。又比如:根据浏览网页的网址,提取出待分类域名。本申请对此不作限制。
在本说明书的一些实施例中,所述根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率,可以根据验证矩阵和优化后的神经网络模型,得到与所述验证矩阵对应的多个验证域名的验证实际值,再根据所述验证实际值和验证预期值,得到多个所述验证域名的检测结果,又根据所述检测结果,确定所述验证矩阵的准确率。例如:假设有6个验证域名,它们对应的验证预期值分别为:1、0、1、1、0、0,经过优化后的神经网络模型,确定它们对应的验证实际值分别为:0.61、0.51、0.48、0.72、0.36、0.55,由于0.61∈(0.5,1]、0.51∈(0.5,1]、0.48∈[0,0.5)、0.72∈(0.5,1]、0.36∈[0,0.5)、0.55∈(0.5,1],所以可以得出验证实际值为0.61、0.72、0.36的检测结果满足验证预期值的要求,因此可以判断这6个验证域名所对应的验证矩阵的准确率为50%。值得注意的是,该实施例只是为了便于解释本申请的技术方案,基于此,还可以得到其他实施例,本申请对此不作限制。
在本说明书的一些实施例中,所述根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型,可以通过将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率,如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值,如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型。在本申请实施例中,通过设置指定容忍值,可以防止准确率偶然下降的情况,更能确保训练后的神经网络模型的域名识别准确率高。
图4是本说明书另一些实施例提供的域名识别模型生成方法的方法流程示意图,如图4所示,在将训练矩阵输入到神经网络模型中,进行模型训练之前,首先要判断当前训练轮数是否小于或等于预设的总训练轮数,如果当前训练轮数小于或等于预设的总训练轮数,则将部分或全部训练矩阵输入到前次训练后的神经网络模型中,进行模型训练。其中,所述模型训练是通过预设的损失函数,计算训练实际值和训练预期值之间的损失值,再根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化得到,所述训练实际值根据所述训练矩阵和初始神经网络模型得到。当模型训练完成后,更新当前训练轮数,每次更新速度均为1。如图5所示,再将部分或全部验证矩阵输入训练后的模型中,计算所述验证矩阵的识别准确率,如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率,并判断当前训练轮数是否小于或等于预设的总训练轮数,如果当前训练轮数小于或等于预设的总训练轮数,则再将训练矩阵输入到训练后的神经网络模型中,再次进行模型训练,如果当前训练轮数大于预设的总训练轮数,则结束模型训练。如果识别准确率小于指定准确率,则更新当前容忍值,更新速度为1,并判断更新后的当前容忍值是否大于指定容忍值,如果更新后的当前容忍值大于指定容忍值,则保存当前训练完成的神经网络模型,并将部分或全部测试矩阵输入到所述神经网络模型中,检测识别准确率。在本说明书实施例中,如果当前训练轮数大于预设的总训练轮数,或,识别准确率不再持续增长,就可以结束模型训练,保存当前训练完成的神经网络模型。
在本说明书的一些实施例中,可以将获取的合法域名和非法域名,按照比例,拆分为训练域名集合、验证域名集合以及测试域名集合,比如:训练域名集合占比:79%,验证域名集合占比:1%,测试域名集合占比:20%。其中,所述训练域名集合、验证域名集合或测试域名集合中的合法域名和非法域名的数目比例可以相同,也可以不相同,本申请对此不作限制。在本说明书的一些具体实施方式中,获取多个训练域名的方式有很多,比如:根据预设的域名生成算法,生成待分类域名。又比如:根据ALEXA网站排名榜,获取待分类域名。又比如:根据浏览网页的网址,提取出待分类域名。本申请对此不作限制。
值得注意的是,上述实施例和实施方式只是为了方便解释本说明书,基于此还可以得到其它的实施例和实施方式,本说明书对此不作限制。
基于上述所述的定制用户界面方法,本说明书一个或多个实施例还提供了一种域名识别装置和一种域名识别模型生成装置。所述的装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明说实施例具体的装置的实施方式可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构思的。
具体地,图6是本说明书一些实施例提供的域名识别装置的模块结构示意图。如图6所示,本说明书一些实施例中提供的装置可以包括:获取模块601、确定模块602以及检测模块603。
获取模块601,可以用于获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
确定模块602,可以用于根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
检测模块603,可以用于对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。
图7是本说明书一些实施例提供的域名识别装置中获取模块的结构示意图。如图7所示,在上述实施例的基础上,所述获取模块601可以包括:获取单元701以及转换生成单元702。
获取单元701,可以用于获取待分类域名对应的第一字符串;
转换生成单元702,可以用于根据字符和数字的对应关系,将所述第一字符串中的字符转换成对应的数字,并生成所述第一字符串对应的一维有序向量。
图8是本说明书另一些实施例提供的域名识别模型生成装置的模块结构示意图。如图8所示,本说明书一些实施例中提供的装置可以包括:获取模块801、计算模块802以及优化模块803。
获取模块801,可以用于获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
计算模块802,可以用于根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
优化模块803,可以用于根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型。
图9是本说明书另一些实施例提供的域名识别模型生成装置的模块结构示意图。如图9所示,本说明书一些实施例中提供的装置可以包括:获取模块901、计算模块902、优化模块903以及比较模块904。
获取模块901,可以用于获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
计算模块902,可以用于根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
优化模块903,可以用于根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型;
比较模块904,可以用于将所述总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于所述总训练轮数。
图10是本说明书又一些实施例提供的域名识别模型生成装置的模块结构示意图。如图10所示,本说明书一些实施例中提供的装置可以包括:获取模块1001、计算模块1002、优化模块1003、比较模块1004以及更新模块1005。
获取模块1001,可以用于获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
计算模块1002,可以用于根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
优化模块1003,可以用于根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型;
比较模块1004,可以用于将所述总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于所述总训练轮数;
更新模块1005,可以用于更新当前训练轮数。
图11是本说明书又一些实施例提供的域名识别模型生成装置的模块结构示意图。如图11所示,本说明书一些实施例中提供的装置可以包括:获取模块1101、计算模块1102、优化模块1103、比较模块1104、更新模块1105、第一确定模块1106以及第二确定模块1107。
获取模块1101,可以用于获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
计算模块1102,可以用于根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
优化模块1103,可以用于根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型;
比较模块1104,可以用于将所述总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于所述总训练轮数;
更新模块1105,可以用于更新当前训练轮数;
第一确定模块1106,可以用于根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
第二确定模块1107,可以用于根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型。
为实现上述目的,本说明书一些实施例提供的计算机存储介质的结构示意图,如图12所示,所述装置可以包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时可以执行如下步骤:
获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果。
在本说明书另一些实施例中,所述计算机程序被所述处理器运行时还可以执行如下步骤:
获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型。
本说明书提供的域名识别和域名识别模型生成方法、装置及存储介质,根据预设的损失函数和优化函数,结合训练矩阵所对应的训练实际值和训练预期值,对初始神经网络模型进行优化,得到优化后的神经网络模型,再通过将验证矩阵或/和测试矩阵输入到优化后的神经网络模型中,确保了所述神经网络模型的识别准确率。一旦对待分类域名进行识别检测时,只要通过所述神经网络模型,就可以准确地识别出所述待分类域名的检测结果,提高了域名识别准确率。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书实施例提供的上述域名识别和域名识别模型生成方法、装置等可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的C++语言在PC端实现、linux系统实现,或其它例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端、服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端、服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端、服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对服务器、客户端、装置以及计算机存储介质的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (26)
1.一种域名识别方法,其特征在于,包括:
获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果;
所述根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型,包括:
将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵;
获取训练矩阵,对初始神经网络模型进行优化,得到优化后的神经网络模型;
获取验证矩阵;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型;
具体的,将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型;
如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率;
如果当前训练轮数大于预设的总训练轮数,或识别准确率不再持续增长,结束模型训练,保存当前训练完成的神经网络模型为满足预设条件的神经网络模型;
更新当前训练轮数。
2.根据权利要求1所述的方法,其特征在于,所述对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果,包括:
将待分类域名的检测值与指定中间值进行大小比较,判断所述检测值是否大于指定中间值;
如果所述检测值大于所述指定中间值,则确定所述待分类域名为非法域名;
如果所述检测值小于所述指定中间值,则确定所述待分类域名为合法域名。
3.根据权利要求1所述的方法,其特征在于,所述对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果,包括:
将待分类域名的检测值与指定中间值进行大小比较,判断所述检测值是否小于指定中间值;
如果所述检测值小于所述指定中间值,则确定所述待分类域名为非法域名;
如果所述检测值大于所述指定中间值,则确定所述待分类域名为合法域名。
4.根据权利要求1所述的方法,其特征在于,所述获取待分类域名所对应的一维有序向量,包括:
获取待分类域名对应的第一字符串;
根据字符和数字的对应关系,将所述第一字符串中的字符转换成对应的数字,并生成所述第一字符串对应的一维有序向量。
5.根据权利要求4所述的方法,其特征在于,所述生成所述第一字符串对应的一维有序向量,包括:
判断第一字符串对应的一维有序向量的长度是否小于指定长度;
如果所述长度小于所述指定长度,则对所述一维有序向量的尾部进行补值,得到指定长度的一维有序向量。
6.根据权利要求4所述的方法,其特征在于,所述获取待分类域名对应的第一字符串,包括:
获取待分类域名;
将所述待分类域名的前缀和后缀进行滤除,得到所述待分类域名对应的第一字符串。
7.根据权利要求6所述的方法,其特征在于,所述获取待分类域名,至少包括以下任意一种:
根据预设的域名生成算法,生成待分类域名;
根据ALEXA排行榜,获取待分类域名;
根据浏览网页的网址,提取出待分类域名。
8.一种域名识别模型生成方法,其特征在于,包括:
将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵;
获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型;
获取训练矩阵,对初始神经网络模型进行优化,得到优化后的神经网络模型;
获取验证矩阵;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型;
具体的,将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型;
如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率;
如果当前训练轮数大于预设的总训练轮数,或识别准确率不再持续增长,结束模型训练,保存当前训练完成的神经网络模型为满足预设条件的神经网络模型;
更新当前训练轮数。
9.根据权利要求8所述的方法,其特征在于,在获取训练矩阵之前,还包括:
获取预设的总训练轮数;
将所述总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于所述总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵。
10.根据权利要求8所述的方法,其特征在于,在得到优化后的神经网络模型之后,还包括:
更新当前训练轮数。
11.根据权利要求8所述的方法,其特征在于,在得到优化后的神经网络模型之后,还包括:
获取验证矩阵;所述验证矩阵包括多个验证域名对应的一维有序向量;所述一维有序向量包括多个验证域名进行字符数字转换后得到的数字;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型。
12.根据权利要求11所述的方法,其特征在于,所述根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率,包括:
根据验证矩阵和优化后的神经网络模型,得到与所述验证矩阵对应的多个验证域名的验证实际值;
根据所述验证实际值和验证预期值,得到多个所述验证域名的检测结果;
根据所述检测结果,确定所述验证矩阵的准确率。
13.根据权利要求11所述的方法,其特征在于,所述根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型,包括:
将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型。
14.根据权利要求11所述的方法,其特征在于,在确定优化后的神经网络模型为满足预设条件的神经网络模型之前,还包括:
获取测试矩阵;所述测试矩阵包括多个测试域名对应的一维有序向量;所述一维有序向量包括多个测试域名进行字符数字转换后得到的数字;
根据所述测试矩阵和优化后的神经网络模型,确定多个所述测试域名的检测结果;
判断所述检测结果和预设结果是否相同;
如果所述检测结果和所述预设结果相同,则确定所述神经网络模型为满足预设条件的神经网络模型。
15.一种域名识别装置,其特征在于,所述装置包括:
获取模块,用于获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
确定模块,用于根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
检测模块,用于对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果;
所述根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型,包括:
将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵;
获取训练矩阵,对初始神经网络模型进行优化,得到优化后的神经网络模型;
获取验证矩阵;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型;
具体的,将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型;
如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率;
如果当前训练轮数大于预设的总训练轮数,或识别准确率不再持续增长,结束模型训练,保存当前训练完成的神经网络模型为满足预设条件的神经网络模型;
更新当前训练轮数。
16.根据权利要求15所述的装置,其特征在于,所述获取模块,包括:
获取单元,用于获取待分类域名对应的第一字符串;
转换生成单元,用于根据字符和数字的对应关系,将所述第一字符串中的字符转换成对应的数字,并生成所述第一字符串对应的一维有序向量。
17.一种域名识别模型生成装置,其特征在于,所述装置包括:
获取模块,将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵;
用于获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
计算模块,用于根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
优化模块,用于根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型;
获取训练矩阵,对初始神经网络模型进行优化,得到优化后的神经网络模型;
获取验证矩阵;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型;
具体的,将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型;
如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率;
如果当前训练轮数大于预设的总训练轮数,或识别准确率不再持续增长,结束模型训练,保存当前训练完成的神经网络模型为满足预设条件的神经网络模型;
更新当前训练轮数。
18.根据权利要求17所述的装置,其特征在于,所述装置,还包括:
比较模块,用于将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于所述总训练轮数。
19.根据权利要求17所述的装置,其特征在于,所述装置,还包括:
更新模块,用于更新当前训练轮数。
20.根据权利要求17所述的装置,其特征在于,所述装置,还包括:
第一确定模块,用于根据验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
第二确定模块,用于根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型。
21.根据权利要求20所述的装置,其特征在于,所述第一确定模块,包括:
验证单元,用于根据验证矩阵和优化后的神经网络模型,得到与所述验证矩阵对应的多个验证域名的验证实际值;
检测单元,用于根据所述验证实际值和验证预期值,得到多个所述验证域名的检测结果;
确定单元,用于根据所述检测结果,确定所述验证矩阵的准确率。
22.根据权利要求20所述的装置,其特征在于,所述第二确定模块,包括:
比较单元,用于将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
更新判断单元,用于如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
确定单元,用于如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型。
23.一种域名识别装置,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时执行如下步骤:
获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果;
所述根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型,包括:
将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵;
获取训练矩阵,对初始神经网络模型进行优化,得到优化后的神经网络模型;
获取验证矩阵;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型;
具体的,将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型;
如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率;
如果当前训练轮数大于预设的总训练轮数,或识别准确率不再持续增长,结束模型训练,保存当前训练完成的神经网络模型为满足预设条件的神经网络模型;
更新当前训练轮数。
24.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
获取待分类域名所对应的一维有序向量;所述一维有序向量包括将所述待分类域名进行字符数字转换后得到的数字;
根据所述一维有序向量和预设的神经网络模型,确定所述待分类域名的检测值;所述神经网络模型包括根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型;
对比所述检测值和指定中间值,并根据对比结果确定所述待分类域名的检测结果;
所述根据预设的损失函数和优化算法进行训练后,得到满足预设条件的神经网络模型,包括:
将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵;
获取训练矩阵,对初始神经网络模型进行优化,得到优化后的神经网络模型;
获取验证矩阵;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型;
具体的,将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型;
如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率;
如果当前训练轮数大于预设的总训练轮数,或识别准确率不再持续增长,结束模型训练,保存当前训练完成的神经网络模型为满足预设条件的神经网络模型;
更新当前训练轮数。
25.一种域名识别模型生成装置,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时执行如下步骤:
将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵;
获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型;
获取训练矩阵,对初始神经网络模型进行优化,得到优化后的神经网络模型;
获取验证矩阵;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型;
具体的,将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型;
如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率;
如果当前训练轮数大于预设的总训练轮数,或识别准确率不再持续增长,结束模型训练,保存当前训练完成的神经网络模型为满足预设条件的神经网络模型;
更新当前训练轮数。
26.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
将总训练轮数与当前训练轮数进行大小比较,判断所述当前训练轮数是否小于或等于总训练轮数;
如果所述当前训练轮数小于或等于所述总训练轮数,则获取训练矩阵;
获取训练矩阵;所述训练矩阵包括多个训练域名对应的一维有序向量;所述一维有序向量包括将多个训练域名进行字符数字转换后得到的数字;
根据预设的损失函数,计算训练实际值和训练预期值之间的损失值;所述训练实际值根据所述训练矩阵和初始神经网络模型得到;
根据预设的优化函数和所述损失值,对所述初始神经网络模型进行优化,得到优化后的神经网络模型;
获取训练矩阵,对初始神经网络模型进行优化,得到优化后的神经网络模型;
获取验证矩阵;
根据所述验证矩阵和优化后的神经网络模型,确定所述验证矩阵对应的准确率;
根据所述准确率、当前容忍值和指定容忍值,确定所述神经网络模型是否为满足预设条件的神经网络模型;
具体的,将验证矩阵的准确率与指定准确率进行大小比较,判断所述准确率是否小于所述指定准确率;
如果所述准确率小于所述指定准确率,则更新当前容忍值,并判断更新后的当前容忍值是否大于指定容忍值;
如果所述当前容忍值大于所述指定容忍值,则确定优化后的神经网络模型为满足预设条件的神经网络模型;
如果识别准确率大于或等于指定准确率,则将所述识别准确率确定为所述指定准确率;
如果当前训练轮数大于预设的总训练轮数,或识别准确率不再持续增长,结束模型训练,保存当前训练完成的神经网络模型为满足预设条件的神经网络模型;
更新当前训练轮数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910302560.5A CN110321430B (zh) | 2019-04-16 | 2019-04-16 | 域名识别和域名识别模型生成方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910302560.5A CN110321430B (zh) | 2019-04-16 | 2019-04-16 | 域名识别和域名识别模型生成方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321430A CN110321430A (zh) | 2019-10-11 |
CN110321430B true CN110321430B (zh) | 2021-08-06 |
Family
ID=68113390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910302560.5A Active CN110321430B (zh) | 2019-04-16 | 2019-04-16 | 域名识别和域名识别模型生成方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321430B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855632B (zh) * | 2019-10-24 | 2022-03-11 | 新华三信息安全技术有限公司 | 报文检测方法、装置、网络设备和计算机可读存储介质 |
CN110808987B (zh) * | 2019-11-07 | 2022-03-29 | 南京亚信智网科技有限公司 | 识别恶意域名的方法及计算设备 |
CN112926647B (zh) * | 2021-02-23 | 2023-10-17 | 亚信科技(成都)有限公司 | 模型训练方法、域名检测方法及装置 |
CN117557400A (zh) * | 2024-01-12 | 2024-02-13 | 中国科学院地球环境研究所 | 基于云计算平台的树木生长智能监测系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874943A (zh) * | 2018-06-04 | 2018-11-23 | 上海交通大学 | 一种基于长短期记忆神经网络的暗网资源探测系统 |
CN109391706A (zh) * | 2018-11-07 | 2019-02-26 | 顺丰科技有限公司 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3000166A1 (en) * | 2017-04-03 | 2018-10-03 | Royal Bank Of Canada | Systems and methods for cyberbot network detection |
-
2019
- 2019-04-16 CN CN201910302560.5A patent/CN110321430B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874943A (zh) * | 2018-06-04 | 2018-11-23 | 上海交通大学 | 一种基于长短期记忆神经网络的暗网资源探测系统 |
CN109391706A (zh) * | 2018-11-07 | 2019-02-26 | 顺丰科技有限公司 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
深度模型简化:存储压缩和计算加速;李皈颖;《中国博士学位论文全文数据库 信息科技辑》;20190115;第I140-15页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110321430A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321430B (zh) | 域名识别和域名识别模型生成方法、装置及存储介质 | |
WO2021151292A1 (zh) | 基于掩码语言模型的语料检测方法、装置、设备及介质 | |
CN111783442A (zh) | 入侵检测方法、设备和服务器、存储介质 | |
US9852177B1 (en) | System and method for generating automated response to an input query received from a user in a human-machine interaction environment | |
CN112668013B (zh) | 一种面向Java源码的语句级模式探索的漏洞检测方法 | |
AU2021245165A1 (en) | Method and device for processing quantum data | |
CN110162939B (zh) | 人机识别方法、设备和介质 | |
CN113158685A (zh) | 文本的语义预测方法、装置、计算机设备和存储介质 | |
CN115277587A (zh) | 网络流量识别方法、装置、设备及介质 | |
Guang et al. | Benchmark datasets for stochastic Petri net learning | |
Fang et al. | Password guessing based on semantic analysis and neural networks | |
CN116643759A (zh) | 一种基于程序依赖图预测的代码预训练模型训练方法 | |
CN112764791B (zh) | 一种增量更新的恶意软件检测方法及系统 | |
CN111562943B (zh) | 一种基于事件嵌入树及gat网络的代码克隆检测方法和装置 | |
US20210342702A1 (en) | Method for automatically analyzing transaction logs of a distributed computing system | |
CN114091021A (zh) | 一种用于电力企业安全防护的恶意代码检测方法 | |
KR102405799B1 (ko) | 사이버 공간에서 실시간 공격 탐지를 위한 시간에 따른 지속적인 적응형 학습을 제공하는 방법 및 시스템 | |
KR20220102012A (ko) | 데이터 생성 방법 및 장치 | |
CN109902831B (zh) | 业务决策处理方法以及装置 | |
Zhu et al. | Software defect prediction model based on stacked denoising auto-encoder | |
CN112948582A (zh) | 一种数据处理方法、装置、设备以及可读介质 | |
CN114666077B (zh) | Dga域名检测方法及系统、电子设备及存储介质 | |
Yongwang et al. | Malicious Code Detection Technology based on Bi-GRU and Self-attention | |
CN114297205A (zh) | 一种数据库表分级方法、装置、可读存储介质及电子设备 | |
Sun et al. | Industrial Control System Attack Detection Model Based on Bayesian Network and Timed Automata |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |