CN114462018B - 一种基于Transformer模型和深度强化学习的密码猜测系统及方法 - Google Patents

一种基于Transformer模型和深度强化学习的密码猜测系统及方法 Download PDF

Info

Publication number
CN114462018B
CN114462018B CN202210022416.8A CN202210022416A CN114462018B CN 114462018 B CN114462018 B CN 114462018B CN 202210022416 A CN202210022416 A CN 202210022416A CN 114462018 B CN114462018 B CN 114462018B
Authority
CN
China
Prior art keywords
password
training
network
module
language model
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
Application number
CN202210022416.8A
Other languages
English (en)
Other versions
CN114462018A (zh
Inventor
陈峥
张绪亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202210022416.8A priority Critical patent/CN114462018B/zh
Publication of CN114462018A publication Critical patent/CN114462018A/zh
Application granted granted Critical
Publication of CN114462018B publication Critical patent/CN114462018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供了一种基于Transformer模型和深度强化学习的密码猜测系统及方法,包括分词模块,采用文本词条化工具对密码集进行词条概率统计,按照设置生成词表,并对密码集进行词条切分操作,生成分词后的密码集;语言模型模块,负责根据分词后的密码集,训练Transformer语言模型,生成下一可能词条的概率表;强化学习解码模块,负责根据Transformer语言模型的输出结果动态调整解码时的采样“温度”,持续生成碰撞率最高的密码训练集;工具模块,负责清洗数据集,将生成的密码训练集与密码测试集进行匹配碰撞。基于本发明的技术方案,能够改善传统集束搜索解码方式耗费资源多以及解码时间长的情况,提高了密码猜测集的碰撞效率,且占用内存资源少,生成猜测集也十分方便。

Description

一种基于Transformer模型和深度强化学习的密码猜测系统 及方法
技术领域
本发明涉及密码学、人工智能领域,特别地涉及一种基于Transformer模型和深度强化学习的密码猜测系统及方法。
背景技术
密码在身份认证中扮演着重要的角色,并且由于其低成本、高效率和直接性,至今仍是最常用的认证方式。而作为最直接的访问个人信息的方式,密码的安全性一直饱受关注。当设计出一条密码,如何判断该条密码在当前数据集中的强度就需要引入一种方法来进行有效的判断。
目前密码猜测方法在实际应用方面主要有以下的几种:
1、利用泄露的密码及用户个人信息等社会工程学信息进行密码重放攻击,这种方法在早期黑客进行有针对性的攻击的时候用得比较广泛,但缺点是生成的效率和密码猜测集的碰撞率都很低。
2、统计概率模型,这种方法将分词进行概率统计,并根据分词的概率进行组合,代表有基于概率上下文无关文法的方法和基于马尔可夫链的方法,这种方式生成序列的速度非常快,但是这种方法会丢失分词之间的完整语义,产生大量的无效序列。
3、传统语言模型,这种方法是由自然语言处理领域处理借鉴而来,因为人们在设计密码时往往会加入一些语义来帮助自己记忆,通过泄露的密码集来训练语言模型可以很好的学习到密码的整体语义,生成的密码测试集可以比较好的拟合密码集的分布,收获比较高的碰撞率。但这种方法选用的语言模型比较陈旧,随着自然语言处理领域的发展有新的语言模型能更好的拟合分词之间的语义,且这种方法往往采用集束搜索的方式对序列进行解码,当生成大规模猜测数据集时解码时间非常长,十分影响生成效率。
目前主流的密码猜测办法通常有两类,一类是依靠概率统计生成字典然后随机组合生成密码猜测集的方法,一类是对密码集的分词进行训练得到马尔可夫模型来生成密码猜测集。两类办法都存在一定的缺陷,前者生成的密码集过于随机,生成了大量无效的密码序列,后者解码时采用集束采样的方式生成,生成大规模的密码猜测集的效率低下。
发明内容
针对上述现有技术中的问题,本申请提出了一种基于Transformer模型和深度强化学习的密码猜测系统,包括:
分词模块,采用文本词条化工具对密码集进行词条概率统计,按照设置生成词表,并对密码集进行词条切分操作,生成分词后的密码集;
语言模型模块,负责根据分词后的密码集,训练Transformer语言模型,生成下一可能词条的概率表;
强化学习解码模块,负责根据Transformer语言模型的输出结果动态调整解码时的采样“温度”,持续生成碰撞率最高的密码训练集;
工具模块,负责清洗数据集,将生成的密码训练集与密码测试集进行匹配碰撞。
本申请还涉及一种基于Transformer模型和深度强化学习的密码猜测方法,包括以下步骤:
步骤S1、对密码集进行清理,并将密码集分为密码训练集和密码测试集;
步骤S2、采用句子(sentencepiece)文本词条化工具对密码训练集进行分词处理,生成词表和与所述词表相对应的分词后的密码训练集;
步骤S3、根据分词后的密码训练集,训练Transformer语言模型;
步骤S4、利用Transformer语言模型得到词条概率分布表,将所述词条概率分布表作为强化学习环境的一部分,通过深度Q网络模型进行温度控制采样训练,直至选出最优的温度调整策略,然后进行采样;
步骤S5、利用训练好的深度Q网络调整温度控制参数,采样生成密码猜测集。
优选地,所述步骤S3还包括:
步骤S31、将密码训练集中的序列打乱并小批量依次输入Transformer语言模型;
步骤S32、Transformer语言模型对输入的信息进行预处理操作,将其转化为one-hot向量并进行嵌入(embedding)操作,然后再嵌入位置信息;
步骤S33、将预处理操作的结果输入神经网络,分别与三个权重矩阵运算得到第一权重矩阵Q、第二权重矩阵K、第三权重矩阵V,第一权重矩阵Q、第二权重矩阵K、第三权重矩阵V分别经过自注意力模块得到每个字符与其他字符之间的注意力分数矩阵Zi,运算方式如下:
Figure SMS_1
步骤S34、多头注意力机制模块(Multi-Head Attention)将Z1~n拼接到一起,随后传入一个线性层(Linear)得到与多头注意力机制输入矩阵X同维度的最终输出矩阵Z;
步骤S35、残差连接&归一化层(Add&Norm)由残差连接(Add)和归一化(Norm)两部分构成,多头注意力机制模块(Multi-Head Attention)的最终输出矩阵Z与输入矩阵X通过第一残差连接&归一化层(Add&Norm)进行残差连接(Add),然后进行归一化层(LayerNormalization)操作,将每一层神经元的输入都转换成符合标准正态分布的均值方差:LayerNorm(X+Z);
步骤S36、前馈神经网络模块(Feed Forward)使用两层全连接层对结果进行处理,前馈神经网络模块(Feed Forward)输出与输入的维度一致,前馈神经网络模块之后是第二残差连接&归一化层(Add&Norm)操作,第二残差连接&归一化层(Add&Norm)操作的输出作为下一次循环步骤S33~S35的输入,循环 N次;
步骤S37、经过线性层(Linear)调整输出的形状为词表大小,最后再采用Softmax函数计算下一个字符的概率;
步骤S38、选择最大概率的词条作为输出,训练采用随机梯度下降的方法,并采用交叉熵损失函数进行loss运算:l=CrossEntropyLoss(output,Y);
步骤S39、重复步骤S31~S38,直到Transformer语言模型训练完成。
优选地,所述步骤S4还包括:
步骤S41、设置四维的状态向量,四个维度分别为当前温度、当前所有生成序列的碰撞率、当前时间步生成序列的碰撞率以及当前时间步生成序列的单位碰撞率,设定初始状态s0为[1.0,0,0,0];
步骤S42、初始化环境,包括读取测试集数据、设定阶段性终止符、设置状态记忆池;
步骤S43、将状态向量输入深度Q网络中,深度Q网络根据状态向量依一定的概率输出行为值函数最大的行为值或随机行为值;
步骤S44、环境依靠当前状态和行为值做出反应,并在调整后的概率分布上进行采样。
步骤S45、采样得到的猜测密码序列交由环境碰撞测试集,计算碰撞率、单位碰撞率以及新增碰撞率作为状态;环境会根据当前状态给出输出下一状态、奖励或惩罚反馈以及任务是否结束指令;
步骤S46、Transformer语言模型会将状态、行为值、奖励、下一状态这四个维度的信息储存下来,并在达到预定的数量后随机选择一部分训练深度Q网络;
步骤S47、在每次学习的时候,遵从Q-learning的训练方式更新状态行为值函数,即更新evaluate network的参数:
Figure SMS_2
Q(s,a)的值来自评估网络(evaluate network),Q(s′,a′)来自目标网络(targetnetwork),目标网络(target network)的更新频率慢于评估网络(evaluate network);
步骤S48、如果达到终止条件,则重置环境,重复步骤S43~S47,直至训练结束。
优选地,所述步骤S44还包括,环境根据当前温度,调整词条概率表的分布:
Figure SMS_3
优选地,所述步骤S48还包括,训练的时间根据用户设置的采样最优碰撞率决定,碰撞率要求越高训练时间越久。
上述技术特征可以各种适合的方式组合或由等效的技术特征来替代,只要能够达到本发明的目的。
本发明提供的一种基于Transformer模型和深度强化学习的密码猜测系统及方法,与现有技术相比,至少具备有以下有益效果:
1、本申请中借助自然语言处理中的分词工具对密码集进行分词,并引入了一种当前在自然语言处理中非常流行的Transformer语言模型,在数据集相同的情况下,提高了泛化能力,体现密码集的结构和语义,提高了密码猜测集的碰撞率。
2、本申请中提出了一种全新的基于强化学习深度Q网络的解码方式,在猜测密码集生成的过程中,通过深度强化学习模型不断地调整“温度”参数,从而达到动态调整猜测密码集分布的效果,从而改善传统集束搜索解码方式耗费资源多以及解码时间长的情况。提高了密码猜测集的碰撞效率。
3、占用内存资源少,拟合其他密码集,并生成猜测集时也十分方便。
附图说明
在下文中将基于实施例并参考附图来对本发明进行更详细的描述。其中:
图1显示了本发明的语言模型图;
图2显示了本发明的深度Q网络模型图。
具体实施方式
下面将结合附图对本发明作进一步说明。
本发明提供了一种基于Transformer模型和深度强化学习的密码猜测系统及方法,采取的技术方案如下:
1)如图1所示,Input:语言模型的输入,为经过清洗并分词处理的词条序列,对密码集进行清理,保证出现的单个字符都是Ascii码,并将密码集分为训练集和测试集。
2)采用sentencepiece文本词条化工具对训练密码集进行分词处理,生成词表和与相对应的分此后的密码集。例如”abc123456”将会被分割成 [”abc”,”123456”]的形式,”abc”和”123456”也会加入词表。
3)根据分词后的结果,训练Transformer语言模型。
a)将训练集中的序列打乱并小批量依次输入模型
b)模型将输入进行预处理操作,将其转化为one-hot向量并进行 embedding操作,然后再嵌入位置信息;Embedding&Positional Encoding:对输入进一步处理,将序列转化为one-hot矩阵后再进行降维操作并进行位置编码操作。
c)将预处理后的结果输入神经网络,分别与三个权重矩阵运算得到Q、K、V三个矩阵,Q、K、V分别经过自注意力模块得到每个字符与其他字符之间的注意力分数矩阵,运算方式如下:
Figure SMS_4
d)Multi-Head Attention将Z1~n拼接(concat)到一起,随后传入一个 Linear层得到与Multi-Head Attention输入矩阵X同维度的最终输出Z;Mask Multi-Head Attention:多头注意力机制模块,为 Transformer模型的核心模块,该模块允许模型在不同位置共同关注来自不同表示子空间的信息。其中Mask矩阵为了训练时消除当前位置的预测值受到来自后面位置的影响,将之后的字符给隐去。
e)Add&Norm层由Add和Norm两部分构成,Multi-Head Attention模块的输出Z与X进行残差连接(Add),之后进行Layer Normalization 操作,将每一层神经元的输入都转成均值方差都转化为标准正态分布:LayerNorm(X+Z)
f)Feed Forward模块使用两层全连接层对结果进行处理,输出与输入的维度一致(Output:语言模型的输出,为当前字符序列的“下一字符”的概率表),之后又是一个Add&Norm层操作,输出作为下一次循环的输入。循环N次后。
g)经过Linear层调整输出的形状为词表大小,最后再采用Softmax操作计算下一个字符的概率。
h)选择最大概率的词条作为输出,训练采用随机梯度下降的方法,并采用交叉熵损失函数进行loss运算:l=CrossEntropyLoss(output,Y)。重复步骤a-h,直到模型训练完成。
4)将训练好的Transformer语言模型得到词条概率分布表作为强化学习环境的一部分,通过深度Q网络模型进行温度控制采样训练,直至选出最优的温度调整策略进行采样。Environment:强化学习的环境,对当前状态的行为给予反馈,本专利中的环境主要是对采取当前温度进行采样得到的密码猜测集的好坏做出反馈。模型与环境都在训练前进行设计,环境中的奖励机制是决定模型效果优劣的关键,奖励机制如下:
Figure SMS_5
表示当前奖励由当前状态、行为的新增碰撞率和之前三次新增碰撞率的平均值共同决定。
Q-network:两个网络参数一模一样的深度Q网络,target network为 evaluatenetwork提供评估模板,因此更新得慢一些,使得训练过程更加平滑。
a)状态由四维组成,分别为当前温度、当前所有生成序列的碰撞率、当前时间步生成序列的碰撞率以及当前时间步生成序列的单位碰撞率,设定初始状态s0为[1.0,0,0,0]。
b)初始化环境,包括读取测试集数据、设定阶段性终止符、设置状态记忆池等。
c)将状态输入深度Q网络中,网络根据状态依一定的概率输出值行为函数值最大的行为或随机行为。比如输出温度为1.1。
d)环境依靠当前状态和行为做出反应——环境根据当前温度,调整词条概率表的分布:
Figure SMS_6
并在调整后的概率分布上进行采样。
e)采样得到的猜测密码序列交由环境碰撞测试集,计算碰撞率、单位碰撞率以及新增碰撞率等作为状态。环境会根据当前状态给出输出下一状态、奖励或惩罚反馈以及任务是否结束指令。
f)模型会将状态、行为、奖励、下一状态这四个维度的信息储存下来,并在达到一定的数量后随机选择一部分训练深度Q网络。
g)在每次学习的时候,遵从Q-learning的训练方式更新状态行为值函数,即更新evaluate network的参数:
Figure SMS_7
Q(s,a)的值来自evaluate network,Q(s′,a′)来自target network, targetnetwork的更新频率慢于evaluate network。
h)如果达到终止条件,则重置环境,重复c-g步,直至训练结束。训练的时间根据用户设置的采样最优碰撞率决定,碰撞率要求越高训练时间越久。
5)利用训练好的深度Q网络调整温度控制参数,采样生成序列猜测集。用户可以随时控制生成结束。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (4)

1.一种基于Transformer模型和深度强化学习的密码猜测系统,其特征在于,包括:
分词模块,采用文本词条化工具对密码集进行词条概率统计,按照设置生成词表,并对密码集进行词条切分操作,生成分词后的密码集;
语言模型模块,负责根据分词后的密码集,训练Transformer语言模型,训练步骤包括:
步骤S31、将密码训练集中的序列打乱并小批量依次输入Transformer语言模型;
步骤S32、Transformer语言模型对输入的信息进行预处理操作,将其转化为one-hot向量并进行嵌入操作,然后再嵌入位置信息;
步骤S33、将预处理操作的结果输入神经网络,分别与三个权重矩阵运算得到第一权重矩阵Q、第二权重矩阵K、第三权重矩阵V,第一权重矩阵Q、第二权重矩阵K、第三权重矩阵V分别经过自注意力模块得到每个字符与其他字符之间的注意力分数矩阵Zi,运算方式如下:
Figure FDA0004194446680000011
步骤S34、多头注意力机制模块将Z1~n拼接到一起,随后传入一个线性层得到与多头注意力机制输入矩阵X同维度的最终输出矩阵Z;
步骤S35、残差连接&归一化层由残差连接和归一化两部分构成,多头注意力机制模块的最终输出矩阵Z与输入矩阵X通过第一残差连接&归一化层进行残差连接,然后进行归一化层操作,将每一层神经元的输入都转换成符合标准正态分布的均值方差:LayerNorm(X+Z);
步骤S36、前馈神经网络模块使用两层全连接层对结果进行处理,前馈神经网络模块输出与输入的维度一致,前馈神经网络模块之后是第二残差连接&归一化层操作,第二残差连接&归一化层操作的输出作为下一次循环步骤S33~S35的输入,循环N次;
步骤S37、经过线性层调整输出的形状为词表大小,最后再采用Softmax函数计算下一个字符的概率;
步骤S38、选择最大概率的词条作为输出,训练采用随机梯度下降的方法,并采用交叉熵损失函数进行loss运算:l=CrossEntropyLoss(output,Y);
步骤S39、重复步骤S31~S38,直到Transformer语言模型训练完成;生成下一可能词条的概率表;
强化学习解码模块,负责根据Transformer语言模型的输出结果动态调整解码时的采样“温度”,持续生成碰撞率最高的密码训练集,包括以下步骤:
步骤S41、设置四维的状态向量,四个维度分别为当前温度、当前所有生成序列的碰撞率、当前时间步生成序列的碰撞率以及当前时间步生成序列的单位碰撞率,设定初始状态s0为[1.0,0,0,0];
步骤S42、初始化环境,包括读取测试集数据、设定阶段性终止符、设置状态记忆池;
步骤S43、将状态向量输入深度Q网络中,深度Q网络根据状态向量依一定的概率输出行为值函数最大的行为值或随机行为值;
步骤S44、环境依靠当前状态和行为值做出反应,并在调整后的概率分布上进行采样;
步骤S45、采样得到的猜测密码序列交由环境碰撞测试集,计算碰撞率、单位碰撞率以及新增碰撞率作为状态;环境会根据当前状态给出输出下一状态、奖励或惩罚反馈以及任务是否结束指令;
步骤S46、Transformer语言模型会将状态、行为值、奖励、下一状态这四个维度的信息储存下来,并在达到预定的数量后随机选择一部分训练深度Q网络;
步骤S47、在每次学习的时候,遵从Q-learning的训练方式更新状态行为值函数,即更新evaluate network的参数:
Figure FDA0004194446680000021
Q(s,a)的值来自评估网络,Q(s′,a′)来自目标网络,目标网络的更新频率慢于评估网络;
步骤S48、如果达到终止条件,则重置环境,重复步骤S43~S47,直至训练结束;
工具模块,负责清洗数据集,将生成的密码训练集与密码测试集进行匹配碰撞。
2.一种基于Transformer模型和深度强化学习的密码猜测方法,其特征在于,包括以下步骤:
步骤S1、对密码集进行清理,并将密码集分为密码训练集和密码测试集;
步骤S2、采用句子文本词条化工具对密码训练集进行分词处理,生成词表和与所述词表相对应的分词后的密码训练集;
步骤S3、根据分词后的密码训练集,训练Transformer语言模型;训练步骤包括:
步骤S31、将密码训练集中的序列打乱并小批量依次输入Transformer语言模型;
步骤S32、Transformer语言模型对输入的信息进行预处理操作,将其转化为one-hot向量并进行嵌入操作,然后再嵌入位置信息;
步骤S33、将预处理操作的结果输入神经网络,分别与三个权重矩阵运算得到第一权重矩阵Q、第二权重矩阵K、第三权重矩阵V,第一权重矩阵Q、第二权重矩阵K、第三权重矩阵V分别经过自注意力模块得到每个字符与其他字符之间的注意力分数矩阵Zi,运算方式如下:
Figure FDA0004194446680000031
步骤S34、多头注意力机制模块将Z1~n拼接到一起,随后传入一个线性层得到与多头注意力机制输入矩阵X同维度的最终输出矩阵Z;
步骤S35、残差连接&归一化层由残差连接和归一化两部分构成,多头注意力机制模块的最终输出矩阵Z与输入矩阵X通过第一残差连接&归一化层进行残差连接,然后进行归一化层操作,将每一层神经元的输入都转换成符合标准正态分布的均值方差:LayerNorm(X+Z);
步骤S36、前馈神经网络模块使用两层全连接层对结果进行处理,前馈神经网络模块输出与输入的维度一致,前馈神经网络模块之后是第二残差连接&归一化层操作,第二残差连接&归一化层操作的输出作为下一次循环步骤S33~S35的输入,循环N次;
步骤S37、经过线性层调整输出的形状为词表大小,最后再采用Softmax函数计算下一个字符的概率;
步骤S38、选择最大概率的词条作为输出,训练采用随机梯度下降的方法,并采用交叉熵损失函数进行loss运算:l=CrossEntropyLoss(output,Y);
步骤S39、重复步骤S31~S38,直到Transformer语言模型训练完成;生成下一可能词条的概率表;
步骤S4、利用Transformer语言模型得到词条概率分布表,将所述词条概率分布表作为强化学习环境的一部分,通过深度Q网络模型进行温度控制采样训练,直至选出最优的温度调整策略,然后进行采样,包括以下步骤:
步骤S41、设置四维的状态向量,四个维度分别为当前温度、当前所有生成序列的碰撞率、当前时间步生成序列的碰撞率以及当前时间步生成序列的单位碰撞率,设定初始状态s0为[1.0,0,0,0];
步骤S42、初始化环境,包括读取测试集数据、设定阶段性终止符、设置状态记忆池;
步骤S43、将状态向量输入深度Q网络中,深度Q网络根据状态向量依一定的概率输出行为值函数最大的行为值或随机行为值;
步骤S44、环境依靠当前状态和行为值做出反应,并在调整后的概率分布上进行采样;
步骤S45、采样得到的猜测密码序列交由环境碰撞测试集,计算碰撞率、单位碰撞率以及新增碰撞率作为状态;环境会根据当前状态给出输出下一状态、奖励或惩罚反馈以及任务是否结束指令;
步骤S46、Transformer语言模型会将状态、行为值、奖励、下一状态这四个维度的信息储存下来,并在达到预定的数量后随机选择一部分训练深度Q网络;
步骤S47、在每次学习的时候,遵从Q-learning的训练方式更新状态行为值函数,即更新evaluate network的参数:
Figure FDA0004194446680000041
Q(s,a)的值来自评估网络,Q(s′,a′)来自目标网络,目标网络的更新频率慢于评估网络;
步骤S48、如果达到终止条件,则重置环境,重复步骤S43~S47,直至训练结束;
步骤S5、利用训练好的深度Q网络调整温度控制参数,采样生成密码猜测集。
3.根据权利要求2所述的基于Transformer模型和深度强化学习的密码猜测方法,其特征在于,所述步骤S44还包括,环境根据当前温度,调整词条概率表的分布:
Figure FDA0004194446680000051
4.根据权利要求2所述的基于Transformer模型和深度强化学习的密码猜测方法,其特征在于,所述步骤S48还包括,训练的时间根据用户设置的采样最优碰撞率决定,碰撞率要求越高训练时间越久。
CN202210022416.8A 2022-01-10 2022-01-10 一种基于Transformer模型和深度强化学习的密码猜测系统及方法 Active CN114462018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210022416.8A CN114462018B (zh) 2022-01-10 2022-01-10 一种基于Transformer模型和深度强化学习的密码猜测系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210022416.8A CN114462018B (zh) 2022-01-10 2022-01-10 一种基于Transformer模型和深度强化学习的密码猜测系统及方法

Publications (2)

Publication Number Publication Date
CN114462018A CN114462018A (zh) 2022-05-10
CN114462018B true CN114462018B (zh) 2023-05-30

Family

ID=81409520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210022416.8A Active CN114462018B (zh) 2022-01-10 2022-01-10 一种基于Transformer模型和深度强化学习的密码猜测系统及方法

Country Status (1)

Country Link
CN (1) CN114462018B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114925658B (zh) * 2022-05-18 2023-04-28 电子科技大学 开放性文本生成方法以及存储介质
CN114925659B (zh) * 2022-05-18 2023-04-28 电子科技大学 动态宽度最大化解码方法、文本生成方法及存储介质
CN114925668B (zh) * 2022-05-20 2023-04-07 电子科技大学 自动生成新闻的系统、方法及存储介质
CN116599666B (zh) * 2023-07-17 2023-11-07 中国电信股份有限公司 密码字典生成方法、装置、计算机设备和存储介质
CN117272253B (zh) * 2023-11-23 2024-02-23 北京知呱呱科技有限公司 一种在大语言模型生成文本中嵌入及检测数字水印的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324744A (zh) * 2020-02-17 2020-06-23 中山大学 一种基于目标情感分析数据集的数据增强方法
CN113657107A (zh) * 2021-08-19 2021-11-16 长沙理工大学 一种基于序列到隐写序列的自然语言信息隐藏方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105556552A (zh) * 2013-03-13 2016-05-04 加迪安分析有限公司 欺诈探测和分析
KR20190027287A (ko) * 2017-09-06 2019-03-14 김영선 손가락 동작과 입 모양에 의한 키보드와 마우스 기능 모사 방법
CN109145582B (zh) * 2018-06-05 2021-07-23 中国科学院信息工程研究所 一种基于字节对编码的密码猜测集生成方法、密码破解方法及装置
CN109657041B (zh) * 2018-12-04 2023-09-29 南京理工大学 基于深度学习的问题自动生成方法
CN111460883B (zh) * 2020-01-22 2022-05-03 电子科技大学 基于深度强化学习的视频行为自动描述方法
CN113094200B (zh) * 2021-06-07 2021-08-24 腾讯科技(深圳)有限公司 一种应用程序的故障预测方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324744A (zh) * 2020-02-17 2020-06-23 中山大学 一种基于目标情感分析数据集的数据增强方法
CN113657107A (zh) * 2021-08-19 2021-11-16 长沙理工大学 一种基于序列到隐写序列的自然语言信息隐藏方法

Also Published As

Publication number Publication date
CN114462018A (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
CN114462018B (zh) 一种基于Transformer模型和深度强化学习的密码猜测系统及方法
CN107506823B (zh) 一种用于对话生成的混合神经网络模型的构建方法
CN109635774B (zh) 一种基于生成对抗网络的人脸合成方法
CN110457661B (zh) 自然语言生成方法、装置、设备及存储介质
CN109558576B (zh) 一种基于自注意力机制的标点符号预测方法
CN112115247A (zh) 一种基于长短时记忆信息的个性化对话生成方法和系统
CN112214591B (zh) 一种对话预测的方法及装置
CN111966998A (zh) 基于变分自动编码器的口令生成方法、系统、介质和设备
CN111191468B (zh) 术语替换方法及装置
CN111339274B (zh) 对话生成模型训练方法、对话生成方法及装置
CN113919319B (zh) 基于动作场景强化的脚本事件预测方法
CN107463928A (zh) 基于ocr和双向lstm的文字序列纠错算法、系统及其设备
CN117271745A (zh) 一种信息处理方法、装置及计算设备、存储介质
CN117195922B (zh) 一种人在回路的神经机器翻译方法、系统及可读存储介质
CN117891924A (zh) 一种基于强化知识选择的大语言模型对话推荐方法
CN113761148A (zh) 对话信息获取方法、装置、设备及存储介质
CN111818397B (zh) 一种基于长短时记忆网络变体的视频描述生成方法
CN111221958B (zh) 一种训练藏字诗生成模型的方法、藏字诗生成方法及装置
CN115525743B (zh) 基于自学习白化网络的人机交互方法及电子设备
Carcassi et al. The emergence of monotone quantifiers via iterated learning
CN116432663A (zh) 基于要素简图的可控多样性专业文本生成方法及系统
CN114330306B (zh) 一种基于深度学习的密码字典生成技术
CN111325387A (zh) 可解释法律自动判决预测方法及装置
CN114492462B (zh) 基于情绪分析和生成式对抗网络的对话生成方法及系统
CN115858736A (zh) 一种基于情感提示微调的情感文本生成方法

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