System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种基于自监督学习的异构加速方法、装置、设备及存储介质。
技术介绍
1、目前中央处理器(central processing unit, cpu)以及图形处理器(graphicsprocessing unit, gpu)上的软件解决方案,随着表达式复杂性的增加,很快就会受到计算限制,因此,使用异构硬件加速器件来进行异构加速被广泛应用,一方面可将大数据工作负载卸载到硬件加速卡上进行,可以获得更高的加速比,另一方面也可以释放部分cpu或gpu压力。现场可编程门阵列(field programmable gate array ,fpga)是一种常见异构加速卡,在数据中心被大量使用,fpga可以将正则表达式直接编译为非确定性有限自动机(nondeterministic finite automata,nfa),非确定性有限自动机遇到输入字符串时即时构建匹配路径,可以实现cpu或gpu中软件应用加速。但随着正则表达式复杂度的增加,相应的非确定性有限自动机可能会变得非常庞大和复杂,由于无法验证非确定性有限自动机是否准确表达了与正则表达式内容,高复杂度的正则表达式可能导致生成的非确定性有限自动机不合理,从而导致非确定性有限自动机处理大规模文本数据时匹配效率低,影响异构设备执行加速任务。
技术实现思路
1、本专利技术提供一种基于自监督学习的异构加速方法、装置、设备及存储介质,用以解决相关技术中,由于无法验证非确定性有限自动机是否准确表达了与正则表达式内容,高复杂度的正
2、本专利技术提供一种基于自监督学习的异构加速方法,包括:
3、通过本地硬件设备获取数据控制流,以及根据生成正则表达式生成非确定性有限自动机,所述非确定性有限自动机用于表征所述正则表达式,以对所述数据控制流进行分析和过滤;
4、通过异构设备接收所述数据控制流和所述非确定性有限自动机,基于自监督学习模型对所述非确定性有限自动机进行分析,在所述非确定性有限自动机成与其所表征的正则表达式成匹配关系时,将所述非确定性有限自动机配置到对应正则引擎上,对所述数据控制流进行并行分析和过滤;
5、其中,所述自监督学习模型基于包含中心词、背景词以及噪声词的训练数据进行训练得到。
6、根据本专利技术提供的一种基于自监督学习的异构加速方法,所述基于自监督学习模型对所述非确定性有限自动机进行分析,包括:
7、获取所述非确定性有限自动机的状态拓扑结构;
8、基于所述状态拓扑结构构建训练样本集,所述训练样本集中的训练数据包括中心词、背景词以和噪声词;
9、基于所述训练样本集对所述自监督学习模型进行训练;
10、将所述非确定性有限自动机输入训练好的自监督学习模型,获取所述非确定性有限自动机对应的表征向量;
11、计算每个表征向量之间的相似度,获取所述非确定性有限自动机中相关性最强的字符/字符串;
12、获取所述非确定性有限自动机对应的正则表达式中相关性最强的字符/字符串;
13、在所述非确定性有限自动机中相关性最强的字符/字符串与所述正则表达式中相关性最强的字符/字符串一致时,判定所述非确定性有限自动机成与其所表征的正则表达式成匹配关系。
14、根据本专利技术提供的一种基于自监督学习的异构加速方法,所述基于所述状态拓扑结构构建训练样本集,包括:
15、基于所述状态拓扑结构生成多个字符串;
16、基于所述多个字符串生成语料库;
17、从所述语料库中提取中心词、背景词以及噪声词,得到训练样本集。
18、根据本专利技术提供的一种基于自监督学习的异构加速方法,所述基于所述状态拓扑结构生成多个字符串,包括:
19、创建一个初始字符串,以特殊字符开始,初始化当前状态作为所述状态拓扑结构的起始状态;
20、基于所述状态拓扑结构建立转换字符字典,所述转换字符字典用于表征每个状态可以转移到的下一个状态及其对应的转换字符;
21、基于所述转换字符模拟状态转换,直到到达最终状态;
22、基于所述状态转换过程中所遍历的所有字符生成字符串,所述字符串包括从起始状态到最终状态的转换字符序列。
23、根据本专利技术提供的一种基于自监督学习的异构加速方法,所述基于所述转换字符模拟状态转换,直到到达最终状态,包括:
24、在当前状态不是最终状态时,根据所述转换字符字典获取当前状态的可能转换路径;
25、从可能转换路径中随机选择一个路径,将选择的路径对应的转换字符添加到初始化的字符串中;
26、更新当前状态为所选转换字符字典中的下一个状态,直到到达最终状态。
27、根据本专利技术提供的一种基于自监督学习的异构加速方法,所述语料库中每个字符串视作一个句子,句子中的每个字符视作一个单词,从所述语料库中提取中心词和背景词,包括:
28、计算所述语料库中每个单词的出现频率;
29、基于所述每个单词的出现频率和预设高频词阈值过滤掉出现频率低的单词,基于剩余单词构建词汇表;
30、遍历所述词汇表中每个单词,将每个单词分别作为中心词,随机选择一个窗口大小,根据所述窗口大小确定每个中心词的背景词的数量,根据所述背景词的数量选取每个中心词周围的单词作为每个中心词对应的背景词,将中心词及其对应背景词作为训练正样本。
31、根据本专利技术提供的一种基于自监督学习的异构加速方法,所述基于剩余单词构建词汇表后,还包括:
32、对所述词汇表进行二次随机采样,获取所述词汇表中每个单词的出现频率和总单词数,根据预设出现频率要求和总单词数要求对所述词汇表中的单词进行筛选,得到最终词汇表。
33、根据本专利技术提供的一种基于自监督学习的异构加速方法,从所述语料库中提取噪声词,包括:
34、从所述语料库中选取出现频率低于预设低频词阈值的单词,所述低频词阈值为所述高频词阈值的四分之三次方;
35、基于所述出现频率低于预设低频词阈值的单词构建一个噪声分布;
36、对所述噪声分布进行归一化处理,将不同出现频率的单词统一到同一出现频率;
37、利用归一化后的噪声分布随机抽取满足噪声数量要求的多个单词,抽取单词数量根据模型计算需求和计算资源进行调整;
38、判断所抽取的单词是否是对应中心词的背景词,若是,将所抽取的单词舍弃;否则,将所抽取的单词作为对应中心词的噪声词,直到所述噪声词的数量满足噪声数量要求;
39、遍历所述语料库中所有中心词,为每个中心词生成一组噪声词,作为训练负样本。
40、根据本专利技术提供的一种基于自监督学习的异构加速方法,所述从所述语料库中提取中心词、背景词以及噪声词,本文档来自技高网...
【技术保护点】
1.一种基于自监督学习的异构加速方法,其特征在于,包括:
2.根据权利要求1所述的基于自监督学习的异构加速方法,其特征在于,所述基于自监督学习模型对所述非确定性有限自动机进行分析,包括:
3.根据权利要求2所述的基于自监督学习的异构加速方法,其特征在于,所述基于所述状态拓扑结构构建训练样本集,包括:
4.根据权利要求3所述的基于自监督学习的异构加速方法,其特征在于,所述基于所述状态拓扑结构生成多个字符串,包括:
5.根据权利要求4所述的基于自监督学习的异构加速方法,其特征在于,所述基于所述转换字符模拟状态转换,直到到达最终状态,包括:
6.根据权利要求3所述的基于自监督学习的异构加速方法,其特征在于,所述语料库中每个字符串视作一个句子,句子中的每个字符视作一个单词,从所述语料库中提取中心词和背景词,包括:
7.根据权利要求6所述的基于自监督学习的异构加速方法,其特征在于,所述基于剩余单词构建词汇表后,还包括:
8.根据权利要求6所述的基于自监督学习的异构加速方法,其特征在于,从所述语料库中提取噪声
9.根据权利要求3所述的基于自监督学习的异构加速方法,其特征在于,所述从所述语料库中提取中心词、背景词以及噪声词,得到训练样本集,包括:
10.根据权利要求9所述的基于自监督学习的异构加速方法,其特征在于,所述基于所述训练样本集对所述自监督学习模型进行训练,包括:
11.根据权利要求10所述的基于自监督学习的异构加速方法,其特征在于,所述分批次读取所述正样本数据列表的正样本数据和所述负样本数据列表中负样本数据,包括:
12.根据权利要求10所述的基于自监督学习的异构加速方法,其特征在于,所述自监督学习模型包括跳字模型,所述跳字模型包括第一关键嵌入层和第二关键嵌入层;所述自监督学习模型执行前向计算,包括:
13.根据权利要求12所述的基于自监督学习的异构加速方法,其特征在于,所述估计所述中心词向量与所述背景词向量或噪声词向量的之间的相似度,包括:
14.根据权利要求13所述的基于自监督学习的异构加速方法,其特征在于,所述损失函数为二元交叉熵损失函数,所述基于前向计算输出结果和损失函数计算出预测损失,包括:
15.根据权利要求2所述的基于自监督学习的异构加速方法,其特征在于,所述计算每个表征向量之间的相似度,获取所述非确定性有限自动机中相关性最强的字符/字符串,包括:
16.根据权利要求2所述的基于自监督学习的异构加速方法,其特征在于,所述获取所述非确定性有限自动机对应的正则表达式中相关性最强的字符/字符串,包括:
17.根据权利要求1所述的基于自监督学习的异构加速方法,其特征在于,所述本地硬件设备包括:CPU或GPU;所述异构设备包括FPGA,还包括:
18.一种基于自监督学习的异构加速装置,其特征在于,包括:
19.一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至17任一项所述的基于自监督学习的异构加速方法。
20.一种非暂态可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至17任一项所述的基于自监督学习的异构加速方法。
...【技术特征摘要】
1.一种基于自监督学习的异构加速方法,其特征在于,包括:
2.根据权利要求1所述的基于自监督学习的异构加速方法,其特征在于,所述基于自监督学习模型对所述非确定性有限自动机进行分析,包括:
3.根据权利要求2所述的基于自监督学习的异构加速方法,其特征在于,所述基于所述状态拓扑结构构建训练样本集,包括:
4.根据权利要求3所述的基于自监督学习的异构加速方法,其特征在于,所述基于所述状态拓扑结构生成多个字符串,包括:
5.根据权利要求4所述的基于自监督学习的异构加速方法,其特征在于,所述基于所述转换字符模拟状态转换,直到到达最终状态,包括:
6.根据权利要求3所述的基于自监督学习的异构加速方法,其特征在于,所述语料库中每个字符串视作一个句子,句子中的每个字符视作一个单词,从所述语料库中提取中心词和背景词,包括:
7.根据权利要求6所述的基于自监督学习的异构加速方法,其特征在于,所述基于剩余单词构建词汇表后,还包括:
8.根据权利要求6所述的基于自监督学习的异构加速方法,其特征在于,从所述语料库中提取噪声词,包括:
9.根据权利要求3所述的基于自监督学习的异构加速方法,其特征在于,所述从所述语料库中提取中心词、背景词以及噪声词,得到训练样本集,包括:
10.根据权利要求9所述的基于自监督学习的异构加速方法,其特征在于,所述基于所述训练样本集对所述自监督学习模型进行训练,包括:
11.根据权利要求10所述的基于自监督学习的异构加速方法,其特征在于,所述分批次读取所述正样本数据列表的正样本数据和所述负样本数据列表中负样本数据,包括:
【专利技术属性】
技术研发人员:童浩南,任智新,张闯,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。