CN115934661A - 一种图神经网络压缩方法、装置、电子设备及存储介质 - Google Patents
一种图神经网络压缩方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115934661A CN115934661A CN202310188245.0A CN202310188245A CN115934661A CN 115934661 A CN115934661 A CN 115934661A CN 202310188245 A CN202310188245 A CN 202310188245A CN 115934661 A CN115934661 A CN 115934661A
- Authority
- CN
- China
- Prior art keywords
- graph
- neural network
- training
- value
- data
- 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.)
- Granted
Links
- 238000007906 compression Methods 0.000 title claims abstract description 176
- 230000006835 compression Effects 0.000 title claims abstract description 174
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 59
- 238000003860 storage Methods 0.000 title claims abstract description 57
- 238000012549 training Methods 0.000 claims abstract description 262
- 238000003062 neural network model Methods 0.000 claims abstract description 220
- 230000002787 reinforcement Effects 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 141
- 239000011159 matrix material Substances 0.000 claims description 120
- 230000009471 action Effects 0.000 claims description 107
- 239000003795 chemical substances by application Substances 0.000 claims description 89
- 230000006870 function Effects 0.000 claims description 71
- 238000010586 diagram Methods 0.000 claims description 62
- 230000009466 transformation Effects 0.000 claims description 44
- 238000013144 data compression Methods 0.000 claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 36
- 238000012546 transfer Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 24
- 238000005096 rolling process Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 7
- 230000008901 benefit Effects 0.000 claims description 5
- 238000010030 laminating Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 28
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000005457 optimization Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000011478 gradient descent method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种图神经网络压缩方法、装置、电子设备及存储介质,涉及图神经网络领域,方法包括:获取待训练的图神经网络模型和训练图数据;训练图数据包含图顶点及其对应的顶点特征;控制强化学习的智能体学习图神经网络模型及训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于压缩训练结果生成最佳聚类簇数序列;聚类簇数序列中的聚类簇数与图神经网络模型中的图卷积层一一对应,聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使特征码字的数量等于聚类簇数;利用最佳聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理;可基于聚类簇数序列压缩图神经网络模型,以降低其对资源的需求。
Description
技术领域
本发明涉及图神经网络模型领域,特别涉及一种图神经网络压缩方法、装置、电子设备及计算机可读存储介质。
背景技术
近年来,图神经网络模型(Graph Neural Network, GNN)因其能够对不规则结构数据进行建模而受到大量关注。该模型具体可应用于链接预测领域。链接预测问题可定义为:给定一个在t时刻的网络(如社交网络,其包含用户间的好友关系),链接预测的目标是要预测在(t+t’)时刻的网络中会形成哪些新的链接(如预测两个陌生人成为朋友的可能性)。为实现这一效果,图神经网络模型需提取图数据中各图顶点的顶点特征、网格结构等特征信息,并根据这些特征信息开展表征学习,生成顶点嵌入,进而以此为基础,预测网络中未知的链接以及未来可能出现的链接。然而,图神经网络模型对内存的需求会随着图数据规模的增大而急剧增加。以小批量随机梯度下降法训练图神经网络模型为例,通过反向传播计算完整梯度需要存储所有顶点在所有层的中间嵌入,因此需要大量的存储空间,这将使得那些具有非常有限内存预算的小型设备面临巨大压力。另一方面,更大规模的图数据需要更多的数据操作(例如,加法和乘法)和数据移动(例如,内存事务),这将消耗大量资源并耗尽微型设备上有限的资源预算。也正是如此,对图神经网络模型及图数据进行压缩,是将该模型部署至资源有限设备前所必须要执行的操作。
相关技术中,现有的压缩方法存在以下缺陷:(1)在推理阶段,采样方法需要所有邻居进行非随机预测,需要将完整的图数据加载至推理设备;(2)基于采样的图神经网络模型无法在各种任务和数据集上始终如一地取得令人满意的结果;(3)采样策略不能普遍应用于每层利用多跳或全局上下文的图神经网络模型,会面临邻居顶点过量难以处理的问题,阻碍了图神经网络模型在大图上的应用。
也正是如此,如何对图神经网络模型及对应的图数据进行压缩,是本领域技术人员所需解决的技术问题。
发明内容
本发明的目的是提供一种图神经网络压缩方法、装置、电子设备及计算机可读存储介质,可基于智能体给出的最佳聚类簇数序列对图神经网络模型及对应的图数据实施增量聚类压缩,以降低其对硬件加速器的资源需求。
为解决上述技术问题,本发明提供一种图神经网络压缩方法,包括:
获取待训练的图神经网络模型及其对应的训练图数据;所述训练图数据包含图顶点及其对应的顶点特征;
控制强化学习的智能体学习所述图神经网络模型及所述训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于所述压缩训练结果生成最佳聚类簇数序列;聚类簇数序列中的聚类簇数与所述图神经网络模型中的图卷积层一一对应,所述聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使所述特征码字的数量等于所述聚类簇数;
利用所述最佳聚类簇数序列对所述图神经网络模型和训练图数据进行压缩及训练处理,得到最优图神经网络模型和最优图数据。
优选地,所述控制强化学习的智能体学习所述图神经网络模型及所述训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于所述压缩训练结果生成最佳聚类簇数序列,包括:
控制所述智能体利用动作策略生成所述聚类簇数序列;
控制所述智能体根据利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理得到的压缩训练结果更新所述动作策略,并在预设循环值耗尽前基于更新后的动作策略进入所述生成所述聚类簇数序列的步骤,直至所述预设循环值耗尽时输出所述最佳聚类簇数序列。
优选地,所述控制所述智能体根据利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理得到的压缩训练结果更新所述动作策略,并在预设循环值耗尽前基于更新后的动作策略进入所述生成所述聚类簇数序列的步骤,直至所述预设循环值耗尽时输出所述最佳聚类簇数序列,包括:
利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理,并确定处理后的图神经网络模型的模型压缩比及其执行指定任务时对应的性能值,以及确定处理后的训练图数据的数据压缩比;
利用所述性能值、所述模型压缩比及所述数据压缩比生成奖励值及状态向量,并在确定所述奖励值大于历史奖励值时,利用所述奖励值更新所述历史奖励值,以及将所述聚类簇数序列设置为所述最佳聚类簇数序列;
控制所述智能体利用所述状态向量、所述聚类簇数序列、所述奖励值更新所述动作策略,并在确定所述预设循环值耗尽前基于更新后的动作策略进入所述生成所述聚类簇数序列的步骤;
在确定所述预设循环值耗尽时,输出所述最佳聚类簇数序列。
优选地,所述性能值为AUC值。
优选地,所述控制所述智能体利用动作策略生成所述聚类簇数序列,包括:
将时间步设置为1,初始化历史状态向量,并控制所述智能体利用所述动作策略及所述历史状态向量生成所述聚类簇数序列;
相应的,所述控制所述智能体利用所述状态向量、所述聚类簇数序列、所述奖励值更新所述动作策略,包括:
利用所述性能值、所述模型压缩比及所述数据压缩比生成当前状态向量;
利用所述历史状态向量、所述聚类簇数序列、所述奖励值及所述当前状态向量生成转换数据,并利用所述转换数据及所述聚类簇数序列生成优势数据;
当确定所述时间步未达到预设时间步阈值时,对所述时间步加1,利用所述当前状态向量更新所述历史状态向量,并进入所述控制所述智能体利用所述动作策略及所述历史状态向量生成所述聚类簇数序列的步骤;
当确定所述时间步达到所述预设时间步阈值时,控制所述智能体利用所有所述转换数据、所述聚类簇数序列及所述优势数据更新所述动作策略。
优选地,所述控制所述智能体利用所述动作策略及所述历史状态向量生成所述聚类簇数序列,包括:
控制所述智能体利用所述动作策略及所述历史状态向量生成连续聚类簇数;
对所述连续聚类簇数进行离散化处理,得到所述聚类簇数;
利用所有所述聚类簇数生成所述聚类簇数序列。
优选地,所述对所述连续聚类簇数进行离散化处理,得到所述聚类簇数,包括:
以如下方式对所述连续聚类簇数进行离散化处理,得到所述聚类簇数;;其中,表示第个时间步中的第个聚类簇数,表示第个时间步中的第个连续聚类簇数,表示四舍五入函数,表示预设最小聚类簇数,表示预设最大聚类簇数。
优选地,所述智能体包括策略网络和价值网络,所述利用所述转换数据及所述聚类簇数序列生成优势数据,包括:
以如下方式利用所述转换数据及所述聚类簇数序列生成所述优势数据:;其中,表示所述动作策略,表示策略网络参数,表示第个时间步,表示所述历史状态向量,表示所述聚类簇数序列,表示所述策略网络基于动作策略在状态下采取作为动作所产生的优势数据,表示所述策略网络基于动作策略在状态下采取作为动作所产生的奖励值,表示当动作策略为及状态向量为时价值网络所生成的价值数据,表示价值网络参数;表示所述当前状态向量,表示当动作策略为及状态向量为时价值网络所生成的价值数据,表示预设折扣因子。
优选地,所述控制所述智能体利用所有所述转换数据、所述聚类簇数序列及所述优势数据更新所述动作策略,包括:
优选地,所述利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理,包括:
对所述图神经网络模型中各图卷积层的特征变换矩阵、特征向量码本及梯度码本进行随机初始化;所述特征向量码本中包含所述特征码字;
在同一所述特征向量码本中,根据所述训练图数据中的各顶点特征与各所述特征码字间的距离,将各所述顶点特征分类至各所述特征码字对应的类簇,并记录各所述顶点特征与所述类簇之间的对应关系,得到与所述特征向量码本对应的图卷积层的码字归属矩阵;
将批次值初始化为1,确定所述训练图数据中未训练的图顶点,并从所述未训练的图顶点中随机抽取预设数量的图顶点作为一个批次;
利用当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、特征向量码本及码字归属矩阵对各所述图卷积层依次进行前向信息传递;
确定完成所述前向信息传递时,利用预设损失函数、所述当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、码字归属矩阵及梯度码本对各所述图卷积层依次进行梯度后向传播;
利用所述当前批次的图顶点的顶点特征对完成所述梯度后向传播的各图卷积层的特征变换矩阵、特征向量码本及梯度码本进行增量更新;
在确定所述批次值小于指定值时,将所述当前批次的图顶点标记为已训练,对所述批次值加1,并进入所述确定所述训练图数据中未训练的图顶点的步骤;所述指定值由所述训练图数据中图顶点的总量与所述预设数量计算得到;
在确定所述批次值等于所述指定值时,进入所述确定处理后的图神经网络模型的模型压缩比及其执行指定任务时对应的性能值,以及确定处理后的训练图数据的数据压缩比的步骤。
优选地,所述利用当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、特征向量码本及码字归属矩阵对各所述图卷积层依次进行前向信息传递,包括:
以如下方式将所述目标图卷积层的卷积核划分为内部信息传递卷积核和外部信息传递卷积核:
其中,表示所述第层图卷积层的第q个卷积核,和分别表示第层图卷积层的第q个卷积核的内部信息传递卷积核及外部信息传递卷积核;表示所述当前批次的图顶点的编号;表示由任意行第列所构成的卷积核;表示由任意行第j列所构成的卷积核,且;表示一个n维的列向量,所有不属于行的元素为1,其余均为零;
其中,表示第层图卷积层的输入特征的近似值,表示非线性激活函数,表示第层图卷积层的输入特征,表示第层图卷积层的特征向量码本,,表示第层图卷积层的码字归属矩阵,表示所述训练图数据中所有的顶点特征,表示全为1的n维列向量,表示所述第层图卷积层的第q个卷积核的特征变换矩阵;
将下一图卷积层设置为所述目标图卷积层,并进入所述以如下方式将所述目标图卷积层的卷积核划分为内部信息传递卷积核和外部信息传递卷积核的步骤。
优选地,所述利用预设损失函数、所述当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、码字归属矩阵及梯度码本对各所述图卷积层依次进行梯度后向传播,包括:
其中,表示所述预设损失函数,表示在所述第层图卷积层中所述预设损失函数关于的梯度的近似值,表示在第层图卷积层中所述预设损失函数关于的梯度;表示第层图卷积层的梯度码本,,,表示所述训练图数据在第层图卷积层对应的所有顶点特征,表示的近似值。
优选地,在利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理之前,还包括:
当确定所述存储占用值大于预设存储占用阈值时,依次减小所述聚类簇数序列中的各个聚类簇数,并在每次完成减小时进入所述确定所述聚类簇数序列对应的存储占用值的步骤;
当确定所述存储占用值小于或等于所述预设存储占用阈值时,进入所述利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理的步骤。
优选地,所述确定处理后的图神经网络模型的模型压缩比,以及确定处理后的训练图数据的数据压缩比,包括:
以如下方式计算所述处理后的图神经网络模型的模型压缩比:
优选地,所述利用所述当前批次的图顶点的顶点特征对完成所述梯度后向传播的各图卷积层的特征向量码本进行增量更新,包括:
对完成所述梯度后向传播的各图卷积层的特征向量码本以如下方式进行增量更新:;;;其中,表示所述当前批次的编号,,n和b分别表示所述训练图数据中图顶点的总量和所述当前批次的图顶点的数量,表示所述当前批次内第i个类簇的图顶点数量,表示已训练的所有t个批次中属于第i个类簇的图顶点数量,表示所有已训练的t个批次中属于第i个类簇的所有顶点特征之和,表示所述当前批次中第i个类簇的特征码字,表示在处理所述当前批次时第层图卷积层的码字归属矩阵,表示所述当前批次对应的图顶点在第层图卷积层对应的输入特征,表示一个长度为、只有第i个元素为1的单位列向量,表示预设折扣因子。
优选地,在将批次值初始化为1之前,还包括:
将轮次值初始化为1,并进入所述将批次值初始化为1的步骤;
相应的,在确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比之前,还包括:
在确定所述轮次值小于预设轮次阈值时,对所述轮次值加1,将所述训练图数据中的所有图顶点标记为未训练,并进入所述将批次值初始化为1的步骤;
在确定所述轮次值等于所述预设轮次阈值时,进入所述确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比的步骤。
本发明还提供一种图神经网络压缩装置,包括:
获取模块,用于获取待训练的图神经网络模型及其对应的训练图数据;所述训练图数据包含图顶点及其对应的顶点特征;
智能体模块,用于控制强化学习的智能体学习所述图神经网络模型及所述训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于所述压缩训练结果生成最佳聚类簇数序列;聚类簇数序列中的聚类簇数与所述图神经网络模型中的图卷积层一一对应,所述聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使所述特征码字的数量等于所述聚类簇数;
压缩训练模块,用于利用所述最佳聚类簇数序列对所述图神经网络模型和训练图数据进行压缩及训练处理,得到最优图神经网络模型和最优图数据。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的图神经网络压缩方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的图神经网络压缩方法。
本发明提供一种图神经网络压缩方法,包括:获取待训练的图神经网络模型及其对应的训练图数据;所述训练图数据包含图顶点及其对应的顶点特征;控制强化学习的智能体学习所述图神经网络模型及所述训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于所述压缩训练结果生成最佳聚类簇数序列;聚类簇数序列中的聚类簇数与所述图神经网络模型中的图卷积层一一对应,所述聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使所述特征码字的数量等于所述聚类簇数;利用所述最佳聚类簇数序列对所述图神经网络模型和训练图数据进行压缩及训练处理,得到最优图神经网络模型和最优图数据。
可见,本发明首先可基于聚类簇数序列对待训练的图神经网络模型及训练图数据进行压缩及训练处理,其中聚类簇数序列中的聚类簇数与图神经网络模型中的图卷积层一一对应,聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使特征码字的数量等于聚类簇数。换句话说,本发明可对图神经网络模型中每一层图卷积层所需处理的顶点特征实施增量聚类压缩,用少量量化参考向量即码本,实现近似消息前向传递和近似梯度反向传播,大大减小图神经网络模型在训练和/或推理过程中对硬件加速器的资源需求;此外,考虑到图神经网络模型不同图卷积层的聚类压缩程度对下游图神经网络模型学习或推理性能影响不同,本发明特提出混合压缩策略,为不同图卷积层分配不同的聚类簇数。进一步,为找到最优聚类簇数,以在减小图神经网络模型和图数据体积的前提下尽量保证模型推理精度,本发明还使用了基于强化学习的自动搜索算法,其中基于强化学习的智能体可在庞大的状态空间中为图神经网络模型每一图卷积层自动搜索最优的聚类簇数,大幅压缩图神经网络模型和图顶点特征数据规模,降低图神经网络模型训练推理对硬件资源的需求,并可加快图神经网络模型的训练推理速度。本发明还提供一种图神经网络模型压缩装置、电子设备及计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种图神经网络压缩方法的流程图;
图2为本发明实施例所提供的一种图神经网络模型的结构示意图;
图3为本发明实施例所提供的一种图神经网络压缩系统的结构框图;
图4为本发明实施例所提供的一种图神经网络压缩装置的结构框图;
图5为本发明实施例所提供的一种电子设备的结构框图;
图6为本发明实施例所提供的一种计算机可读存储介质的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为对图神经网络模型及图数据进行有效压缩,以在确保该模型具有较高的链接预测性能的基础上,尽可能降低其对硬件设备的资源需求,本发明可提供一种图神经网络压缩方法,可利用最佳聚类簇数序列对图神经网络模型及对应的图数据实施增量聚类压缩,进而大大减小图神经网络模型在训练和/或推理过程中对硬件设备的资源需求;此外,为提升最佳聚类簇数的生成效率,本发明将利用强化学习的智能体自主学习待训练的图神经网络模型及其对应的训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于学习结果自动给出最佳聚类簇数,进而能够显著提升最佳聚类簇数序列的生成效率。具体的,请参考图1,图1为本发明实施例所提供的一种图神经网络压缩方法的流程图,该方法可以包括:
S101、获取待训练的图神经网络模型和及其对应的训练图数据;训练图数据包含图顶点及其对应的顶点特征。
应当指出的是,本步骤中获取的图神经网络模型是未经训练的图神经网络模型,而训练图数据则是用于训练这一待训练模型的图数据。本发明实施例将在训练过程中对图神经网络模型及训练图数据实施压缩,这是由于在训练图神经网络模型时,通过反向传播计算完整梯度需要存储所有顶点在所有层的中间嵌入,而这需要大量的存储空间,进而将为内存预算非常有限的小型设备带来巨大的计算压力,并最终导致该设备难以对图神经网络模型进行有效训练。因此,本发明实施例在图神经网络模型的训练过程中对其实施压缩,以用压缩数据实现近似消息前向传递和近似梯度反向传播,不仅可显著降低训练图神经网络模型所需的存储资源量,同时还可大幅缩小图神经网络模型及图数据的体积,进而也可降低部署该模型所需的存储资源量,以及降低部署该模型的其他硬件资源限制条件。
为便于理解,本发明实施例接下来将对图数据和图神经网络模型进行简单介绍。图数据是图神经网络的基本输入内容。考虑一个具有n个顶点和m条边的图G=(V, E),即有|V|=n和|E|=m,图顶点的平均度数为d=m/n。图中各图顶点的连通性由邻接矩阵给出,元素表示图顶点和相邻接,则表示不邻接。每个顶点都有长度为的特征向量,所有图顶点的特征向量组成顶点特征矩阵,其中在本发明实施例中均用于指代矩阵,如表示为一个的矩阵。在本发明实施例中,图数据中具体要被压缩的部分为上述顶点特征矩阵,该矩阵属于浮点型数据。应当指出的是,尽管图数据中一般包含图顶点、各图顶点的顶点特征及记录有各图顶点间连通性的邻接矩阵(或邻接表),但由于本申请实施例并不会对邻接矩阵进行压缩,且邻接矩阵在本申请实施例中的用途与其在未经压缩的图神经网络模型中的用途一致,因此本申请实施例将不过多描述图神经网络模型对邻接矩阵的具体处理方式,可参考图神经网络的相关技术。
进一步,图神经网络是一种能够处理不规则结构数据的特殊神经网络。尽管图神经网络的结构可遵循不同指导原则进行设计,但几乎所有图神经网络都可以解释为对顶点特征执行消息传递,然后是特征变换和激活。图2展示了一个典型的图神经网络的结构:它由输入层、L层图卷积层和输出层组成。输入层负责读取记录有图拓扑结构的邻接矩阵A(或记录有图拓扑结构的邻接表AdjList)以及顶点特征矩阵。图卷积层负责提取顶点特征,对于每一层图卷积层,它读入邻接矩阵A(或邻接表AdjList)以及顶点特征矩阵,经由图卷积操作和非线性变换,输出新的顶点特征矩阵,并将输入至下一层图卷积层。输出层根据任务的不同自由设定,如在处理链接预测任务时,输出层用于计算任意两个顶点之间存在链接的可能性得分,该得分越高,链接存在的可能性越大,反之则越小。处理链接预测任务的输出层通常可利用非线性激活函数实现:;
应当指出的是,本发明实施例并不限定具体的图神经网络模型、图数据及链接预测任务。正如上文所述,图神经网络模型的结构可遵循不同指导原则进行设计;同时,可以理解的是,对于不同应用领域的链接预测任务,图数据的具体内容甚至是其复杂度都可能不同,因此具体的图神经网络模型和图数据可根据实际应用需求进行选择。本发明实施例之所以可对各类图神经网络及图数据进行压缩,是由于本发明实施例采用了强化学习方式来确定图神经网络及图数据对应的最佳聚类簇数,而强化学习技术对各类环境均有较强的适应性,因此本发明实施例所提供的压缩方法适用于执行链接预测任务的各类图神经网络模型。
S102、控制强化学习的智能体学习图神经网络模型及训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于压缩训练结果生成最佳聚类簇数序列;聚类簇数序列中的聚类簇数与图神经网络模型中的图卷积层一一对应,聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使特征码字的数量等于聚类簇数。
如上所述,本发明实施例将使用聚类簇数序列对图神经网络模型及其对应的训练图数据中各图顶点的顶点特征进行压缩。其中,聚类簇数序列中的聚类簇数与图神经网络模型中的图卷积层一一对应,这些聚类簇数具体用于将输入至对应图卷积层的顶点特征压缩为该图卷积层所需处理的特征码字,以使特征码字的数量等于聚类簇数,其中输入至该图卷积层的顶点特征的数量大于该聚类簇数。这些特征码字由输入至对应图卷积层的顶点特征聚类得到,即简单来讲,本发明实施例将利用特征码字对顶点特征进行替代,以在降低数据计算量的同时实现近似的前向信息传递和梯度反向传播,进而达到降低训练数据量和模型大小的目的;此外,考虑到不同图卷积层对聚类压缩程度的敏感程度不同,进而对不同图卷积层施加不同聚类压缩力度对下游图神经网络模型的学习及推理影响不同,因此本发明实施例特别地为每一图卷积层都设置了对应的聚类簇数,以确保对不同图卷积层采取不同的力度进行压缩,并可进一步降低压缩对模型性能的影响。关于聚类簇数、特征码字的具体生成方式请参考后续实施例中的相关介绍。可以理解的是,聚类簇数在聚类簇数序列中是有序排列的,该排列顺序与各聚类簇数对应图卷积层在图神经网络模型中的顺序是相同的。
进一步,为提升最佳聚类簇数序列的确定效率,本发明实施例将采用基于强化学习技术的智能体自主学习图神经网络模型及训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于这一结果自动给出最佳聚类簇数序列。换句话说,本发明实施例将不断地利用新的聚类簇数序列对训练图数据对图神经网络模型进行压缩和训练,并将每轮压缩训练结果返回给智能体,以便其进行学习。具体的,上述聚类簇数序列可由智能体自动给出,即可控制智能体利用动作策略(智能体自主给出聚类簇数序列所需参照的信息)自主生成聚类簇数序列,并利用这一聚类簇数序列对图神经网络模型和训练图数据进行压缩训练,进而将压缩训练结果返回给智能体,以使智能体利用这一结果更新动作策略,并利用更新后的策略生成下一组聚类簇数序列;在进行多轮迭代后,由智能体挑选出聚类压缩及训练效果最好的最佳聚类簇数序列并输出。
在一种可能的情况中,控制强化学习的智能体学习图神经网络模型及训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于压缩训练结果生成最佳聚类簇数序列,可以包括:
步骤11:控制智能体利用动作策略生成聚类簇数序列;
步骤12:控制智能体根据利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理得到的压缩训练结果更新动作策略,并在预设循环值耗尽前利用更新后的动作策略继续进入生成聚类簇数序列的步骤,直至预设循环值耗尽时输出最佳聚类簇数序列。
需要说明的是,本发明实施例并不限定具体的预设循环值,可根据实际应用需求进行设定。
S103、利用最佳聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理,得到最优图神经网络模型和最优图数据。
在得到最佳聚类簇数序列之后,需利用该最佳聚类簇数序列对图神经网络模型和训练图数据进行重新压缩及训练,以得到压缩效果及训练效果最佳的最优图神经网络模型和最优图数据。
基于上述实施例,本发明首先可基于聚类簇数序列对待训练的图神经网络模型及训练图数据进行压缩及训练处理,其中聚类簇数序列中的聚类簇数与图神经网络模型中的图卷积层一一对应,聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使特征码字的数量等于聚类簇数。换句话说,本发明可对图神经网络模型中每一层图卷积层所需处理的顶点特征实施增量聚类压缩,用少量量化参考向量即码本,实现近似消息前向传递和近似梯度反向传播,大大减小图神经网络模型在训练和/或推理过程中对硬件加速器的资源需求;此外,考虑到图神经网络模型不同图卷积层的聚类压缩程度对下游图神经网络模型学习或推理性能影响不同,本发明特提出混合压缩策略,为不同图卷积层分配不同的聚类簇数。进一步,为找到最优聚类簇数,以在减小图神经网络模型和图数据体积的前提下尽量保证模型推理精度,本发明还使用了基于强化学习的自动搜索算法,其中基于强化学习的智能体可在庞大的状态空间中为图神经网络模型每一图卷积层自动搜索最优的聚类簇数,大幅压缩图神经网络模型和图顶点特征数据规模,降低图神经网络模型训练推理对硬件资源的需求,并可加快图神经网络模型的训练推理速度。
基于上述实施例,下面对利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理的方式进行详细介绍。
首先对顶点特征矩阵、码本、码字及码字归属矩阵间的相关关系及相关生成方式进行介绍。作为减小数据和模型规模的有效手段,矢量量化(也可称为聚类压缩)可用码本中与输入矢量最匹配的码字的索引代替输入矢量进行传输与存储,而解码时仅需要简单地查表操作。其突出优点是压缩比大、解码简单且能够很好地保留信号的细节。不妨以顶点特征矩阵为例,简单介绍矢量量化的基本原理,其中顶点特征矩阵即为包含所有顶点特征的矩阵,表示顶点特征的总量,表示各顶点特征的特征维度。不妨记经由矢量量化压缩后的顶点特征矩阵为,本发明实施例将称为特征码本,其中表示特征码字的数量,。矢量量化压缩问题,就是要找到一个最优的码字归属矩阵,使得压缩前后的两个矢量间距离最小。距离越小,意味着信息损失越少,反之则越大。其中,中的元素若等于1则表示将图顶点的特征唯一指派给特征码字,意味着与最匹配,进而意味着将用于替代来被图神经网络模型进行处理。因为是唯一指派,所以除第j列以外,第i行所有其他列元素均为0,因此,是一个k维的单位行向量。
上述矢量量化压缩问题可建模为一个优化问题,优化目标是尽量减少量化压缩前后两个矢量的距离,而约束条件是每个顶点特征都唯一分配到一个码字。此处用两者差的L2范数(又称欧氏范数)表示这一距离。目标函数和约束条件可表示为如下形式:
当然,在实际应用中,由于图神经网络模型通常采用小批量随机梯度下降法进行训练,即图数据将被分为多个批次(Batch),而在图神经网络模型每轮训练中仅使用一个批次的图数据进行训练。在这种情况下,无法一次性使用全量的训练图数据生成特征码本,因此本发明实施例可通过小批量K均值(mini-batch k-means)的方式实现上述聚类操作,即通过多个批次迭代计算得到最终的特征码本和码字归属矩阵,而在每次迭代中间也可通过指数移动平均方法进行在线更新特征码本和码字归属矩阵,以实现同样的聚类效果。后文将会介绍特征码本、码字归属矩阵的更新方式。
进一步,除了对图顶点特征进行压缩外,本发明实施例还对图神经网络模型中的每一图卷积层进行了压缩。具体的,在利用小批量随机梯度下降法进行训练的过程中,对于每一批次中的每个图顶点(利用表示批次,,表示该批次的图顶点的编号),在计算其在第l+1个图卷积层对应的嵌入时,需要用到该图顶点的邻居顶点在前一层即第l层的嵌入,其中包含有图顶点的所有邻居,可从邻接表或邻接矩阵中得到。然而,图顶点可能在当前批次中,也可能不在。换而言之,当前批次的图顶点可能需要与处于当前批次的其他顶点进行消息传递,也可能需要与不处于当前批次的顶点进行消息传递。也正因如此,为计算第l+1层图顶点的嵌入,需要将第l层的第q个卷积核拆分成两部分,即和,其中表示用于计算当前批次内部顶点之间消息传递的卷积核表示由任意行第列所构成的卷积核;而表示用于计算当前批次中的内部顶点与当前批次外的外部顶点之间消息传递的卷积核,其可通过将中属于的列置零得到,即,表示由任意行第j列所构成的卷积核,且,表示一个n维的列向量,所有不属于的行的元素为1,其余均为零。
在完成对图卷积核的划分后,在进行消息传递的过程中,同一批次内顶点间消息传递可通过得到,其中表示当前批次的图顶点在第l层图卷积层对应的顶点特征;而批次之外的图顶点发送给批次内的图顶点的消息可通过近似计算得到,其中,。综上所述,单批次的顶点消息传递可通过如下公式近似计算得到:;
上面介绍了压缩后的图数据和图神经网络模型的具体形式,而本发明实施例的最终目的就是要为其每一图卷积层的顶点特征矩阵和图卷积核找到最优的码字归属矩阵,以在保证单个批次的图顶点特征数据和整个图神经网络模型均能够完全加载至资源受限设备内存的情况下,使得图神经网络模型拥有最佳的链接预测性能和最小的体积。在采用链接预测准确度、数据压缩率和模型压缩率来描述图神经网络模型的性能及图神经网络和训练图数据的体积时,本发明实施例的目的可简单描述为:在存储限制条件的约束下,找到最优的码字归属矩阵,以使压缩后的图神经网络模型和训练图数据对应的链接预测准确度、数据压缩率和模型压缩率之和最大。本发明实施例所面对的图神经网络模型压缩问题可形式化描述为:
其中表示在聚类簇数序列对应的AUC值,AUC(Area Under Curve,受试者工作特征曲线(ROC,receiver operating characteristic curve)下与坐标轴围成的面积)在本发明实施例中用于衡量图神经网络模型的链接预测准确度。当然,AUC也可以被替换为准确度或其他性能指标;表示压缩后的图神经网络模型及训练图数据对应的整体体积,表示所占存储空间大小,表示用于部署及训练图神经网络模型的硬件加速器的存储容量预算。
针对上述图神经网络模型压缩问题,本发明实施例提出了基于智能聚类的图神经网络压缩方法,该方法可借助强化学习算法强大的搜索能力为每一图卷积层寻找最优聚类簇数,利用mini-batch k-means聚类方法以批次为单位,增量式地将图顶点分成个类簇,得到L个码字归属矩阵。随后,可基于上述实施例中的相关公式对顶点特征矩阵和卷积核进行压缩,并实施前向消息传递,直至到达输出层;而输出层根据上述实施例中的相关公式计算图神经网络链接预测准确度和损失函数loss的值,并计算损失函数关于顶点特征矩阵的梯度;在梯度反向传播过程中,对于每一图卷积层,借助同一码字归属矩阵进行梯度近似计算;而在完成梯度反向传播之后,对于每一图卷积层,以当前批次的顶点特征矩阵和旧的码字归属矩阵为输入,使用指数移动平均方法更新码字归属矩阵、特征码本和梯度码本。关于强化学习在本发明实施例中的具体使用方式可参考后续实施例。
接下来将介绍通过指数移动平均方法进行在线更新码本和码字归属矩阵的具体执行方式。不妨设当前批次的编号为,n和b分别表示训练图数据中图顶点的总量和当前批次的顶点特征的数量,记内属于第个类簇的图顶点数为,记所有已训练的t个批次中属于第i个类簇的顶点数、属于第i个类簇所有顶点特征之和分别为和,则第t个批次中第个类簇的中心点即码字可通过如下公式更新获得:;;;
其中,表示一个长度为维的单位列向量,只有第i个元素为1,其余均为零;得到的是内所有属于第i个类簇的顶点特征之和。所有个码字即组成更新后的图神经网络模型第l层图卷积层对应的顶点特征码本。对于批次t的每个顶点v,计算其在第l层的顶点特征与个更新后的码字的距离,取距离最近的那个码字作为该顶点的最新码字,并更新码字归属矩阵。梯度码本可通过类似的方法实现增量更新。
基于上述描述,下面对利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理的具体过程进行介绍。在一种可能的情况中,利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理,可以包括:
S201、对图神经网络模型中各图卷积层的特征变换矩阵、特征向量码本及梯度码本进行随机初始化;特征向量码本中包含特征码字。
需要说明的是,本发明实施例并不限定随机初始化的具体过程,可参考图神经网络模型的相关技术。
S202、在同一特征向量码本中,根据训练图数据中的各顶点特征与各特征码字间的距离,将各顶点特征分类至各特征码字对应的类簇,并记录各顶点特征与类簇之间的对应关系,得到特征向量码本对应的图卷积层的码字归属矩阵。
为提升效率,本发明实施例将通过步骤S202初始化码字归属矩阵,即计算各顶点特征与各个刚初始化的特征码字间的距离,并根据这一距离将各顶点特征分类至对应类簇,进而根据归属情况初始化码字归属矩阵。
S203、将批次值初始化为1,确定训练图数据中未训练的图顶点,并从未训练的图顶点中随机抽取预设数量的图顶点作为一个批次。
本发明实施例接下来将把训练图数据划分成若干个批次,并分批次训练图神经网络模型。当然,为了提升图神经网络模型对训练图数据的学习程度,也可执行多轮小批量随机梯度下降,即在利用所有批次的训练图数据完成对图神经网络模型的训练后,再对训练图数据进行重新划分,并基于重新划分结果对图神经网络模型进行下一轮小批量随机梯度下降过程,依次类推,执行N轮。
在一种可能的情况中,在将批次值初始化为1之前,还包括:
步骤21:将轮次值初始化为1,并进入将批次值初始化为1的步骤。
需要说明的是,本发明实施例并不限定每个批次所包含的目标顶点特征的预设数量,可根据实际应用需求进行设定。可以理解的是,批次值对应的阈值等于顶点特征总量除以该预设数量。
S204、利用当前批次的图顶点的顶点特征、各图卷积层的特征变换矩阵、特征向量码本及码字归属矩阵对各图卷积层依次进行前向信息传递。
需要指出的是,各图卷积层在对顶点特征进行处理的过程中,通常还需要使用表征图拓扑结构的邻接矩阵或邻接表作为参考。然而这一参考动作与本发明实施例所提供的压缩及训练步骤无关,因此此处不做赘述。关于邻接矩阵或邻接表在图卷积层中的具体应用情况,可参考图神经网络模型的相关技术。
在一种可能的情况中,利用当前批次的图顶点的顶点特征、各图卷积层的特征变换矩阵、特征向量码本及码字归属矩阵对各图卷积层依次进行前向信息传递,可以包括:
步骤32:以如下方式将目标图卷积层的卷积核划分为内部信息传递卷积核和外部信息传递卷积核:
其中,表示第层图卷积层的第q个卷积核,和分别表示第层图卷积层的第q个卷积核的内部信息传递卷积核及外部信息传递卷积核;表示当前批次的图顶点的编号;表示由任意行第列所构成的卷积核;表示由任意行第j列所构成的卷积核,且;表示一个n维的列向量,所有不属于行的元素为1,其余均为零;
步骤33:以如下方式利用目标图卷积层的输入特征、内部信息传递卷积核、外部信息传递卷积核、特征向量码本、码字归属矩阵及特征变换矩阵对目标图卷积层进行前向信息传递,得到下一图卷积层的输入特征:
其中,表示第层图卷积层的输入特征的近似值,表示非线性激活函数,表示第层图卷积层的输入特征,表示第层图卷积层的特征向量码本,,表示第层图卷积层的码字归属矩阵,表示训练图数据中所有的顶点特征,表示全为1的n维列向量,表示所述第层图卷积层的第q个卷积核的特征变换矩阵;
步骤34:将下一图卷积层设置为目标图卷积层,并进入以如下方式将目标图卷积层的卷积核划分为内部信息传递卷积核和外部信息传递卷积核的步骤。
应当特别指出的是,在进行前向信息传递时,图神经网络模型还会使用到训练图数据中记录有各图顶点连通性的邻接表或邻接矩阵,以基于邻接表及邻接矩阵确定图顶点间的消息传递方向。然而,由于本发明实施例并未对邻接表或邻接矩阵进行压缩,且其在图神经网络模型中的用途并不受压缩处理的影响,因此关于图神经网络模型对邻接表或邻接矩阵的使用方式请参见图神经网络模型的相关技术。
S205、确定完成前向信息传递时,利用预设损失函数、当前批次的图顶点的顶点特征、各图卷积层的特征变换矩阵、码字归属矩阵及梯度码本对各图卷积层依次进行梯度后向传播。
在一种可能的情况中,利用预设损失函数、当前批次的图顶点的顶点特征、各图卷积层的特征变换矩阵、码字归属矩阵及梯度码本对各图卷积层依次进行梯度后向传播,可以包括:
其中,表示预设损失函数,表示在第层图卷积层中预设损失函数关于的梯度的近似值,表示在第层图卷积层中预设损失函数关于的梯度;表示第层图卷积层的梯度码本,,,表示所述训练图数据在第层图卷积层对应的所有顶点特征,表示的近似值。
S206、利用当前批次的图顶点的顶点特征对完成梯度后向传播的各图卷积层的特征变换矩阵、特征向量码本及梯度码本进行增量更新。
下面将以特征向量码本的增量更新为例进行介绍。应当指出的是,特征变换矩阵、梯度码本可基于相同的思路进行增量更新。
在一种可能的情况中,利用当前批次的图顶点的顶点特征对完成梯度后向传播的各图卷积层的特征向量码本进行增量更新,可以包括:
其中,表示当前批次的编号,,n和b分别表示训练图数据中图顶点的总量和当前批次的图顶点的数量,表示当前批次内第i个类簇的图顶点数量,表示所有已训练的t个批次中属于第i个类簇的图顶点数量,表示所有已训练的t个批次中属于第i个类簇的所有顶点特征之和,表示当前批次中第i个类簇的特征码字,表示在处理当前批次时第层图卷积层的码字归属矩阵,表示当前批次对应的图顶点在第层图卷积层对应的输入特征,表示一个长度为、只有第i个元素为1的单位列向量,表示预设折扣因子。
S207、在确定批次值小于指定值时,将当前批次的图顶点标记为已训练,对批次值加1,并进入确定训练图数据中未训练的顶点特征的步骤;指定值由训练图数据中图顶点的总量与预设数量计算得到。
可以理解的是,指定值即等于顶点特征总量除以该预设数量。
S208、在确定批次值等于指定值时,进入确定处理后的图神经网络模型的模型压缩比及其执行指定任务时对应的性能值,以及确定处理后的训练图数据的数据压缩比的步骤。
当然,为提升图神经网络模型对训练图数据的感知情况,在进入确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比的步骤之前,还可再继续进行一轮小批量随机梯度下降,即在确定预设轮次阈值耗尽之前,对轮次值加一,并对训练图数据进行重新划分,并基于重新划分结果对图神经网络模型进行下一轮小批量随机梯度下降过程,直至预设轮次阈值耗尽时才进入确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比的步骤。
相应的,在确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比之前,还包括:
步骤71:在确定轮次值小于预设轮次阈值时,对轮次值加1,将训练图数据中的所有图顶点标记为未训练,并进入将批次值初始化为1的步骤;
步骤72:在确定轮次值等于预设轮次阈值时,进入确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比的步骤。
需要说明的是,本发明实施例并不限定预设轮次阈值的具体数值,可根据实际应用需求进行设定。
下面对压缩后的图神经网络模型在正常执行链接预测任务时对图数据的处理方式进行简单介绍。首先,在将图数据(如记录有用户间好友关系的社交网络)输入至完成训练的图神经网络模型之前,需将图数据中的图顶点划分为多个批次;随后,图神经网络模型的各图卷积层将加载对应的内部信息传递卷积核、外部信息传递卷积核及码字归属矩阵,以及根据当前处理批次的图顶点的顶点ID到邻接表或邻接矩阵中查找对应的邻居顶点ID、根据顶点ID及邻居顶点ID到顶点特征矩阵中查找对应的顶点特征及邻居顶点特征,进而将顶点特征及邻居顶点特征输入至各图卷积层进行前向消息传递处理。在完成前向消息传递处理之后,图卷积层将把处理结果输入至图神经网络模型的输出层,并由输出层利用非线性激活函数预测各图顶点之间存在链接的可能性得分或概率(如预测用户间成为好友的可能性得分或概率)。
基于上述实施例,由于存储占用量是本发明实施例对压缩后图神经网络模型的重要考量指标,而这一指标直接决定硬件加速器能否训练图神经网络模型,因此本发明实施例可在智能体给出聚类簇数序列之后,立刻计算该聚类簇数序列对应的存储占用值,并确定存储占用值是否符合要求,若不符合要求则需要对聚类簇数序列进行调整,以满足应用需求。在一种可能的情况中,在利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理之前,还可以包括:
S301、以如下方式确定聚类簇数序列对应的存储占用值;
换句话说,本发明实施例将预先确定压缩后的特征码本、图卷积核、特征变换矩阵及梯度特征码本的体积是否满足应用需求,若不满足则需要对聚类簇数序列进行调整。
S302、当确定存储占用值大于预设存储占用阈值时,依次减小聚类簇数序列中的各个聚类簇数,并在每次减小完成时进入确定聚类簇数序列对应的存储占用值的步骤;
S303、当确定存储占用值小于或等于预设存储占用阈值时,进入利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理的步骤。
需要说明的是,本发明实施例并不限定预设存储占用阈值的具体数值,可根据实际应用情况进行设置。
基于上述实施例,下面将对压缩图神经网络模型及训练图数据的具体过程进行详细介绍。为便于理解,首先对后文中出现的动作、动作策略、时间步、奖励值及转换数据进行介绍。动作为智能体根据动作策略所给出的信息,而动作策略为智能体在历史环境条件下为了给定动作所需参考的参数信息。在本发明实施例中,动作即为当前轮压缩训练所要使用的聚类簇数序列,而历史环境条件则为图神经网络模型和训练图数据经过上一轮压缩训练处理之后对应的压缩训练结果。确定一个完整动作的过程称作一次策略(episode),为提升智能体对环境的感知程度,一次策略可进一步包含若干个时间步(step),即智能体需在时间步数值耗尽前,利用当前策略不断更新聚类簇数序列,直至时间步数值耗尽时,基于图神经网络模型和训练图数据在各时间步中对应的压缩训练结果对当前策略进行更新。当然,为进一步提升环境感知程度,智能体将进行多次策略流程。进一步,在每完成一次压缩训练后,可根据图神经网络模型和训练图数据的压缩训练结果生成奖励值,该奖励值表示对模型和数据施加聚类簇数序列对应的压缩力度后,该模型和数据在关注指标方面(如压缩比、执行链接预测任务的性能等方面)的表现情况,通常可基于奖励值大小来挑选最佳的聚类簇数序列。进一步,在每完成一次压缩训练后,还可生成转换数据,该数据具体由历史状态向量、动作、奖励值及当前状态向量组成,历史状态向量用于记录图神经网络模型和训练图数据在上一轮压缩训练处理之后对应的压缩训练结果,当前状态向量相应用于记录图神经网络模型和训练图数据在当前轮压缩训练处理之后对应的压缩训练结果。智能体具体通过转换数据来感知不同策略所带来的环境变化情况。需要说明的是,本发明实施例并不限定智能体所基于的具体算法,可根据实际应用需求进行设定。优选地,智能体可基于近端策略优化算法(Proximal Policy Optimization,PPO)。
基于上述介绍,下面将详细介绍智能体迭代生成聚类簇数序列以及更新动作策略的过程。在一种可能的情况中,控制强化学习的智能体学习图神经网络模型及训练图数据在不同聚类簇数序列条件下的训练结果,并基于训练结果生成最佳聚类簇数序列,可以包括:
S401、控制智能体利用动作策略生成聚类簇数序列。
如上所述,智能体可通过多个时间步来不断更新动作策略,以提升对环境的感知程度;此外,智能体在每次生成聚类簇数序列时,都需要参考图神经网络模型和训练图数据经过上一轮压缩训练处理之后对应的压缩训练结果,即都需要参考历史状态向量。本发明实施例并不限定状态向量具体包含的内容,只要能够反映压缩训练成效即可。考虑到本发明实施例具体考察压缩训练后的模型及数据对应的体积及性能,因此状态向量中具体可包含反映体积和性能的数据,具体为图神经网络模型和图数据的模型压缩比和数据压缩比,以及图神经网络模型在执行指定任务时对应的性能值。
在一种可能的情况中,控制强化学习的智能体利用动作策略生成聚类簇数序列,可以包括:
步骤81:将时间步设置为1,初始化历史状态向量,并控制智能体利用动作策略及历史状态向量生成聚类簇数序列。
历史状态向量可初始化为零向量,即模型压缩比、数据压缩比和性能值的初始可均设置为0。为提升动作连续性,智能体可首先利用动作策略生成连续聚类簇数,并对连续聚类簇数进行离散化处理,以得到训练过程中实际需要使用到的聚类簇数。
在一种可能的情况中,控制智能体利用动作策略及历史状态向量生成聚类簇数序列,可以包括:
步骤91:控制智能体利用动作策略及历史状态向量生成连续聚类簇数;
步骤92:对连续聚类簇数进行离散化处理,得到聚类簇数;
步骤93:利用所有聚类簇数生成聚类簇数序列。
在一种可能的情况中,对连续聚类簇数进行离散化处理,得到聚类簇数,可以包括:
S402、利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理,并确定处理后的图神经网络模型的模型压缩比及其执行指定任务时对应的性能值,以及确定处理后的训练图数据的数据压缩比。
在一种可能的情况中,确定处理后的图神经网络模型的模型压缩比,以及确定处理后的训练图数据的数据压缩比,可以包括:
步骤1001:以如下方式计算处理后的图神经网络模型的模型压缩比:
步骤1002:以如下方式计算处理后的训练图数据的数据压缩比:
进一步,需要说明的是,本发明实施例并不限定具体的性能值。常见的链接预测评价标准有两种:AUC和精确率(Precision)。对于AUC,将图数据集G=(V, E)划分为训练集、测试集。记集合V中任意两个顶点之间所有可能的边组成的集合为,记属于但不属于E的边集合为不存在边集合。对于一种给定的链接预测的方法,需要对中每条边赋予一个分数值。如果对它们的得分进行排名,则AUC可以被解释为在测试集中随机选择的一条边比在中随机选择的不存在的边具有更高分数的概率。在具体实现中,每次通常以随机方式选择测试集中的链接和中不存在的链接并比较它们的分数.如果在n次独立比较中,有n'次中的链接得分较高,而n''次得分相同,则AUC值可通过如下公式计算得到:对于精确率precision,它定义为在得分最高的前H个预测边中被预测准确的比例。如果有h个预测准确,即排在前H的边中有h个为存在的边,则精确率定义为:precision=h/H。优选地,本发明实施例可采用AUC值作为性能值。当然,为满足其他需求,也可采用精确率或者其他指标。
S403、利用性能值、模型压缩比及数据压缩比生成奖励值及状态向量,并在确定奖励值大于历史奖励值时,利用奖励值更新历史奖励值,以及将聚类簇数序列设置为最佳聚类簇数序列。
S404、控制智能体利用状态向量、聚类簇数序列、奖励值更新动作策略,并在确定预设循环值耗尽前基于更新后的动作策略进入所述生成所述聚类簇数序列的步骤;
如上所述,为提升智能体对环境的感知程度,一次策略可进一步包含若干个时间步(step),即智能体需在时间步数值耗尽前,利用当前策略不断更新聚类簇数序列,直至时间步数值耗尽时,基于图神经网络模型和训练图数据在各时间步中对应的压缩训练结果对当前策略进行更新。因此,动作策略的更新时机将根据时间步的耗尽情况而定。需要说明的是,本发明实施例并不限定具体的时间步阈值,可根据实际应用需求进行设定。
进一步,本发明实施例所采用的近端策略优化算法是一种基于Actor-Critic框架的在线策略梯度算法(Online Policy Gradient Algorithm),其在信任区域策略优化(trust region policy optimization,TRPO)算法的基础上做出了诸多改进。该算法的核心思想是,通过一种重要性采样方法,将策略梯度算法中的在线策略(On-policy)的训练过程转化为离线策略(Off-policy),即从在线学习转化为离线学习,某种意义上与基于值迭代算法中的经验回放有异曲同工之处。通过该改进,训练速度与效果在实验上相较于策略梯度具有明显提升。
新旧策略下的概率比为:
为保证新旧策略足够接近,TRPO算法使用库尔贝克-莱布勒(Kullback-Leibler,KL)散度来衡量不同策略之间的距离,并要求任意新旧策略之间的距离不大于一个比较小的常数。该约束定义了策略空间中的一个KL球,被称为信任区域。上述优化问题可通过泰勒展开近似、共轭梯度、线性搜索等方法直接求解。但是,求解对应的计算过程非常复杂,每一步的策略更新运算量非常大。PPO对TRPO进行了简化。具体来说,PPO有两种形式,一是PPO-惩罚,二是PPO-截断。本发明实施例具体使用了PPO截断进行了优化。PPO截断的目标函数具体可表示为:其中,表示第m次迭代时,新旧策略下的概率比;是一个截断函数,表示将x的值限制在[l, r]内;是一个超参数,通常取0.1或0.2。换句话说,中的在本发明实施例中具体对应为PPO截断的目标函数。
在一种可能的情况中,控制智能体利用状态向量、聚类簇数序列、奖励值更新动作策略,可以包括:
步骤1001:利用性能值、模型压缩比及数据压缩比生成当前状态向量;
步骤1002:利用历史状态向量、聚类簇数序列、奖励值及当前状态向量生成转换数据,并利用转换数据及聚类簇数序列生成优势数据。
在一种可能的情况中,智能体包括策略网络和价值网络,利用转换数据及聚类簇数序列生成优势数据,可以包括:
其中,表示动作策略,表示策略网络参数,表示第个时间步,表示历史状态向量,表示聚类簇数序列,表示策略网络基于动作策略在状态下采取作为动作所产生的优势数据,表示策略网络基于动作策略在状态下采取作为动作所产生的奖励值,表示当动作策略为及状态向量为时价值网络所生成的价值数据,表示价值网络参数;表示当前状态向量,表示当动作策略为及状态向量为时价值网络所生成的价值数据,表示预设折扣因子。
步骤1003:当确定时间步未达到预设时间步阈值时,对时间步加1,利用当前状态向量更新历史状态向量,并进入控制智能体利用动作策略及历史状态向量生成聚类簇数序列的步骤;
步骤1004:当确定时间步达到预设时间步阈值时,控制智能体利用所有转换数据、聚类簇数序列及优势数据更新动作策略。
在一种可能的情况中,控制智能体利用所有转换数据、聚类簇数序列及优势数据更新动作策略,可以包括:
应当指出的是,上述预设目标函数为PPO截断的目标函数。当然,为满足其他需求,该目标函数也可以为PPO惩罚的目标函数、TRPO算法的目标函数等。
S405、在确定预设循环值耗尽时,输出最佳聚类簇数序列。
下面将对本发明实施例所提供的图神经网络压缩方法的完整流程进行介绍。请参考图3,图3为本发明实施例所提供的一种图神经网络模型压缩系统的结构框图。以下是具体步骤:
1、搭建一个由一台主机和一个硬件加速器组成的异构加速系统。硬件加速器可以选择较小内存的GPU通用加速器,也可以是半定制化的FPGA或全定制的ASIC芯片。深度学习框架可以采用TensorFlow或者DGL或者PyG等。硬件加速器中通常包含多个计算单元(PE,Processor Element)及一个累加器X,其中计算单元用于进行数据计算,而累加器用于整合各计算单元的计算结果,计算单元和累加器的一种连接方式可以如图3所示。
2、选择典型的图神经网络模型(如GraphSage和GAT等)、图数据集和相应的图学习任务(如面向社交网络好友推荐的链接预测任务),设计与学习任务匹配的目标函数和评价标准。构建一个包含L层图卷积层的图神经网络模型实例。
3、构建PPO强化学习环境并初始化。
1)搭建策略网络(Actor)和价值网络(Critic)。
c. 硬件加速器从上位机分批读取图数据顶点特征数据和表示图拓扑结构的图邻接表数据,执行图神经网络模型压缩感知训练算法以训练图神经网络网络,得到该聚类簇数分配方案下图神经网络模型链接预测准确度、顶点特征压缩率和模型压缩率;并根据如下公式计算奖励函数的值,并输出:;
下面对本发明实施例提供的图神经网络压缩装置、电子设备及计算机可读存储介质进行介绍,下文描述的图神经网络压缩装置、电子设备及计算机可读存储介质与上文描述的图神经网络压缩方法可相互对应参照。
请参考图4,图4为本发明实施例所提供的一种图神经网络压缩装置的结构框图,该装置可以包括:
获取模块401,用于获取待训练的图神经网络模型及其对应的训练图数据;训练图数据包含图顶点及其对应的顶点特征;
智能体模块402,用于控制强化学习的智能体学习图神经网络模型及训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于压缩训练结果生成最佳聚类簇数序列;聚类簇数序列中的聚类簇数与图神经网络模型中的图卷积层一一对应,聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使特征码字的数量等于聚类簇数;
压缩训练模块403,用于利用最佳聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理,得到最优图神经网络模型和最优图数据。
可选地,智能体模块402,可以包括:
聚类簇数序列生成子模块,用于控制智能体利用动作策略生成聚类簇数序列;
迭代训练子模块,用于控制智能体根据利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理得到的压缩训练结果更新动作策略,并在预设循环值耗尽前基于更新后的动作策略进入生成聚类簇数序列的步骤,直至预设循环值耗尽时输出最佳聚类簇数序列。
可选地,迭代训练子模块,可以包括:
压缩及训练单元,用于利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理,并确定处理后的图神经网络模型的模型压缩比及其执行指定任务时对应的性能值,以及确定处理后的训练图数据的数据压缩比;
处理单元,用于利用性能值、模型压缩比及数据压缩比生成奖励值及状态向量,并在确定奖励值大于历史奖励值时,利用奖励值更新历史奖励值,以及将聚类簇数序列设置为最佳聚类簇数序列;
动作策略更新单元,用于控制智能体利用状态向量、聚类簇数序列、奖励值更新动作策略,并在确定预设循环值耗尽前基于更新后的动作策略进入生成聚类簇数序列的步骤;
输出单元,用于在确定预设循环值耗尽时,输出最佳聚类簇数序列。
可选地,性能值为AUC值。
可选地,聚类簇数序列生成子模块,可以包括:
聚类簇数序列生成子模块,具体用于将时间步设置为1,初始化历史状态向量,并控制智能体利用动作策略及历史状态向量生成聚类簇数序列;
相应的,动作策略更新单元,可以包括:
当前状态向量生成子单元,用于利用性能值、模型压缩比及数据压缩比生成当前状态向量;
处理子单元,用于利用历史状态向量、聚类簇数序列、奖励值及当前状态向量生成转换数据,并利用转换数据及聚类簇数序列生成优势数据;
迭代控制子单元,用于当确定时间步未达到预设时间步阈值时,对时间步加1,利用当前状态向量更新历史状态向量,并进入控制智能体利用动作策略及历史状态向量生成聚类簇数序列的步骤;
动作策略更新子单元,用于当确定时间步达到预设时间步阈值时,控制智能体利用所有转换数据、聚类簇数序列及优势数据更新动作策略。
可选地,聚类簇数序列生成子模块,可以包括:
连续聚类簇数生成单元,用于控制智能体利用动作策略及历史状态向量生成连续聚类簇数;
离散化处理单元,用于对连续聚类簇数进行离散化处理,得到聚类簇数;
聚类簇数序列生成单元,用于利用所有聚类簇数生成聚类簇数序列。
可选地,离散化处理单元,具体用于:
可选地,处理子单元,具体用于:
以如下方式利用转换数据及聚类簇数序列生成优势数据:;其中,表示动作策略,表示策略网络参数,表示第个时间步,表示历史状态向量,表示聚类簇数序列,表示策略网络基于动作策略在状态下采取作为动作所产生的优势数据,表示策略网络基于动作策略在状态下采取作为动作所产生的奖励值,表示当动作策略为及状态向量为时价值网络所生成的价值数据,表示价值网络参数;表示当前状态向量,表示当动作策略为及状态向量为时价值网络所生成的价值数据,表示预设折扣因子。
可选地,动作策略更新子单元,具体用于:
可选地,压缩及训练单元,可以包括:
网络初始化子单元,用于对图神经网络模型中各图卷积层的特征变换矩阵、特征向量码本及梯度码本进行随机初始化;特征向量码本中包含特征码字;
码字归属矩阵始化子单元,用于在同一特征向量码本中,根据训练图数据中的各顶点特征与各特征码字间的距离,将各顶点特征分类至各特征码字对应的类簇,并记录各顶点特征与类簇之间的对应关系,得到与特征向量码本对应的图卷积层的码字归属矩阵;
第一批次循环控制子单元,用于将批次值初始化为1,确定训练图数据中未训练的图顶点,并从未训练的图顶点中随机抽取预设数量的图顶点作为一个批次;
前向信息传递子单元,用于利用当前批次的图顶点的顶点特征、各图卷积层的特征变换矩阵、特征向量码本及码字归属矩阵对各图卷积层依次进行前向信息传递;
梯度后向传播子单元,用于确定完成前向信息传递时,利用预设损失函数、当前批次的图顶点的顶点特征、各图卷积层的特征变换矩阵、码字归属矩阵及梯度码本对各图卷积层依次进行梯度后向传播;
增量更新子单元,用于利用所述当前批次的图顶点的顶点特征对完成梯度后向传播的各图卷积层的特征变换矩阵、特征向量码本及梯度码本进行增量更新;
第二批次循环控制子单元,用于在确定所述批次值小于指定值时,将所述当前批次的图顶点标记为已训练,对所述批次值加1,并进入所述确定所述训练图数据中未训练的图顶点的步骤;所述指定值由所述训练图数据中图顶点的总量与所述预设数量计算得到;
第三批次循环控制子单元,用于在确定批次值等于指定值时,进入确定处理后的图神经网络模型的模型压缩比及其执行指定任务时对应的性能值,以及确定处理后的训练图数据的数据压缩比的步骤。
可选地,前向信息传递子单元,具体用于:
以如下方式将目标图卷积层的卷积核划分为内部信息传递卷积核和外部信息传递卷积核:
其中,表示第层图卷积层的第q个卷积核,和分别表示第层图卷积层的第q个卷积核的内部信息传递卷积核及外部信息传递卷积核;表示当前批次的图顶点的编号;表示由任意行第列所构成的卷积核;表示由任意行第j列所构成的卷积核,且;表示一个n维的列向量,所有不属于行的元素为1,其余均为零;
以如下方式利用目标图卷积层的输入特征、内部信息传递卷积核、外部信息传递卷积核、特征向量码本、码字归属矩阵及特征变换矩阵对目标图卷积层进行前向信息传递,得到下一图卷积层的输入特征:
其中,表示第层图卷积层的输入特征的近似值,表示非线性激活函数,表示第层图卷积层的输入特征,表示第层图卷积层的特征向量码本,,表示第层图卷积层的码字归属矩阵,表示训练图数据中所有的顶点特征,表示全为1的n维列向量,表示所述第层图卷积层的第q个卷积核的特征变换矩阵;
将下一图卷积层设置为目标图卷积层,并进入以如下方式将目标图卷积层的卷积核划分为内部信息传递卷积核和外部信息传递卷积核的步骤。
可选地,梯度后向传播子单元,具体用于:
其中,表示预设损失函数,表示在第层图卷积层中预设损失函数关于的梯度的近似值,表示在第层图卷积层中预设损失函数关于的梯度;表示第层图卷积层的梯度码本,,,表示所述训练图数据在第层图卷积层对应的所有顶点特征,表示的近似值。
可选地,迭代训练子模块,还可以包括:
聚类簇数序列调整单元,用于当确定所述存储占用值大于预设存储占用阈值时,依次减小所述聚类簇数序列中的各个聚类簇数,并在每次完成减小时进入所述确定所述聚类簇数序列对应的存储占用值的步骤;
压缩及训练单元,还用于当确定存储占用值小于或等于预设存储占用阈值时,进入利用聚类簇数序列对图神经网络模型和训练图数据进行压缩及训练处理的步骤。
可选地,压缩及训练单元,可以包括:
可选地,增量更新子单元,具体用于:
其中,表示当前批次的编号,,n和b分别表示训练图数据中图顶点的总量和当前批次的图顶点的数量,表示当前批次内第i个类簇的图顶点数量,表示所有已训练的t个批次中属于第i个类簇的图顶点数量,表示所有已训练的t个批次中属于第i个类簇的所有顶点特征之和,表示当前批次中第i个类簇的特征码字,表示在处理当前批次时第层图卷积层的码字归属矩阵,表示当前批次对应的图顶点在第层图卷积层对应的输入特征,表示一个长度为、只有第i个元素为1的单位列向量,表示预设折扣因子。
可选地,
第一轮次循环控制子单元,用于在将批次值初始化为1之前,将轮次值初始化为1,并进入将批次值初始化为1的步骤;
相应的,压缩及训练单元,还可以包括:
第二轮次循环控制子单元,用于在确定轮次值小于预设轮次阈值时,对轮次值加1,将训练图数据中的所有图顶点标记为未训练,并进入将批次值初始化为1的步骤;
第三轮次循环控制子单元,用于在确定轮次值等于预设轮次阈值时,进入确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比的步骤。
请参考图5,图5为本发明实施例所提供的一种电子设备的结构框图,本发明实施例还提供一种电子设备,包括:
存储器501,用于存储计算机程序;
处理器502,用于执行计算机程序时实现如上述的图神经网络压缩方法的步骤。
由于电子设备部分的实施例与图神经网络压缩方法部分的实施例相互对应,因此电子设备部分的实施例请参见图神经网络压缩方法部分的实施例的描述,这里不再赘述。
请参考图6,图6为本发明实施例所提供的一种计算机可读存储介质的结构框图,本发明实施例还提供一种计算机可读存储介质610,计算机可读存储介质610上存储有计算机程序611,计算机程序611被处理器执行时实现上述任意实施例的图神经网络压缩方法的步骤。
由于计算机可读存储介质部分的实施例与图神经网络压缩方法部分的实施例相互对应,因此存储介质部分的实施例请参见图神经网络压缩方法部分的实施例的描述,这里不再赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种图神经网络压缩方法、装置、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (19)
1.一种图神经网络压缩方法,其特征在于,包括:
获取待训练的图神经网络模型及其对应的训练图数据;所述训练图数据包含图顶点及其对应的顶点特征;
控制强化学习的智能体学习所述图神经网络模型及所述训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于所述压缩训练结果生成最佳聚类簇数序列;聚类簇数序列中的聚类簇数与所述图神经网络模型中的图卷积层一一对应,所述聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使所述特征码字的数量等于所述聚类簇数;
利用所述最佳聚类簇数序列对所述图神经网络模型和训练图数据进行压缩及训练处理,得到最优图神经网络模型和最优图数据。
2.根据权利要求1所述的图神经网络压缩方法,其特征在于,所述控制强化学习的智能体学习所述图神经网络模型及所述训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于所述压缩训练结果生成最佳聚类簇数序列,包括:
控制所述智能体利用动作策略生成所述聚类簇数序列;
控制所述智能体根据利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理得到的压缩训练结果更新所述动作策略,并在预设循环值耗尽前基于更新后的动作策略进入所述生成所述聚类簇数序列的步骤,直至所述预设循环值耗尽时输出所述最佳聚类簇数序列。
3.根据权利要求2所述的图神经网络压缩方法,其特征在于,所述控制所述智能体根据利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理得到的压缩训练结果更新所述动作策略,并在预设循环值耗尽前基于更新后的动作策略进入所述生成所述聚类簇数序列的步骤,直至所述预设循环值耗尽时输出所述最佳聚类簇数序列,包括:
利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理,并确定处理后的图神经网络模型的模型压缩比及其执行指定任务时对应的性能值,以及确定处理后的训练图数据的数据压缩比;
利用所述性能值、所述模型压缩比及所述数据压缩比生成奖励值及状态向量,并在确定所述奖励值大于历史奖励值时,利用所述奖励值更新所述历史奖励值,以及将所述聚类簇数序列设置为所述最佳聚类簇数序列;
控制所述智能体利用所述状态向量、所述聚类簇数序列、所述奖励值更新所述动作策略,并在确定所述预设循环值耗尽前基于更新后的动作策略进入所述生成所述聚类簇数序列的步骤;
在确定所述预设循环值耗尽时,输出所述最佳聚类簇数序列。
4.根据权利要求3所述的图神经网络压缩方法,其特征在于,所述性能值为AUC值。
5.根据权利要求3所述的图神经网络压缩方法,其特征在于,所述控制所述智能体利用动作策略生成所述聚类簇数序列,包括:
将时间步设置为1,初始化历史状态向量,并控制所述智能体利用所述动作策略及所述历史状态向量生成所述聚类簇数序列;
相应的,所述控制所述智能体利用所述状态向量、所述聚类簇数序列、所述奖励值更新所述动作策略,包括:
利用所述性能值、所述模型压缩比及所述数据压缩比生成当前状态向量;
利用所述历史状态向量、所述聚类簇数序列、所述奖励值及所述当前状态向量生成转换数据,并利用所述转换数据及所述聚类簇数序列生成优势数据;
当确定所述时间步未达到预设时间步阈值时,对所述时间步加1,利用所述当前状态向量更新所述历史状态向量,并进入所述控制所述智能体利用所述动作策略及所述历史状态向量生成所述聚类簇数序列的步骤;
当确定所述时间步达到所述预设时间步阈值时,控制所述智能体利用所有所述转换数据、所述聚类簇数序列及所述优势数据更新所述动作策略。
6.根据权利要求5所述的图神经网络压缩方法,其特征在于,所述控制所述智能体利用所述动作策略及所述历史状态向量生成所述聚类簇数序列,包括:
控制所述智能体利用所述动作策略及所述历史状态向量生成连续聚类簇数;
对所述连续聚类簇数进行离散化处理,得到所述聚类簇数;
利用所有所述聚类簇数生成所述聚类簇数序列。
8.根据权利要求5所述的图神经网络压缩方法,其特征在于,所述智能体包括策略网络和价值网络,所述利用所述转换数据及所述聚类簇数序列生成优势数据,包括:
以如下方式利用所述转换数据及所述聚类簇数序列生成所述优势数据:
10.根据权利要求3所述的图神经网络压缩方法,其特征在于,所述利用所述聚类簇数序列对所述图神经网络模型和所述训练图数据进行压缩及训练处理,包括:
对所述图神经网络模型中各图卷积层的特征变换矩阵、特征向量码本及梯度码本进行随机初始化;所述特征向量码本中包含所述特征码字;
在同一所述特征向量码本中,根据所述训练图数据中的各顶点特征与各所述特征码字间的距离,将各所述顶点特征分类至各所述特征码字对应的类簇,并记录各所述顶点特征与所述类簇之间的对应关系,得到与所述特征向量码本对应的图卷积层的码字归属矩阵;
将批次值初始化为1,确定所述训练图数据中未训练的图顶点,并从所述未训练的图顶点中随机抽取预设数量的图顶点作为一个批次;
利用当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、特征向量码本及码字归属矩阵对各所述图卷积层依次进行前向信息传递;
确定完成所述前向信息传递时,利用预设损失函数、所述当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、码字归属矩阵及梯度码本对各所述图卷积层依次进行梯度后向传播;
利用所述当前批次的图顶点的顶点特征对完成所述梯度后向传播的各图卷积层的特征变换矩阵、特征向量码本及梯度码本进行增量更新;
在确定所述批次值小于指定值时,将所述当前批次的图顶点标记为已训练,对所述批次值加1,并进入所述确定所述训练图数据中未训练的图顶点的步骤;所述指定值由所述训练图数据中图顶点的总量与所述预设数量计算得到;
在确定所述批次值等于所述指定值时,进入所述确定处理后的图神经网络模型的模型压缩比及其执行指定任务时对应的性能值,以及确定处理后的训练图数据的数据压缩比的步骤。
11.根据权利要求10所述的图神经网络压缩方法,其特征在于,所述利用当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、特征向量码本及码字归属矩阵对各所述图卷积层依次进行前向信息传递,包括:
以如下方式将所述目标图卷积层的卷积核划分为内部信息传递卷积核和外部信息传递卷积核:
其中,表示所述第层图卷积层的第q个卷积核,和分别表示第层图卷积层的第q个卷积核的内部信息传递卷积核及外部信息传递卷积核;表示所述当前批次的图顶点的编号;表示由任意行第列所构成的卷积核;表示由任意行第j列所构成的卷积核,且;表示一个n维的列向量,所有不属于行的元素为1,其余均为零;
以如下方式利用所述目标图卷积层的输入特征、内部信息传递卷积核、外部信息传递卷积核、特征向量码本、码字归属矩阵及特征变换矩阵对所述目标图卷积层进行前向信息传递,得到下一图卷积层的输入特征:
其中,表示第层图卷积层的输入特征的近似值,表示非线性激活函数,表示第层图卷积层的输入特征,表示第层图卷积层的特征向量码本,,表示第层图卷积层的码字归属矩阵,表示所述训练图数据中所有的顶点特征,表示全为1的n维列向量,表示所述第层图卷积层的第q个卷积核的特征变换矩阵;
将下一图卷积层设置为所述目标图卷积层,并进入所述将所述目标图卷积层的卷积核划分为内部信息传递卷积核和外部信息传递卷积核的步骤。
12.根据权利要求11所述的图神经网络压缩方法,其特征在于,所述利用预设损失函数、所述当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、码字归属矩阵及梯度码本对各所述图卷积层依次进行梯度后向传播,包括:
以如下方式利用所述预设损失函数、所述当前批次的图顶点的顶点特征、各所述图卷积层的特征变换矩阵、码字归属矩阵及梯度码本对各所述图卷积层依次进行梯度后向传播:
15.根据权利要求10所述的图神经网络压缩方法,其特征在于,所述利用所述当前批次的图顶点的顶点特征对完成所述梯度后向传播的各图卷积层的特征向量码本进行增量更新,包括:
对完成所述梯度后向传播的各图卷积层的特征向量码本以如下方式进行增量更新:
16.根据权利要求10所述的图神经网络压缩方法,其特征在于,在将批次值初始化为1之前,还包括:
将轮次值初始化为1,并进入所述将批次值初始化为1的步骤;
相应的,在确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比之前,还包括:
在确定所述轮次值小于预设轮次阈值时,对所述轮次值加1,将所述训练图数据中的所有图顶点标记为未训练,并进入所述将批次值初始化为1的步骤;
在确定所述轮次值等于所述预设轮次阈值时,进入所述确定处理后的图神经网络模型的模型压缩比和执行指定任务时对应的性能值,以及确定处理后的图数据的数据压缩比的步骤。
17.一种图神经网络压缩装置,其特征在于,包括:
获取模块,用于获取待训练的图神经网络模型及其对应的训练图数据;所述训练图数据包含图顶点及其对应的顶点特征;
智能体模块,用于控制强化学习的智能体学习所述图神经网络模型及所述训练图数据在不同聚类簇数序列条件下的压缩训练结果,并基于所述压缩训练结果生成最佳聚类簇数序列;聚类簇数序列中的聚类簇数与所述图神经网络模型中的图卷积层一一对应,所述聚类簇数用于将输入至对应图卷积层的顶点特征压缩为该图卷积层需处理的特征码字,以使所述特征码字的数量等于所述聚类簇数;
压缩训练模块,用于利用所述最佳聚类簇数序列对所述图神经网络模型和训练图数据进行压缩及训练处理,得到最优图神经网络模型和最优图数据。
18.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至16任一项所述的图神经网络压缩方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至16任一项所述的图神经网络压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310188245.0A CN115934661B (zh) | 2023-03-02 | 2023-03-02 | 一种图神经网络压缩方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310188245.0A CN115934661B (zh) | 2023-03-02 | 2023-03-02 | 一种图神经网络压缩方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115934661A true CN115934661A (zh) | 2023-04-07 |
CN115934661B CN115934661B (zh) | 2023-07-14 |
Family
ID=86697999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310188245.0A Active CN115934661B (zh) | 2023-03-02 | 2023-03-02 | 一种图神经网络压缩方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934661B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142922A (zh) * | 2013-05-06 | 2014-11-12 | 苏州普达新信息技术有限公司 | 一种移动图像在线搜索与挖掘的分类方法 |
WO2021120934A1 (zh) * | 2019-12-18 | 2021-06-24 | 浙江大学 | 一种基于卷积神经网络的DRGs自动分组方法 |
CN115357554A (zh) * | 2022-10-24 | 2022-11-18 | 浪潮电子信息产业股份有限公司 | 一种图神经网络压缩方法、装置、电子设备及存储介质 |
-
2023
- 2023-03-02 CN CN202310188245.0A patent/CN115934661B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142922A (zh) * | 2013-05-06 | 2014-11-12 | 苏州普达新信息技术有限公司 | 一种移动图像在线搜索与挖掘的分类方法 |
WO2021120934A1 (zh) * | 2019-12-18 | 2021-06-24 | 浙江大学 | 一种基于卷积神经网络的DRGs自动分组方法 |
CN115357554A (zh) * | 2022-10-24 | 2022-11-18 | 浪潮电子信息产业股份有限公司 | 一种图神经网络压缩方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
刘春阳,粱德群,宋焕生,吴更石: "神经网络在图像压缩技术中的应用", 工程数学学报, no. 03, pages 67 - 80 * |
姜来;许文焕;纪震;张基宏;: "模糊强化学习型的图像矢量量化算法", 电子学报, no. 09, pages 1738 - 1741 * |
陈桂林;马胜;郭阳;李艺煌;徐睿;: "通过K-means算法实现神经网络的加速和压缩", 计算机工程与科学, no. 05, pages 796 - 803 * |
Also Published As
Publication number | Publication date |
---|---|
CN115934661B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112434462B (zh) | 一种模型的获取方法及设备 | |
CN110782015B (zh) | 神经网络的网络结构优化器的训练方法、装置及存储介质 | |
CN107665230B (zh) | 用于智能家居控制的用户行为预测模型的训练方法及装置 | |
CN111148118B (zh) | 基于时间序列的流量预测和载波关断方法和系统 | |
CN112181666A (zh) | 一种基于边缘智能的设备评估和联邦学习重要性聚合方法、系统、设备和可读存储介质 | |
CN111340227A (zh) | 通过强化学习模型对业务预测模型进行压缩的方法和装置 | |
CN113190688B (zh) | 基于逻辑推理和图卷积的复杂网络链接预测方法及系统 | |
CN115357554B (zh) | 一种图神经网络压缩方法、装置、电子设备及存储介质 | |
CN110619082B (zh) | 一种基于重复搜索机制的项目推荐方法 | |
CN114491263B (zh) | 推荐模型训练方法及装置、推荐方法及装置 | |
CN112766496B (zh) | 基于强化学习的深度学习模型安全性保障压缩方法与装置 | |
CN113852432A (zh) | 基于rcs-gru模型的频谱预测感知方法 | |
CN109492816B (zh) | 一种基于混合智能的煤与瓦斯突出动态预测方法 | |
CN114698395A (zh) | 神经网络模型的量化方法和装置、数据处理的方法和装置 | |
CN111325340A (zh) | 信息网络关系预测方法及系统 | |
CN115964568A (zh) | 一种基于边缘缓存的个性化推荐方法 | |
CN116090536A (zh) | 神经网络的优化方法、装置、计算机设备及存储介质 | |
CN116992151A (zh) | 一种基于双塔图卷积神经网络的在线课程推荐方法 | |
CN114154060A (zh) | 融合信息年龄和动态图神经网络的内容推荐系统及方法 | |
CN117114053B (zh) | 基于结构搜索和知识蒸馏的卷积神经网络模型压缩方法和装置 | |
CN116797850A (zh) | 基于知识蒸馏和一致性正则化的类增量图像分类方法 | |
CN116796821A (zh) | 面向3d目标检测算法的高效神经网络架构搜索方法及装置 | |
CN115934661A (zh) | 一种图神经网络压缩方法、装置、电子设备及存储介质 | |
CN112396477B (zh) | 业务预测模型的构建方法及装置 | |
CN116157809A (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 |