(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210022416.8
(22)申请日 2022.01.10
(71)申请人 电子科技大 学
地址 610000 四川省成 都市高新区 (西区)
西源大道 2006号
(72)发明人 陈峥 张绪亮
(74)专利代理 机构 西安智萃知识产权代理有限
公司 612 21
专利代理师 方力平
(51)Int.Cl.
G06F 21/45(2013.01)
G06F 40/216(2020.01)
G06F 40/284(2020.01)
G06F 40/30(2020.01)
G06N 3/04(2006.01)G06N 3/08(2006.01)
(54)发明名称
一种基于Tran sformer模型和深度强化学习
的密码猜测系统及方法
(57)摘要
本发明提供了一种基于Tran sformer模型和
深度强化学习的密码猜测系统及方法, 包括分词
模块, 采用文本词条化工具对密码集进行词条概
率统计, 按照设置生成词表, 并对密码集进行词
条切分操作, 生成分词后的密码集; 语言模型模
块, 负责根据分词后的密码集, 训练Transformer
语言模型, 生成下一可能词条的概率表; 强化学
习解码模块, 负责根据Transformer语言模型的
输出结果动态调整解码时的采样 “温度”, 持续生
成碰撞率最高的密码训练集; 工具模块, 负责清
洗数据集, 将生成的密码训练集与密码测试集进
行匹配碰撞。 基于本发明的技术方案, 能够改善
传统集束搜索解码方式耗费资源多以及解码时
间长的情况, 提高了密码猜测集的碰撞效率, 且
占用内存资源少, 生成猜测集 也十分方便 。
权利要求书2页 说明书6页 附图1页
CN 114462018 A
2022.05.10
CN 114462018 A
1.一种基于Transformer模型和深度强化学习的密码猜测系统, 其特 征在于, 包括:
分词模块, 采用文本词条化工具对密码集进行词条概率统计, 按照设置生成词表, 并对
密码集进行词条切分操作, 生成分词后的密码集;
语言模型模块, 负责根据分词后的密码集, 训练Transformer语言模型, 生成下一可能
词条的概 率表;
强化学习解码模块, 负责根据Transformer语言模型的输出结果动态调整解码时的采
样“温度”, 持续生成碰撞率 最高的密码训练集;
工具模块, 负责清洗数据集, 将生成的密码训练集与密码测试集进行匹配碰撞。
2.一种基于Transformer模型和深度强化学习的密码猜测方法, 其特征在于, 包括以下
步骤:
步骤S1、 对密码集进行清理, 并将密码集分为密码训练集和密码测试集;
步骤S2、 采用句子(sentencepiece)文本词条化工具对密码训练集进行分词处理, 生成
词表和与所述词表相对应的分词后的密码训练集;
步骤S3、 根据分词后的密码训练集, 训练Transformer语言模型;
步骤S4、 利用Transformer语言模型得到词条概率分布表, 将所述词条概率分布表作为
强化学习环境的一部 分, 通过深度Q网络模型进 行温度控制采样训练, 直至选出最优的温度
调整策略, 然后进行采样;
步骤S5、 利用训练好的深度Q网络调整温度控制参数, 采样生成密码猜测集。
3.根据权利要求2所述的基于Transformer模型和深度强化学习的密码猜测方法, 其特
征在于, 所述 步骤S3还 包括:
步骤S31、 将密码训练集中的序列打乱并小批量依次输入Transformer语言模型;
步骤S32、 Transformer语言模型对输入的信息进行预处理操作, 将其转化为one ‑hot向
量并进行嵌入(embed ding)操作, 然后再嵌入位置信息;
步骤S33、 将预处理操作的结果输入神经网络, 分别与三个权重矩阵运算得到第一权重
矩阵Q、 第二权重矩阵K、 第三权重矩阵V, 第一权重矩阵Q、 第二权重矩阵K、 第三权重矩阵V分
别经过自注意力模块得到每 个字符与其 他字符之间的注意力分数矩阵Zi, 运算方式如下:
步骤S34、 多头注意力机制模块(Multi ‑Head Attention)将Z1~n拼接到一起, 随后传入
一个线性层(L inear)得到与多头注意力机制输入矩阵X同维度的最终输出矩阵Z;
步骤S35、 残差连接&归一化层(Add&Norm)由残差连接(Add)和归一化(Norm)两部分构
成, 多头注意力机制模块(Multi ‑Head Attention)的最终输出矩阵Z与输入矩阵X通过第一
残差连接&归一化层(Add&Norm)进行残差连接(Add), 然后进行归一化层(Layer
Normalization)操作, 将每一层神经元的输入都转换成符合标准正态分布的均值方差:
LayerNorm(X+Z);
步骤S36、 前馈神经网络模块(Feed Forward)使用两层全连接层对结果进行处理, 前馈
神经网络模块(Feed Forward)输出与输入的维度一致, 前馈神经网络模块之后是第二残差
连接&归一化层(Add&Norm)操作, 第二残差连接&归一化层(Add&Norm)操作的输出作为下一权 利 要 求 书 1/2 页
2
CN 114462018 A
2次循环步骤S3 3~S35的输入, 循环N次;
步骤S37、 经过线性层(Linear)调整输出的形状为词表大小, 最后再采用Softmax函数
计算下一个字符的概 率;
步骤S38、 选择最大概率的词条作为输出, 训练采用随机梯度下降的方法, 并采用交叉
熵损失函数进行l oss运算: l=CrossEntropyLoss(output,Y);
步骤S39、 重复步骤S31~S38, 直到Transformer语言模型训练完成。
4.根据权利要求3所述的基于Transformer模型和深度强化学习的密码猜测系统, 其特
征在于, 所述 步骤S4还 包括:
步骤S41、 设置四维的状态向量, 四个维度分别为当前温度、 当前所有生成序列的碰撞
率、 当前时间步生成序列的碰撞率以及当前时间步生成序列的单位碰撞率, 设定初始状态
s0为[1.0,0,0,0];
步骤S42、 初始化环境, 包括读取测试集数据、 设定阶段性终止符、 设置状态 记忆池;
步骤S43、 将状态向量输入深度Q网络中, 深度Q网络根据状态向量依一定的概率输出行
为值函数最大的行为 值或随机行为 值;
步骤S44、 环境依靠当前状态和行为 值做出反应, 并在调整后的概 率分布上进行采样。
步骤S45、 采样得到的猜测密码序列交由环境碰撞测试集, 计算碰撞率、 单位碰撞率以
及新增碰撞率作为状态; 环境会根据当前状态给出输出下一状态、 奖励或惩罚反馈以及任
务是否结束指令;
步骤S46、 Transformer语言模型会将状态、 行为值、 奖励、 下一状态这四个维度的信息
储存下来, 并在达 到预定的数量后随机 选择一部分训练深度Q网络;
步骤S47、 在每次学习的时候, 遵从Q ‑learning的训练方式更新状态行为值函数, 即更
新evaluate network的参数:
Q(s,a)的值来自评估网络(evaluate network), Q(s ′,a′)来自目标网络(target
network), 目标网络(target network)的更新频率慢于 评估网络(evaluate network);
步骤S48、 如果达 到终止条件, 则重 置环境, 重复步骤S43~S47, 直至训练结束。
5.根据权利要求4所述的基于Transformer模型和深度强化学习的密码猜测方法, 其特
征在于, 所述 步骤S44还包括, 环境 根据当前温度, 调整词条概 率表的分布:
6.根据权利要求4所述的基于Transformer模型和深度强化学习的密码猜测方法, 其特
征在于, 所述步骤S48还包括, 训练的时间根据用户设置的采样最优碰撞率决定, 碰撞率要
求越高训练时间越久 。权 利 要 求 书 2/2 页
3
CN 114462018 A
3
专利 一种基于Transformer模型和深度强化学习的密码猜测系统及方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:33:59上传分享