分子分类方法、装置、设备及计算机可读存储介质与流程

文档序号:31705444发布日期:2022-10-01 10:49阅读:63来源:国知局
分子分类方法、装置、设备及计算机可读存储介质与流程

1.本技术涉及智慧医学技术,尤其涉及一种基于人工智能的分子分类方法、装置、设备及计算机可读存储介质。


背景技术:

2.在药物分析中,如何根据化合物/蛋白质结构判断其的一些化学/生物性质,例如毒性、溶解性,致癌性等等,是一件非常重要的任务。这类任务可以建模成机器学习中的分类问题。在实现时可以通过表示学习的方式,将化合物/蛋白质的结构式转化为在欧式空间中的向量,然后通过经典机器学习算法对其进行分类,进而判断其化学/生物性质。
3.在实际应用中,对于特征分子属性来说,经过化学实验测定过的分子数目往往是很少的(例如,几百到几千个分子)。这就使得在使用监督学习方法来训练模型的时候,会面临标签数据不足的问题,进而影响模型的精度和泛化性。


技术实现要素:

4.本技术实施例提供一种基于人工智能的分子分类方法、装置、设备及计算机可读存储介质,能够通过对利用无标签的训练数据进行自监督训练得到的预训练模型进行精调,得到目标检测属性对应的目标模型,提高模型训练效率和精度,从而提高分类处理效率。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种基于人工智能的分子分类方法,包括:
7.获取初步训练好的预训练模型,所述初步训练好的预训练模型是利用无标签的第一训练数据通过自监督训练得到的;
8.获取目标检测属性对应的第二训练数据,所述第二训练数据为具有标签信息的训练数据;
9.利用所述第二训练数据对所述初步训练好的预训练模型进行参数调整,得到所述目标检测属性对应的训练好的目标模型;
10.获取待预测分子,并利用所述训练好的目标模型对待预测分子进行预测处理,得到所述待预测分子的分类结果。
11.本技术实施例提供一种基于人工智能的分子分类装置,包括:。
12.第一获取模块,用于获取初步训练好的预训练模型,所述初步训练好的预训练模型是利用无标签的第一训练数据通过自监督训练得到的;
13.第二获取模块,用于获取目标检测属性对应的第二训练数据,所述第二训练数据为具有标签信息的训练数据;
14.模型调整模块,用于利用所述第二训练数据对所述初步训练好的预训练模型进行参数调整,得到所述目标检测属性对应的训练好的目标模型;
15.第一预测模块,用于获取待预测分子,并利用所述训练好的目标模型对待预测分
子进行预测处理,得到所述待预测分子的分类结果。
16.本技术实施例提供一种计算机设备,包括:
17.存储器,用于存储可执行指令;
18.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的方法。
19.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的方法。
20.本技术实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本技术实施例提供的方法。
21.本技术实施例具有以下有益效果:
22.在本技术实施例提供的基于人工智能的分子分类方法中,首先获取初步训练好的预训练模型,该预训练模型是利用所述预训练模型是利用无标签的第一训练数据通过自监督训练得到的,也即利用预设规则构造出无标签的第一训练数据的自监督标签向量,再通过第一训练数据和自监督标签向量对预训练模型进行训练,从而得到训练好的预训练模型,然后再获取目标检测属性对应的有标签的第二训练数据,利用所述第二训练数据对所述初步训练好的预训练模型进行调整,得到所述目标检测属性对应的训练好的目标模型,最后利用所述训练好的目标模型对待预测分子进行预测处理,得到所述待预测分子的分类结果,由于预训练模型是提前训练好的,并且是通过对无标签的训练数据进行自监督训练得到的,无需必须使用有标签的训练数据,从而提高训练数据的数据量,并且预训练模型具有更高的通用性;在需要对特定性质的分子进行检测时,只需要对利用特定性质对应的训练数据对预训练模型进行精调即可,相比于利用有标签的训练数据直接对初始模型进行训练能够提高模型的训练效率,从而提高分子分类效率。
附图说明
23.图1为本技术实施例提供的分子分类系统100的网络架构示意图;
24.图2为本技术实施例提供的服务器400的结构示意图;
25.图3为本技术实施例提供的基于人工智能的分子分类方法的一种流程示意图;
26.图4a为本技术实施例提供的利用无标签的第一训练数据对预设的网络模型进行自监督训练的实现流程示意图;
27.图4b为本技术实施例提供的基于第一训练分子图确定第一训练分子的自监督标签向量的实现流程示意图;
28.图5为本技术实施例提供的基于人工智能的分子分类方法的再一种实现流程示意图;
29.图6为本技术实施例提供的用图表示尼古丁分子的示意图;
30.图7a为相关技术中获得性质预测模型的流程示意图;
31.图7b为本技术实施例提供的获得训练好的性质预测模型的流程示意图;
32.图8为本技术实施例提供的一种基于原子的自监督标签构造方法实现流程示意图;
33.图9为利用语义子图集合确定输入分子的语义子图标签向量的实现流程示意图;
34.图10为本技术实施例提供的利用神经网络层获得每个节点输出状态向量的示意图。
具体实施方式
35.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
36.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
37.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
38.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
39.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
40.1)图:一种数据结构,由顶点和边组成,其中一个边只能连接两个顶点。
41.2)自监督:利用辅助任务从无监督的数据中挖掘大量自身的信息。辅助任务就是基于数据特征构造一个任务进行训练。
42.3)自监督训练:利用辅助任务(pretext)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络模型进行训练。
43.4)反向传播训练,是训练神经网络的最常用方法之一。反向传播训练的本质上是采用梯度下降法进行训练,梯度下降是指针对每个训练元素,在神经网络中的每个权重上计算一个梯度。由于神经网络不会输出训练元素的期望值,因此每个权重的梯度将为你提示如何修改权重以实现期望输出。如果神经网络确实输出了预期的结果,则每个权重的梯度将为0,这表明无需修改权重。
44.基于相关技术中,具有标签的分子训练数据不足,从而影响模型的精度和泛化性的问题,本技术实施例提供一种基于人工智能的分子分类方法、装置、设备和计算机可读存储介质,能够提高模型的精度和训练速度,从而提高分子分类的效率和准确度。下面说明本技术实施例提供的计算机设备的示例性应用,本技术实施例提供的计算机设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
45.参见图1,图1为本技术实施例提供的分子分类系统100的网络架构示意图,如图1所示,该网络架构包括终端200、网络300和服务器400,其中,终端200通过网络300连接服务器400,网络300可以是广域网或者局域网,又或者是二者的组合。
46.服务器400可以预先获取无标签的第一训练数据和预设的网络模型,第一训练数据中包括多个第一训练分子信息,然后服务器400确定各个第一训练分子的自监督标签向量,进而利用多个第一训练分子和对应的自监督标签向量对该网络模型进行训练,得到初步训练好的预训练模型。当终端200需要对某种特定性质分子进行分类时,终端200向服务器400发送分类请求,该分类请求包括目标性质和待预测分子,服务器400获取目标性质对应的第二训练数据,并利用第二训练数据对预训练模型进行参数调整,得到目标性质对应的训练好的目标模型,最后基于目标模型对待预测分子进行预测处理,得到待预测分子对应的分类结果,服务器400将该分类结果返回至终端200。
47.在一些实施例中,服务器在得到训练好的预训练模型之后,可以基于多个预设的特定性质,分别获取各个特定性质对应的第二训练数据,并基于各个特定性质对应的第二训练数据对预训练模型分别进行精调,从而得到各个特定性质对应的训练好的目标模型,进而在接收到终端200发送的分类请求时,直接基于目标性质获取对应的目标模型,并利用目标模型对待检测分子进行预测处理,得到分类结果,并将分类结果发送至终端200。
48.在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载智能终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
49.参见图2,图2为本技术实施例提供的服务器400的结构示意图,图2所示的服务器400包括:至少一个处理器410、至少一个网络接口420、总线系统430和存储器440。服务器400中的各个组件通过总线系统430耦合在一起。可理解,总线系统430用于实现这些组件之间的连接通信。总线系统430除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统430。
50.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
51.存储器440可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器440可选地包括在物理位置上远离处理器410的一个或多个存储设备。
52.存储器440包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only me mory),易失性存储器可以是随机存取存储器(ram,random access memor y)。本技术实施例描述的存储器440旨在包括任意适合类型的存储器。
53.在一些实施例中,存储器440能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
54.操作系统441,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
55.网络通信模块442,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
56.在一些实施例中,本技术实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器440中的基于人工智能的分子分类装置443,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4431、第二获取模块4432、模型调整模块4433和第一预测模块4434,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
57.在另一些实施例中,本技术实施例提供的装置可以采用硬件方式实现,作为示例,本技术实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的基于人工智能的分子分类方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,program mable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
58.将结合本技术实施例提供的服务器的示例性应用和实施,说明本技术实施例提供的基于人工智能的分子分类方法。
59.为了更好地理解本技术实施例,首先对人工智能以及人工智能的几个分支、以及本技术实施例提供的基于人工智能的分子分类方法所涉及的分支进行说明。
60.人工智能(ai,artificial intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
61.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本技术实施例提供的方法主要涉及机器学习这一研究方向。
62.机器学习(ml,machine learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
63.本技术实施例提供一种基于人工智能的分子分类方法,应用于计算机设备,该计算机设备可以是服务器,也可以是终端,在本技术实施例中以计算机设备为服务器为例进行说明。图3为本技术实施例提供的基于人工智能的分子分类方法的一种流程示意图,以下将结合图3对各个步骤进行说明。
64.步骤s101,获取初步训练好的预训练模型。
65.其中,所述预训练模型是利用无标签的第一训练数据进行自监督训练得到的。第一训练数据中包括多个第一训练分子,在实现时,可以首先基于第一训练分子的分子结构信息,构建第一训练分子对应的第一训练分子图,然后利用预先定义好的多个语义子图第一训练分子图进行匹配,得到与第一训练分子图匹配的目标语义子图,从而基于目标语义子图确定出第一训练分子的自监督标签向量,再通过多个第一训练分子和对应的自监督标签向量对预训练模型进行训练,从而得到训练好的预训练模型。由于预训练模型是利用无标签数据进行自监督训练得到的,不仅能够降低对训练数据的要求,还能提高可用训练数据的数据量,保证预训练模型的通用性和泛化力。
66.步骤s102,获取目标检测属性对应的第二训练数据。
67.其中,目标检测属性可以为水溶性、脂溶性、致癌性等,还可以是其他学科的检测属性。例如可以是量子力学、生理学等学科的检测属性。第二训练数据为具有标签信息的训练数据,并且该标签信息为目标检测属性对应的标签,也即在需要对分子进行目标检测属性的分类时,只需要利用具有目标检测属性的第二训练数据即可。
68.步骤s103,利用第二训练数据对初步训练好的预训练模型进行参数调整,得到目标检测属性对应的训练好的目标模型。
69.由于该预训练模型已经是利用自监督训练过程训练好的,因为在利用第二训练数据对该预训练模型进行调整时,所需要的训练数据的数据量比相关技术中直接利用有标签的训练初始的网络模型所需的数据量要少很多,从而能够避免因有标签的训练数据不足而造成的模型精度及泛化性不能满足分类需求的问题,并且还能够缩短模型训练的时间,从而提高训练效率。
70.步骤s104,获取待预测分子,并利用训练好的目标模型对待预测分子进行预测处理,得到待预测分子的分类结果。
71.待预测分子可以是有机化合物的分子,也可以是无机化合物的分子。该步骤在实现时,首先基于待预测分子的待预测分子图,然后利用该训练好的目标模型对待预测分子图进行预测处理,得到该待预测分子的表示向量,然后再利用训练好的分类器对该表示向量进行分类预测,得到该待预测分子的分类结果,该分类结果表征该待预测分子具有该目标检测属性或者该待预测分子不具有目标检测属性。
72.在一些实施例中,服务器在得到待预测分子的分类结果后,可以将待预测分子的分类结果发送至请求进行分子分类的终端。
73.在本技术实施例提供的基于人工智能的分子分类方法中,首先获取初步训练好的预训练模型,该预训练模型是利用所述预训练模型是利用无标签的第一训练数据通过自监督训练得到的,也即利用预设规则构造出无标签的第一训练数据的自监督标签向量,再通过第一训练数据和自监督标签向量对预训练模型进行训练,从而得到训练好的预训练模型,然后再获取目标检测属性对应的有标签的第二训练数据,利用所述第二训练数据对所述初步训练好的预训练模型进行调整,得到所述目标检测属性对应的训练好的目标模型,最后利用所述训练好的目标模型对待预测分子进行预测处理,得到所述待预测分子的分类结果,由于预训练模型是提前训练好的,并且是通过对无标签的训练数据进行自监督训练得到的,无需必须使用有标签的训练数据,从而提高训练数据的数据量,并且预训练模型具
有更高的通用性;在需要对特定性质的分子进行检测时,只需要对利用特定性质对应的训练数据对预训练模型进行精调即可,相比于利用有标签的训练数据直接对初始模型进行训练能够提高模型的训练效率,从而提高分子分类效率。
74.在一些实施例中,在步骤s101之前,可以通过图4a所示的步骤s001至步骤s005对预设的网络模型进行训练,从而得到初步训练好的预训练模型:
75.步骤s001,获取第一训练数据。
76.所述第一训练数据包括多个第一训练分子的分子结构信息。分子结构信息可以包括该第一训练分子中包括的原子,以及原子的电荷数目、质子数、中子数等,还可以包括不同原子之间的化学键信息,例如化学键种类、化学价态等。
77.步骤s002,基于各个第一训练分子的分子结构信息确定所述各个第一训练分子的第一训练分子图,并基于所述各个第一训练分子图确定所述各个第一训练分子的自监督标签向量。
78.该步骤在实现,在获取到第一训练分子的分子结构信息之后,可以将分子结构信息中的原子确定为第一训练分子图的顶点,如果两个原子之间存在化学键,那么该两个原子之间具有连接边,如此基于分子结构信息构建出第一训练分子的第一训练分子图。之后,再获取多个预设的语义子图,每个语义子图对应有一个具有化学意义的分子片段,将第一训练分子图与各个语义子图进行匹配,确定出目标语义子图,再基于目标语义子图的标识确定第一训练分子的自监督标签向量。
79.步骤s003,利用预设的网络模型对各个第一训练分子图进行预测处理,得到所述各个第一训练分子图对应的第一训练表示向量。
80.在本技术实施例中,该预设的网络模型可以为图传播神经网络模型,例如可以是消息传播网络模型,该预设的网络模型可以包括多个消息传播层,在每个消息传播层可以将顶点在上一个消息传播层的状态向量和在上一消息传播层的消息融合向量进行状态融合,从而得到顶点在该消息传播层的状态向量。在达到最后一个消息传播层时,最后一个消息传播层输出的状态向量也即该第一训练分子图对应的第一训练表示向量。
81.步骤s004,利用训练好的分类器对各个第一训练表示向量进行分类处理,得到各个第一训练分子对应的第一预测信息。
82.该训练好的分类器可以是训练好的多层感知分类器,还可以是决策树分类器、逻辑回归分类器等,本技术实施例对分类器的类型不做限定。在实现时,将第一训练表示向量确定为训练好的分类器的输入信息,以对第一训练分子进行分类,得到第一预测信息。该第一预测信息可以为第一训练分子图中包括各个语义子图的概率。
83.步骤s005,基于所述各个第一训练分子的自监督标签信息和第一预测信息对预设的网络模型进行反向传播训练,得到训练好的预训练模型。
84.该步骤在实现时,可以确定各个第一训练分子的自监督标签信息和第一预测信息的差异信息,利用预设的损失函数和该差异信息,对预设的网络模型的参数进行调整,直至达到训练结束条件,从而得到训练好的预训练模型。
85.通过上述步骤s001至步骤s005,可以基于自监督的方法,确定出无标签的第一训练数据对应的自监督标签向量,然后再基于该第一训练数据和确定出的自监督标签向量对预设的网络模型进行训练,从而得到训练好的预训练模型,该预训练模型由于使用大量的
无标签的第一训练数据训练得到的,因此具有较高的通用性和灵活性。
86.在一些实施例中,上述步骤s002中的“基于各个第一训练分子图确定各个第一训练分子的自监督标签向量”可以通过图4b所示的步骤s201至步骤s203确定第一训练分子的自监督标签向量,以下结合图4b,对各个步骤进行说明。
87.步骤s201,获取预设的多个语义子图。
88.其中,每个语义子图对应一个具有化学意义的分子片段。在语义子图中,可以用

r’作为通配符。

r’可以代表任何符合化学规律的分子部分,例如,用

r-ch3’表示任何存在甲基(ch3)的分子,用r-cooh代表任何存在羧基(cooh)的分子、用r-ch
2-ch=ch2代表任何存在烯丙基的分子,等等。这种语义子图可以通过化学软件提取。
89.步骤s202,将各个第一训练分子图与多个语义子图进行匹配,得到各个第一训练分子图的匹配结果。
90.在实际应用中,该步骤s202可以通过以下步骤实现:
91.步骤s2021,将所述第i个第一训练分子图与各个语义子图进行匹配,得到各个语义子图对应的匹配度。
92.其中,i=1,2,

,n,n为第一训练分子总数,n为大于2的整数。该步骤在实现时,可以利用预设的图匹配算法确定第i个第一训练分子图与各个语义分子图之间的匹配度,例如,可以是利用基于随机游走的图匹配算法,还可以是利用二分图匹配算法等,本技术实施例对使用的图匹配算法不进行限定。
93.步骤s2022,将匹配度大于匹配度阈值的语义子图确定为所述第i个第一训练分子图对应的目标语义子图。
94.当存在与第i个第一训练分子图之间的匹配度大于匹配度阈值的语义子图时,说明该第i个第一训练分子图中包含有该语义子图,此时将该语义子图确定为第i个第一训练分子图对应的目标语义子图。一个第一训练分子图可能对应有一个或多个目标语义子图,也可能没有目标语义子图。
95.步骤s2023,将所述第i个第一训练分子图对应的目标语义子图确定为所述第i个第一训练分子图的匹配结果。
96.步骤s203,基于各个第一训练分子图对应的匹配结果,确定各个第一训练分子的自监督标签向量。
97.在实际实现过程中,该步骤可以通过以下步骤实现:
98.步骤s2031,获取所述第i个第一训练分子图对应的目标语义子图的目标子图标识。
99.在本技术实施例中,可以获取到的多个语义子图可以构成一个语义子图数组,将每个语义子图在数组中的位置确定为语义子图的标识。假设有m个语义子图,那么这m个语义子图的标识分别为0,1,2,

,(m-1)。在该步骤中,确定出第i个第一训练分子图对应的目标语义子图后,即可获取到各个目标语义子图的目标子图标识。
100.步骤s2032,基于所述目标子图标识确定所述多个语义子图中与所述第i个训练分子图不匹配的其他子图标识。
101.在已知了目标子图标识和预设的各个语义子图标识的前提下,多个语义子图标识中除目标子图标识之外的语义子图标识也即与第i个训练分子图不匹配的其他子图标识。
假设m为10,也即有10个预设的语义子图,这10个语义子图的标识分别为0、1、2、3、4、5、6、7、8、9,其中目标子图标识为1、5、8,那么其他子图标识即为0、2、3、4、6、7、9。
102.步骤s2033,对所述目标子图标识和所述其他子图标识进行编码处理,得到所述第i个第一训练分子图的自监督标签向量。
103.该步骤在实现时,可以对目标子图标识和其他子图标识进行one-hot编码,从而得到第i个第一训练分子图的自监督标签向量。承接上述举例,目标子图标识为1、5、8,那么其他子图标识即为0、2、3、4、6、7、9,对该目标子图标识和其他子图标识进行独热(one-hot)编码,得到第i个第一训练分子图的自监督标签向量为[0,1,0,0,0,1,0,0,1,0]。
[0104]
在上述步骤s201至步骤s203中,通过将各个第一训练分子图与多个语义子图进行匹配,得到各个第一训练分子图中包含的目标语义子图,然后在基于各个第一训练分子图中包含的目标语义子图确定出各个第一训练分子对应的自监督标签向量;由于每个语义子图对应有一个有化学意义的片段,那么不同的语义子图可能对应不同的化学性质,如此确定出的第一训练分子对应的自监督标签向量能够表征出第一训练分子中所包含的有化学意义的片段,因此能够反映出第一训练分子的化学性质,从而保证自监督标签向量的准确性。
[0105]
在一些实施例中,该预设的网络模型包括多个消息传播层和至少一个聚合层,对应地,上述步骤s003“利用所述预设的网络模型对各个第一训练分子图进行预测处理,得到所述各个第一训练分子图对应的第一训练表示向量”可以通过以下步骤实现:
[0106]
步骤s0031,基于第i个第一训练分子的分子结构信息,获取第i个第一训练分子图中各个原子节点的节点特征向量、所述各个原子节点的邻接节点和所述各个原子节点与邻接节点之间连接边的边特征向量。
[0107]
在本技术实施例中,第一训练分子图中的各个顶点为第一训练分子中所包含的原子,基于第一训练分子的分子结构信息能够获取到原子的属性信息,对原子的属性信息进行编码处理集合得到原子节点的节点特征向量。各个原子节点的邻接节点可以是基于第一训练分子图的拓扑结构确定的。
[0108]
由于原子节点与邻接节点之间的边为原子与邻接原子之间的化学键,那么通过第一训练分子的分子结构信息能够获取到各个原子节点与邻接节点之间的化学键属性,可以包括化学键种类、化学键价态等信息,对化学键属性进行编码处理得到原子节点与邻接节点之间连接边的边特征向量。
[0109]
步骤s0032,对所述各个原子节点的节点特征向量进行映射处理,得到所述各个原子节点的初始状态向量。
[0110]
不同原子节点的节点特征向量的维度可能是相同的,也可能是不同的,该步骤在实现时,可以利用该预设的网络模型的输入参数w
in
和激活函数(例如sigmoid函数、tanh函数、relu函数等)对各个原子节点的节点特征向量进行映射处理,得到各个原子节点的初始状态向量,如此,能够使得不同原子节点的初始状态向量的维度是相同的。
[0111]
步骤s0033,利用所述多个消息传播层对所述各个原子节点的初始状态向量、所述邻接节点的初始状态向量和所述边特征向量进行融合处理,得到所述各个原子节点的表示向量。
[0112]
该步骤在实现时,可以每个消息传播层利用消息融合函数对各个原子节点的邻接
节点在上一个消息传播层输出的状态向量和边特征向量进行消息融合处理,得到各个原子节点在本消息传播层的融合消息向量,然后再将原子节点的在本消息传播层的融合消息向量和原子节点在上一消息传播层的状态向量进行状态融合处理,得到本消息传播层的状态向量,并将最后一个消息传播层输出的状态向量确定为原子节点的表示向量。
[0113]
步骤s0034,利用所述聚合层对所述各个原子节点的表示向量进行处理,得到所述第i个第一训练分子图对应的第一训练表示向量。
[0114]
该步骤在实现时,可以是将各个原子节点的表示向量进行求平均计算,得到第i个第一训练分子图对应的第一训练表示向量。在一些实施例中,也可以利用聚合层对各个原子节点的表示向量进行最大池化处理、平均池化处理、自注意力处理,以得到第i个第一训练分子图对应的第一训练表示向量。
[0115]
在上述步骤s0031至步骤s0034中,在获取到第i个第一训练分子图中各个原子节点的节点特征向量、所述各个原子节点的邻接节点和所述各个原子节点与邻接节点之间连接边的边特征向量之后,首先对各个原子节点的节点特征向量进行映射处理,得到各个原子节点的初始状态向量,然后利用多个消息传播层对原子节点的邻接节点的状态向量和边特征向量进行融合处理,得到融合消息向量,再利用融合消息向量更新节点的状态向量,直至最终得到各个原子节点的表示向量,最后对多个原子节点的表示向量进行聚合处理,得到第一训练分子图对应的第一训练表示向量,由于每个原子的表示向量是融合了邻接节点的状态向量以及与邻接节点的连接边的边特征向量,因此具有更高的准确性。
[0116]
在一些实施例中,上述步骤s0031“基于第i个训练分子的分子结构信息,获取第i个第一训练分子图中各个原子节点的节点特征向量、所述各个原子节点的邻接节点和所述各个原子节点与邻接节点之间连接边的边特征向量”可以通过下述的步骤s0311至步骤s0315实现,以下对各个步骤进行说明。
[0117]
步骤s0311,基于所述第i个第一训练分子的分子结构信息,获取所述第i个第一训练分子中各个训练原子的属性信息。
[0118]
训练原子的属性信息可以包括原子的电荷数、原子中的质子数以及中子数等。
[0119]
步骤s0312,对所述各个训练原子的属性信息进行编码处理,得到所述第i个第一训练分子图中各个原子节点的节点特征向量。
[0120]
该步骤在实现时,可以通过向量编码方式(例如独热编码、文本转换器等)对各个训练原子的属性信息进行向量转化处理,得到各个原子节点的节点特征向量。
[0121]
步骤s0313,将与所述各个训练原子之间具有化学键的其他原子确定为所述各个训练原子的邻接原子。
[0122]
在获取到第一训练分子的分子结构信息后,基于该分子结构信息能够确定原子与原子之间是否具有化学键,当原子与原子之间具有化学键时,那么这两个原子之间具有连接边,这两个原子为邻接关系。
[0123]
步骤s0314,获取所述各个训练原子与所述邻接原子之间化学键的属性信息。
[0124]
化学键的属性信息可以包括化学键价态、化学键类型等。
[0125]
步骤s0315,对所述化学键的属性信息进行编码处理,得到所述各个原子节点与邻接节点之间连接边的边特征向量。
[0126]
该步骤在实现时与步骤s0312类似,可以通过向量编码方式(例如独热编码、文本
转换器等)对化学键的属性信息进行向量转化处理,得到各个原子节点与邻接节点之间连接边的边特征向量。
[0127]
在一些实施例中,上述步骤s0033“利用所述多个消息传播层对所述各个原子节点的初始状态向量、所述邻接节点的初始状态向量和所述边特征向量进行融合处理,得到所述各个原子节点的表示向量”,可以通过以下步骤实现:
[0128]
步骤s331,利用第一个消息传播层对所述邻接节点的初始状态向量和所述边特征向量进行消息融合处理,得到所述各个原子节点的第一层融合消息向量。
[0129]
该步骤在实现时,可以首先对邻接节点的初始状态向量和边特征向量进行拼接,得到拼接向量,然后再将消息融合函数的第一参数矩阵作用于该拼接向量,(也即将第一参数矩阵和该拼接向量进行乘积处理)得到第一参数向量,最后利用预设的激活函数对第一参数向量进行映射处理,得到各个原子节点的第一层融合消息向量。
[0130]
第一激活函数可以是sigmoid函数、tanh函数、relu函数等。
[0131]
步骤s332,对各个原子节点的输入状态向量和所述第一层融合消息向量进行状态融合处理,得到所述各个原子节点的第一层状态向量。
[0132]
该步骤在实现时,首先获取用于进行状态融合处理的状态融合函数的第二参数矩阵;然后将该第二参数矩阵作用于该第一层融合消息向量(也即将第二参数矩阵和第一层融合消息向量进行乘积处理),得到第二参数向量;最后利用预设的第二激活函数对所述各个原子节点的输入状态向量和所述第二参数向量进行处理,得到所述各个原子节点的第一层状态向量。第一层状态向量可以理解为第一个消息传播层输出的状态向量,也为第二个消息传播层输入的状态向量。
[0133]
第二激活函数可以是sigmoid函数、tanh函数、relu函数等,第一激活函数和第二激活函数可以是相同的,也可以是不同的。
[0134]
步骤s333,利用第t个消息传播层对所述邻接节点的第(t-1)层状态向量和所述边特征向量进行消息融合处理,得到所述各个原子节点的第t层融合消息向量。
[0135]
其中,t=2,3,

,t,t为消息传播层的总层数。
[0136]
该步骤在实现时,首先将所述邻接节点的第(t-1)层状态向量和所述边特征向量进行拼接处理,得到第(t-1)层拼接向量;然后将消息融合函数的第一参数矩阵和第(t-1)层拼接向量进行乘积处理,得到第(t-1)层的第一参数向量;再利用预设的第一激活函数对第(t-1)层的第一参数向量进行处理,得到原子节点的第t层融合消息向量。
[0137]
步骤s334,对所述各个原子节点的第(t-1)层状态向量和所述第t层融合消息向量进行状态融合处理,得到所述各个原子节点的第t层状态向量。
[0138]
该步骤在实现时,将所述第二参数矩阵和所述第(t-1)层融合消息向量进行乘积处理,得到第(t-1)层的第二参数向量;再利用预设的第二激活函数对所述各个原子节点的第(t-1)层状态向量和第(t-1)层的第二参数向量进行处理,得到所述各个原子节点的第t层状态向量。
[0139]
步骤s335,将所述各个原子节点的第t层状态向量确定为所述各个原子节点的表示向量。
[0140]
通过上述步骤s331至步骤s335,能够用利用消息融合函数对原子节点的邻接节点的状态向量和边特征向量进行融合处理,得到融合消息向量,然后再利用状态融合函数将
原子节点上一层输出的状态向量和融合消息向量进行状态融合,得到所述各个原子节点的表示向量,如此通过多个消息传播层,能够得到各个原子节点的定长向量表示,从而能够保证得到任意训练分子的定长训练表示向量。
[0141]
基于前述的实施例,本技术实施例再提供一种基于人工智能的分子分类方法,应用于图1所示的网络架构,图5为本技术实施例提供的基于人工智能的分子分类方法的再一种实现流程示意图,如图5所示,该流程包括:
[0142]
步骤s301,服务器获取第一训练数据。
[0143]
其中,第一训练数据包括多个第一训练分子;
[0144]
步骤s302,服务器基于各个第一训练分子的分子结构信息确定各个第一训练分子的第一训练分子图,并基于各个第一训练分子图确定各个第一训练分子的自监督标签向量。
[0145]
步骤s303,服务器利用预设的网络模型对各个第一训练分子图进行预测处理,得到各个第一训练分子图对应的第一训练表示向量。
[0146]
步骤s304,服务器利用训练好的分类器对各个第一训练表示向量进行分类处理,得到各个第一训练分子对应的第一预测信息。
[0147]
步骤s305,服务器基于各个第一训练分子的自监督标签向量和第一预测信息对预设的网络模型进行反向传播训练,得到训练好的预训练模型。
[0148]
需要说明的是,上述步骤s301至步骤s305与其他实施例中的步骤s001至步骤s005的实现过程相同。
[0149]
步骤s306,终端基于接收到的检测属性设置操作,确定目标检测属性。
[0150]
该目标检测属性可以是化学性质,例如可以是水溶性、脂溶性、致癌性等。
[0151]
步骤s307,终端向服务器发送分类请求。
[0152]
其中,该分类请求中携带有目标检测属性和待检测分子信息。
[0153]
步骤s308,服务器获取目标检测属性对应的第二训练数据。
[0154]
该第二训练数据包括多个第二训练分子和各个第二训练分子对应的标签信息,该标签信息可以为目标检测属性。
[0155]
步骤s309,服务器获取第二训练数据中各个第二训练分子的第二训练分子图。
[0156]
该步骤在实现时,服务去基于各个第二训练分子的分子结构信息,获取第二训练分子中包含的训练原子,将训练原子作为第二训练分子图的顶点,然后再基于不同原子之间的化学键确定顶点之间的连接边,如果两个原子之间具有化学键,那么该两个原子之间具有连接边,如此通过第二训练分子的分子结构新即可得到第二训练分子图。
[0157]
步骤s310,服务器利用初步训练好的预训练模型对各个第二训练分子图进行预测处理,得到各个第二训练分子图对应的第二训练表示向量。
[0158]
由于该预训练模型包括多个消息传播层和聚合层,该步骤在实现时可以基于第二训练分子的分子结构信息,获取第二训练分子图中各个原子节点的节点特征向量、所述各个原子节点的邻接节点和所述各个原子节点与邻接节点之间连接边的边特征向量,然后对所述各个原子节点的节点特征向量进行映射处理,得到所述各个原子节点的初始状态向量;并利用所述多个消息传播层对所述各个原子节点的初始状态向量、所述邻接节点的初始状态向量和所述边特征向量进行融合处理,得到所述各个原子节点的表示向量;最后利
用所述聚合层对所述各个原子节点的表示向量进行处理,得到第二训练分子图对应的第二训练表示向量。
[0159]
s311,服务器利用训练好的分类器对各个第二训练表示向量进行分类处理,得到各个第二训练分子对应的第二预测信息。
[0160]
该分类器与步骤s304中使用的分类器可以是相同的,也可以是不同的。该分类器可以是多层感知分类器,还可以是决策树分类器、逻辑回归分类器等,本技术实施例对分类器的类型不做限定。在实现时,将第二训练表示向量确定为训练好的分类器的输入信息,以对第二训练分子进行分类,得到第二预测信息,该第二预测信息可以为第二训练分子具有目标检测属性的概率。
[0161]
s312,服务器基于各个第二训练分子的标签信息和第二预测信息对初步训练好的预训练模型进行反向传播训练,得到目标检测属性对应的训练好的目标模型。
[0162]
该步骤在实现时,可以确定各个第二训练分子的标签信息和第二预测信息的差异信息,利用预设的损失函数和该差异信息,对预训练模型的参数进行调整,直至达到训练结束条件,从而得到训练好的目标模型。
[0163]
步骤s313,服务器利用训练好的目标模型对待预测分子进行预测处理,得到待预测分子的分类结果。
[0164]
该步骤在实现时,可以利用训练好的目标模型对待预测分子进行预测处理,得到待预测分子的预测表示向量,然后利用训练好的分类器对该预测表示向量进行分类处理,得到该待预测分子的分类结果,该分类结果表征该待检测分子是否具备目标检测属性。
[0165]
步骤s314,服务器将待预测分子的分类结果发送至终端。
[0166]
在本技术实施例提供的基于人工智能的分子分类方法中,服务器首先获取无标签的第一训练数据,并基于自监督的方法,确定出第一训练数据对应的自监督标签向量,然后再基于该第一训练数据和确定出的自监督标签向量对预设的网络模型进行自监督训练,从而得到训练好的预训练模型,该预训练模型由于使用大量的无标签的第一训练数据训练得到的,因此具有较高的通用性和灵活性,之后服务器在获取到终端发送的分类请求后,基于分类请求确定目标检测属性,并获取目标检测属性对应的第二训练数据,该第二训练数据是有标签的训练数据,该第二训练数据用于对初步训练好的预训练模型进行参数调整,由于预训练模型已经完成初步阶段的训练,因此在利用第二训练数据对该预训练模型进行调整时,只需要少量的第二训练数据即可完成训练,不仅能够降低有标签训练数据的数据量还能够提高训练速度,并且由于第二训练数据均为目标属性信息对应的训练数据,因此能够保证模型的精度,从而提高利用目标模型对待预测分子进行分类所得到分类结果的准确性。
[0167]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0168]
本技术实施例提供一种通用的可以针对任意化学分子属性的预训练模型方法。可以用于提升化学分子属性模型的性能。用于药物发现的前期性质筛选等工作。
[0169]
一般的,对于图可以定义为:g(v,e),v为节点集合,e为边集合。图的点和边都可以有其自己的特征向量,用xv表示节点v的特征向量,用e
vw
表示边vw的特征向量。这样一个数据结构可以很方便的表征化学分子。
[0170]
图6为本技术实施例提供的用图表示尼古丁分子的示意图,其中,尼古丁分子
(c
10
h4n2)601可以表示成图602所示的这样的数据结构,其中,原子为图上的节点;化学键为图上的边;原子的属性,例如电荷数目,质子数,中子数可以建模成这个原子的特征向量。化学键属性,比如化学键种类,化学键价态等,可以建模成边的特征向量。这样就可以把化学分子建模成一个图g。而期望预测的性质(例如水溶性,毒性等)则是一些标签(标记为yi))。
[0171]
在分子属性预测任务中,目标是给定一组已知性质的化学分子数据:得到一个训练模型m,利用该训练模型m可以预测任意一个未知性质的化合物预测的目标性质。训练模型m可以是任意用于属性预测的模型,例如gcn,radom forest,mpnn等。模型的类型不影响预训练模型的构造。
[0172]
相关技术中,获得性质预测模型的流程如图7a所示,将待标签的数据集直接对性质预测模型701进行训练,从而得到训练好的性质预测模型。
[0173]
图7b为本技术实施例提供的获得训练好的性质预测模型的流程示意图,图7b所示的流程包括预训练流程711和精调流程712,相较于图7a所示的流程,增加了预训练711这一流程,如图7b所示,在预训练流程711中,对无标签分子数据集合{gi}通过一些规则构造出自监督标签,然后使用这些构造的自监督标签进行训练的过程,得到预训练模型,然后利用待标签数据集对预训练模型进行精调,得到最终训练好的性质预测模型。
[0174]
图8为本技术实施例提供的一种基于原子的自监督标签构造方法实现流程示意图,如图8所示,该流程包括:
[0175]
步骤s801,构建待处理分子的分子图表示。
[0176]
步骤s802,获取从分子中提取的语义子图集合。
[0177]
步骤s803,基于待处理分子的分子图表示和语义子图集合确定分子图表示中包括的目标语义子图。
[0178]
步骤s804,基于目标语义子图确定该待处理分子对应的自监督标签。
[0179]
以下对语义子图以及基于语义子图集合和分子图表示确定自监督标签的过程进行说明。
[0180]
一般的,语义子图s定义为一个存在化学意义的分子片断。在语义子图中,用

r’作为通配符。

r’可以代表任何符合化学规律的分子部分,例如,用

r-ch3’
表示任何存在甲基(ch3)的分子。这种语义子图可以通过多种化学软件提取。例如,通过rdkit,可以获得一个语义子图集合该语义子图集合中包含n个语义子图。
[0181]
接下来利用这个集合来对于每个无标签分子构造标签。对于给定分子图g和语义子图集合可以通过任意图匹配算法寻找g中是否有与语义子图匹配的部分。图9为利用语义子图集合确定输入分子的语义子图标签向量的实现流程示意图,如图9所示,已有的语义子图集合901里面包含6个语义子图,对于输入分子cl=c(c)c=cc(cc(cl)=n)=c1,通过图匹配算法,可以得出该分子命中了两个子图(图9中的902为命中子图部分)。基于这个命中的结果,使用one-hot编码去得到这一分子的语义子图向量化标签lg=[1,0,0,0,0,1],其中1代表这个分子包含这个子图,0表示其不包含对应语义子图。
[0182]
在本技术实施例中,在构造好语义子图标签后,就可以基于构造出的语义子图标签来进行预训练过程。在实现时,可以通过一个图神经网络,例如消息传播网络:实现预训练过程。这个消息传播网络的输入信息包括:节
点的特征{xv}
v∈v
、节点之间的连边关系:e以及每条边上的特征e
vw
。通过公式(1-1)和公式(1-2)所示的消息机制实现消息传递:
[0183][0184][0185]
在上面两式中,为节点v在t时刻接收到的消息信息,是节点v在t时刻的状态信息,设置n(v)是节点v的邻居集合,ki(
·
)为消息聚合函数,si(
·
)为状态融合函数。
[0186]
在本技术实施例中,将ki定义为:
[0187]kt
(hv,hw,e
vw
)=σ(wkconcat(hw,e
vw
))
ꢀꢀꢀ
(1-3);
[0188]
其中,σ(
·
)为激活函数,一般的激活函数有relu(x)=max(0,x),等,concat()为拼接函数,即将两个向量拼接在一起。wk为消息聚合函数参数,
[0189]
类似的,s
t
定义为:
[0190][0191]
其中,为节点v的输入状态,定义为:w
in
为输入参数,ws为融合函数参数,
[0192]
按照以上传播过程,经过t步传播可以得到节点v的一个新特征t为消息传播次数,在这里w
in
、ws等参数在一次传播过程中是共享的。
[0193]
在本技术实施例中,以上传播过程表示成如图10所示的神经网络层:如图10所示,将初始状态信息h0和连接边信息e输入到神经网络层1011,得到输出信息h
t
。其中,为每个节点(也即每个原子)输入状态向量的集合表示,为每个节点输出状态向量的集合表示。
[0194]
在得到原子的向量表示以后,在模型m输出上加入一个聚合(aggregatio n)层,给定一个分子中所有原子的表示通过公式(1-5)得到分子表示向量:
[0195][0196]
通过这个模型,就可以得到任意图的定长向量表示hg。然后再基于这个图对应的语义子图标签lg,可以将hg输入到一个多层感知分类器里面,通过公式(1-6)得到这个图的预测信息,然后通过公式(1-7)所示的crossentropy损失函数来衡量当前模型预测和语义子图标签的差异信息,进而基于差异信息对模型m进行训练,得到一个只基于语义子图的预
训练模型m。
[0197]
og=mlp(hg)
ꢀꢀꢀ
(1-6);
[0198]
loss(lg,hg)=crossentropy(lg,og)
ꢀꢀꢀ
(1-7);
[0199]
基于该预训练模型m,针对特定的分子属性标签可以对得到的预训练模型m进行精调。此时可以在模型m输出上加入一个aggregation层,给定一个分子中所有原子的表示可以通过公式(1-8)得到分子表示向量g:
[0200][0201]
通过这个模型,就可以得到任意图的定长向量表示g。这一定长表示可以用于后续的分类/回归模型中,例如,可以将g输入到一个多层感知分类器里面通过公式(1-9)得到预测结果;然后通过公式(1-10)所示的crossentropy损失函数来衡量当前模型预测和实际标签y的差距:
[0202]
oi=mlp(gi)
ꢀꢀꢀ
(1-9);
[0203]
loss(yi,oi)=crossentropy(yi,oi)
ꢀꢀꢀ
(1-10);
[0204]
基于以上损失函数,可以在基于模型m基础上精调得到针对这一分子属性的精调模型m’,这一精调模型m’可以用于预测给定分子的表示向量,进而基于给定分子的表示向量预测该给定分子的属性。
[0205]
在本技术实施例中,提出了一种新的获得分子属性预测模型的流程,即通过无标签的数据进行自监督训练得到一个预训练模型,再利用分子属性标签,基于预训练模型精调得到目标模型。因此,训练好的预训练模型可以灵活的根据输入标签不同来对不同化合物的属性来进行精调得到目标属性的预测模型,从而对给定属性进行预测和分析,提高预训练模型的灵活性和通用性。
[0206]
下面继续说明本技术实施例提供的基于人工智能的分子分类装置443的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的基于人工智能的分子分类装置443中的软件模块可以包括:
[0207]
第一获取模块,用于获取初步训练好的预训练模型,所述初步训练好的预训练模型是利用无标签的第一训练数据通过自监督训练得到的;
[0208]
第二获取模块,用于获取目标检测属性对应的第二训练数据,所述第二训练数据为具有标签信息的训练数据;
[0209]
模型调整模块,用于利用所述第二训练数据对所述初步训练好的预训练模型进行参数调整,得到所述目标检测属性对应的训练好的目标模型;
[0210]
第一预测模块,用于获取待预测分子,并利用所述训练好的目标模型对待预测分子进行预测处理,得到所述待预测分子的分类结果。
[0211]
在一些实施例中,该装置还包括:
[0212]
第三获取模块,用于获取第一训练数据,所述第一训练数据包括多个第一训练分子;
[0213]
第一确定模块,用于基于所述各个第一训练分子的分子结构信息确定所述各个第一训练分子的第一训练分子图,并基于所述各个第一训练分子图确定所述各个第一训练分
子的自监督标签向量;
[0214]
第二预测模块,用于利用预设的网络模型对各个第一训练分子图进行预测处理,得到所述各个第一训练分子图对应的第一训练表示向量;
[0215]
第一分类模块,用于利用训练好的分类器对各个第一训练表示向量进行分类处理,得到所述各个第一训练分子对应的第一预测信息;
[0216]
第一训练模块,用于基于所述各个第一训练分子的自监督标签向量和所述第一预测信息对所述预设的网络模型进行反向传播训练,得到训练好的预训练模型。
[0217]
在一些实施例中,该第一确定模块,还用于:
[0218]
获取预设的多个语义子图,其中,每个语义子图对应一个具有化学意义的分子片段;
[0219]
将各个第一训练分子图与所述多个语义子图进行匹配,得到所述各个第一训练分子图的匹配结果;
[0220]
基于所述各个第一训练分子图对应的匹配结果,确定所述各个第一训练分子的自监督标签向量。
[0221]
在一些实施例中,该第一确定模块,还用于:
[0222]
将所述第i个第一训练分子图与各个语义子图进行匹配,得到各个语义子图对应的匹配度;
[0223]
将匹配度大于匹配度阈值的语义子图确定为所述第i个第一训练分子图对应的目标语义子图;
[0224]
将所述第i个第一训练分子图对应的目标语义子图确定为所述第i个第一训练分子图的匹配结果。
[0225]
在一些实施例中,该第一确定模块,还用于:
[0226]
获取所述第i个第一训练分子图对应的目标语义子图的目标子图标识;
[0227]
基于所述目标子图标识确定所述多个语义子图中与所述第i个训练分子图不匹配的其他子图标识;
[0228]
对所述目标子图标识和所述其他子图标识进行编码处理,得到所述第i个第一训练分子图的自监督标签向量。
[0229]
在一些实施例中,所述预设的网络模型包括多个消息传播层和至少一个聚合层,该第二预测模块,还用于:
[0230]
基于第i个训练分子的分子结构信息,获取第i个第一训练分子图中各个原子节点的节点特征向量、所述各个原子节点的邻接节点和所述各个原子节点与邻接节点之间连接边的边特征向量;
[0231]
对所述各个原子节点的节点特征向量进行映射处理,得到所述各个原子节点的初始状态向量;
[0232]
利用所述多个消息传播层对所述各个原子节点的初始状态向量、所述邻接节点的初始状态向量和所述边特征向量进行融合处理,得到所述各个原子节点的表示向量;
[0233]
利用所述聚合层对所述各个原子节点的表示向量进行处理,得到所述第i个第一训练分子图对应的第一训练表示向量。
[0234]
在一些实施例中,该第二预测模块,还用于:
[0235]
利用第一个消息传播层对所述邻接节点的初始状态向量和所述边特征向量进行消息融合处理,得到所述各个原子节点的第一层融合消息向量;
[0236]
对所述各个原子节点的输入状态向量和所述第一层融合消息向量进行状态融合处理,得到所述各个原子节点的第一层状态向量;
[0237]
利用第t个消息传播层对所述邻接节点的第(t-1)层状态向量和所述边特征向量进行消息融合处理,得到所述各个原子节点的第t层融合消息向量,t=2,3,

,t,t为消息传播层的总层数;
[0238]
对所述各个原子节点的第(t-1)层状态向量和所述第t层融合消息向量进行状态融合处理,得到所述各个原子节点的第t层状态向量;
[0239]
将所述各个原子节点的第t层状态向量确定为所述各个原子节点的表示向量。
[0240]
在一些实施例中,该第二预测模块,还用于:
[0241]
将所述邻接节点的初始状态向量和所述边特征向量进行拼接处理,得到拼接向量;
[0242]
获取用于消息融合处理的消息融合函数的第一参数矩阵,将所述第一参数矩阵和所述拼接向量进行乘积处理,得到第一参数向量;
[0243]
利用预设的第一激活函数对所述第一参数向量进行处理,得到原子节点的第一层融合消息向量。
[0244]
在一些实施例中,该第二预测模块,还用于:
[0245]
获取用于进行状态融合处理的状态融合函数的第二参数矩阵;
[0246]
将所述第二参数矩阵和所述第一层融合消息向量进行乘积处理,得到第二参数向量;
[0247]
利用预设的第二激活函数对所述各个原子节点的输入状态向量和所述第二参数向量进行处理,得到所述各个原子节点的第一层状态向量。
[0248]
在一些实施例中,该第二预测模块,还用于:
[0249]
基于所述第i个第一训练分子的分子结构信息,获取所述第i个第一训练分子中各个训练原子的属性信息;
[0250]
对所述各个训练原子的属性信息进行编码处理,得到所述第i个第一训练分子图中各个原子节点的节点特征向量;
[0251]
将与所述各个训练原子之间具有化学键的其他原子确定为所述各个训练原子的邻接原子;
[0252]
获取所述各个训练原子与所述邻接原子之间化学键的属性信息;
[0253]
对所述化学键的属性信息进行编码处理,得到所述各个原子节点与邻接节点之间连接边的边特征向量。
[0254]
在一些实施例中,该模型调整模块,还用于:
[0255]
获取所述第二训练数据中各个第二训练分子的第二训练分子图;
[0256]
利用所述初步训练好的预训练模型对各个第二训练分子图进行预测处理,得到所述各个第二训练分子图对应的第二训练表示向量;
[0257]
利用训练好的分类器对各个第二训练表示向量进行分类处理,得到所述各个第二训练分子对应的第二预测信息;
[0258]
基于所述各个第二训练分子的标签信息和所述第二预测信息对所述初步训练好的预训练模型进行反向传播训练,得到所述目标检测属性对应的训练好的目标模型。
[0259]
需要说明的是,本技术实施例针对基于人工智能的分子分类装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0260]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的基于人工智能的分子分类方法。
[0261]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的基于人工智能的分子分类方法,例如,如图3、图5示出的基于人工智能的分子分类方法。
[0262]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、ep rom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0263]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0264]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0265]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0266]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1