CN118213006A - 分子生成模型的训练方法、装置、设备及存储介质 - Google Patents
分子生成模型的训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118213006A CN118213006A CN202211612755.8A CN202211612755A CN118213006A CN 118213006 A CN118213006 A CN 118213006A CN 202211612755 A CN202211612755 A CN 202211612755A CN 118213006 A CN118213006 A CN 118213006A
- Authority
- CN
- China
- Prior art keywords
- molecular
- attribute
- data
- model
- sample
- 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
- 238000012549 training Methods 0.000 title claims abstract description 205
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 239000003550 marker Substances 0.000 claims abstract description 54
- 239000011159 matrix material Substances 0.000 claims description 60
- 230000006870 function Effects 0.000 claims description 59
- 238000003062 neural network model Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 238000009826 distribution Methods 0.000 claims description 16
- 239000000126 substance Substances 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 18
- 238000013473 artificial intelligence Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000013135 deep learning Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 239000003792 electrolyte Substances 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000012512 characterization method Methods 0.000 description 6
- 239000003814 drug Substances 0.000 description 6
- 229940079593 drug Drugs 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000003041 virtual screening Methods 0.000 description 6
- 241000282414 Homo sapiens Species 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- KZMAWJRXKGLWGS-UHFFFAOYSA-N 2-chloro-n-[4-(4-methoxyphenyl)-1,3-thiazol-2-yl]-n-(3-methoxypropyl)acetamide Chemical compound S1C(N(C(=O)CCl)CCCOC)=NC(C=2C=CC(OC)=CC=2)=C1 KZMAWJRXKGLWGS-UHFFFAOYSA-N 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013526 transfer learning Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000002209 hydrophobic effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- QGZKDVFQNNGYKY-UHFFFAOYSA-N Ammonia Chemical compound N QGZKDVFQNNGYKY-UHFFFAOYSA-N 0.000 description 2
- HCHKCACWOHOZIP-UHFFFAOYSA-N Zinc Chemical compound [Zn] HCHKCACWOHOZIP-UHFFFAOYSA-N 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000003085 diluting agent Substances 0.000 description 2
- 239000008151 electrolyte solution Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000011701 zinc Substances 0.000 description 2
- 229910052725 zinc Inorganic materials 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- YCKRFDGAMUMZLT-UHFFFAOYSA-N Fluorine atom Chemical compound [F] YCKRFDGAMUMZLT-UHFFFAOYSA-N 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 229910021529 ammonia Inorganic materials 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 150000001768 cations Chemical class 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009509 drug development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 229910052731 fluorine Inorganic materials 0.000 description 1
- 239000011737 fluorine Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002910 structure generation Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative 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
-
- 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/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised 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/50—Molecular design, e.g. of drugs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Crystallography & Structural Chemistry (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Pharmacology & Pharmacy (AREA)
- Medicinal Chemistry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种分子生成模型的训练方法、装置、设备及存储介质,涉及量子化学领域。所述方法包括:获取分子生成模型的不完整标记数据;对于任意一个样本分子,若样本分子在不完整标记数据中对应的分子属性标记数据是不完整的,则根据样本分子的分子属性预测数据和分子属性标记数据,得到样本分子的分子属性标签数据;基于样本分子的分子属性标签数据,对分子生成模型进行训练,得到完成训练的分子生成模型,完成训练的分子生成模型用于生成具有目标属性的分子数据。通过采用具有更多属性的不完整标记数据对分子生成模型进行训练,能够提升模型生成的分子数据的多样性。
Description
技术领域
本申请实施例涉及量子化学领域,特别涉及一种分子生成模型的训练方法、装置、设备及存储介质。
背景技术
在量子化学领域,通过分子生成模型来生成新分子,能够较大程度地降低新分子的生成成本。
相关技术中,通常采用完整标记数据来训练分子生成模型,使得训练完成的分子生成模型中可以用于生成与完整标记数据中的分子的属性相关的新分子。完整标记数据是对于其中任意一个分子来说,针对其中的任意一项属性均存在标记属性值。
然而,完整标记数据中的分子的属性种类相对较少,根据该完整标记数据所训练出来的分子生成模型可以产生的新分子所具备的属性也较少,生成的新分子的多样性较低。
发明内容
本申请实施例提供了一种分子生成模型的训练方法、装置、设备及存储介质。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种分子生成模型的训练方法,所述方法包括:
获取所述分子生成模型的不完整标记数据,所述不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且所述N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,所述不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数;
对于任意一个样本分子,若所述样本分子在所述不完整标记数据中对应的分子属性标记数据是不完整的,则根据所述样本分子的分子属性预测数据和分子属性标记数据,得到所述样本分子的分子属性标签数据;其中,所述样本分子的分子属性预测数据包括:预测得到的所述样本分子针对至少一项属性的预测属性值;
基于所述样本分子的分子属性标签数据,对所述分子生成模型进行训练,得到完成训练的分子生成模型,所述完成训练的分子生成模型用于生成具有目标属性的分子数据。
根据本申请实施例的一个方面,提供了一种分子生成模型的训练装置,所述装置包括:
数据获取模块,用于获取所述分子生成模型的不完整标记数据,所述不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且所述N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,所述不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数;
标签获取模块,用于对于任意一个样本分子,若所述样本分子在所述不完整标记数据中对应的分子属性标记数据是不完整的,则根据所述样本分子的分子属性预测数据和分子属性标记数据,得到所述样本分子的分子属性标签数据;其中,所述样本分子的分子属性预测数据包括:预测得到的所述样本分子针对至少一项属性的预测属性值;
模型训练模块,用于基于所述样本分子的分子属性标签数据,对所述分子生成模型进行训练,得到完成训练的分子生成模型,所述完成训练的分子生成模型用于生成具有目标属性的分子数据。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述方法。
本申请实施例提供的技术方案可以包括如下有益效果:
通过使用不完整标记数据来训练分子生成模型,能够使得样本分子具有的属性更加丰富,并不局限于完整标记数据中的指定的几项分子属性,不完整标记数据中可以包括多个完整标记数据,因此通过不完整标记数据能够丰富样本分子的分子属性种类,进一步提升了分子生成模型的输出结果的多样性。
另外,由于不完整标记数据中对于M项属性中的标记属性值存在缺失,通过获取样本分子对应的分子属性预测数据,来填补不完整标记数据中的数据空缺,有利于提升训练样本的完整性,使得后续的训练过程更加流畅,有利于提升分子生成模型的训练精度。
当然,与相关技术中仅采用完整标记数据对分子生成模型进行训练的训练方式不同,本申请实施例提供的技术方案,不完整标记数据也可以用于训练分子生成模型,因此也同样丰富了分子生成模型的训练方法。
附图说明
图1是本申请一个实施例提供的方案实施环境的示意图;
图2是本申请一个实施例提供的分子生成模型的训练方法的示意图;
图3是相关技术中的一种SSVAE模型的训练方法的示意图;
图4是相关技术中的另一种SSVAE模型的训练方法的示意图;
图5是相关技术中的数据合并方式的示意图;
图6是本申请一个实施例提供的分子生成模型的训练方法的流程图;
图7是本申请另一个实施例提供的分子生成模型的训练方法的流程图;
图8是本申请一个实施例提供的掩膜矩阵的示意图;
图9是本申请一个实施例提供的ConGen模型的训练方法的示意图;
图10是本申请另一个实施例提供的分子生成模型的训练方法的流程图;
图11是本申请另一个实施例提供的分子生成模型的训练方法的流程图;
图12是本申请一个实施例提供的分子生成模型以及分子属性预测模型的训练方法的示意图;
图13是本申请一个实施例提供的从TensorFlow1.0转换到PyTorch平台后的模型性能比较示意图;
图14是本申请一个实施例提供的分子生成方法的示意图;
图15是本申请一个实施例提供的分子生成模型的训练装置的框图;
图16是本申请另一个实施例提供的分子生成模型的训练装置的框图;
图17是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在介绍本申请技术方案之前,先对本申请涉及的一些背景技术知识进行介绍说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。本申请实施例包括以下内容中的至少部分内容。
人工智能(Artificial Intelligence,简称AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括自然语言处理技术、机器学习/深度学习等几大方向。
机器学习(Machine Learning,简称ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织相关的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
深度学习:深度学习(Deep Learning,简称DL)是机器学习(Machine Learning,简称ML)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、虚拟现实(Virtual Reality,简称VR)、增强现实(Augmented Reality,简称AR)、游戏、虚拟人、数字人等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的机器学习等技术,具体通过如下实施例进行说明。
在介绍本申请技术方案之前,先对本申请涉及的一些名词进行解释说明。以下相关解释作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。本申请实施例包括以下内容中的至少部分内容。
RNN(Recurrent Neural Network,循环神经网络):是一种特殊的神经网络结构,它是根据“人的认知是基于过往的经验和记忆”这一观点提出的。它不仅考虑前一时刻的输入,而且赋予了网络对前面的内容的一种“记忆”功能。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
VAE(Variational Autoencoder,变分自编码器):把一堆真实样本通过编码器网络变换成一个理想的数据分布,然后这个数据分布再传递给一个解码器网络,得到一堆生成样本,生成样本与真实样本足够接近的话,就训练出了一个自编码器模型。
SSVAE(Semi-supervised Sequential Variational Autoencoder,半监督变分自动编码器):和本申请实施例中的ConGen模型对比的基线算法。SSVAE模型依赖于变分自动编码算法和条件输入来实现其条件分子结构生成能力。然而,这个基线SSVAE模型有很大的实际限制(而ConGen克服了这些限制)。
ConGen:本申请实施例中讨论的条件分子生成模型,它是一种新颖的基于自动编码器的机器学习模型,能够生成多条件分子,即使所使用的训练数据具有完全缺失或不完整的属性标签。
PyTorch:Python机器学习库,通常用于神经网络或其他与梯度相关的算法。
TensorFlow:另一个Python机器学习库,其功能与PyTorch几乎相同。然而,在设计理念上存在显着差异,TensorFlow模型一般需要用静态图定义模型,在运行前进行对静态图预编译,并针对最大运行时效率进行优化,而PyTorch则基于动态图,在运行时有更大最大灵活性,但牺牲部分计算效率。
SMILES:Simplified molecular-inputline-entrysystem,这是一种使用短的ASCII字符串描述化学物质的结构的规范。SMILES字符串的设计方式使其可用于直接表示分子化学结构的几何形状,使其成为模型编码器输入和解码器输出的表示。
半正定(PSD)矩阵:满足特殊条件的矩阵M,其中对于任何实数列向量z,实数zTMz为正或零,其中zT是z的转置。PSD矩阵M的所有特征值都是非负的。
预测器:ConGen模型中负责分子属性预测的子模型。它的输入是分子结构(可以通过SMILES字符串、或其他分子结构表示方案来表示)。
编码器:ConGen模型中的子模型,负责将输入的高维结构编码到低维隐空间表示。
解码器:ConGen模型中的子模型,负责将低维隐空间表示(来自编码器)和分子属性(来自预测器或训练标签)解码回原始分子结构表示。
无条件生成:使用ConGen解码器生成分子,无需为生成的分子指定任何所需的属性条件。
条件生成:使用ConGen解码器生成分子,同时为生成的分子指定一个或多个所需的属性条件。
协方差矩阵:训练数据中分子属性间的相关性矩阵。给定大小为ns×np的不完整分子属性标签矩阵(ns是训练数据中样本分子的数量,而np是用于训练/生成的分子属性的数量),协方差矩阵的大小为np×np。
请参考图1,其示出了本申请一个实施例提供的方案实施环境的示意图。该方案实施环境可以包括模型训练设备10和模型使用设备20。
模型训练设备10可以是诸如PC、电脑、平板电脑、服务器、智能机器人等电子设备,或者是其他一些具有较强计算能力的电子设备。模型训练设备10用于对分子生成模型30进行训练。
在本申请实施例中,分子生成模型30是用于生成分子的机器学习模型。示例性地,该分子生成模型30是用于生成药物分子的机器学习模型。例如,分子生成模型30可以根据设定的目标属性的属性值或属性区间,而输出符合目标属性的生成分子。可选地,模型训练设备10可以采用机器学习的方式对该分子生成模型30进行训练,以使得其具备较好的性能。
上述训练完成的分子生成模型30可部署在模型使用设备20中使用,以提供分子的生成结果。模型使用设备20可以是诸如手机、电脑、智能电视、多媒体播放设备、可穿戴设备、医疗设备等终端设备,也可以是服务器,本申请对此不作限定。
在一些实施例中,如图1所示,分子生成模型30可以包括第一生成网络31、第二生成网络32和分子属性预测网络33。
分子属性预测网络33可以包括在分子生成模型30中,也可以不包括在分子生成模型30,而单独作为一个分子属性预测模型。
第一生成网络31和第二生成网络32是机器学习网络,可选地,第一生成网络31是编码网络,第二生成网络32是解码网络。
可选地,通过分子属性预测网络33得到分子的分子属性预测数据,来填补不完整标记数据中的属性值缺失,将被填补之后的不完整标记数据作为训练样本集,对第一生成网络31、第二生成网络32进行训练。当然,分子属性预测网络33的参数也可以不断调整,因此,进一步可以调整分子属性预测数据,重新对第一生成网络31、第二生成网络32进行训练。使得训练好的分子生成模型可以输出具有目标属性的设定属性值的生成分子。
本申请实施例提供的方法,各步骤的执行主体可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备。该计算机设备可以是诸如PC(PersonalComputer,个人计算机)、平板电脑、智能手机、可穿戴设备、智能机器人等终端;也可以是服务器。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。计算机设备可以是图1中的模型训练设备10,也可以是模型使用设备20。
请参考图2,其示出了本申请一个实施例提供的分子生成模型的训练方法的示意图。
如图2所示,由6个分子以及6个分子针对3项属性下的标记属性值构成不完整标记数据200,在不完整标记数据200中,有一部分标记属性值存在,认为是标记数据,还有一部分标记属性值不存在,认为该数据缺失。在该不完整标记数据200中,以分子1为例,针对3项属性的标记属性值中只有针对属性1的值是不缺失的,而针对属性2和属性3的值是缺失的。一般来说,这种不完整标记数据也可以认为是脏数据,脏数据十分不利于模型的训练,当然,很多模型也不支持使用脏数据训练。
考虑到不完整标记数据中的数据缺失会影响后续的模型训练,本申请提供的技术方案,通过使用分子属性预测数据来弥补不完整标记数据中的数据缺失,使得不完整标记数据200可以转换为相对完整的训练样本集210。不难看出,在训练样本集210中,不同的分子针对3项属性的值不是分子属性标记数据就是分子属性预测数据,并不存在数据缺失。
因此,利用相对完整的训练样本集210来对分子生成模型进行训练,在很大程度上可以弥补脏数据带来的不足,使得不完整标记数据转变为相对完整的训练样本集,由于不完整标记数据本身的数据较为多样且驳杂,所以,转变后的训练样本集相比于其他同类的完整标记数据的训练样本集来说,数据类型更加丰富,因此进一步还可以提升分子生成模型的生成结果的多样性。
在一些实施例中,经过本申请实施例提供的技术方案提供的机器学习的方法所训练出来的分子生成模型,例如给定约束条件(例如生成分子的几个所需属性)可以快速生成大量语义正确的SMILES分子结构,尽管训练数据集用于训练分子生成模型可能不完整(有大量缺失的标签,或“脏数据”)。
图3是相关技术中提供的SSVAE模型的训练方法的示意图。图3的300示出了分子生成模型的训练架构。SSVAE模型是基于半监督变分自动编码器的条件分子生成模型,SSVAE模型的主要思想如下:使用编码器子模型将来自训练数据集的输入分子结构x编码为隐空间表示z。使用预测器子模型将来自训练数据集的输入分子结构x预测为预测属性yP。如果存在实际的分子属性标签yL,则丢弃yP,模型使用实际的分子属性标签y=yL。否则,使用预测的分子属性标签y=yP。使用内部分子属性标签y和隐空间表示z作为解码器子模型的输入来生成输出分子结构xD。
为了处理不同类型的训练数据(标记与未标记),SSVAE模型以不同方式处理这两种类型的数据。每一个小批量中的训练数据集被分成两个不同的小批量,这取决于它们是标记的还是未标记的。然后SSVAE模型运行两次,运行方式略有不同,具体取决于分子小批量是完全标记还是完全未标记。为清楚起见,请参见图4。
图4是相关技术中提供的SSVAE模型对标记数据以及未标记数据的处理方法的示意图。其中,400示出了采用完全标记数据对SSVAE模型的训练方法,410示出了采用完全未标记数据对SSVAE模型的训练方法。完全未标记数据中的所有分子均不存在标记属性值,而仅有预测属性值。
变分自编码器(VAE)的损失函数是针对未标记和标记数据集分别计算的,而回归任务的损失函数仅针对标记数据集计算。然后将这三个损失函数相加以计算总的小批量训练损失函数。最后,一旦训练完成,解码器子模型就可以通过指定条件属性输入y和随机采样的潜在空间输入z来独立运行,有条件地生成所需的分子输出。
相关技术的主要缺点是训练数据集必须完全标记或完全未标记。SSVAE模型将问题拆分为图4是因为它极大地简化了模型数据流、数学背景和模型行为。在实践中,训练数据集可能包含标签不完整的分子,以及图4中完全标记或未标记的分子。如果训练分子数据库是从公开可用的数据库(如PubChem)中获取的或者实验数据来自几个不同数据库的组合,则情况尤其如此。图5说明了这种更有可能发生的情况。
一般来说,不完整标记数据的出现有两种情况,其一,实际公开可用的数据库本身就是不完整的,如图5的a所示,一个数据库中可能本身就存在带标签的数据(标记数据)以及不带标签的数据(数据缺失),所以,这个数据库是脏的,实际上几乎所有的分子条目都有不完整的属性标签(存在数据缺失)。其二,将不同的数据库进行合并,合并之后的数据集是不完整的。如图5的b所示,数据库1中仅包括分子1~分子3针对属性1的数据,数据库2中包括分子3~分子6针对属性2和3的数据,将数据库1和数据库2结合在一起,可以得到分子1~分子6针对属性1~属性3的数据,但是组合之后的数据是不完整的,存在一部分的不带标签的数据,也即存在数据缺失。也就是说即使对于理想的完全标记的分子属性数据集(例如,计算方法得到的分子属性标签),一旦合并来自不同数据库源的分子属性以进行模型训练,也会遇到严重的不完整数据集标签问题。这些实际情况中的“脏”(不完整)数据集都不能用于训练相关技术SSVAE模型,从而严重限制了可以SSVAE模型的使用场景,特别是当需要多属性条件分子生成时,而电池电解质或药物虚拟筛选就是这种情况。
而本申请实施例提供的技术方案,对相关技术中的SSVAE模型进行修改,得到ConGen模型,该模型专门设计用于处理“脏”(不完整的)训练数据,从而能够使用大量训练数据源,包括从不同公共和私人来源合并的数据源。因此,能够完成以前使用SSVAE模型无法完成的条件分子生成任务。例如,给定一个来自ZINC的大型标记分子数据集(包含分子量MolWt、疏水性LogP和类药性QED)和来自Materials Project Electrolyte Genome的另一个类似的大型分子数据集(包含分子量MolWt、电子亲和力EA和电离势IP),可以训练一个条件生成模型,该模型可以生成具有所需MolWt、LogP和EA值(用于筛选锂电池电解质的已知有用特性)的分子。鉴于这些不同的训练数据来源,SSVAE模型将需要对每个标签属性MolWt、LogP和E单独处理。不过,采用本申请实施例提供的分子生成模型的训练方法训练出来的分子生成模型,则没有这样的限制,允许用户根据需要混合来自多个来源的非理想实际数据。
本申请实施例提供的技术方案,不仅从实际脏数据集中学习多属性的条件分子生成。还用来自不同来源的多个数据集的组合来训练分子生成模型。无缝忽略数据集的不完整的部分,并在整个训练过程中替换缺失的数据集条目。因此,学习出来的分子生成模型可以满足多条件分子的生成,而不仅局限同一数据库中的分子属性条件,提升了生成分子的多样性。
请参考图6,其示出了本申请一个实施例提供的分子生成模型的训练方法的流程图。该方法各步骤的执行主体可以是上文介绍的模型训练设备。在下文方法实施例中,为了便于描述,仅以各步骤的执行主体为“计算机设备”进行介绍说明。该方法可以包括如下几个步骤(610~630)中的至少一个步骤:
步骤610,获取分子生成模型的不完整标记数据,不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数。
分子生成模型:一种用于生成分子的机器学习模型。本申请实施例中对分子生成模型的具体类型不作限定。可选地,该分子生成模型命名为ConGen模型。当然,该分子生成模型还可以是其他用于生成分子的模型。
不完整标记数据:如图2的200所示,其示出了一种可能的不完整标记数据。可选地,一条分子属性标记数据是分子1针对属性1、属性2以及属性3的标记属性值,不过,分子1针对属性2和属性3的标记属性值缺失。因此,一个分子针对M项属性的标记属性值中存在至少一项属性的标记属性值缺失,则认为该分子的分子属性标记数据是不完整的。在N条分子属性标记数据中,只要存在一条分子属性标记数据是不完整的,则认为整个数据是不完整标记数据。简单理解,也可以认为是在规模为N*M的数据集中,只要其中有一个标记属性值缺失,则认为该数据集为不完整标记数据。相应地,在规模为N*M的数据集中,任何一个标记属性值都存在,则认为该数据集为完整标记数据。
属性:本申请实施例中所提到的属性均是指分子属性,也即分子具有的性质。在一些实施例中,分子属性包括但不限于分子量MolWt、疏水性LogP和类药性QED、电子亲和力EA和电离势IP中的至少一种。在一些实施例中,完整标记数据中的分子属性的种类数量小于不完整标记数据中的分子属性的种类数量。如图5所示,数据库1中仅有一个分子属性,数据库2中仅有分子属性2和分子属性3。而如图2所述的不完整标记数据200中的分子属性的种类为3。不完整标记数据可以由完整标记数据合并合成,因此,不完整标记数据中的分子属性的种类数量大于完整标记数据中的分子属性的种类数量,也即,不完整标记数据的规模更大。在另一些实施例中,不完整标记数据本身就是一个大的数据库,不过由于分子属性的种类较多,分子数量较多,导致数据库中的数据不完整,相对较脏。当然,虽然不完整标记数据并不完整,但是相比较而言,不完整标记数据的数据规模更大,分子属性的种类更多,分子数量更多。
一条分子属性标记数据是一个分子针对M项属性的标记属性值,可以认为是权威数据库中记载的该分子的数据,该数据是由本家学者经过测量之后得到的,也可以是经由精度较高的分子属性预测模型而预测得到的,具体的该分子属性标记数据的获取方式本申请不作限定。可选地,大型标记分子数据集ZINC中包含分子针对分子量MolWt、疏水性LogP和类药性QED这三种分子属性的标记属性值。可选地,另一个类似的大型分子数据集Materials Project Electrolyte Genome中包含分子针对分子量MolWt、电子亲和力EA和电离势IP这三种分子属性的标记属性值。
步骤620,对于任意一个样本分子,若样本分子在不完整标记数据中对应的分子属性标记数据是不完整的,则根据样本分子的分子属性预测数据和分子属性标记数据,得到样本分子的分子属性标签数据;其中,样本分子的分子属性预测数据包括:预测得到的样本分子针对至少一项属性的预测属性值。
样本分子:从不完整标记数据中的确定出的至少一个分子,本申请对于样本分子的数量不作限定。本申请对于每次送入分子生成模型用于训练的样本分子的数量不作限定。
分子属性预测数据:分子针对不同分子属性预测得到的预测属性值。本申请是对于一个分子的分子属性预测数据的规模不作限定,可选地,一个分子的分子属性预测数据中包括该分子针对M项属性的预测属性值。可选地,一个分子的分子属性预测数据中包括该分子针对M项属性中标记属性值缺失的属性的预测属性值。以图2为例,分子1的分子属性预测数据可以仅针对属性2和属性3的预测属性值。通过仅预测缺失数据的方式,能够极大程度的降低训练成本。
分子属性标签数据:包括针对M项属性的属性值。其中,对于一个分子来说,将该分子原始的分子属性标记数据,以及后续在数据缺失位置填补的分子属性预测数据组成的M项属性值作为该分子的分子属性标签数据。任何分子的分子属性标签数据的规模均是M。
步骤630,基于样本分子的分子属性标签数据,对分子生成模型进行训练,得到完成训练的分子生成模型,完成训练的分子生成模型用于生成具有目标属性的分子数据。
在一些实施例中,将分子以及分子对应的分子属性标签数据作为训练样本,构成训练样本集,利用该训练样本集对分子生成模型进行训练。
在一些实施例中,分子和分子表征是一一对应的。分子表征包括但不限于SMILE字符串、分子图、分子三维结构、分子的化学指纹。可选地,不完整标记数据中,也可以是不同分子的分子表征在M项属性下的标记属性值。可选地,不完整标记数据中,也可以是不同分子的SMILE字符串在M项属性下的标记属性值。
在一些实施例中,利用分子表征以及分子属性标签数据对分子生成模型进行训练。
在一些实施例中,基于分子属性标签数据,通过样本分子与生成分子的差异,确定损失函数值,利用该损失函数值,对分子生成模型的参数进行调整。
对于具体的分子生成模型的模型架构、以及具体的模型训练过程,本申请不作限定。
另外,除去分子生成模型之外,其他的模型的训练样本集,也可以采用本申请实施例提供的技术方案进行构建。也即,通过在不完整标记数据中的数据缺失位置,以预测数据进行填补,来构建同时包含标记数据以及预测数据的训练样本。不仅可以提升预测结果的多样性,还可以混合多个完整标记数据,一起对模型进行训练,提升模型的训练效率。
本申请实施例提供的技术方案,通过使用不完整标记数据来训练分子生成模型,能够使得样本分子具有的属性更加丰富,并不局限于完整标记数据中的指定的几项分子属性,不完整标记数据中可以包括多个完整标记数据,因此通过不完整标记数据能够丰富样本分子的分子属性种类,进一步提升了分子生成模型的输出结果的多样性。
另外,由于不完整标记数据中对于M项属性中的标记属性值存在缺失,通过获取样本分子对应的分子属性预测数据,来填补不完整标记数据中的数据空缺,有利于提升训练样本的完整性,使得后续的训练过程更加流畅,有利于提升分子生成模型的训练精度。
当然,与相关技术中仅采用完整标记数据对分子生成模型进行训练的训练方式不同,本申请实施例提供的技术方案,不完整标记数据也可以用于训练分子生成模型,因此也同样丰富了分子生成模型的训练方法。
请参考图7,其示出了本申请另一个实施例提供的分子生成模型的训练方法的流程图。该方法各步骤的执行主体可以是上文介绍的模型训练设备。在下文方法实施例中,为了便于描述,仅以各步骤的执行主体为“计算机设备”进行介绍说明。该方法可以包括如下几个步骤(610~630)中的至少一个步骤:
步骤610,获取分子生成模型的不完整标记数据,不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数。
在一些实施例中,步骤610包括步骤611~步骤612(图中未示出)中的至少一个步骤。
步骤611,获取至少两组完全标记数据,每一组完全标记数据包括至少一个分子针对至少一项属性的标记属性值;其中,不同组的完全标记数据所包含的属性存在差异,且不同组的完全标记数据所包含的分子存在差异。
此处完全标记数据和上文完整标记数据对应,也即完全标记数据中的分子针对其中任一项属性的标记属性值均是不缺失的。如图5的b所示,数据库1和数据库2均属于完全标记数据。在一些实施例中,不同组的完全标记数据所包含的属性存在差异,且不同组的完全标记数据所包含的分子存在差异。可选地,数据库1中仅包括分子1~分子3针对属性1的数据,数据库2中包括分子3~分子6针对属性2和3的数据。数据库1和数据库2所包含的属性存在差异,所包含的分子也存在差异。
在一些实施例中,也可以从一个完整标记数据中选取部分完全标记数据,从另一个完整标记数据中也选取部分完全标记数据,来进行合并。这是处于对感兴趣的分子属性的考量,如果一个大的数据库中并非所有的分子属性都是想要进行学习的,则从中挑选出需要的或者说感兴趣的分子属性,并选取部分数据来作为完全标记数据。也就是说,并非一定需要两个完整的数据库的合并,也可以是两个完整数据库中的部分数据的合并,这样不仅可以使得分子生成模型的训练更有针对性,还可以减少分子生成模型的训练成本。
在一些实施例中,整合的至少两组完全标记数据的不同组的完全标记数据所包含的属性存在差异,且不同组的完全标记数据所包含的分子存在差异,这进一步提升了整合后的不完整标记数据的多样性,有利于后续的条件分子的生成。由于分子生成本身就需要较大的不确定性,如果完全固化的训练,很有可能导致找不到合适的生成分子,或者说生成的分子千篇一律,这也就失去了分子生成模型的存在意义。而本申请实施例提供的技术方案,通过至少两组完全标记数据来整合得到不完整标记数据,不完整标记数据的属性种类随机性较大,分子的分子性也较大,有利于这种随机分子生成类模型的训练。
步骤612,以每个分子为粒度,对至少两组完全标记数据进行整合,得到不完整标记数据。
以分子为第一顺序,先整合分子,再整合对应的属性的值。例如图5的b所示,以每个分子为粒度,对至少两组完全标记数据进行整合,所以需要将数据库1的第三行的分子3和数据库2中的第一行的分子3整合在一起,其他分子分别对应整合,得到整合后的不完整标记数据。
本申请实施例提供的技术方案,通过以分子为粒度,对完全标记数据进行整合,可以保证整合后的不完整标记数据的精度,不至于由于整合多组完全标记数据而带来的数据混乱。
在一些实施例种,步骤610之后,还包括步骤615(图中未示出)。
步骤615,生成不完整标记数据对应的掩膜矩阵,掩膜矩阵中包含N×M个元素,每一个元素用于指示一个分子的一项属性的标记属性值是否缺失。
在一些实施例中,根据不完整标记数据生成掩膜矩阵。可选地,掩膜矩阵的大小和不完整标记数据的分子数量以及属性数量有关。可选地,不完整标记数据包括N个分子,M个属性,则掩膜矩阵的大小为N×M。
在一些实施例中,掩膜矩阵的生成方式包括但不限于以下两种。
其一,首先在掩膜矩阵中,将不完整标记数据中分子属性标记数据对应的所有位置的数值置第一数值,将除去分子属性标记数据以外的数据缺失的位置的数值置为第二数值。也即,第一数值用于表征该位置对应的属性值为标记属性值,第二数值用于表征该位置对应的属性值缺失,需要使用预测属性值来填补。
其二,在掩膜矩阵中,逐元素判断,该位置对应到不完整标记数据中是否存在标记属性值,如果存在标记属性值,则该位置的值置为第一数值,如果该位置不存在标记属性值,即该位置数据缺失,则该位置的值置为第二数值。
图8示出了本申请一个实施例提供的掩膜矩阵的示意图。其中800示出了掩膜矩阵的确定架构,若掩膜矩阵对应位置的分子的属性值存在标记属性值,则该位置的值置1,若掩膜矩阵对应位置的分子的属性值缺失,则该位置的值置0。
在一些实施例中,训练数据加载器修改以允许数据库合并和处理脏数据。
由于需要使用实际训练数据集来工作,所以需要能够处理数据库合并(即使合并的分子数据库包含不同的分子属性)以及包含没有有效属性条目的分子的脏数据集。可以通过以下方式满足这两个要求。使用RDKit等Python化学信息学库规范化分子SMILES字符串(以确保相同的分子结构共享相同的SMILES字符串)。构建一个新的标签矩阵yL,其中行包含整个组合分子SMILES,列包含整个感兴趣的属性,然后从源数据库中复制相应的属性条目作为yL矩阵中的有效标签条目。构建与yL大小相同的相应掩码矩阵M,其中1用于表征有效属性条目,0用于表征无效属性条目。
步骤621,对于任意一个样本分子,若样本分子在不完整标记数据中对应的分子属性标记数据是不完整的,则对于M项属性中的每一项属性,若样本分子的分子属性标记数据中包含的属性的标记属性值缺失,则从样本分子的分子属性预测数据中获取该属性的预测属性值,作为该属性的标签属性值;其中,样本分子的分子属性预测数据包括:预测得到的样本分子针对至少一项属性的预测属性值。
步骤622,若样本分子的分子属性标记数据中包含的该属性的标记属性值未缺失,则将该属性的标记属性值确定为该属性的标签属性值。
步骤623,根据M项属性的标签属性值,得到样本分子的分子属性标签数据。
在一些实施例中,模型修改以启用脏(不完整)数据工作流(不完整标记数据)。
在此修改下,基于完全标记块与完全未标记的数据标签处理将不再存在差异。分子生成模型的每个子模型能够对脏数据进行操作,技巧是使用掩码矩阵M修改脏数据以执行以前通过分离标记和未标记块并分别处理它们来完成的任务。
在一些实施例中,在基线SSVAE模型,如图3所示,当处理标记数据块时,属性标签yL用作编码器和解码器的输入,而当处理未标记数据块时,预测器标签输出yP用作编码器和解码器输入。实现此行为的示例伪代码如下所示:
其中,i表示分子,j表示属性。通过仔细重写ConGen中子模型的执行,上述修改将提供给本申请实施例中的分子生成模型与基线SSVAE模型相同的输入-输出关系。在一些实施例中,本申请实施例中的分子生成模型是ConGen模型。可选地,ConGen模型的示意图如图9的900所示,利用掩膜矩阵来处理脏数据(不完整标记数据)。
步骤630,基于样本分子的分子属性标签数据,对分子生成模型进行训练,得到完成训练的分子生成模型,完成训练的分子生成模型用于生成具有目标属性的分子数据。
本申请实施例提供的技术方案,通过引入掩膜矩阵,使得分子生成模型可以同时处理标记数据和未标记数据,也即可以对于不完整标记数据进行处理,而无需将二者进行分开,对完全标记数据完全未标记数据分别进行处理。因此,本申请实施例提供的技术方案,使得对于不完整标记数据的处理更为简单,提升了分子生成模型的处理效率,减少了分子生成模型的训练成本。
请参考图10,其示出了本申请另一个实施例提供的分子生成模型的训练方法的流程图。该方法各步骤的执行主体可以是上文介绍的模型训练设备。在下文方法实施例中,为了便于描述,仅以各步骤的执行主体为“计算机设备”进行介绍说明。该方法可以包括如下几个步骤(610~633)中的至少一个步骤:
步骤610,获取分子生成模型的不完整标记数据,不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数。
步骤620,对于任意一个样本分子,若样本分子在不完整标记数据中对应的分子属性标记数据是不完整的,则根据样本分子的分子属性预测数据和分子属性标记数据,得到样本分子的分子属性标签数据;其中,样本分子的分子属性预测数据包括:预测得到的样本分子针对至少一项属性的预测属性值。
步骤631,通过分子生成模型根据样本分子以及样本分子的分子属性标签数据,得到样本分子对应的生成分子。
在一些实施例中,输入的样本分子的分子表征,则输出的也为生成分子的分子表征。可选地,输入的是样本分子的SMILE字符串,则输出的也是生成分子的SMILE字符串。
步骤632,根据样本分子以及生成分子,确定分子生成模型的损失函数值,损失函数值用于表征样本分子与生成分子的差异度。
在介绍本申请实施例提供的分子生成模型的损失之前,先介绍一下相关技术中的SSVAE的损失函数。
在原始SSVAE模型的执行过程中,小批量中的分子输入之间没有相互作用(例如,如果同时处理分子A和B,则两个分子的模型输出xD不互相影响),这确保分子x的任何内部模型变量(yL、yP、z、xD等)完全由该输入分子x确定。因此,本申请实施例中的分子生成模型中新损失函数的实现变得相对简单。
在SSVAE损失函数的最初实现中,一个分子的损失函数需要被拆分成三个部分。为了清楚起见,下面将需要详细介绍SSVAE的损失函数定义,因为需要在后续详细说明本申请实施例中如何对分子生成模型中的脏数据进行修改。
a.小批量中完全标记数据的VAE损失函数:
b.小批量中完全未标记数据的VAE损失函数:
c.小批量中完全标记数据的回归损失函数
其中C=Cov(yL)和E=E(yL)是训练数据中统计得到的标签的协方差矩阵和均值,μ是均值函数,σ是标准差函数,β是用来平衡生成任务和监督学习的超参数,nL、nU、nx、ny和nz是一批数据中完全标记数据、完全未标记数据,以及x、y和z的维度。最后,该批数据的损失函数为
从上面的损失函数可以看出,L和U之间的项实际上有很大的重叠。因此,通过可以开发一个新的损失函数G,它采用部分标记的条目(脏数据),利用掩码矩阵M。当条目都被完全标记时,M的条目将全部为1,除了一些常数项外,应该转换为L。当所有条目都完全未标记时,M的条目将全部为0,除了一些常数项外,G应该转换为U。类似地,新损失函数R应该只对小批量中标记的条目求和。通过确保这种行为,当提供完全标记/未标记数据时,后续的损失函数微分和模型参数优化将与完全标记/未标记版本完全一样。
在一些实施例中,损失函数值包括回归损失和变分编码损失,变分编码损失包括第一损失、第二损失、第三损失和第四损失。
在一些实施例中,步骤632包括步骤632-1~步骤632-6(图中未示出)中的至少一个步骤。
步骤632-1:根据分子属性标记数据中的标记属性的标记属性值,以及分子属性预测数据中的标记属性的预测属性值,确定回归损失;其中,回归损失用于表征分子属性预测数据的预测准确度,标记属性是分子属性标记数据中未缺失的标记属性值对应的属性。
步骤632-2:根据生成分子与样本分子,确定第一损失,第一损失用于表征生成分子与样本分子的直接差异程度。
步骤632-3:根据分子属性标签数据、分子属性标签数据的协方差矩阵、分子属性标签数据的均值以及分子属性预测数据的均值,确定第二损失和第三损失;其中,第二损失用于表征分子属性标签数据中的标记属性的标签属性值相较于分子属性标签数据的差异度,第三损失用于表征分子属性标签数据包含的M项属性中除标记属性之外的其他属性的标签属性值相较于分子属性标签数据的差异度。
步骤632-4:根据隐空间表示,以及隐空间表示服从的概率分布的位置参数和均值,确定第四损失,第四损失用于表征隐空间表示相比于概率分布的散度;其中,隐空间表示是分子生成模型的中间层得到的样本分子的隐层特征。
步骤632-5:根据第一损失、第二损失、第三损失以及第四损失,确定变分编码损失,变分编码损失用于表征根据分子属性标签数据而生成的生成分子与样本分子的差异程度。
步骤632-6:根据所述回归损失与所述变分编码损失,确定所述损失函数值。
在此,我们为ConGen训练时的批数据定义了新的损失函数,特别是针对脏数据:
a.小批量中针对脏数据的VAE损失函数
b.小批量中针对脏数据的回归损失函数
其中nS为小批量输入模型的样本个数,M是掩码矩阵。注意到删除了ln(det(C)),这主要是数值稳定性方面的考虑。最终的损失函数为 其中,为变分编码损失,为回归损失。中包括第一损失、第二损失、第三损失以及第四损失。
在一些实施例中,在样本分子的分子属性预测数据随着分子生成模型的训练而不断发生改变的情况下,分子属性标签数据的协方差矩阵和均值也是不断更新的。
在一些实施例中,通过协方差矩阵插补方法,避免脏数据导致的非PSD协方差矩阵问题。以本申请中的分子生成模型是ConGen模型为例。
作为SSVAE和ConGen的损失函数的一部分,首先需要计算C=Cov(yL)和E=E(yL)。它们分别是从整个训练集构建的标签协方差矩阵和平均值。对于SSVAE模型,直接从训练集中完全丢弃未标记的分子条目并直接从完全标记的分子条目计算C和E。这可以在模型构建期间完成一次,并在整个模型训练期间设置为这些值。
然而,这种策略不适用于ConGen,因为训练数据是脏的。对于脏属性标签矩阵,仅从可用条目计算标签均值E并忽略yL矩阵中的0才有意义。同样,从可用的yL矩阵项中计算协方差矩阵C项同时忽略0更有意义。也就是说,对于E和C的计算,有以下几种情况:
在SSVAE模型中使用的干净训练数据中,掩码矩阵M的所有条目均为1,然后可以在数学上证明协方差矩阵C始终是半正定(PSD)矩阵.相应地,在实践中,损失函数中的对数行列式项ln(det(C))在模型训练期间几乎总是明确定义的。但是,当掩码矩阵M的条目不再全为1时,上面的数学PSD矩阵保证就会失效。因此,可能会因数值问题而出现训练错误(当协方差矩阵意外地具有负行列式时,PyTorch将尝试对负数执行对数运算并返回数值错误)。尽管如此,由于ln(det(C))项只是一个常数,可以将其从ConGen损失函数中移除,而不会产生任何训练后果,同时保持训练的正确性。所以在上述实施例中,有意为ConGen损失函数做了这样的操作。
真正的物理问题来自协方差矩阵本身的质量。当训练数据标签(训练样本)可用性低时(掩码矩阵M中有很多0条目),将遇到重大问题,因为E和C矩阵不能代表真实的分子样本群体,相应地可能会在后续模型训练和条件生成过程中遇到非常糟糕的结果。如果相应的掩码矩阵M条目为0,可以通过使用插补技术在每个训练周期后使用来自分子属性预测模型的预测数据更新标签矩阵yL的内容来缓解这个问题。之后,E和C矩阵是重新计算以用于下一个训练周期,但假设所有条目(包括以前未标记的条目)都是有效的。换句话说,从第一个训练周期的末尾开始,在每个训练时期之间更新E和C:
其中,将真实样本群体(总样本群体)分别对应的分子属性标签数据认为是y,y是根据样本对应的分子属性预测数据的不断更新而不断更新的,na表示真实样本群体中所有样本分子的数量。一开始,E和C矩阵的质量不是很好,它们仍然不能很好地代表真实样本群体。然而,随着预测子模型在后续训练迭代中变得更加准确,E和C将更好地代表真实样本群体,相应地实现更好的分子特性预测和条件生成精度。
步骤633,根据损失函数值,对分子生成模型的参数进行调整,得到完成训练的分子生成模型。
在一些实施例中,分子生成模型包括第一生成网络和第二生成网络;其中,第一生成网络用于根据样本分子以及样本分子的分子属性标签数据,生成隐空间表示,隐空间表示服从的概率分布的均值和位置参数由第一生成网络的参数、样本分子以及样本分子的分子属性标签数据确定;第二生成网络用于根据隐空间表示以及样本分子的分子属性标签数据,得到生成分子,生成分子服从的概率分布的均值和位置参数由第二生成网络的参数、隐空间表示以及样本分子的分子属性标签数据确定。
在一些实施例中,第一分子生成网络是机器学习网络,第二分子生成网络是机器学习网络。可选地,第一分子生成网络是编码网络(编码器),第二分子生成网络是解码网络(解码器)。
在一些实施例中,在分子生成模型完成训练之后,可以通过设定目标属性的属性值,并将随机采样的潜在空间表示,共同输入至分子生成模型,有条件地生成所需的分子输出。在一些实施例中,指定条件属性输入y和随机采样的潜在空间输入z来独立运行第二分子生成网络,有条件地生成所需的分子输出。
在一些实施例中,在一些药物研究方面,通过需要合成新分子,以满足药物研发的需求,因此,通常是给定需要的生成分子的目标属性的属性值或者属性区间,此处目标属性也就是认为确定的,目标属性的属性值也是人为根据经验或者测算结果而确定出来。当然,分子生成模型根据设定的目标属性的属性值或者属性区间,根据模型的迭代次数,输出大量的生成分子,该生成分子应该是满足目标属性的属性值或者属性区间条件的概率分布。进一步地,研发人员从大量生成分子中确定出符合目标属性条件的一个或多个分子。
当然,除去药物研究之外,一些其他材料的虚拟筛选、电解质溶液的虚拟筛选、催化剂的虚拟筛选等等,均可以采用本申请实施例提供的技术方案所训练的分子生成模型来进行生成。
本申请实施例提供的技术方案,通过引入变分编码损失,使得对于完全标记数据以及完全未标记数据的损失的计算,可以结合在一起,无需使用两次分子生成模型,通过一次训练,即可实现对训练样本中的所有数据进行计算损失,不区分标记以及未标记,有利于提升模型的训练效率。
另外,通过更新分子标签数据的协方差矩阵和均值,有利于提高损失函数的精度,使得对于分子生成模型的损失计算更加准确,相应地根据损失对于分子生成模型的参数调整更加准确。
并且,由于引入损失函数对分子生成模型进行训练,便于对分子生成模型的参数进行调整,并且根据样本分子以及生成分子确定出来的损失函数值相对来说,更能体现分子生成模型的实际损失,有利于分子生成模型的训练。
除此之外,通过第一分子生成网络,来获取训练样本对应的潜在空间表示的概率分布,并基于采样后的潜在空间表示,以及分子属性标签数据,通过第二分子生成网络,得到生成分子的概率分布。因此,细化了分子生成模型的具体训练过程,丰富了模型的训练方法。同时,通过采用中间层输出的潜在空间表示来进一步表征损失函数,也有利于对分子生成模型的参数调整。
请参考图11,其示出了本申请另一个实施例提供的分子生成模型的训练方法的流程图。该方法各步骤的执行主体可以是上文介绍的模型训练设备。在下文方法实施例中,为了便于描述,仅以各步骤的执行主体为“计算机设备”进行介绍说明。该方法可以包括如下几个步骤(610~650)中的至少一个步骤:
步骤610,获取分子生成模型的不完整标记数据,不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数。
步骤620,对于任意一个样本分子,若样本分子在不完整标记数据中对应的分子属性标记数据是不完整的,则根据样本分子的分子属性预测数据和分子属性标记数据,得到样本分子的分子属性标签数据;其中,样本分子的分子属性预测数据包括:预测得到的样本分子针对至少一项属性的预测属性值。
步骤630,基于样本分子的分子属性标签数据,对分子生成模型进行训练,得到完成训练的分子生成模型,完成训练的分子生成模型用于生成具有目标属性的分子数据。
在一些实施例中,步骤630之后,执行步骤640或者执行步骤650。
步骤640,样本分子的分子属性预测数据由分子属性预测模型得到,在不完整标记数据中的分子数量大于阈值的情况下,分子属性预测模型采用未经预训练的第一神经网络模型,并且,在分子生成模型的训练过程中利用样本分子的分子属性标记数据与样本分子的分子属性预测数据的差异,对第一神经网络模型的参数进行调整。
在一些实施例中,分子属性预测模型是机器学习模型。在一些实施例中,分子生成模型中包括分子属性预测模型,也可以和分子属性预测模型单独存在。
在一些实施例中,第一神经网络模型是预测网络,可选地,该预测网络是预测器。
步骤650,样本分子的分子属性预测数据由分子属性预测模型得到,在不完整标记数据中的分子数量不大于阈值的情况下,分子属性预测模型采用经过预训练的第二神经网络模型,第二神经网络模型是采用完整数据集预训练得到的具备分子属性预测能力的模型,完整数据集中包括多种物质以及相应的属性值。
在一些实施例中,第二神经网络模型是预测网络,可选地,该预测网络是预测器。
本申请实施例中在不完整标记数据中的分子数量大于阈值的情况下,采用未经预训练的第一神经网络模型来预测分子的分子属性预测数据。这是由于,不完整标记数据中的数据量较大,能够给分子属性预测模型提供强有力的样本支撑,支持其后续的属性预测工作,所以,分子属性预测模型可以是未经训练的,无需特地花费成本去对分子属性预测模型进行预训练,有利于减少训练所需要的成本。
另外,在不完整标记数据中的分子数量不大于阈值的情况下,采用经过预训练的第二神经网络模型来预测分子的分子属性预测数据。这是由于,不完整标记数据中的数据量不足,不能够给分子属性预测模型提供强有力的样本支撑,无法支持其后续的属性预测工作。如果分子属性预测模型是未经训练的,很有可能即使采用不完整标记数据对分子属性预测模型训练之后,该分子属性预测模型的分子属性的预测精度仍然偏低,无法为后续的分子生成模型提供帮助,导致后续的分子生成模型的训练样本精度不足,进而带来生成的分子的精度不足,不符合用户的需求。因此,在不完整标记数据中的分子数量不大于阈值的情况下,采用经过预训练的第二神经网络模型来预测分子的分子属性预测数据,能够提高样本分子的分子属性标签数据的精度,进而能够提高分子生成模型的训练精度。使得最终利用该分子生成模型而生成的分子的精度较高,更符合开发者的需求。
在一些实施例中,第二神经网络模型包括主干网络和全连接网络。
主干网络:主要用于预测分子属性的网络。可选地,主干网络是ChemBERTa模型。
全连接网络:用于通过改变参数影响第二神经网络模型的分子预测属性数据的输出结果的网络。可选地,全连接网络是线性层。
在一些实施例中,在分子生成模型的训练过程中利用样本分子的分子属性标记数据与样本分子的分子属性预测数据的差异,对全连接网络的参数进行调整,并保持主干网络的参数不变。
本申请实施例提供的技术方案中,可以基于训练样本集(训练数据集)的数据量,来灵活选择分子属性预测模型,使得分子属性预测模型的架构更加灵活多变,也有利于丰富分子生成模型的总体架构,丰富模型的训练方式,当然,另外采用全连接网络来对达到不改变主干网络的参数而调整整体分子属性预测模型的输出的目的,使得整体的分子属性预测模型的精度不至于由于引入了本申请中的训练样本而发生较大程度的不准确的改变,有利于缩短分子生成模型的训练时长,提升分子生成模型的输出结果的准确度。
在一些实施例中,通过灵活的子模型替换,以在标记数据非常少时启用迁移学习。在许多实际情况下,实验或计算的分子特性标签的数量可能非常有限。在这些情况下,使用从头开始训练的RNN进行的简单属性预测器训练可能效果不佳。可以在需要时用其他模型替换RNN,特别是结合那些已经在大量其他容易获得的材料特性上进行预训练的高精度模型。一个潜在的子模型替代是ChemBERTa模型,它是一种大规模的基于自监督transformer的预训练模型,它只需要分子SMILES作为其输入。在子模型构建过程中,在传输的ChemBERTa模型(主干网络)之上添加了一个完全连接的网络线性层(全连接网络)。从这里开始,给这种迁移模型(第二神经网络模型)起绰号BERT。当使用BERT替代RNN编码器时,整个ChemBERTa层都被冻结。但是,当使用BERT替代RNN预测器时,ChemBERTa层的最后一层(全连接网络)可以通过PyTorch优化器进行微调。虽然没有用其他类型的解码器子模型替换RNN解码器,但原则上这样做也很简单。如图12的1200是本申请一个实施例提供的分子生成模型以及分子属性预测模型的训练方法的示意图。
在一些实施例中,模型训练设置优化。为了提高模型性能,进一步执行了一些工程优化。对于基于预训练变压器模型的BERT模型,强制PyTorchAdam优化器预测器对于基于BERT的预测器子模型具有显着较低的学习率LR=3×10^(-5),而Adam优化器LR=10^(-3)保留用于优化其余子模型的参数。这确保了BERT预测器子模型可以缓慢而准确地执行分子属性回归,而不会立即破坏精心预训练的ChemBERTa模型的预训练参数。对于RNN模型,发现与原始SSVAE模型相比,在ConGen模型中启用多条件脏数据工作流后,它们在训练过程中变得更加不稳定。通过在训练周期中将模型梯度的范数剪裁到最大10^3来缓解这个问题,以确保RNN模型得到平稳训练,从而产生稳定的模型训练和准确的回归和条件生成结果。
在一些实施例中,搭载模型的代码平台从TensorFlow平台转换到PyTorch平台。需要进行重大修改才能启用ConGen模型功能,这需要一个更灵活的基于Python的机器学习平台。最初的SSVAE模型是在TensorFlow1.0平台上编写的,与PyTorch相比,这是一个相对较旧且灵活性明显较低的平台。因此,首先要做的修改是将SSVAE模型完全重写为PyTorch版本,并证明其功能保持完整和正确,然后再进行进一步的修改。模型的训练和条件生成能力在从TensorFlow转换到PyToch平台后大致相同。
如图13示出了从TensorFlow1.0转换到PyTorch平台后的SSVAE模型性能比较,结果相当。其中子图a展示了分子生成模型在1301TensorFlow平台以及1302PyTorch平台在训练过程中损失和迭代次数的关系,子图b展示了分子生成模型在1303TensorFlow平台以及1304PyTorch平台在验证过程中损失和迭代次数的关系。不难发现,PyTorch平台整体的损失是相对较低的,其中,可以忽略TensorFlow损失函数尖峰,因为它只是后来时期不幸的梯度爆炸的结果。表1展示了测试分子及分子属性值,表2展示了无条件采样及分子属性值,表3展示了有条件采样及分子属性值。
表1测试分子及分子属性值
MAE | Mol.Wt | LogP | QED |
TensorFlow | 2.48 | 0.139 | 0.0277 |
PyTorch | 1.11 | 0.056 | 0.0108 |
表2无条件采样及分子属性值
MAE±Std | Mol.Wt | LogP | QED |
TensorFlow | 383±42 | 3.06±1.27 | 0.671±0.180 |
PyTorch | 348±67 | 3.09±0.96 | 0.774±0.119 |
表3有条件采样及分子属性值
MAE±Std | Mol.Wt | LogP | QED |
TensorFlow | 252±7 | 2.00±1.14 | 0.809±0.073 |
PyTorch | 250±7 | 1.76±0.88 | 0.793±0.108 |
本申请实施例提供的分子生成模型的主要思想是采用SSVAE类似的架构,但根据需要修改其所有组件用来支持脏(不完整)训练数据的使用,这实际上意味着分子生成模型可以在不同来源的分子特性数据集进行训练和使用。在实践中,以分子生成模型是ConGen模型为例,需要进行许多工程和算法的开发和创新才能使ConGen实现这一目的:
1.TensorFlow平台到PyTorch平台的模型转换。
a)工程工作,不是必须的,但大大提高了模型开发的灵活性。
2.训练数据加载器修改以允许数据库合并和处理脏数据。
a)通过额外包含属性标签掩码矩阵来部分启用以标记有效/无效条目;
b)工程工作,但是对于实现ConGen功能至关重要。
3.模型修改以启用脏(不完整)数据工作流而不是像SSVAE那样分离完全标记和未标记的数据。
a)使用新的损失函数,该函数不再区分有标记/未标记的数据;
b)工程和算法工作,对于实现ConGen功能至关重要。
4.灵活的子模型替换,以在标记数据非常少时启用迁移学习。
a)工程工作,不是迫切需要的,但增加了模型的灵活性。
5.协方差矩阵插补方法,避免脏数据导致的非PSD协方差矩阵问题。
a)算法工作,对于启用ConGen功能至关重要。
6.模型训练设置优化。
a)选择性子模型层学习率优化、梯度裁剪;
b)工程工作,不是迫切需要,但会显着提高模型性能和一致性。
总之,ConGen模型相比于SSVAE进行了大量修改。
在一些实施例中,训练数据标签混合来自两个不同的数据库。第一个数据库包含分子量(MolWt)、疏水性(LogP)和药物似然(QED)等属性,而第二个数据库包含电离能(IE)和电子亲和力(EA)等属性。ConGen模型针对所有这5个属性进行了训练。
在一些实施例中,作为多属性条件生成的示例,通过该分子生成模型以生成具有3个同时属性的分子:MolWt=250、LogP=2.5和EA=4。相应的回归预测和条件生成结果可以在表4、表5和表6中找到。其中,表4是测试分子及分子属性值,表5是无条件及分子属性值,表6是有条件采样及分子属性值。不难发现,基于BERT的ConGen模型在具有更多可用训练标签(MolWt、LogP和QED,可使用RDKit轻松获得)的简单属性上的性能将低于基于RNN的ConGen模型,但BERT模型将执行更好地处理训练数据量有限的属性(例如EA和IE,需要使用量子化学软件计算)。对于多属性条件采样,可以看到ConGen生成的分子具有所需的属性范围(MolWt=250,LogP=2.5),因此可以使用RDKit轻松计算和确认这些属性。
表4测试分子及分子属性值
MAE | Mol.Wt | LogP | QED | EA | IE |
Original RNN | 2.02 | 0.09 | 0.013 | 0.27 | 0.22 |
Tranfer BERT | 5.23 | 0.15 | 0.0174 | 0.23 | 0.17 |
表5无条件采样及分子属性值
MAE±Std | Mol.Wt | LogP | QED |
Original RNN | 286±78 | 1.93±1.07 | 0.646±0.161 |
Tranfer BERT | 344±60 | 2.75±1.11 | 0.705±0.130 |
表6有条件采样及分子属性值(Mol.Wt=250,LogP=2.5,EA=4.0)
MAE±Std | Mol.Wt | LogP | QED |
Original RNN | 239±20 | 2.38±0.24 | 0.641±0.125 |
Tranfer BERT | 236±34 | 2.42±0.77 | 0.576±0.139 |
在一些实施例中,如图14所示,1400示出了一种条件分子生成的示意图。使用默认数据库训练模型,并辅以用户提供的训练数据集。训练结束后,Congen用于生成具有感兴趣的多条件特性的分子。在一写实施例中,以用于自动生成电池电解质稀释剂分子为例。这些稀释剂分子通常是弱极性的基于氧氟烃的分子。因为这些分子被添加到实际的电解质溶液中,所以它们不能太大和太粘。此外,它们还应该是电化学稳定的。基于这些要求,决定一个具有多个共同要求的示例查询,也即要求具有的目标属性如下:
1.氟原子数>3;
2.重原子数<15;
3.电离能>6.5eV;
4.电子亲和力>3.0eV。
该模型首先根据感兴趣的数据库属性进行训练。之后,使用这些属性共同运行ConGen模型多次(在上例中为1000次)以随机生成1000个相关分子。虽然此处显示的示例描述了电池电解质分子的查询,但它也可以扩展到其他应用程序的分子查询,例如药物虚拟筛选或氨电催化电解质阳离子添加剂虚拟筛选。
因此,本申请实施例提供的技术方案,展示了一种基于半监督变分自动编码器技术的新型条件分子生成算法ConGen。然而,与SSVAE等相关技术中的模型不同,ConGen模型经过精心设计,可以处理标签不完整的脏训练数据。在实践中这非常重要,由于各种内部和外部因素以及成本考虑,可以从公开可用的数据库中或通过内部模拟和实验测量得到的分子将具有不完整和不同的可用属性集。基线SSVAE模型的用户将需要删除标签不完整的分子或在分子上分配虚拟标签以换取较低的模型准确性。然而,ConGen模型用户可以轻松混合来自多个来源的脏训练数据集,以根据需要训练他们的条件生成模型。此外,ConGen的设计可以灵活地将其子模型替换为其他类型的模型,使用户能够包含预训练模型,这在训练数据可用性有限的情况下尤其有用。综上所述,具有以下技术优势:
1、条件生成模型训练可以用脏训练数据来完成,这些数据具有不完整的属性标签的分子。
2、很容易混合不同来源的相同或不同类型分子特性的不完整训练数据,用于训练ConGen模型。
3、在ConGen中可以轻松地同时生成多属性条件分子,而在原始SSVAE模型实现中则不可用。
4、ConGen子模型,特别是其预测器和编码器,可以很容易地替换为预训练模型,例如基于BERT的Transformer模型(迁移学习),这在特定分子的训练数据标签可用性较低时尤其有用。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图15,其示出了本申请一个实施例提供的分子生成模型的训练装置的框图。该装置1500可以包括:数据获取模块1510、标签获取模块1520、和模型训练模块1530。
所述数据获取模块1510,用于获取所述分子生成模型的不完整标记数据,所述不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且所述N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,所述不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数。
所述标签获取模块1520,用于对于任意一个样本分子,若所述样本分子在所述不完整标记数据中对应的分子属性标记数据是不完整的,则根据所述样本分子的分子属性预测数据和分子属性标记数据,得到所述样本分子的分子属性标签数据;其中,所述样本分子的分子属性预测数据包括:预测得到的所述样本分子针对至少一项属性的预测属性值。
所述模型训练模块1530,用于基于所述样本分子的分子属性标签数据,对所述分子生成模型进行训练,得到完成训练的分子生成模型,所述完成训练的分子生成模型用于生成具有目标属性的分子数据。
在一些实施例中,所述标签获取模块1520,用于对于所述M项属性中的每一项属性,若所述样本分子的分子属性标记数据中包含的所述属性的标记属性值缺失,则从所述样本分子的分子属性预测数据中获取所述属性的预测属性值,作为所述属性的标签属性值。
所述标签获取模块1520,还用于若所述样本分子的分子属性标记数据中包含的所述属性的标记属性值未缺失,则将所述属性的标记属性值确定为所述属性的标签属性值。
所述标签获取模块1520,还用于根据所述M项属性的标签属性值,得到所述样本分子的分子属性标签数据。
在一些实施例中,所述标签获取模块1520,还用于生成所述不完整标记数据对应的掩膜矩阵,所述掩膜矩阵中包含N×M个元素,每一个元素用于指示一个分子的一项属性的标记属性值是否缺失。
在一些实施例中,所述数据获取模块1510,用于获取至少两组完全标记数据,每一组完全标记数据包括至少一个分子针对至少一项属性的标记属性值;其中,不同组的完全标记数据所包含的属性存在差异,且不同组的完全标记数据所包含的分子存在差异。
所述数据获取模块1510,还用于以每个分子为粒度,对所述至少两组完全标记数据进行整合,得到所述不完整标记数据。
在一些实施例中,如图16所示,所述模型训练模块1530包括分子生成单元1531、损失确定单元1532以及模型训练单元1533。
所述分子生成单元1531,用于通过所述分子生成模型根据所述样本分子以及所述样本分子的分子属性标签数据,得到所述样本分子对应的生成分子;
所述损失确定单元1532,用于根据所述样本分子以及所述生成分子,确定所述分子生成模型的损失函数值,所述损失函数值用于表征所述样本分子与所述生成分子的差异度;
所述模型训练单元1533,用于根据所述损失函数值,对所述分子生成模型进行训练,不断迭代直到完成训练。
在一些实施例中,所述损失函数值包括回归损失和变分编码损失,所述变分编码损失包括第一损失、第二损失、第三损失和第四损失。
在一些实施例中,所述损失确定单元1532,用于根据所述分子属性标记数据中的标记属性的标记属性值,以及所述分子属性预测数据中的所述标记属性的预测属性值,确定所述回归损失;其中,所述回归损失用于表征所述分子属性预测数据的预测准确度,所述标记属性是所述分子属性标记数据中未缺失的标记属性值对应的属性。
所述损失确定单元1532,还用于根据所述生成分子与所述样本分子,确定所述第一损失,所述第一损失用于表征所述生成分子与所述样本分子的直接差异程度。
所述损失确定单元1532,还用于根据所述分子属性标签数据、所述分子属性标签数据的协方差矩阵、所述分子属性标签数据的均值以及所述分子属性预测数据的均值,确定所述第二损失和所述第三损失;其中,所述第二损失用于表征所述分子属性标签数据中的所述标记属性的标签属性值相较于所述分子属性标签数据的差异度,所述第三损失用于表征所述分子属性标签数据包含的M项属性中除所述标记属性之外的其他属性的标签属性值相较于所述分子属性标签数据的差异度。
所述损失确定单元1532,还用于根据隐空间表示,以及所述隐空间表示服从的概率分布的位置参数和均值,确定所述第四损失,所述第四损失用于表征所述隐空间表示相比于所述概率分布的散度;其中,所述隐空间表示是所述分子生成模型的中间层得到的所述样本分子的隐层特征。
所述损失确定单元1532,还用于根据所述第一损失、第二损失、第三损失以及第四损失,确定所述变分编码损失,所述变分编码损失用于表征根据所述分子属性标签数据而生成的生成分子与所述样本分子的差异程度。
所述损失确定单元1532,还用于根据所述回归损失与所述变分编码损失,确定所述损失函数值。
在一些实施例中,在所述样本分子的分子属性预测数据随着所述分子生成模型的训练而不断发生改变的情况下,所述分子属性标签数据的协方差矩阵和均值也是不断更新的。
在一些实施例中,所述分子生成模型包括第一生成网络和第二生成网络;所述第一生成网络用于根据所述样本分子以及所述样本分子的分子属性标签数据,生成隐空间表示,所述隐空间表示服从的概率分布的均值和位置参数由所述第一生成网络的参数、所述样本分子以及所述样本分子的分子属性标签数据确定;所述第二生成网络用于根据所述隐空间表示以及所述样本分子的分子属性标签数据,得到所述生成分子,所述生成分子服从的概率分布的均值和位置参数由所述第二生成网络的参数、所述隐空间表示以及所述样本分子的分子属性标签数据确定。
在一些实施例中,所述样本分子的分子属性预测数据由分子属性预测模型得到。
在一些实施例中,所述模型训练模块1530,还用于在所述不完整标记数据中的分子数量大于阈值的情况下,所述分子属性预测模型采用未经预训练的第一神经网络模型,并且,在所述分子生成模型的训练过程中利用所述样本分子的分子属性标记数据与所述样本分子的分子属性预测数据的差异,对所述第一神经网络模型的参数进行调整;或者,在所述不完整标记数据中的分子数量不大于阈值的情况下,所述分子属性预测模型采用经过预训练的第二神经网络模型,所述第二神经网络模型是采用完整数据集预训练得到的具备分子属性预测能力的模型,所述完整数据集中包括多种物质以及相应的属性值。
在一些实施例中,所述第二神经网络模型包括主干网络和全连接网络。
在所述分子生成模型的训练过程中利用所述样本分子的分子属性标记数据与所述样本分子的分子属性预测数据的差异,对所述全连接网络的参数进行调整,并保持所述主干网络的参数不变。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图17示出了本申请另一个示例性实施例提供的计算机设备的结构框图。
通常,计算机设备1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、17核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质存储有计算机程序,该计算机程序由处理器1701加载并执行以实现上述各方法实施例提供的分子生成模型的训练方法。
本领域技术人员可以理解,图17中示出的结构并不构成对计算机设备1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序在被处理器执行时以实现上述分子生成模型的训练方法。
可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取存储器可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取存储器)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质中读取所述计算机程序,所述处理器执行所述计算机程序,使得所述计算机设备执行上述分子生成模型的训练方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种分子生成模型的训练方法,其特征在于,所述方法包括:
获取所述分子生成模型的不完整标记数据,所述不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且所述N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,所述不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数;
对于任意一个样本分子,若所述样本分子在所述不完整标记数据中对应的分子属性标记数据是不完整的,则根据所述样本分子的分子属性预测数据和分子属性标记数据,得到所述样本分子的分子属性标签数据;其中,所述样本分子的分子属性预测数据包括:预测得到的所述样本分子针对至少一项属性的预测属性值;
基于所述样本分子的分子属性标签数据,对所述分子生成模型进行训练,得到完成训练的分子生成模型,所述完成训练的分子生成模型用于生成具有目标属性的分子数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述样本分子的分子属性预测数据和分子属性标记数据,得到所述样本分子的分子属性标签数据,包括:
对于所述M项属性中的每一项属性,若所述样本分子的分子属性标记数据中包含的所述属性的标记属性值缺失,则从所述样本分子的分子属性预测数据中获取所述属性的预测属性值,作为所述属性的标签属性值;
若所述样本分子的分子属性标记数据中包含的所述属性的标记属性值未缺失,则将所述属性的标记属性值确定为所述属性的标签属性值;
根据所述M项属性的标签属性值,得到所述样本分子的分子属性标签数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
生成所述不完整标记数据对应的掩膜矩阵,所述掩膜矩阵中包含N×M个元素,每一个元素用于指示一个分子的一项属性的标记属性值是否缺失。
4.根据权利要求1所述的方法,其特征在于,所述获取所述分子生成模型的不完整标记数据,包括:
获取至少两组完全标记数据,每一组完全标记数据包括至少一个分子针对至少一项属性的标记属性值;其中,不同组的完全标记数据所包含的属性存在差异,且不同组的完全标记数据所包含的分子存在差异;
以每个分子为粒度,对所述至少两组完全标记数据进行整合,得到所述不完整标记数据。
5.根据权利要求1所述的方法,其特征在于,所述基于所述样本分子的分子属性标签数据,对所述分子生成模型进行训练,得到完成训练的分子生成模型,包括:
通过所述分子生成模型根据所述样本分子以及所述样本分子的分子属性标签数据,得到所述样本分子对应的生成分子;
根据所述样本分子以及所述生成分子,确定所述分子生成模型的损失函数值,所述损失函数值用于表征所述样本分子与所述生成分子的差异度;
根据所述损失函数值,对所述分子生成模型的参数进行调整,得到所述完成训练的分子生成模型。
6.根据权利要求5所述的方法,其特征在于,所述损失函数值包括回归损失和变分编码损失,所述变分编码损失包括第一损失、第二损失、第三损失和第四损失;
所述根据所述样本分子以及所述生成分子,确定所述分子生成模型的损失函数值,包括:
根据所述分子属性标记数据中的标记属性的标记属性值,以及所述分子属性预测数据中的所述标记属性的预测属性值,确定所述回归损失;其中,所述回归损失用于表征所述分子属性预测数据的预测准确度,所述标记属性是所述分子属性标记数据中未缺失的标记属性值对应的属性;
根据所述生成分子与所述样本分子,确定所述第一损失,所述第一损失用于表征所述生成分子与所述样本分子的直接差异程度;
根据所述分子属性标签数据、所述分子属性标签数据的协方差矩阵、所述分子属性标签数据的均值以及所述分子属性预测数据的均值,确定所述第二损失和所述第三损失;其中,所述第二损失用于表征所述分子属性标签数据中的所述标记属性的标签属性值相较于所述分子属性标签数据的差异度,所述第三损失用于表征所述分子属性标签数据包含的M项属性中除所述标记属性之外的其他属性的标签属性值相较于所述分子属性标签数据的差异度;
根据隐空间表示,以及所述隐空间表示服从的概率分布的位置参数和均值,确定所述第四损失,所述第四损失用于表征所述隐空间表示相比于所述概率分布的散度;其中,所述隐空间表示是所述分子生成模型的中间层得到的所述样本分子的隐层特征;
根据所述第一损失、第二损失、第三损失以及第四损失,确定所述变分编码损失,所述变分编码损失用于表征根据所述分子属性标签数据而生成的生成分子与所述样本分子的差异程度;
根据所述回归损失与所述变分编码损失,确定所述损失函数值。
7.根据权利要求6所述的方法,其特征在于,在所述样本分子的分子属性预测数据随着所述分子生成模型的训练而不断发生改变的情况下,所述分子属性标签数据的协方差矩阵和均值也是不断更新的。
8.根据权利要求5所述的方法,其特征在于,所述分子生成模型包括第一生成网络和第二生成网络;
所述第一生成网络用于根据所述样本分子以及所述样本分子的分子属性标签数据,生成隐空间表示,所述隐空间表示服从的概率分布的均值和位置参数由所述第一生成网络的参数、所述样本分子以及所述样本分子的分子属性标签数据确定;
所述第二生成网络用于根据所述隐空间表示以及所述样本分子的分子属性标签数据,得到所述生成分子,所述生成分子服从的概率分布的均值和位置参数由所述第二生成网络的参数、所述隐空间表示以及所述样本分子的分子属性标签数据确定。
9.根据权利要求1所述的方法,其特征在于,所述样本分子的分子属性预测数据由分子属性预测模型得到,所述方法还包括:
在所述不完整标记数据中的分子数量大于阈值的情况下,所述分子属性预测模型采用未经预训练的第一神经网络模型,并且,在所述分子生成模型的训练过程中利用所述样本分子的分子属性标记数据与所述样本分子的分子属性预测数据的差异,对所述第一神经网络模型的参数进行调整;
或者,
在所述不完整标记数据中的分子数量不大于阈值的情况下,所述分子属性预测模型采用经过预训练的第二神经网络模型,所述第二神经网络模型是采用完整数据集预训练得到的具备分子属性预测能力的模型,所述完整数据集中包括多种物质以及相应的属性值。
10.根据权利要求9所述的方法,其特征在于,所述第二神经网络模型包括主干网络和全连接网络;
在所述分子生成模型的训练过程中利用所述样本分子的分子属性标记数据与所述样本分子的分子属性预测数据的差异,对所述全连接网络的参数进行调整,并保持所述主干网络的参数不变。
11.一种分子生成模型的训练装置,其特征在于,所述装置包括:
数据获取模块,用于获取所述分子生成模型的不完整标记数据,所述不完整标记数据中包括N条分子属性标记数据,每一条分子属性标记数据包括一个分子针对M项属性的标记属性值,且所述N条分子属性标记数据中存在至少一条不完整的分子属性标记数据,所述不完整的分子属性标记数据所包括的M项属性的标记属性值中存在至少一项属性的标记属性值缺失,N、M均为正整数;
标签获取模块,用于对于任意一个样本分子,若所述样本分子在所述不完整标记数据中对应的分子属性标记数据是不完整的,则根据所述样本分子的分子属性预测数据和分子属性标记数据,得到所述样本分子的分子属性标签数据;其中,所述样本分子的分子属性预测数据包括:预测得到的所述样本分子针对至少一项属性的预测属性值;
模型训练模块,用于基于所述样本分子的分子属性标签数据,对所述分子生成模型进行训练,得到完成训练的分子生成模型,所述完成训练的分子生成模型用于生成具有目标属性的分子数据。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上述权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上述权利要求1至10任一项所述的方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现如权利要求1至10任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211612755.8A CN118213006A (zh) | 2022-12-15 | 2022-12-15 | 分子生成模型的训练方法、装置、设备及存储介质 |
PCT/CN2023/097469 WO2024124818A1 (zh) | 2022-12-15 | 2023-05-31 | 分子生成模型的训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211612755.8A CN118213006A (zh) | 2022-12-15 | 2022-12-15 | 分子生成模型的训练方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118213006A true CN118213006A (zh) | 2024-06-18 |
Family
ID=91453007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211612755.8A Pending CN118213006A (zh) | 2022-12-15 | 2022-12-15 | 分子生成模型的训练方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118213006A (zh) |
WO (1) | WO2024124818A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118506901A (zh) * | 2024-07-19 | 2024-08-16 | 烟台国工智能科技有限公司 | 一种基于属性值的条件分子生成方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110534164A (zh) * | 2019-09-26 | 2019-12-03 | 广州费米子科技有限责任公司 | 基于深度学习的药物分子生成方法 |
WO2022047677A1 (zh) * | 2020-09-02 | 2022-03-10 | 深圳晶泰科技有限公司 | 药物分子筛选方法及系统 |
US20220189578A1 (en) * | 2020-12-14 | 2022-06-16 | International Business Machines Corporation | Interpretable molecular generative models |
US20220270705A1 (en) * | 2021-02-25 | 2022-08-25 | International Business Machines Corporation | Automatically designing selective molecules |
CN113707235B (zh) * | 2021-08-30 | 2023-09-26 | 平安科技(深圳)有限公司 | 基于自监督学习的药物小分子性质预测方法、装置及设备 |
KR102437392B1 (ko) * | 2021-09-27 | 2022-08-29 | 주식회사 히츠 | 물리 기반 심층 신경망 모델을 이용한 분자 특성 예측 방법 및 분석 장치 |
CN114334040A (zh) * | 2021-11-26 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 分子图重构模型的训练方法、装置以及电子设备 |
CN114510609B (zh) * | 2022-02-17 | 2024-07-23 | 腾讯科技(深圳)有限公司 | 结构数据的生成方法、装置、设备、介质及程序产品 |
CN115116557A (zh) * | 2022-05-26 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 一种预测分子标签的方法以及相关装置 |
CN114974461A (zh) * | 2022-06-15 | 2022-08-30 | 烟台国工智能科技有限公司 | 基于策略学习的多目标属性分子生成方法及系统 |
-
2022
- 2022-12-15 CN CN202211612755.8A patent/CN118213006A/zh active Pending
-
2023
- 2023-05-31 WO PCT/CN2023/097469 patent/WO2024124818A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118506901A (zh) * | 2024-07-19 | 2024-08-16 | 烟台国工智能科技有限公司 | 一种基于属性值的条件分子生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2024124818A1 (zh) | 2024-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Deep reinforcement learning in recommender systems: A survey and new perspectives | |
CN111368993B (zh) | 一种数据处理方法及相关设备 | |
KR20190087898A (ko) | 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 | |
CN111651557A (zh) | 一种自动化文本生成方法、装置及计算机可读存储介质 | |
CN116664719B (zh) | 一种图像重绘模型训练方法、图像重绘方法及装置 | |
US12033728B2 (en) | Simulating electronic structure with quantum annealing devices and artificial neural networks | |
Guo et al. | Solving combinatorial problems with machine learning methods | |
CN113821670B (zh) | 图像检索方法、装置、设备及计算机可读存储介质 | |
CN113761153A (zh) | 基于图片的问答处理方法、装置、可读介质及电子设备 | |
CN113826117A (zh) | 来自神经网络的高效二元表示 | |
CN117540221B (zh) | 图像处理方法和装置、存储介质及电子设备 | |
Zhou et al. | Learning with annotation of various degrees | |
Steinfeld et al. | Fresh eyes: a framework for the application of machine learning to generative architectural design, and a report of activities at smartgeometry 2018 | |
WO2024124818A1 (zh) | 分子生成模型的训练方法、装置、设备及存储介质 | |
Park et al. | An effective 3D text recurrent voting generator for metaverse | |
Xia | An overview of deep learning | |
Lee et al. | Crossmodal clustered contrastive learning: Grounding of spoken language to gesture | |
CN117391497A (zh) | 一种新闻稿件质量主客观评分一致性评价方法及系统 | |
CN112748953A (zh) | 基于神经网络模型的数据处理方法、装置及电子设备 | |
CN116975743A (zh) | 行业信息分类方法、装置、计算机设备和存储介质 | |
CN116977714A (zh) | 图像分类方法、装置、设备、存储介质和程序产品 | |
CN115423016A (zh) | 多任务预测模型的训练方法、多任务预测方法及装置 | |
Guo | Design and development of an intelligent rendering system for new year's paintings color based on b/s architecture | |
CN115033795A (zh) | 一种基于条件生成式对抗网络的个性化精准教育系统 | |
CN113706347A (zh) | 一种多任务模型蒸馏方法、系统、介质及电子终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |