CN114038517A - 一种基于对比学习的自监督图神经网络预训练方法 - Google Patents
一种基于对比学习的自监督图神经网络预训练方法 Download PDFInfo
- Publication number
- CN114038517A CN114038517A CN202110983302.5A CN202110983302A CN114038517A CN 114038517 A CN114038517 A CN 114038517A CN 202110983302 A CN202110983302 A CN 202110983302A CN 114038517 A CN114038517 A CN 114038517A
- Authority
- CN
- China
- Prior art keywords
- graph
- sub
- neural network
- graph data
- layer
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/70—Machine learning, data mining or chemometrics
-
- 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/045—Combinations of networks
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/20—Identification of molecular entities, parts thereof or of chemical compositions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Bioinformatics & Computational Biology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于对比学习的自监督图神经网络预训练方法,步骤为:对公开数据库的化合物分子进行预处理,筛选出有机分子;对筛选出的有机分子进行结构分解并提取,将所得的子结构作为标识符,并构建子结构的语料库;将分解后的子结构看作超级节点并构建相应的子图数据,该子图数据与原分子图数据构成正样本对,随机选出若干个子图数据与原分子图数据组成负样本对;构建基于注意力机制的图卷积神经网络、基于多层次的门控循环单元和多层感知机模块,组成自监督学习模型;将所有正负样本对数据输入自监督学习模型进行预训练并保存,便于下游任务的微调。解决对缺乏标注的药物分子的场景时,进行深度学习模型训练所产生的泛化性能不足的问题。
Description
技术领域
本发明涉及深度学习领域,更具体地,涉及一种基于对比学习的自监督图神经网络预训练方法。
背景技术
药物研究与开发是一个多学科交叉、长周期、高投入的系统工程,面临着研发成本高、周期长、失败率高等问题,因此人们开始借助人工智能的技术来辅助药物研发。近年来,图神经网络作为深度学习中的新兴技术,在图数据上表现了优异的性能。化合物分子是一种天然的图数据,因此为研究深度学习在辅助药物研发开辟了新的路径。
如今,基于监督学习的图神经网络在过去几年取得了巨大的成功,为了学习到强大的表达能力,它依赖大量人工给出标签的图数据来优化。大规模的带有标签的图数据,尤其是基于药物化学领域的标签数据通常是很难获取的,而且这些数据的标注往往需要生物化学领域的专家知识。在大多数情况下,我们很难获取大量标签数据,因此基于监督学习的图神经网络很难施展其强大的学习能力。如何利用大规模无标注的分子数据进行预训练,使图神经网络学习到潜在的特征和信息是研究的热点和难点。
现有的技术中,中国发明专利CN112862093A公开了“一种图神经网络训练方法及装置”,公开日为2021年05月28日,上述方法包括:获得未标记图数据集和第一标记图数据集;将未标记图数据集作为训练样本,通过对预设的图神经网络模型进行训练,调整图神经网络模型的参数,得到第一图神经网络模型;将第一标记图数据集作为训练样本,通过对所述第一图神经网络模型进行训练,调整第一图神经网络模型的参数,得到第二图神经网络模型;将图神经网络的待应用场景的第二标记图数据集作为训练样本,通过对第二图神经网络模型进行训练,调整第二图神经网络模型的参数,得到应用于待应用场景的图神经网络;该发明中,方案进行图神经网络训练时,提高了图神经网络训练的效率,但是其泛化性能不足,只能针对与特定场景,无法激发图神经网络的学习能力。
发明内容
本发明为解决现有的图神经网络技术对缺乏标注的药物分子数据的场景进行模型训练所产生的泛化性能不足的技术缺陷,提供了一种基于对比学习的自监督图神经网络预训练方法。
为实现以上发明目的,采用的技术方案是:
一种基于对比学习的自监督图神经网络预训练方法,包括以下步骤:
S1:对公开数据库的化合物分子进行预处理,筛选出有机分子;
S2:对筛选出的有机分子进行结构分解并提取,将所得的子结构作为标识符,并构建子结构的语料库;
S3:将分解后的子结构看作超级节点并构建相应的子图数据,该子图数据与原分子图数据构成正样本对,随机选出十个子图数据与原分子图数据组成负样本对;
S4:构建基于注意力机制的图卷积神经网络、基于多层次的门控循环单元和用于全图特征的变换的多层感知机模块,组成自监督学习模型;
S5:将所有正负样本对数据输入自监督学习模型进行预训练并保存。
上述方案中,通过对无标注的化合物分子进行子结构分解构造正负样本进行预训练,可以从大规模无标签数据中学习到数据的通用规律,得到的自监督学习模型具有较好的泛化性,当需要解决具体的下游任务时,可以直接使用自监督学习模型模型来进行预训练,从而避免为每一个下游任务训练全新的模型,解决对缺乏标注的药物分子的场景时,进行深度学习模型训练所产生的泛化性能不足的问题;提出了子结构级别的预训练策略,使得自监督学习模型能够捕获分子图数据的结构规律,进而赋予其在不限定种类的下游图挖掘任务上的拟合能力。
优选的,在步骤S1中,对公开数据库zinc化合物分子进行预处理的过程包括:从公开化合物数据库zinc中下载若干化合物,首先对重元素进行去除,随后过滤单原子化合物和惰性气体,得到有效化合物分子。
上述方案中,该数据库使用SMILES字符串表示分子,首先对原子序数较高,相对原子质量较大的元素,即重元素进行去除,随后过滤单原子化合物和惰性气体,如H2,C,O2,CO2,N2等,得到的有效化合物分子用于子结构分解和训练语料库构建。
优选的,在所述步骤S2中,对化合物分子进行子结构分解并构建训练语料库的过程包括:
对有效化合物分子依次进行SMILES到分子结构的转换、子结构分解和子结构反序列化操作;
根据上述哈希表的映射关系,将原分子的子结构利用Rdkit进行反序列化,即用子结构的SMILES字符串表示,该SMILES用于子结构语料库的构建并保存在本地文件中。
优选的,SMILES到分子结构的转换操作通过Python工具库Rdkit转换并获取每个原子对应的原子编号,环结构信息,官能团信息;
子结构分解操作通过对环结构信息、官能团信息对应的原子编号,使用哈希表记录,其余的普通原子编号也记录在哈希表中,每一个分子的哈希表的键为子图的新编号,从1开始记录,所对应的值为原分子的环结构所对应的原子编号,官能团对应的原子编号以及普通原子编号。
在步骤S3中,根据原分子,读取对应保存子结构的哈希表,并根据哈希表进行子图数据的构建,将子结构看作超级节点,将上述原分子图数据以及子结构图数据作为正样本对,并随机从所有子图数据中抽取10个子图与该原子图构成负样本对。
优选的,子图数据的节点数量为哈希表的最大键值N,并用N×N的邻接矩阵表示该子图,子图的连接关系与原分子图中子结构的连接关系相同,0表示无边连接,1表示有边连接;根据原分子的原子数目R,用R×R的邻接矩阵表示,连接关系与分子的化学键连接关系相同,0表示无边连接,1表示有边连接;正负样本对的比例为1:10。
优选的,原分子图数据的节点特征包括:原子类型,电荷数,自由基电子数,手性类型,杂化轨道类型,连接氢的数目,度,芳香性;除了电荷数和自由基的电子数被编码为整数以外,每一种特征是以独热编码表示;
经子结构分解的子图数据使用其每个节点对应的子结构SMILES字符串的嵌入向量作为节点的特征,所有分子的子结构SMILES所构成语料库,其对应的嵌入向量随模型一并训练。
优选的,在步骤S4中,基于注意力机制的图卷积神经网络包括依次连接的多个单层注意力图卷积模块,单层注意力图卷积模块网络包括消息传递子模块,信息聚合子模块以及更新子模块,所述消息传递子模块的输出端与所述信息聚合子模块的输入端电性连接,所述信息聚合子模块的输出端与所述更新子模块的输入端电性连接;
消息传递子模块根据输入的图数据的邻接矩阵,对任一中心节点,假设其有 N个一阶邻居,对其N个一阶邻居节点的特征分别进行注意力权重计算,并对权重进行归一化操作;信息聚合子模块根据消息传递模块得到的归一化注意力权重,对N个一阶邻居的特征按权重进行加权求和,得到新的特征向量,用于后续中心节点特征的更新;更新子模块根据新的特征向量以及当前中心节点特征向量进行相加操作,输出中心节点新的特征向量;
构建基于多层次的门控循环单元过程包括:原分子图数据以及子结构图数据输入基于注意力机制的多层图卷积神经网络,对每一层卷积层的输出,对每个图数据的所有节点进行特征求平均值的操作,得到图数据的全局嵌入表示;获取所有层块对应的图数据的全局嵌入表示并输入门控循环单元中,输出为多层次的图数据嵌入向量表示;
构建多层感知机模块用于全图特征的变换的过程包括:对所述的基于注意力机制的图卷积神经网络,其输出的多层次图数据的嵌入向量表示,输入至多层感知机模块并输出全图嵌入向量表示。
优选的,基于注意力机制的图卷积神经网络还包括残差模块,残差模块设置为连接在每层图注意力卷积模块的后面,具体为第一层级归一化层,第一激活层,第一图卷积层,残差层,重复以上层块并依次连接;
残差模块用于对经过多层图卷积神经网络处理后输出的图数据特征和输入的图数据特征相加,以输出特征图用于下一层卷积模块的输入。
优选的,在步骤S4中,所述自监督学习模型采用反向传播算法进行训练,训练时的目标函数依据最大化互信息的定义,使用互信息的一个下界InfoNCE 作为损失函数,分别估计正负样本对的嵌入向量的距离,其距离的计算依据向量的内积公式,通过最小化正样本对的距离,同时最大化负样本对的距离来优化模型的泛化性能。
上述方案中,其中,InfoNCE损失函数的公式如下:
这里的f是指带可训练参数的图神经网络,x指原分子图数据,通常也称为锚数据点,x+是指与x相似或相等的数据(分子子结构图数据),xj是指构造的第 j个负样本,N是指负样本的个数。对比学习的目的是将相似样本的距离缩短,将不相似样本的距离增大,这里正负样本与锚数据点的距离均用向量的内积来衡量。
通过最小化InfoNCE损失函数等价于最大化正样本与锚点数据互信息的下界,从而使得图神经网络能够学习到局部节点特征和子结构特征。
与现有技术相比,本发明的有益效果是:
本发明提供的一种基于对比学习的自监督图神经网络预训练方法,通过对无标注的化合物分子进行子结构分解构造正负样本进行预训练,可以从大规模无标签数据中学习到数据的通用规律,得到的自监督学习模型具有较好的泛化性,当需要解决具体的下游任务时,可以直接使用自监督学习模型模型来进行预训练,从而避免为每一个下游任务训练全新的模型,解决对缺乏标注的药物分子的场景时,进行深度学习模型训练所产生的泛化性能不足的问题;提出了子结构级别的预训练策略,使得自监督学习模型能够捕获分子图数据的结构规律,进而赋予其在不限定种类的下游图挖掘任务上的拟合能力。
附图说明
图1为本发明的方法流程图;
图2为本发明基于对比学习的自监督图神经网络预训练方法的流程示意图;
图3为本发明一个实施例中分子预处理和分子子结构分解的流程示意图;
图4为本发明一个实施例中单层图注意力卷积模块的结构示意图;
图5为本发明一个实施例中图注意力卷积神经网络的结构示意图;
图6为本发明一个实施例中门控循环单元的结构示意图;
图7为本发明一个实施例中多层次门控循环单元读出模型的结构示意图;
图8为本发明一个实施例中多层感知机模型的结构示意图;
图9为本发明一个实施例中原分子图数据、子结构子图数据的节点特征初始化的流程。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
如图1所示,一种基于对比学习的自监督图神经网络预训练方法,包括以下步骤:
S1:对公开数据库的化合物分子进行预处理,筛选出有机分子;
S2:对筛选出的有机分子进行结构分解并提取,将所得的子结构作为标识符,并构建子结构的语料库;
S3:将分解后的子结构看作超级节点并构建相应的子图数据,该子图数据与原分子图数据构成正样本对,随机选出十个子图数据与原分子图数据组成负样本对;
S4:构建基于注意力机制的图卷积神经网络、基于多层次的门控循环单元和用于全图特征的变换的多层感知机模块,组成自监督学习模型;
S5:将所有正负样本对数据输入自监督学习模型进行预训练并保存,便于下游任务的微调。
上述方案中,通过对无标注的化合物分子进行子结构分解构造正负样本进行预训练,可以从大规模无标签数据中学习到数据的通用规律,得到的自监督学习模型具有较好的泛化性,当需要解决具体的下游任务时,可以直接使用自监督学习模型模型来进行预训练,从而避免为每一个下游任务训练全新的模型,解决对缺乏标注的药物分子的场景时,进行深度学习模型训练所产生的泛化性能不足的问题;提出了子结构级别的预训练策略,使得自监督学习模型能够捕获分子图数据的结构规律,进而赋予其在不限定种类的下游图挖掘任务上的拟合能力。
优选的,在步骤S1中,对公开数据库zinc化合物分子进行预处理的过程包括:从公开化合物数据库zinc中下载若干化合物,首先对重元素进行去除,随后过滤单原子化合物和惰性气体,得到有效化合物分子。
上述方案中,该数据库使用SMILES字符串表示分子,首先对原子序数较高,相对原子质量较大的元素,即重元素进行去除,随后过滤单原子化合物和惰性气体,如H2,C,O2,CO2,N2等,得到的有效化合物分子用于子结构分解和训练语料库构建。
优选的,在所述步骤S2中,对化合物分子进行子结构分解并构建训练语料库的过程包括:
对有效化合物分子依次进行SMILES到分子结构的转换、子结构分解和子结构反序列化操作;
根据上述哈希表的映射关系,将原分子的子结构利用Rdkit进行反序列化,即用子结构的SMILES字符串表示,该SMILES用于子结构语料库的构建并保存在本地文件中。
优选的,SMILES到分子结构的转换操作通过Python工具库Rdkit转换并获取每个原子对应的原子编号,环结构信息,官能团信息;
子结构分解操作通过对环结构信息、官能团信息对应的原子编号,使用哈希表记录,其余的普通原子编号也记录在哈希表中,每一个分子的哈希表的键为子图的新编号,从1开始记录,所对应的值为原分子的环结构所对应的原子编号,官能团对应的原子编号以及普通原子编号。
在步骤S3中,根据原分子,读取对应保存子结构的哈希表,并根据哈希表进行子图数据的构建,将子结构看作超级节点,将上述原分子图数据以及子结构图数据作为正样本对,并随机从所有子图数据中抽取10个子图与该原子图构成负样本对。
优选的,子图数据的节点数量为哈希表的最大键值N,并用N×N的邻接矩阵表示该子图,子图的连接关系与原分子图中子结构的连接关系相同,0表示无边连接,1表示有边连接;根据原分子的原子数目R,用R×R的邻接矩阵表示,连接关系与分子的化学键连接关系相同,0表示无边连接,1表示有边连接;正负样本对的比例为1:10。
优选的,原分子图数据的节点特征包括:原子类型,电荷数,自由基电子数,手性类型,杂化轨道类型,连接氢的数目,度,芳香性;除了电荷数和自由基的电子数被编码为整数以外,每一种特征是以独热编码表示;
经子结构分解的子图数据使用其每个节点对应的子结构SMILES字符串的嵌入向量作为节点的特征,所有分子的子结构SMILES所构成语料库,其对应的嵌入向量随模型一并训练。
优选的,在步骤S4中,基于注意力机制的图卷积神经网络包括依次连接的多个单层注意力图卷积模块,单层注意力图卷积模块网络包括消息传递子模块,信息聚合子模块以及更新子模块,所述消息传递子模块的输出端与所述信息聚合子模块的输入端电性连接,所述信息聚合子模块的输出端与所述更新子模块的输入端电性连接;
消息传递子模块根据输入的图数据的邻接矩阵,对任一中心节点,假设其有 N个一阶邻居,对其N个一阶邻居节点的特征分别进行注意力权重计算,并对权重进行归一化操作;信息聚合子模块根据消息传递模块得到的归一化注意力权重,对N个一阶邻居的特征按权重进行加权求和,得到新的特征向量,用于后续中心节点特征的更新;更新子模块根据新的特征向量以及当前中心节点特征向量进行相加操作,输出中心节点新的特征向量;
构建基于多层次的门控循环单元过程包括:原分子图数据以及子结构图数据输入基于注意力机制的多层图卷积神经网络,对每一层卷积层的输出,对每个图数据的所有节点进行特征求平均值的操作,得到图数据的全局嵌入表示;获取所有层块对应的图数据的全局嵌入表示并输入门控循环单元中,输出为多层次的图数据嵌入向量表示;
构建多层感知机模块用于全图特征的变换的过程包括:对所述的基于注意力机制的图卷积神经网络,其输出的多层次图数据的嵌入向量表示,输入至多层感知机模块并输出全图嵌入向量表示。
优选的,基于注意力机制的图卷积神经网络还包括残差模块,残差模块设置为连接在每层图注意力卷积模块的后面,具体为第一层级归一化层,第一激活层,第一图卷积层,残差层,重复以上层块并依次连接;
残差模块用于对经过多层图卷积神经网络处理后输出的图数据特征和输入的图数据特征相加,以输出特征图用于下一层卷积模块的输入。
优选的,在步骤S4中,所述自监督学习模型采用反向传播算法进行训练,训练时的目标函数依据最大化互信息的定义,使用互信息的一个下界InfoNCE 作为损失函数,分别估计正负样本对的嵌入向量的距离,其距离的计算依据向量的内积公式,通过最小化正样本对的距离,同时最大化负样本对的距离来优化模型的泛化性能。
上述方案中,其中,InfoNCE损失函数的公式如下:
这里的f是指带可训练参数的图神经网络,x指原数据(原分子图数据,通常也称为锚数据点),x+是指与x相似或相等的数据(分子子结构图数据),xj是指构造的第j个负样本,N是指负样本的个数。对比学习的目的是将相似样本的距离缩短,将不相似样本的距离增大,这里正负样本与锚数据点的距离均用向量的内积来衡量。
通过最小化InfoNCE损失函数等价于最大化正样本与锚点数据互信息的下界,从而使得图神经网络能够学习到局部节点特征和子结构特征。
实施例2
如图3所示,分子通过子结构分解得到子结构子图的流程如图3所示。
在该示例中,以苯甲酸为例子简单说明子结构分解的步骤。ZINC数据库中苯甲酸以SMIELS字符串(C1=CC=CC=C1C(=O)O)表示,通过Python开源化学计算工具包RdKit转换为分子结构的格式。首先通过Rdkit获取分子中所有环和官能团所对应的原子编号当作整体超级节点并放入哈希表中存储,同样地将分子中所有的键当作整体超级节点并放入哈希表中存储,然后记录超级节点之间的相连关系,并约定三个以上超级节点相交的节点作为中间节点并放入哈希表中存储,同时加入相连的边。进一步地,在分解过程中记录超级节点对应的SMIELS字符串,即子结构SMILES字符串。
示例性地,如图3苯甲酸的子结构分解流程,将苯环基团当作超级节点并记录其对应的子结构SMILES(CCCCCC),其他超级节点也作相同的操作,并根据原分子的连接关系对子结构分解后的超级节点进行连接,最后得到苯甲酸相应的子结构图。
对ZINC数据筛选得到的所有化合物分子作上述操作,并记录所有子结构图数据以及所有不重复的子结构SMILES,并保存到本地,用于后续词嵌入向量的获取。
实施例3
如图2所示,为了构造正负样本对,设计相应的自监督训练任务,预处理和子结构分解步骤中,将子结构图数据与原分子图数据构成正样本对,相应地随机从经过子结构图数据集中选出十个子图数据与原分子图数据组成负样本对,满足正负样本比例为1比10,具体地,一个原分子图数据与其对应的子结构图数据构成一个正样本对,随机地挑选10个子结构图数据与原分子图数据构成10个负样本对,用于后续图注意力卷积神经网络的输入。
实施例4
如图4所示,在该示例中,基于注意力机制的单层图卷积网络模块由消息传递模块,信息聚合模块以及更新模块组成。消息传递模块根据输入的图数据的邻接矩阵,对任一中心节点,假设其有N个一阶邻居,对其N个一阶邻居节点的特征分别进行注意力权重计算,并对权重进行归一化操作。信息聚合模块根据消息传递模块得到的归一化注意力权重,对N个一阶邻居的特征按权重进行加权求和,得到新的特征向量,用于后续中心节点特征的更新。更新模块根据新的特征向量以及当前中心节点特征向量进行相加操作,输出中心节点新的特征向量。上述三者构成完整的单层注意力图卷积模块,用于输出更新的图数据。
相应地,如图4所示,基于注意力机制的单层图卷积网络模块对应的计算公式为:
这里的Ni是指图节点i的所有一阶邻居节点,消息传递模块如公式1所示,对任一节点对,邻居节点j和中心节点i,首先通过可学习参数W,对节点特征 hi和hj通过线性变换来增加特征的多样性,并进行拼接后通过可学习线性变换输出邻居节点j相对中心节点i的注意力分数。同样地,中心节点i的所有邻居节点作上述操作,得到多个邻居节点j相对中心节点i的注意力分数。信息聚合模块如公式2和3所示,对所有注意力分数通过LeakyReLU函数进行激活并进行归一化操作,即所有注意力分数之和为1,得到αij即为邻居节点j相对中心节点i 的注意力权重,然后根据注意力权重对所有邻居节点进行加权求和,输出待更新的消息特征h′i。更新模块如公式4所示,通过对中心节点的输入特征hi和待更新的消息特征h′i进行加和操作,输出中心节点i新的特征作为基于注意力机制的单层图卷积网络模块的输入,进行下一轮的更新迭代。
同样地,对图中所有节点均可认定为中心节点,因此图数据上所有的节点特征都得以更新并用作下一轮的更新迭代。
实施例5
如图5所示,在该示例中,依次连接上述多个单层注意力图卷积模块,构成所述的基于注意力机制的多层图卷积神经网络。示例性地,该基于注意力机制的多层图卷积神经网络网络含有3个单层注意力卷积模块,对输入网络的图数据的任一中心节点,通过聚合其3阶邻居节点的特征并更新自身的特征,进而捕获图数据上的结构信息。
进一步地,如图5所示,所述残差模块,即addition操作,连接在每层图注意力卷积模块之后,具体为第一层级归一化层,第一激活层,第一图卷积层,残差层,重复以上层块并依次连接,用于对经过多层图卷积神经网络处理后输出的图数据特征和输入的图数据特征相加,以输出特征图用于下一层卷积模块的输入。
具体地,如图5所示,基于注意力机制的多层图卷积神经网络的卷积操作过程为重复性地执行BN-ReLU激活函数-卷积操作,这样可以使单层注意力图卷积模块在接受上一层的输出图数据先进行规范化处理,使得特征图数据分布拉回到近似正态分布上,输入数据落在非线性激活函数对输入相对敏感的位置,再进行卷积特征提取操作,所以有着更好的性能。在网络模型中对于浅层l与深层L,根据上述残差模块,即addition操作,通过递归关系可得到前向传播的计算为:
其中xl和xL分别为第l层和第L层的输入,F(xi,ωi)为残差分支的残差函数计算,xi为第i层输入,ωi为第i层残差分支上的卷积操作,假设损失函数为loss,则对损失函数求导得到反向传播公式:
由上可得损失函数loss对浅层xl的梯度计算由两个项决定:前者为损失函数对深层xL的梯度值,后者则是一项不轻易被抵消的值,有效地避免了当权重很小时出现梯度消失的问题,加快了模型收敛的速度。这也说明了在精调模块中使得恒等分支与残差分支相加的结果保持“干净”,成为信息传递的直接通道,可以加速模型结构的前向传播与反向传播。
实施例6
参见图6和图7,所述的单个门控循环单元的结构示意图以及其展开的多层次门控循环单元读出模型的结构示意图。
原分子图数据以及子结构图数据输入所述的基于注意力机制的多层图卷积神经网络,对每一层卷积层的输出,对每个图数据的所有节点进行特征求平均值的操作,得到图数据的全局嵌入表示。获取所有层块对应的图数据的全局嵌入表示并输入门控循环单元中,输出为多层次的图数据嵌入向量表示。
示例性地,如图2结构示意图所示,对于多层图卷积神经网络中的3层节点特征输出并对其求均值的操作得到全图的特征嵌入向量,并分别用符号g1,g2, g3表示,层次隐信息用Gn,表示输入到第i层次所隐含的前n-1层的层次信息,用于更新当前第i层的层次信息。单个门控循环单元的计算公式如下:
un=σ(Wugn+YuGn) (1)
rn=σ(Wrgn+YrGn) (2)
其中Wu和Yu表示更新门的线性变换参数,Wr和Yr表示重置门的线性变换参数,Wg和Yg表示待更新层次隐状态的线性变换参数,☉表示矩阵对应元素相乘。
示例性地,对多层图卷积神经网络中的第n层所对应的全图的特征嵌入向量 gn,其前n-1层的层次隐信息Gn,根据公式1计算当前层的层次隐信息的更新系数un,根据公式2计算当前层的层次隐信息的遗忘系数rn,当rn接近0,重置门会忘记大部分前n-1层的层次信息。得到un和rn系数后,根据公式3计算待更新层次隐状态用于新的层次隐信息的计算。
进一步地,公式4通过计算前n-1层的层次隐信息Gn和前n-1层的层次隐信息Gn来输出前n层的层次隐状态信息。
进一步地,对于多层图卷积神经网络最后一层的全图特征,输入到多层次门控循环单元读出模型,最终得到图的多层次全图表示,该表示隐含着多层次的结构信息,通过学习的方式自适应计算到每个单层图卷积模块所隐含的结构信息,辅助模型针对多层次的图数据学习结构化的特征表示,依次增强图嵌入向量的表征能力,提高模型的表现性能。
实施例7
如图8和图9所示,所述为多层感知机模型的结构示意图;
示例性地,对经过多层次门控循环单元读出模型后的图的多层次全局表示输出,经过两层感知机的线性变换,得到更新后的多层次全图表示。
进一步地,在该实施例中,所述基于注意力机制的图卷积神经网络模块,基于多层次的门控循环单元模块,多层感知机模块依次连接,构成基于图卷积神经网络自监督学习模型;所述估计模型采用反向传播算法进行训练,训练时的目标函数依据最大化互信息的定义,使用InfoNCE作为损失函数,分别估计正负样本对的嵌入向量的距离,其距离的计算依据向量的内积公式,通过最小化正样本对的距离,同时最大化负样本对的距离来优化模型的泛化性能,让模型能够充分学习到分子图数据的子结构信息。
其中,InfoNCE损失函数的公式如下:
这里的f是指带可训练参数的图神经网络,x指原数据(原分子图数据,通常也称为锚数据点),x+是指与x相似或相等的数据(分子子结构图数据),xj是指构造的第j个负样本,N是指负样本的个数。对比学习的目的是将相似样本的距离缩短,将不相似样本的距离增大,这里正负样本与锚数据点的距离均用向量的内积来衡量。
通过最小化InfoNCE损失函数等价于最大化正样本与锚点数据互信息的下界,从而使得图神经网络能够学习到局部节点特征和子结构特征。
本申请基于对比学习的自监督图神经网络预训练方法在训练时,采用ZINC 数据集一千万的化合物分子,并进行数据预处理操作,包括过滤重元素,惰性气体等非有机分子,然后通过对原分子进行子结构分解,构造正负样本对,将所有构造的正负样本对输入至所述模型中,利用反向传播算法与前述的目标函数,对模型进行训练。
在正负样本图数据输入模型前,需要对每个图数据进行节点特征进行初始化,所使用的特征参见图9。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于对比学习的自监督图神经网络预训练方法,其特征在于,包括以下步骤:
S1:对公开数据库的化合物分子进行预处理,筛选出有机分子;
S2:对筛选出的有机分子进行结构分解并提取,将所得的子结构作为标识符,并构建子结构的语料库;
S3:将分解后的子结构看作超级节点并构建相应的子图数据,该子图数据与原分子图数据构成正样本对,随机选出若干个子图数据与原分子图数据组成负样本对;
S4:构建基于注意力机制的图卷积神经网络、基于多层次的门控循环单元和用于全图特征的变换的多层感知机模块,组成自监督学习模型;
S5:将所有正负样本对数据输入自监督学习模型进行预训练并保存。
2.根据权利要求1所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,在步骤S1中,对公开数据库zinc化合物分子进行预处理的过程包括:从公开化合物数据库zinc中下载若干化合物,首先对重元素进行去除,随后过滤单原子化合物和惰性气体,得到有效化合物分子。
3.根据权利要求2所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,在所述步骤S2中,对化合物分子进行子结构分解并构建训练语料库的过程包括:
对有效化合物分子依次进行SMILES到分子结构的转换、子结构分解和子结构反序列化操作;
根据上述哈希表的映射关系,将原分子的子结构利用Rdkit进行反序列化,即用子结构的SMILES字符串表示,该SMILES用于子结构语料库的构建并保存在本地文件中。
4.根据权利要求3所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,SMILES到分子结构的转换操作通过Python工具库Rdkit转换并获取每个原子对应的原子编号,环结构信息,官能团信息;
子结构分解操作通过对环结构信息、官能团信息对应的原子编号,使用哈希表记录,其余的普通原子编号也记录在哈希表中,每一个分子的哈希表的键为子图的新编号,从1开始记录,所对应的值为原分子的环结构所对应的原子编号,官能团对应的原子编号以及普通原子编号。
5.根据权利要求4所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,在步骤S3中,根据原分子,读取对应保存子结构的哈希表,并根据哈希表进行子图数据的构建,将子结构看作超级节点,将上述原分子图数据以及子结构图数据作为正样本对,并随机从所有子图数据中抽取10个子图与该原子图构成负样本对。
6.根据权利要求5所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,子图数据的节点数量为哈希表的最大键值N,并用N×N的邻接矩阵表示该子图,子图的连接关系与原分子图中子结构的连接关系相同,0表示无边连接,1表示有边连接;根据原分子的原子数目R,用R×R的邻接矩阵表示,连接关系与分子的化学键连接关系相同,0表示无边连接,1表示有边连接;正负样本对的比例为1:10。
7.根据权利要求6所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,原分子图数据的节点特征包括:原子类型,电荷数,自由基电子数,手性类型,杂化轨道类型,连接氢的数目,度,芳香性;除了电荷数和自由基的电子数被编码为整数以外,每一种特征是以独热编码表示;
经子结构分解的子图数据使用其每个节点对应的子结构SMILES字符串的嵌入向量作为节点的特征,所有分子的子结构SMILES所构成语料库,其对应的嵌入向量随模型一并训练。
8.根据权利要求7所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,在步骤S4中,基于注意力机制的图卷积神经网络包括依次连接的多个单层注意力图卷积模块,单层注意力图卷积模块网络包括消息传递子模块,信息聚合子模块以及更新子模块,所述消息传递子模块的输出端与所述信息聚合子模块的输入端电性连接,所述信息聚合子模块的输出端与所述更新子模块的输入端电性连接;
消息传递子模块根据输入的图数据的邻接矩阵,对任一中心节点,假设其有N个一阶邻居,对其N个一阶邻居节点的特征分别进行注意力权重计算,并对权重进行归一化操作;信息聚合子模块根据消息传递模块得到的归一化注意力权重,对N个一阶邻居的特征按权重进行加权求和,得到新的特征向量,用于后续中心节点特征的更新;更新子模块根据新的特征向量以及当前中心节点特征向量进行相加操作,输出中心节点新的特征向量;
构建基于多层次的门控循环单元过程包括:原分子图数据以及子结构图数据输入基于注意力机制的多层图卷积神经网络,对每一层卷积层的输出,对每个图数据的所有节点进行特征求平均值的操作,得到图数据的全局嵌入表示;获取所有层块对应的图数据的全局嵌入表示并输入门控循环单元中,输出为多层次的图数据嵌入向量表示;
构建多层感知机模块用于全图特征的变换的过程包括:对所述的基于注意力机制的图卷积神经网络,其输出的多层次图数据的嵌入向量表示,输入至多层感知机模块并输出全图嵌入向量表示。
9.根据权利要求8所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,基于注意力机制的图卷积神经网络还包括残差模块,残差模块设置为连接在每层图注意力卷积模块的后面,具体为第一层级归一化层,第一激活层,第一图卷积层,残差层,重复以上层块并依次连接;
残差模块用于对经过多层图卷积神经网络处理后输出的图数据特征和输入的图数据特征相加,以输出特征图用于下一层卷积模块的输入。
10.权利要求9所述的一种基于对比学习的自监督图神经网络预训练方法,其特征在于,在步骤S4中,所述自监督学习模型采用反向传播算法进行训练,训练时的目标函数依据最大化互信息的定义,使用互信息的一个下界InfoNCE作为损失函数,分别估计正负样本对的嵌入向量的距离,其距离的计算依据向量的内积公式,通过最小化正样本对的距离,同时最大化负样本对的距离来优化模型的泛化性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110983302.5A CN114038517A (zh) | 2021-08-25 | 2021-08-25 | 一种基于对比学习的自监督图神经网络预训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110983302.5A CN114038517A (zh) | 2021-08-25 | 2021-08-25 | 一种基于对比学习的自监督图神经网络预训练方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114038517A true CN114038517A (zh) | 2022-02-11 |
Family
ID=80140065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110983302.5A Pending CN114038517A (zh) | 2021-08-25 | 2021-08-25 | 一种基于对比学习的自监督图神经网络预训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114038517A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114612685A (zh) * | 2022-03-22 | 2022-06-10 | 中国科学院空天信息创新研究院 | 一种结合深度特征与对比学习的自监督信息提取方法 |
CN114662687A (zh) * | 2022-03-15 | 2022-06-24 | 东南大学 | 一种基于层间互信息的图对比学习方法及系统 |
CN115051929A (zh) * | 2022-06-20 | 2022-09-13 | 湖北工业大学 | 基于自监督目标感知神经网络的网络故障预测方法及装置 |
CN115187610A (zh) * | 2022-09-08 | 2022-10-14 | 中国科学技术大学 | 基于图神经网络的神经元形态分析方法、设备及存储介质 |
CN115631798A (zh) * | 2022-10-17 | 2023-01-20 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于图对比学习的生物分子分类方法及装置 |
CN116167828A (zh) * | 2023-04-25 | 2023-05-26 | 江苏亿友慧云软件股份有限公司 | 一种基于图协同和对比学习的物品推荐方法 |
CN117095767A (zh) * | 2023-08-16 | 2023-11-21 | 中国人民解放军空军军医大学 | 基于深度学习的未知物质急性毒性预测方法、系统及设备 |
-
2021
- 2021-08-25 CN CN202110983302.5A patent/CN114038517A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114662687A (zh) * | 2022-03-15 | 2022-06-24 | 东南大学 | 一种基于层间互信息的图对比学习方法及系统 |
CN114662687B (zh) * | 2022-03-15 | 2024-04-16 | 东南大学 | 一种基于层间互信息的图对比学习方法及系统 |
CN114612685A (zh) * | 2022-03-22 | 2022-06-10 | 中国科学院空天信息创新研究院 | 一种结合深度特征与对比学习的自监督信息提取方法 |
CN115051929A (zh) * | 2022-06-20 | 2022-09-13 | 湖北工业大学 | 基于自监督目标感知神经网络的网络故障预测方法及装置 |
CN115051929B (zh) * | 2022-06-20 | 2023-05-26 | 湖北工业大学 | 基于自监督目标感知神经网络的网络故障预测方法及装置 |
CN115187610A (zh) * | 2022-09-08 | 2022-10-14 | 中国科学技术大学 | 基于图神经网络的神经元形态分析方法、设备及存储介质 |
CN115631798A (zh) * | 2022-10-17 | 2023-01-20 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于图对比学习的生物分子分类方法及装置 |
CN115631798B (zh) * | 2022-10-17 | 2023-08-08 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于图对比学习的生物分子分类方法及装置 |
CN116167828A (zh) * | 2023-04-25 | 2023-05-26 | 江苏亿友慧云软件股份有限公司 | 一种基于图协同和对比学习的物品推荐方法 |
CN117095767A (zh) * | 2023-08-16 | 2023-11-21 | 中国人民解放军空军军医大学 | 基于深度学习的未知物质急性毒性预测方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114038517A (zh) | 一种基于对比学习的自监督图神经网络预训练方法 | |
CN112163426B (zh) | 一种基于注意力机制与图长短时记忆神经网络结合的关系抽取方法 | |
CN111079931A (zh) | 一种基于图神经网络的状态空间概率性多时间序列预测方法 | |
CN113033603B (zh) | 一种基于元学习的弱监督图像多标签分类方法 | |
Hinton | What kind of graphical model is the brain? | |
Karabayir et al. | A novel learning algorithm to optimize deep neural networks: Evolved gradient direction optimizer (EVGO) | |
CN113257369B (zh) | 一种基于多任务图神经网络的分子毒性预测方法和装置 | |
CN111400494B (zh) | 一种基于GCN-Attention的情感分析方法 | |
Verma et al. | Prediction of students’ academic performance using Machine Learning Techniques | |
CN112949929B (zh) | 一种基于协同嵌入增强题目表示的知识追踪方法及系统 | |
CN112465226A (zh) | 一种基于特征交互和图神经网络的用户行为预测方法 | |
Kumar et al. | An evaluation on speech recognition technology based on machine learning | |
Xiong et al. | Dynamic soft sensor modeling for time sequence data based on convolution filters | |
CN112241802A (zh) | 一种风电功率的区间预测方法 | |
CN117524353A (zh) | 一种基于多维度分子信息的分子大模型、构建方法及应用 | |
CN116935128A (zh) | 一种基于可学习提示的零样本异常图像检测方法 | |
CN110647917B (zh) | 一种模型复用方法与系统 | |
CN117073703A (zh) | 一种车辆路径问题解决方案的生成方法及装置 | |
Gong et al. | Parallelization of ensemble neural networks for spatial land-use modeling | |
US20230031512A1 (en) | Surrogate hierarchical machine-learning model to provide concept explanations for a machine-learning classifier | |
CN115664970A (zh) | 基于双曲空间的网络异常点检测方法 | |
CN115294402A (zh) | 一种基于去冗余多阶混合训练的半监督车辆分类方法 | |
Hao et al. | A Model-Agnostic approach for learning with noisy labels of arbitrary distributions | |
CN113361476B (zh) | 一种基于人工智能技术的张衡一号震前异常信号识别方法 | |
Kareepadath Sajeev | Application of Deep Learning for Understanding Dynamic Well Connectivity |
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 |