1.本公开涉及推测装置、训练装置、推测方法以及训练方法。
背景技术:2.如dft(密度泛函理论:density functional theory)等第一原理计算那样的量子化学计算根据化学背景来计算电子体系的能量等物性,所以可靠性和解释性比较高。作为其反面,花费计算时间,难以用于全面的材料搜索,现状是用于用以理解被发现的材料的特性的解析。相对于此,近年来,使用了深度学习技术的物质的物性预测模型开发急速发展。
3.然而,如上所述,在dft中计算时间长。另一方面,在使用了深度学习技术的模型中能够进行物性值的预测,但在能够进行现有的坐标输入的模型中,难以增加原子的种类,另外,难以同时处置分子、晶体等不同的状态、其共存状态。
技术实现要素:4.一个实施方式提供提高物质体系的物性值推测的精度的推测装置、方法以及其训练装置、方法。
5.根据一个实施方式,推测装置具备1个或者多个存储器和1个或者多个处理器。所述1个或者多个处理器对从与原子有关的矢量抽取潜在空间中的原子的特征的第1网络输入与所述原子有关的矢量,经由所述第1网络推测潜在空间中的原子的特征。
附图说明
6.图1是一个实施方式的推测装置的示意性的框图。
7.图2是一个实施方式的原子特征获取部的示意性的图。
8.图3是示出一个实施方式的分子等的坐标设定的一个例子的图。
9.图4是示出一个实施方式的分子等的图数据获取的一个例子的图。
10.图5是示出一个实施方式的图数据的一个例子的图。
11.图6是示出一个实施方式的推测装置的处理的流程图。
12.图7是一个实施方式的训练装置的示意性的框图。
13.图8是一个实施方式的原子特征获取部的训练中的结构的示意性的图。
14.图9是示出一个实施方式的物性值的训练数据的一个例子的图。
15.图10是示出一个实施方式的对原子的物性值进行训练的情形的图。
16.图11是一个实施方式的构造特征抽取部的示意性的框图。
17.图12是示出一个实施方式的整体性的训练的处理的流程图。
18.图13是示出一个实施方式的第1网络的训练的处理的流程图。
19.图14是示出一个实施方式的基于第1网络的输出的物性值的例子的图。
20.图15是示出一个实施方式的第2、第3、第4网络的训练的处理的流程图。
21.图16是示出一个实施方式的物性值的输出的例子的图。
22.图17是一个实施方式的推测装置或者训练装置的安装例。
23.(符号说明)
24.1:推测装置;10:输入部;12:存储部;14:原子特征获取部;140:独热矢量生成部;142:编码器;144:解码器;146:第1网络;16:输入信息构成部;18:构造特征抽取部;180:图数据抽取部;182:第2网络;184:第3网络;20:物性值预测部;22:输出部;2:训练装置;24:误差计算部;26:参数更新部。
具体实施方式
25.以下,参照附图,说明本发明的实施方式。附图以及实施方式的说明是作为一个例子示出的,并不限定本发明。
26.[推测装置]
[0027]
图1是示出本实施方式的推测装置1的功能的框图。本实施方式的推测装置1从原子的种类等信息和坐标的信息以及边界条件的信息推测分子等(以下,将包括单原子分子、分子、晶体的情形记载为分子等)推测对象的物性值而输出。该推测装置1具备输入部10、存储部12、原子特征获取部14、输入信息构成部16、构造特征抽取部18、物性值预测部20以及输出部22。
[0028]
推测装置1经由输入部10被输入作为分子等的推测对象信息的原子的种类以及坐标和边界条件等所需的信息。在本实施方式中,例如,设为输入原子的种类、坐标、边界条件的信息而进行说明,但不限于此,只要是如定义想要推测物性值的物质的构造那样的信息即可。
[0029]
原子的坐标例如是绝对空间等中的原子的3维坐标。例如,也可以是使用了平移不变、旋转不变的坐标系的坐标系中的坐标。不限于此,只要是具有能够适当地表达作为推测对象的分子等的物体中的原子的构造的坐标系的坐标即可。通过输入该原子的坐标,能够定义在分子等中存在于怎样的相对位置。
[0030]
关于边界条件,例如,在想要获取关于作为晶体的推测对象的物性值的情况下,将单位晶格或者重复配置有单位晶格的超晶格内的原子的坐标作为输入,但在该情况下,在输入原子成为与真空的边界面的情况下,设定在旁边重复相同的原子配置的情况等。例如,在使分子与作为催化剂的晶体接近的情况下,与分子相接的晶体面也可以是与真空的边界,除此以外也可以假定晶体构造连续这样的边界条件。这样,推测装置1不仅能够推测与分子有关的物性值,还能够推测与晶体有关的物性、晶体和分子这两方存在关系的物性值等。
[0031]
存储部12存储推测所需的信息。例如,也可以是经由输入部10输入的用于推测的数据临时地存储于存储部12。另外,也可以保存在各部分中所需的参数例如为了形成各部分所具备的神经网络所需的参数等。另外,也可以在推测装置1使用硬件资源具体地实现基于软件的信息处理的情况下保存该软件所需的程序、执行文件等。
[0032]
原子特征获取部14生成表示原子的特征的量。表示原子的特征的量例如也可以用1维的矢量形式表达。原子特征获取部14例如具备当输入表示原子的独热矢量时变换为潜在空间的矢量的mlp(multilayer perceptron,多层感知器)等神经网络(第1网络),将该潜在空间的矢量作为原子的特征而输出。
[0033]
除此之外,原子特征获取部14也可以不被输入独热矢量,而被输入表示原子的张量、矢量等其它信息。这些独热矢量、张量、矢量等其它信息例如是表示关注的原子的符号或者与该符号类似的信息。在该情况下,神经网络的输入层也可以形成为具有与使用独热矢量的维度不同的维度的层。
[0034]
原子特征获取部14既可以针对每个推测而生成特征,作为另一例子,也可以将推测出的结果保存于存储部12。例如,也可以关于氢原子、碳原子、氧原子等频繁地使用的原子,将特征保存于存储部12,关于其它原子,针对每个推测而生成特征。
[0035]
输入信息构成部16当被输入的原子坐标、边界条件以及由原子特征获取部14生成的原子的特征或者对与其类似的原子进行区分的特征被输入时,将分子等的构造变换为图的形式,使得适合于构造特征抽取部18所具备的对图进行处理的网络的输入。
[0036]
构造特征抽取部18从输入信息构成部16所生成的图的信息抽取与构造有关的特征。该构造特征抽取部18例如具备如gnn(图神经网络:graph neural network)、gcn(图卷积网络:graph convolutional network)等那样的基于图的神经网络。
[0037]
物性值预测部20从构造特征抽取部18抽取出的分子等的推测对象的构造的特征预测物性值而输出。该物性值预测部20例如具备mlp等神经网络。有时因想要获取的物性值不同而所具备的神经网络的特性等不同。因此,也可以准备多个不同的神经网络,与想要获取的物性值相匹配地选择任意方。
[0038]
输出部22输出推测出的物性值。在此,输出是指包括经由接口输出到推测装置1的外部以及输出到存储部12等推测装置1的内部这双方的概念。
[0039]
更详细地说明各结构。
[0040]
(原子特征获取部14)
[0041]
如上所述,原子特征获取部14例如具备当输入表示原子的独热矢量时输出潜在空间的矢量的神经网络。表示原子的独热矢量例如是表示关于原子核信息的信息的独热矢量。更具体而言,例如,将质子数、中子数、电子数变换为独热矢量。例如,通过输入质子数和中子数,还能够将同位素也作为特征获取的对象。例如,通过输入质子数和电子数,还能够将离子也作为特征获取的对象。
[0042]
输入的数据也可以包含上述以外的信息。例如,也可以除了上述独热矢量之外,还具有原子序号、周期表中的族、周期、块、同位素间的半衰期等信息作为输入。另外,也可以是在原子特征获取部14中将独热矢量和其它输入作为独热矢量进行结合的方案。例如,也可以将离散值保存于独热矢量,关于连续值,将表示连续值的量的量(标量、矢量、张量等)作为上述输入而追加。
[0043]
也可以是用户另行生成独热矢量。作为另一例子,也可以另行具备独热矢量生成部,该独热矢量生成部将原子名、原子序号及其它表示原子的id等作为输入,在原子特征获取部14中从这些信息参照数据库等,从而生成独热矢量。此外,也可以还具备输入矢量生成部,该输入矢量生成部在还赋予连续值作为输入的情况下,生成与独热矢量不同的矢量。
[0044]
原子特征获取部14所具备的神经网络(第1网络)例如也可以是通过形成编码器和解码器的神经网络训练而成的模型的编码器部分。编码器、解码器例如也可以与vae(variational autoencoder,变分自编码器)同样地使由编码器的输出具有方差的变分编码器解码器(variational encoder decoder)构成。以下,说明使用了变分编码器解码器的
情况下的例子,但不限于变分编码器解码器,只要是能够适当地获取与原子的特征相对的潜在空间中的矢量即特征量的神经网络等模型即可。
[0045]
图2是示出原子特征获取部14的概念的图。原子特征获取部14例如具备独热矢量生成部140和编码器142。编码器142以及后述解码器是基于上述变分编码器解码器的网络的一部分的结构。此外,虽示出了编码器142,但也可以在编码器142之后插入用于输出特征量的其它网络、运算器等。
[0046]
独热矢量生成部140从表示原子的变量生成独热矢量。独热矢量生成部140例如在被输入变换为质子数等的独热矢量的值的情况下,使用被输入的数据来生成独热矢量。
[0047]
在被输入的数据是原子序号、原子名等间接的值的情况下,独热矢量生成部140例如从推测装置1的内部或者外部的数据库等获取质子数等值来生成独热矢量。这样,独热矢量生成部140根据输入数据来进行适当的处理。
[0048]
这样,独热矢量生成部140在直接被输入变换为独热矢量的输入信息的情况下,将该变量分别变换为适合独热矢量的形式来生成独热矢量。另一方面,独热矢量生成部140也可以在仅被输入原子序号的情况下,从该输入的数据自动地获取独热矢量的变换所需的数据,根据获取到的数据来生成独热矢量。
[0049]
此外,在上述中,记载有在输入中利用独热矢量的意思,但这是作为一个例子而记载的,本实施方式并不限于该方案。例如,还能够将不利用独热矢量的矢量、矩阵、张量等作为输入。
[0050]
此外,也可以当在存储部12中保存有独热矢量的情况下从存储部12获取,在用户另行准备独热矢量而输入到推测装置1的情况下,独热矢量生成部140不是必需的结构。
[0051]
独热矢量被输入到编码器142。编码器142根据被输入的独热矢量输出表示作为原子的特征的矢量的平均值的矢量z
μ
和表示矢量z
μ
的方差的矢量σ2。从该输出结果采样的结果是矢量z。例如,在训练时,从该矢量z
μ
重构原子的特征。
[0052]
原子特征获取部14将该生成的矢量z
μ
输出到输入信息构成部16。此外,还能够使用作为vae的一种手法而使用的重新参数化技巧(reparametrization trick),在该情况下,也可以使用随机值的矢量ε,以如下方式求出矢量z。此外,记号odot(在圆中有点)表示每个矢量的要素的积。
[0053]
[式1]
[0054]
z=z
μ
+σ2⊙
∈
ꢀꢀ
(1)
[0055]
作为另一例子,也可以将不具有方差的z作为原子的特征而输出。
[0056]
如后所述,第1网络作为具备当输入原子的独热矢量等时抽取特征的编码器、从该特征输出物性值的解码器的网络而训练。通过使用适当地训练的原子特征获取部14,从而无需用户选择分子等的物性值预测所需的信息,就能够通过网络抽取。
[0057]
在通过使用这样的编码器和解码器,从而与直接输入物性值的情况相比,即使对于所有的原子所需的物性值不清楚也能够利用这点上,能够有效利用更多的信息,是有利的。进而,映射到连续的潜在空间内,所以性质相近的原子在潜在空间内被转录到近处,性质不同的原子被转录到更远处,所以能够进行其之间的原子的内插。因此,即使不使所有的原子包含于学习数据,也能够通过原子间的内插来输出结果,在针对一部分的原子的学习数据不足的情况下,也能够生成能够输出精度高的物性值的特征。
[0058]
这样,原子特征获取部14例如构成为具备能够抽取能够对每个原子的物性值进行解码的特征的神经网络(第1网络)。通过借助于第1网络的编码器,例如还能够从102~量级的独热矢量的维度变换为16维左右的特征量矢量。这样,第1网络构成为具备输出维度比输入维度小的神经网络。
[0059]
(输入信息构成部16)
[0060]
输入信息构成部16根据被输入的数据以及原子特征获取部14所生成的数据,生成与分子等中的原子配置、连接有关的图。输入信息构成部16与输入的分子等的构造一并考虑边界条件,判断相邻原子的有无,在存在相邻原子的情况下,决定其坐标。
[0061]
例如在是单分子的情况下,输入信息构成部16利用作为相邻原子而输入所示的原子坐标来生成图。在晶体的情况下,例如,单位晶格内的原子根据被输入的原子坐标来决定坐标,位于单位晶格的外轮廓的原子根据单位晶格的重复图案来决定外侧的相邻原子的坐标。当在晶体中存在界面的情况下,例如,在界面侧不应用重复图案而决定相邻原子。
[0062]
图3是示出本实施方式的坐标设定的例子的图。例如,在生成仅分子m的图的情况下,从构成分子m的3个原子的种类和各自的相对坐标生成图。
[0063]
例如,在生成仅有具有重复并存在界面i的晶体的图的情况下,关于晶体的单位晶格c,设想向右侧的重复c1、向左侧的重复c2、向下侧的重复c3、向左下侧的重复c4、向右下侧的重复c5、
…
、,设想各原子的相邻原子而生成图。在图中,虚线表示界面i,虚线所示的单位晶格表示所输入的晶体的构造,点划线所示的区域表示设想晶体的单位晶格c的重复的区域。即,设想在不超过界面i的范围构成晶体的各原子的相邻原子来生成图。
[0064]
在想要推测如催化剂等那样分子作用于晶体的情况下的物性值的情况下,设想考虑了分子m和上述晶体的界面i的重复,计算从构成分子的各原子起的相邻原子以及从构成晶体的格原子起的相邻原子的坐标来生成图。
[0065]
此外,输入的图的大小存在限制,所以例如也可以以使分子m来到中心的方式设定界面i、单位晶格c以及单位晶格c的重复。即,也可以适当地执行单位晶格c的重复,获取坐标,生成图。为了生成图,例如,以不超过在以与分子m最近的单位晶格c为中心、不超过界面的范围能够用图表达的原子数的方式设想单位晶格c向上下左右的重复,获取各个相邻原子的坐标。
[0066]
在图3中,相对于1个分子m而将具有界面i的晶体的单位晶格c输入1个,但不限于此。例如,既可以存在多个分子m,也可以存在多个晶体。
[0067]
另外,输入信息构成部16也可以计算在由上述构成的两个原子间的距离以及3个原子中以某个原子为顶点的情况下所成的角度。该距离以及角度根据各原子的相对坐标来计算。角度例如使用矢量的内积、余弦定理来获取。例如,既可以计算所有的原子的组合,也可以是输入信息构成部16决定截止半径rc,针对每个原子而搜索处于截止半径rc内的其它原子,计算存在于该截止半径rc内的原子的组合。
[0068]
也可以对构成的原子分别赋予索引,与该索引的组合一并地在存储部12中保存这些计算出的结果。在计算的情况下,既可以在构造特征抽取部18中,在使用这些值的定时从存储部12读出,也可以将这些值从输入信息构成部16输出到构造特征抽取部18。
[0069]
另外,为了理解,以2维方式示出,但当然在3维空间中存在分子等。因此,重复的条件有时也应用于附图的跟前侧以及进深侧。
[0070]
输入信息构成部16这样从输入的分子等的信息以及原子特征获取部14所生成的各原子的特征生成作为神经网络的输入的图。
[0071]
(构造特征抽取部18)
[0072]
本实施方式的构造特征抽取部18如上所述具备当输入图信息时输出与该图的构造有关的特征的神经网络。在此,作为输入的图的特征,也可以包括角度信息。
[0073]
构造特征抽取部18例如被设计成相对于输入的图中的同种原子的置换、输入构造的平移、旋转而维持不变的输出。这些是由于现实的物质的物性不依赖于这些量而引起的。例如,如下述那样对相邻原子以及3个原子间的角度进行定义,从而能够以满足这些条件的方式输入图的信息。
[0074]
首先,例如,构造特征抽取部18决定最大相邻原子数nn和截止半径rc,获取与关注的原子a(关注原子)相对的相邻原子。通过设定截止半径rc,从而能够排除相互造成的影响小到能够忽略的程度的原子,并且使作为相邻原子而抽取的原子不会变得过多。另外,通过多次进行图卷积,能够将处于截止半径外的原子的影响也纳入进来。
[0075]
在相邻原子数不满足最大相邻原子数nn的情况下,作为虚原子(dummy),随机地配置于种类与原子a相同的原子比截止半径rc足够远的部位。在相邻原子数比最大相邻原子数nn多的情况下,例如,按照从原子a起的距离从近到远的顺序选择nn个原子作为相邻原子的候补。当考虑到这样的相邻原子时,3个原子的组合如
nn
c2那样。例如,当设为nn=12时,如
12
c2=66那样。
[0076]
截止半径rc与想要再现的物理现象的相互作用距离存在关系。在晶体等紧密地挤在一起的体系的情况下,只要作为截止半径rc而使用4~8
×
10-8
cm,就在大多数情况下,能够确保足够的精度。另一方面,在考虑晶体表面与分子或者分子间等的相互作用的情况下,其两者在构造上没有连接,所以即使重复图卷积,也无法考虑远的原子的影响,所以截止半径成为直接的最大的相互作用距离。即使在该情况下,通过考虑8
×
10-8
cm~作为截止半径rc,从该距离起开始初始形状,从而也能够应用。
[0077]
关于最大相邻原子数nn,根据计算效率的观点,选择12个左右,但并不限于此。关于在nn个相邻原子中未选择的截止半径rc内的原子,通过重复图卷积,从而也能够考虑其影响。
[0078]
针对1个关注原子,例如,将把该原子的特征、相邻的两个原子的特征、该原子与相邻的两个原子的距离以及以该原子为中心而相邻的两个原子所成的角的值进行结合(concatenate)而成的值作为输入的一组。将该原子的特征作为节点的特征,将距离和角度作为边缘的特征。关于边缘的特征,还能够直接使用获取到的数值,但也可以进行预定的处理。例如,既可以合并为特定的宽度而使用,进而也可以应用高斯滤波器。
[0079]
图4是用于说明图的数据的取得方式的一个例子的图。将关注的原子考虑为原子a。与图3同样地以2维方式示出,但更准确的是,在3维空间存在原子。在以下的说明中,假定为相对于原子a而相邻原子的候补是原子b、c、d、e、f,但该原子的数量由nn决定,相邻原子的候补因分子等的构造以及存在的状态而变化,所以并不限于此。例如,进而,在存在原子g、h、
…
等的情况下,在不超过nn的范围同样地执行下述的特征抽取等。
[0080]
从原子a起用虚线箭头表示的是截止半径rc。表示从原子a起截止半径rc的范围的是用虚线表示的圆的范围。在这一虚线的圆内搜索原子a的相邻原子。如果最大相邻原子数
nn为5个以上,则关于原子a的相邻原子,确定原子b、c、d、e、f这5个原子。这样,除了作为构造式而连接的原子彼此之外,关于在由截止半径rc形成的范围内的构造式中未连接的原子彼此,也生成边缘的数据。
[0081]
构造特征抽取部18为了获取以原子a为顶点的角度数据,抽取原子的组合。以下,将原子a、b、c的组合记载为a-b-c。针对原子a的组合是a-b-c、a-b-d、a-b-e、a-b-f、a-c-d、a-c-e、a-c-f、a-d-e、a-d-f、a-e-f的5c2=10那样。构造特征抽取部18例如也可以对此分别赋予索引。索引既可以仅关注于原子a,也可以考虑关注于多个原子或者所有的原子而唯一地赋予。通过这样赋予索引,能够唯一地指定关注原子与相邻原子的组合。
[0082]
a-b-c的组合的索引例如设为是0。相邻原子的组合是原子b和原子c的图数据即索引0的图数据关于原子b和原子c而分别生成。
[0083]
例如,针对作为关注原子的原子a,将原子b作为第1相邻原子,将原子c作为第2相邻原子。作为与第1相邻原子有关的数据,构造特征抽取部18将原子a的特征、原子b的特征、原子a、b间的距离、原子b、a、c所成的角度的信息进行结合。作为与第2相邻原子有关的数据,将原子a的特征、原子c的特征、原子a、b间的距离、原子c、a、b所成的角度的信息进行结合。
[0084]
原子间的距离以及3个原子所成的角度既可以使用输入信息构成部16计算出的结果,也可以在输入信息构成部16不计算这些角度的情况下,由构造特征抽取部18计算。距离以及角度的计算能够使用与在输入信息构成部16中说明的内容等同的方法。另外,也可以变更在原子数比预定数量多的情况下在构造特征抽取部18中计算、在原子数比预定数量少的情况下在输入信息构成部16中计算等动态地计算的定时。在该情况下,也可以根据存储器、处理器等资源的状态,决定利用哪个进行计算。
[0085]
以下,将关注于原子a的情况下的原子a的特征记载为原子a的节点特征。在上述的情况下,原子a的节点特征的数据冗余,所以也可以集中保持。例如,索引0的图数据也可以构成为具备原子a的节点特征、原子b的特征、原子a、b间的距离、原子b、a、c的角度、原子c的特征、原子a、c间的距离、原子c、a、b的角度的信息。
[0086]
将原子a、b间的距离、原子b、a、c的角度总记为原子b的边缘特征,同样地,将原子a、c间的距离、原子c、a、b的角度总记为原子c的边缘特征。关于边缘特征,包括角度信息,所以是因作为组合的对象的原子不同而不同的量。例如,针对原子a,相邻原子是b、c的情况下的原子b的边缘特征和相邻原子是b、d的情况下的原子b的边缘特征具有不同的值。
[0087]
构造特征抽取部18关于所有的原子,与关于上述原子a的图数据同样地生成相邻原子的两个原子的所有的组合的数据。
[0088]
图5示出由构造特征抽取部18生成的图数据的一个例子。
[0089]
针对第1原子或者关注原子即原子a的节点特征,关于在从原子a起截止半径rc内存在的相邻原子的组合,生成各个原子的特征和边缘特征。图中的旁边的联系例如也可以根据索引关联起来。与选择作为第1关注原子的原子a的相邻原子而获取特征的情况同样地,关于原子b、c、
…
、,也作为第2、第3、其以上的关注原子而分别关于第2、第3、其以上的相邻原子的组合获取特征。
[0090]
这样,关于所有的原子而获取节点特征、及与相邻原子有关的原子的特征以及边
缘特征。其结果,关注原子的特征成为(n_site,site_dim)的张量,相邻原子的特征成为(n_site,site_dim,n_nbr_comb,2)的张量,边缘特征成为(n_site,edge_dim,n_nbr_comb,2)的张量。此外,n_site是原子数,site_dim是表示原子的特征的矢量的维度,n_nbr_comb是相邻原子相对于关注原子的组合数(=
nn
c2),edge_dim是边缘特征的维。相邻原子的特征以及边缘特征是分别针对关注原子而选择两个相邻原子,关于各个相邻原子而得到的,所以分别成为具有(n_site,site_dim,n_nbr_comb)、(n_site,edge_dim,n_nbr_comb)的两倍的维度的张量。
[0091]
构造特征抽取部18具备当输入这些数据时更新原子的特征和边缘的特征而输出的神经网络。即,构造特征抽取部18具备获取与图有关的数据的图数据获取部和当输入与该图有关的数据时进行更新的神经网络。该神经网络具备:第2网络,从具有作为输入数据的(n_site,site_dim+edge_dim+site_dim,n_nbr_comb,2)的维度的数据输出(n_site,site_dim)维的节点特征;以及第3网络,输出(n_site,edge_dim,n_nbr_comb,2)维的边缘特征。
[0092]
第2网络具备当输入针对关注原子的具备两个原子的量的相邻原子的特征的张量时将维度减少到(n_site,site_dim,n_nbr_comb,1)维的张量的网络和当输入针对关注原子的具备维度被减小后的相邻原子的特征的张量时将维度减少到(n_site,site_dim,1,1)维的张量的网络。
[0093]
第2网络的第一级网络将针对在将关于作为关注原子的原子a的原子b、c作为相邻原子的情况下的各个相邻原子的特征变换为关于涉及作为关注原子的原子a的相邻原子b、c的组合的特征。通过该网络,能够抽取相邻原子的组合的特征。关于作为第1关注原子的原子a,将所有的相邻原子的组合变换为该特征。进而,关于作为第2关注原子的原子b,
…
,同样地关于所有的相邻原子的组合而变换特征。通过该网络,表示相邻原子的特征的张量从(n_site,site_dim,n_nbr_comb,2)维变换为(n_site,site_dim,n_nbr_comb,1)维。
[0094]
第2网络的第二级网络从关于原子a的原子b、c的组合,原子b、d的组合、
…
、原子e、f的组合抽取具备相邻原子的特征的原子a的节点特征。通过该网络,能够抽取考虑了针对关注原子的相邻原子的组合的节点特征。进而,关于原子b、
…
,同样地抽取考虑了所有的相邻原子的组合的节点特征。通过该网络,第二级网络的输出从(n_site,site_dim,n_nbr_comb,1)维变换为作为与节点特征的维同等的维度的(n_site,site_dim,1,1)维。
[0095]
本实施方式的构造特征抽取部18根据第2网络的输出来更新节点特征。例如,将第2网络的输出与节点特征进行相加,经由tanh()等激活函数获取更新后的节点特征(以下,记载为更新节点特征)。另外,该处理无需与第2网络分开地配备于构造特征抽取部18,也可以作为第2网络的输出侧的层而具备该加法以及激活函数处理。另外,第2网络与后述第3网络同样地,能够削减可能对于最终获取到的物性值不需要的信息。
[0096]
第3网络是当输入边缘特征时输出更新后的边缘特征(以下,记载为更新边缘特征)的网络。第3网络将(n_site,edge_dim,n_nbr_comb,2)维的张量变换为(n_site,edge_dim,n_nbr_comb,2)维的张量。例如,通过使用门(gate)等,能够削减对于最终想要获取的物性值不需要的信息。由后述训练装置训练参数,从而生成具有该功能的第3网络。第3网络也可以除了上述之外,还作为第二级而具备具有相同的输入输出维度的网络。
[0097]
本实施方式的构造特征抽取部18根据第3网络的输出来更新边缘特征。例如,将第
3网络的输出与边缘特征进行相加,经由tanh()等激活函数获取更新边缘特征。另外,也可以在抽取出多个针对相同的边缘的特征的情况下计算它们的平均值作为1个边缘特征。这些处理无需与第3网络分开地配备于构造特征抽取部18,也可以作为第3网络的输出侧的层而具备该加法以及激活函数处理。
[0098]
第2网络、第3网络的各网络例如也可以由适当地使用了卷积层、批量(batch)标准化、池化、门处理、激活函数等的神经网络形成。不限于上述,也可以由mlp等形成。另外,例如,也可以是具有能够还输入对输入张量的各要素进行平方而得到的张量的输入层的网络。
[0099]
另外,作为另一例子,第2网络、第3网络也可以不形成为分开地形成的网络而形成为一个网络。在该情况下,当输入节点特征、相邻原子的特征、边缘特征时,依照上述例子形成为输出更新节点特征和边缘特征的网络。
[0100]
这样构造特征抽取部18根据输入信息构成部16构成的输入信息,生成与考虑了相邻原子的图的节点以及边缘有关的数据,更新所生成的这些数据,更新各原子的节点特征以及边缘特征。更新节点特征是考虑了相邻原子的节点特征。更新边缘特征是关于想要从所生成的边缘特征获取的物性值而删除可能成为多余信息的信息后的边缘特征。
[0101]
(物性值预测部20)
[0102]
本实施方式的物性值预测部20如上所述具备当输入与分子等的构造有关的特征例如更新节点特征以及更新边缘特征时预测物性值而输出的mlp等神经网络(第4网络)。更新节点特征以及更新边缘特征也可以不仅直接输入,还如后所述与想要求出的物性值对应地进行加工而输入。
[0103]
用于该物性值预测的网络例如也可以根据想要预测的物性的性质来变更。例如,在想要获取能量的情况下,将每个节点的特征输入到相同的第4网络,将获取到的输出作为各原子的能量,将其合计值作为全部能量值而输出。
[0104]
在预测预定的原子间的特性的情况下,将更新边缘特征输入到第4网络,预测想要获取的物性值。
[0105]
在预测根据输入整体决定的物性值的情况下,计算更新节点特征的平均、合计等,将该计算出的值输入到第4网络来预测物性值。
[0106]
这样,第4网络也可以构成为相对于想要获取的物性值而不同的网络。在该情况下,第2网络以及第3网络中的至少一个网络也可以形成为抽取用于获取该物性值的特征量的神经网络。
[0107]
作为另一例子,第4网络也可以形成为在相同的定时作为其输出而输出多个物性值的神经网络。在该情况下,第2网络以及第3网络中的至少一个网络也可以形成为抽取用于获取多个物性值的特征量的神经网络。
[0108]
这样,第2网络、第3网络、第4网络也可以形成为因想要获取的物性值不同而参数以及层的形状等不同的神经网络,根据各个物性值进行训练。
[0109]
物性值预测部20关于来自第4网络的输出而根据想要获取的物性值适当地进行处理,并进行输出。例如,在求出整体的能量的情况下,在关于各原子而通过第4网络获取到能量的情况下,将这些能量进行合计而输出。即使在另一例子的情况下,也同样地,针对第4网络输出的值,执行对于想要获取的物性值适当的处理,作为输出值。
[0110]
经由输出部22将该物性值预测部20输出的量输出到推测装置1的外部或者内部。
[0111]
图6是示出本实施方式的推测装置1的处理的流程的流程图。使用该流程图,说明推测装置1的整体性的处理。各步骤的详细的说明基于上述记载。
[0112]
首先,本实施方式的推测装置1经由输入部10受理数据的输入(s100)。输入的信息是分子等的边界条件、分子等的构造信息以及构成分子等的原子的信息。分子等的边界条件以及分子等的构造信息例如也可以通过原子的相对坐标来指定。
[0113]
接下来,原子特征获取部14从被输入的分子等所使用的原子的信息生成构成分子等的各原子的特征(s102)。也可以如上所述,预先由原子特征获取部14生成各种原子的特征并保存于存储部12等。在该情况下,也可以根据所使用的原子的种类从存储部12读出。原子特征获取部14通过将原子的信息输入到自身所具备的已训练的神经网络,从而获取原子的特征。
[0114]
接下来,输入信息构成部16根据被输入的边界条件、坐标以及原子的特征,构成用于生成分子等的图信息的信息(s104)。例如,如图3所示的例子那样,输入信息构成部16生成记述有分子等的构造的信息。
[0115]
接下来,构造特征抽取部18抽取构造的特征(s106)。通过关于分子等的各原子的节点特征以及边缘特征的生成处理以及节点特征以及边缘特征的更新处理这两个处理来执行构造的特征的抽取。边缘特征中包括以关注原子为顶点的两个相邻原子所成的角的信息。所生成的节点特征和边缘特征分别经由已训练的神经网络,作为更新节点特征和更新边缘特征而抽取。
[0116]
接下来,物性值预测部20从更新节点特征以及更新边缘特征预测物性值(s108)。物性值预测部20经由已训练的神经网络从更新节点特征以及更新边缘特征输出信息,根据该输出的信息来预测物性值。
[0117]
接下来,推测装置1经由输出部22将推测出的物性值输出到推测装置1的外部或者内部(s110)。其结果,能够根据具备与潜在空间中的原子的特征有关的信息以及在分子等中考虑了边界条件的相邻原子间的角度信息的信息,推测物性值而输出。
[0118]
如以上那样,根据本实施方式,根据边界条件、分子等中的原子的配置、抽取出的原子的特征,使用具备包括原子的特征的节点特征以及包括两个相邻原子所成的角度信息的边缘特征的图数据,抽取包括相邻原子的特征的更新节点特征以及边缘特征,使用该抽取结果来推测物性值,从而能够进行精度高的物性值的推测。这样抽取原子的特征,所以在增加原子的种类的情况下,也能够容易地应用相同的推测装置1。
[0119]
此外,在本实施方式中,分别将能够微分的运算进行组合而得到输出。也就是说,能够从所输出的推测结果回溯到各原子的信息。例如,在推测出输入构造中的全部能量p的情况下,在推测出的全部能量p中,计算输入坐标的微分,从而能够计算作用于各原子的力。该微分使用神经网络,另外,如后所述,其它运算也通过能够微分的运算被执行,所以能够没有问题地执行。通过这样获取作用于各原子的力,能够高速地进行使用了该力的构造缓和等。另外,例如,能够将坐标作为输入而计算能量,通过n阶的自动微分来代替dft计算。另外,同样地,哈密顿量等所表示的微分运算也能够从推测装置1的输出容易地获取,还能够更高速地执行各种物性的解析。
[0120]
通过使用该推测装置1,例如,能够关于各种分子等、更详细而言具有各种构造的
分子等、具备各种原子的分子等而执行具有所期望的物性值的材料的搜索。例如,还能够搜索针对某个化合物的反应性高的催化剂等。
[0121]
[训练装置]
[0122]
本实施方式的训练装置训练前述的推测装置1。特别是,进行推测装置1中的原子特征获取部14、构造特征抽取部18以及物性值预测部20各自所具备的神经网络的训练。
[0123]
此外,在本说明书中,训练是指生成具有神经网络等构造并能够进行对于输入适当的输出的模型。
[0124]
图7是本实施方式的训练装置2的框图的一个例子。训练装置2除了具备推测装置1所具备的原子特征获取部14、输入信息构成部16、构造特征抽取部18、物性值预测部20之外,还具备误差计算部24和参数更新部26。输入部10、存储部12、输出部22既可以与推测装置1共用,也可以是训练装置2所固有的。关于与推测装置1相同的结构的部分,省略详细的说明。
[0125]
实线所示的流程是关于正向传播的处理,虚线所示的流程是关于逆向传播的处理。
[0126]
训练装置2经由输入部10被输入训练数据。训练数据是作为输入数据以及训练数据的输出数据。
[0127]
误差计算部24计算原子特征获取部14、构造特征抽取部18、物性值预测部20中的训练数据与来自各神经网络的输出的误差。针对各神经网络的误差的计算方法不限于是相同的运算,也可以根据作为各更新对象的参数或者网络结构适当地选择。
[0128]
参数更新部26根据误差计算部24计算出的误差,在各神经网络中对误差进行逆向传播,更新神经网络的参数。参数更新部26既可以通过所有的神经网络来进行与训练数据的比较,也可以针对每个神经网络使用训练数据来进行参数的更新。
[0129]
上述推测装置1的各模块分别能够通过能够微分的运算形成。因此,能够从物性值预测部20起按照构造特征抽取部18、输入信息构成部16、原子特征获取部14的顺序计算斜率,在神经网络以外的部位也能够对误差适当地进行逆向传播。
[0130]
例如,在作为物性值而想要推测全部能量的情况下,能够将(xi,yi,zi)设为第i个原子的坐标(相对坐标),将a设为原子的特征,表示为全部能量p=σ
i fi(xi,yi,zi,ai)。在该情况下,能够在所有的原子中对dp/dxi等微分值进行定义,所以能够对从输出至输入中的原子的特征的计算为止进行误差逆向传播。
[0131]
另外,作为另一例子,也可以使各模块分别最佳化。例如,还能够通过使能够使用原子的标识符和物性值从独热矢量抽取物性值那样的神经网络最佳化来生成原子特征获取部14所具备的第1网络。以下,说明各个网络的最佳化。
[0132]
(原子特征获取部14)
[0133]
原子特征获取部14的第1网络例如还能够以当输入原子的标识符等或者独热矢量时输出特性值的方式进行训练。该神经网络也可以如上所述例如利用基于vae的变分编码器解码器。
[0134]
图8是用于第1网络的训练的网络的形成例。例如,第1网络146也可以使用具备编码器142和解码器144的变分编码器解码器的编码器142部分。
[0135]
编码器142是针对原子的每个种类而输出潜在空间中的特征的神经网络,是在推
测装置1中使用的第1网络。
[0136]
解码器144是当输入编码器142输出的潜在空间中的矢量时输出物性值的神经网络。这样,在编码器142之后连接解码器144,进行监督学习,从而能够执行编码器142的训练。
[0137]
如上所述,表示原子的性质的独热矢量被输入到第1网络146。这也可以与上述同样地,具备独热矢量生成部140,该独热矢量生成部140当输入原子序号、原子名等或者表示各个原子的性质的值时,生成独热矢量。
[0138]
被用作训练数据的数据例如是各种物性值。该物性值例如也可以通过理科年表等来获取。
[0139]
图9是示出物性值的一个例子的表。例如,该表所记载的原子的性质被用作解码器144的输出的训练数据。
[0140]
在表中带括弧的是通过括弧内所记载的手法求出的。另外,关于离子半径,使用第1配位至第4配位。作为具体的例子,如果是氧,则按顺序,配位表示2、3、4、6的离子半径。
[0141]
当对具备图8所记载的编码器142和解码器144的神经网络输入表示原子的独热矢量时,例如,以输出图9所示的性质的方式进行最佳化。在该最佳化中,误差计算部24计算输出值与训练数据的损失,参数更新部26根据该损失来执行逆向传播,求出斜率来更新参数。通过进行最佳化,从而编码器142作为从独热矢量输出潜在空间中的矢量的网络发挥功能,解码器144作为从该潜在空间的矢量输出物性值的网络发挥功能。
[0142]
参数的更新例如使用变分编码器解码器。如上所述,也可以使用重新参数化技巧的手法。
[0143]
在最佳化结束之后,将形成编码器142的神经网络作为第1网络146,获取关于该编码器142的参数。输出的值例如既可以是图8所示的z
μ
的矢量,也可以是考虑了方差σ2的值。另外,作为另一例子,也可以输出z
μ
以及σ2这双方,将z
μ
和σ2这双方输入到推测装置1的构造特征抽取部18。在使用随机数的情况下,也可以以成为能够逆向传播的处理的方式,例如使用固定的随机数表格等。
[0144]
此外,图9的表所示的原子的物性值是一个例子,无需使用这所有的物性值,另外,也可以使用该表所示的以外的物性值。
[0145]
在使用各种物性值的情况下,根据原子的种类,有时不存在预定的物性值。例如,如果是氢原子,则不存在第2离子化能量。在这样的情况下,例如,也可以设为不存在该值而执行网络的最佳化。这样,即使在有不存在的值的情况下,也能够生成输出物性值的神经网络。这样,即使在无法输入所有的物性值的情况下,也能够由本实施方式的原子特征获取部14生成原子的特征。
[0146]
进而,通过这样生成第1网络146,从而独热矢量被映射到连续的空间内,所以性质相近的原子在潜在空间中被转录到近处,性质显著不同的原子在潜在空间中被转录到远处。因此,关于其之间的原子,即使在训练数据中不存在性质的情况下,通过内插也能够输出结果。另外,在一部分的原子的学习数据不足的情况下,也能够推测特征。
[0147]
还能够将这样抽取出的原子特征矢量输入到推测装置1。在推测装置1的训练时,即使在一部分的原子的学习数据量不足或者欠缺的情况下,通过原子间特征的内插也能够执行推测。另外,还能够实现训练所需的数据量的降低。
[0148]
图10示出用解码器144对由该编码器142抽取出的特征进行解码的几个例子。实线表示训练数据的值,针对原子序号具有方差地示出,是解码器144的输出值。偏差表示根据由编码器142输出的特征和方差相对于特征矢量具有方差地输入到解码器144的输出值。
[0149]
按照从上到下的顺序,示出了使用了pyykko的手法的共价半径、使用了uff的范德华半径、第2离子化能量的例子。横轴是原子序号,纵轴用对各自适合的单位表示。
[0150]
从共享半径的图可知,对训练数据输出良好的值。
[0151]
可知在范德华半径以及第2离子化能量中,也对训练数据输出良好的值。当原子序号超过100时,值偏离,但这是因为是当前作为训练数据而未能获取的值,所以在没有训练数据的状态下进行训练。因此,数据的偏差变大,但输出某种程度的值。另外,如上所述,可知不存在氢原子的第2离子化能量,但作为内插的值而输出。
[0152]
这样可知,对解码器144的输出使用训练数据,从而能够在编码器142中,在潜在空间内精度良好地获取特征量。
[0153]
(构造特征抽取部18)
[0154]
接下来,说明构造特征抽取部18的第2网络和第3网络的训练。
[0155]
图11是抽取出与构造特征抽取部18的神经网络相关的部位的图。本实施方式的构造特征抽取部18具备图数据抽取部180、第2网络182以及第3网络184。
[0156]
图数据抽取部180从被输入的关于分子等的构造的数据抽取节点特征、边缘特征这样的图数据。该抽取在通过基于能够进行逆变换的规则的手法来执行的情况下,无需进行训练。
[0157]
但是,对于图数据的抽取也可以使用神经网络,在该情况下,还能够作为还包括第2网络182以及第3网络184以及物性值预测部20的第4网络的网络而一并进行训练。
[0158]
第2网络182当被输入图数据抽取部180输出的关注原子的特征(节点特征)和相邻原子的特征时,更新节点特征而输出。对于该更新,例如也可以由如下神经网络形成:分为卷积层、批量标准化、门和其它数据而按顺序应用激活函数、池化、批量标准化,从(n_site,site_dim,n_nbr_comb,2)维变换为(n_site,site_dim,n_nbr_comb,1)维的张量,接下来,分为卷积层、批量标准化、门和其它数据而按顺序应用激活函数、池化、批量标准化,从(n_site,site_dim,n_nbr_comb,1)维变换为(n_site,site_dim,1,1)维,最后计算输入的节点特征与该输出之和而经由激活函数更新节点特征。
[0159]
第3网络184当被输入图数据抽取部180输出的相邻原子的特征和边缘特征时,更新边缘特征而输出。对于该更新,例如也可以由如下神经网络形成:分为卷积层、批量标准化、门和其它数据而按顺序应用激活函数、池化、批量标准化而变换,接下来,分为卷积层、批量标准化、门和其它数据而按顺序应用激活函数、池化、批量标准化而变换,最后计算输入的边缘特征与该输出之和,经由激活函数更新边缘特征。关于边缘特征,例如输出与输入相同的(n_site,site_dim,n_nbr_comb,2)维的张量。
[0160]
这样形成的神经网络的各层的处理是能够微分的处理,所以能够从输出向输入执行误差逆向传播。此外,上述网络结构是作为一个例子而示出的,不限于此,只要是能够适当地更新为反映了相邻原子的特征的节点特征且各层的运算实质上能够微分的结构,就可以是任意的结构。实质上能够微分除了包括能够微分的情况之外,还包括能够近似地微分的情况。
[0161]
误差计算部24根据利用参数更新部26从物性值预测部20逆向传播的更新节点特征和第2网络182输出的更新节点特征来计算误差。参数更新部26使用该误差来更新第2网络182的参数。
[0162]
同样地,误差计算部24根据利用参数更新部26从物性值预测部20逆向传播的更新边缘特征和第3网络184输出的更新边缘特征来计算误差。参数更新部26使用该误差来更新第3网络184的参数。
[0163]
这样,构造特征抽取部18所具备的神经网络与物性值预测部20所具备的神经网络的参数的训练一并执行训练。
[0164]
(物性值预测部20)
[0165]
物性值预测部20所具备的第4网络当输入构造特征抽取部18输出的更新节点特征和更新边缘特征时,输出物性值。第4网络例如具备mlp等构造。
[0166]
第4网络能够通过与通常的mlp等的训练同样的手法进行训练。所使用的损失例如使用绝对值平均误差(mae:mean absolute error)、均方误差(mse:mean square error)等。如上所述,将该误差逆向传播直至构造特征抽取部18的输入为止,从而执行第2网络、第3网络以及第4网络的训练。
[0167]
第4网络也可以是因想要获取(输出)的物性值不同而不同的方式。即,第2网络、第3网络以及第4网络的输出值也可以根据想要求出的物性值而不同。因此,既可以设为根据想要获取的物性值适当地得到第4网络的方式,也可以进行训练。
[0168]
在该情况下,第2网络以及第3网络的参数也可以将已经为了求出其它物性值而训练或者最佳化的参数用作初始值。另外,也可以将作为第4网络而想要输出的物性值设定多个,在该情况下,也可以将多个物性值同时用作训练数据来执行训练。
[0169]
作为另一例子,也可以通过逆向传播直至原子特征获取部14为止,从而第1网络也一并进行训练。进而,第1网络也可以不与从训练的最初至第4网络为止的其它网络进行组合地训练,而预先通过上述原子特征获取部14的训练手法(例如,使用了重新参数化技巧的变分编码器解码器)进行训练,之后,从第4网络经由第3网络、第2网络至第1网络为止进行逆向传播,从而进行转移学习。由此,能够容易地得到能够得到想要求出的推测结果的推测装置。
[0170]
此外,具备这样求出的神经网络的推测装置1能够进行从输出向输入的逆向传播。即,能够用输入的变量对输出数据进行微分。因此,例如,由第4网络输出的物性值使输入的原子的坐标变化,从而还能够知晓怎样变化。例如,在输出的物性值是位势的情况下,位置微分是作用于各原子的力。还能够进行使使用其输入的推测对象的构造的能量最小化的最佳化。
[0171]
以上说明的各神经网络的训练的详细内容是如上述那样训练的,但可以作为整体性的训练而使用普遍已知的训练手法。例如,损失函数、批量规格化、训练结束条件、激活函数、最佳化手法、批量学习、小批量学习、在线学习等学习手法只要是适当的,就可以使用任意的手法。
[0172]
图12是示出整体性的训练的处理的流程图。
[0173]
训练装置2首先训练第1网络(s200)。
[0174]
接着,训练装置2训练第2网络、第3网络以及第4网络(s210)。此外,也可以在该定
时,如上所述直至第1网络为止进行训练。
[0175]
在训练结束的情况下,训练装置2经由输出部22输出已训练的各网络的参数。在此,参数的输出是指与参数向训练装置2的外部的输出相匹配地还包含将参数保存于训练装置2内的存储部12等向内部的输出的概念。
[0176]
图13是示出第1网络的训练(图12的s200)的处理的流程图。
[0177]
首先,训练装置2经由输入部10受理用于训练的数据的输入(s2000)。被输入的数据根据需要而例如保存于存储部12。第1网络的训练所需的数据是与原子对应的矢量、在本实施方式中独热矢量的生成所需的信息以及表示与该原子对应的原子的性质的量(例如,原子的物质量)。表示原子的性质的量例如是图9所示的量。另外,也可以输入与原子对应的独热矢量本身。
[0178]
接下来,训练装置2生成独热矢量(s2002)。当在s2000中输入独热矢量的情况下,该处理不是必需的。在除此以外的情况下,例如,根据变换为质子数这样的独热矢量的信息,生成与原子对应的独热矢量。
[0179]
接下来,训练装置2使所生成的或者被输入的独热矢量正向传播到图8所示的神经网络(s2004)。与原子对应的独热矢量经由编码器142、解码器144变换为物性值。
[0180]
接下来,误差计算部24计算从解码器144输出的物性值与从科学年表等获取到的物性值的误差(s2006)。
[0181]
接下来,参数更新部26对计算出的误差进行逆向传播,更新参数(s2008)。执行误差逆向传播直至独热矢量即编码器的输入为止。
[0182]
接下来,参数更新部26判断训练是否结束(s2010)。该判断根据预定的训练的结束条件例如预定时期(epoch)数结束、预定准确性确保等来判断。此外,训练既可以是批量学习,也可以是小批量学习,并不限于这些。
[0183]
在训练未结束的情况下(s2010:否),重复s2004至s2008的处理。在小批量学习的情况下,也可以变更所使用的数据而重复。
[0184]
在训练结束的情况下(s2010:是),训练装置2经由输出部22输出结束参数(s2012),结束处理。此外,输出既可以仅输出与编码器142有关的参数即与第1网络146有关的参数,也可以还一并输出解码器144的参数。通过该第1网络,从具有102量级的维度的独热矢量例如变换为表示16维这样的潜在空间内的特征的矢量。
[0185]
图14是示出基于作为输入而使用本实施方式的第1网络的输出进行训练的构造特征抽取部18以及物性值预测部20的分子等的能量的推测结果和基于作为输入而使用与比较例(cgcnn:crystal graph convolutional networks,https://arxiv.org/abs/1710.10324v2)的原子特征有关的输出进行训练的本实施方式的构造特征抽取部18以及物性值预测部20的相同的分子等的能量的推测结果的图。
[0186]
左图基于比较例,右图基于本实施方式的第1网络。这些图的横轴表示通过dft求出的值,纵轴表示通过各个手法推测出的值。即,理想的是在从左下往右上的对角线上存在所有的值,偏差越多,则表示精度越差。
[0187]
从这些图可知,与比较例相比,能够输出距对角线的偏差小且精度更高的物性值,即能够获取精度更高的原子的特征(潜在空间中的矢量)。关于各个mae,本实施方式的mae是0.031,比较例的mae是0.045。
processing unit,图形处理单元)等执行的软件(程序)的信息处理构成。在由软件的信息处理构成的情况下,也可以将实现前述实施方式中的各装置中的至少一部分的功能的软件容纳于柔性光盘,cd-rom(compact disc-read only memory)或者usb(universal serial bus,通用串行总线)存储器等非临时的存储介质(非临时的计算机可读介质),使计算机读入,从而执行软件的信息处理。另外,也可以经由通信网络下载该软件。进而,也可以是软件安装于asic(application specific integrated circuit,专用集成电路)或者fpga(field programmable gate array,现场可编程门阵列)等电路,从而通过硬件来执行信息处理。
[0202]
容纳软件的存储介质的种类并不限定。存储介质不限定于磁盘或者光盘等能够装卸的例子,也可以是硬盘或者存储器等固定型的存储介质。另外,存储介质既可以配备于计算机内部,也可以配备于计算机外部。
[0203]
图17是示出前述实施方式中的各装置(推测装置1或者训练装置2)的硬件结构的一个例子的框图。各装置也可以具备处理器71、主存储装置72、辅助存储装置73、网络接口74以及设备接口75,这些作为经由总线76连接的计算机7而实现。
[0204]
图17的计算机7具备一个各构成要素,但也可以具备多个相同的构成要素。另外,在图17中,示出了1台计算机7,但也可以软件安装于多台计算机,该多台计算机分别执行软件的相同或者不同的一部分的处理。在该情况下,也可以是计算机分别经由网络接口74等进行通信而执行处理的分散计算的方式。也就是说,前述实施方式中的各装置(推测装置1或者训练装置2)也可以构成为通过由1台或者多台计算机执行存储于1个或者多个存储装置的命令而实现功能的系统。另外,也可以是如利用设置于云上的1台或者多台计算机对从终端发送的信息进行处理,将该处理结果发送到终端那样的结构。
[0205]
前述实施方式中的各装置(推测装置1或者训练装置2)的各种运算也可以使用1个或者多个处理器或者使用经由网络的多台计算机通过并行处理来执行。另外,也可以是各种运算被分配给在处理器内存在多个的运算核,通过并行处理来执行。另外,本公开的处理、单元等一部分或者全部也可以由设置于能够经由网络而与计算机7进行通信的云上的处理器以及存储装置中的至少一方执行。这样,前述实施方式中的各装置也可以是由1台或者多台计算机进行的并行计算的方式。
[0206]
处理器71也可以是包括计算机的控制装置以及运算装置的电路(处理电路、processing circuit、processing circuitry、cpu、gpu、fpga或者asic等)。另外,处理器71也可以是包括专用的处理电路的半导体装置等。处理器71并不限定于使用了电子逻辑元件的电路,也可以通过使用了光逻辑元件的光电路来实现。另外,处理器71也可以包括基于量子计算的运算功能。
[0207]
处理器71能够根据从计算机7的内部结构的各装置等输入的数据、软件(程序)来进行运算处理,将运算结果、控制信号输出到各装置等。处理器71也可以通过执行计算机7的os(operating system,操作系统)、应用程序等,从而控制构成计算机7的各构成要素。
[0208]
前述实施方式中的各装置(推测装置1以及/或者训练装置2)也可以通过1个或者多个处理器71来实现。在此,处理器71既可以是指配置于1个芯片上的1个或者多个电路,也可以是指配置于两个以上的芯片或者设备上的1个或者多个电路。在使用多个电路的情况下,各电路也可以通过有线或者无线进行通信。
[0209]
主存储装置72是存储处理器71执行的命令以及各种数据等的存储装置,存储于主存储装置72的信息由处理器71读出。辅助存储装置73是主存储装置72以外的存储装置。此外,这些存储装置意味着能够保存电子信息的任意的电子部件,也可以是半导体的存储器。半导体的存储器也可以是易失性存储器、非易失性存储器中的任意存储器。在前述实施方式中的各装置(推测装置1或者训练装置2)中用于保存各种数据的存储装置既可以通过主存储装置72或者辅助存储装置73来实现,也可以通过内置于处理器71的内置存储器来实现。例如,前述实施方式中的存储部12也可以安装于主存储装置72或者辅助存储装置73。
[0210]
针对1个存储装置(存储器),既可以是连接(结合)多个处理器,也可以连接单个处理器。针对处理器1个,也可以连接(结合)多个存储装置(存储器)。在由至少一个存储装置(存储器)和与该至少一个存储装置(存储器)连接(结合)的多个处理器构成前述实施方式中的各装置(推测装置1或者训练装置2)的情况下,也可以包括多个处理器中的至少一个处理器连接(结合)于至少一个存储装置(存储器)的结构。另外,也可以通过多台计算机所包含的存储装置(存储器))和处理器来实现该结构。进而,也可以包括存储装置(存储器)与处理器成为一体的结构(例如,包括l1高速缓存、l2高速缓存的高速缓存存储器)。
[0211]
网络接口74是用于通过无线或者有线而与通信网络8连接的接口。网络接口74只要使用适合现有的通信标准的接口即可。也可以利用网络接口74而与经由通信网络8连接的外部装置9a进行信息的交换。
[0212]
外部装置9a例如包括摄像机、运动捕捉器、输出目的地设备、外部的传感器或者输入源设备等。作为外部装置9a,也可以具备外部的存储装置(存储器),例如网络存储装置等。另外,外部装置9a也可以是具有前述实施方式中的各装置(推测装置1或者训练装置2)的构成要素的一部分的功能的装置。而且,计算机7既可以如云服务那样经由通信网络8接收处理结果的一部分或者全部,也可以发送到计算机7的外部。
[0213]
设备接口75是与外部装置9b直接连接的usb等接口。外部装置9b既可以是外部存储介质,也可以是存储装置(存储器)。前述实施方式中的存储部12也可以通过外部装置9b来实现。
[0214]
外部装置9b也可以是输出装置。输出装置例如既可以是用于显示图像的显示装置,也可以是输出声音等的装置等。例如,有lcd(liquid crystal display,液晶显示器)、crt(cathode ray tube,阴极射线管)、pdp(plasma display panel,等离子显示面板)、有机el(electro luminescence,电致发光)面板、扬声器、个人计算机、平板终端或者智能手机等输出目的地设备等,但并不限于这些。另外,外部装置9b也可以是输入装置。输入装置具备键盘、鼠标、触摸面板或者麦克风等设备,将由这些设备输入的信息提供给计算机7。
[0215]
在本说明书(包括权利要求)中,“a、b以及c中的至少一个(一方)”或者“a、b或者c中的至少一个(一方)”的表达(包括同样的表达)包括a、b、c、a-b、a-c、b-c或者a-b-c中的任意方。另外,也可以如a-a、a-b-b、a-a-b-b-c-c等那样关于任意的要素而包括多个情形。进而,还包括如a-b-c-d那样具有d等加上所列举的要素(a、b以及c)以外的其它要素。
[0216]
在本说明书(包括权利要求)中,“将数据作为输入/基于/依照/根据数据”等表达(包括同样的表达)在没有特别说明的情况下,包括将各种数据本身用作输入的情况、将对各种数据进行某些处理后的结果(例如,加上噪声后的数据、标准化后的数据、各种数据的
中间表达等)用作输入的情况。另外包括记载有能够得到“基于/依照/根据数据”这些结果的意思的情况、仅根据该数据得到其结果的情况,并且可能还包括在该数据以外的其它数据、原因、条件以及/或者状态等中也受到影响而能够得到该结果的情况。另外,在记载有“输出数据”的意思的情况下,在没有特别说明的情况下,还包括将各种数据本身用作输出的情况、将对各种数据进行某些处理后的数据(例如,加上噪声后的数据、标准化后的数据、各种数据的中间表达等)作为输出的情况。
[0217]
在本说明书(包括权利要求)中,“连接(connected)”以及“结合(coupled)”这样的用语意图作为还包括直接的连接/结合、间接的连接/结合、电性(electrically)的连接/结合、通信(communicatively)的连接/结合、功能性(operatively)的连接/结合、物理性(physically)的连接/结合等中的任意连接/结合的非限定性的用语。该用语应根据使用了该用语的语境适当地解释,但有意地或者不必然排除的连接/结合方式应非限定性地被解释为包含于该用语。
[0218]
在本说明书(包括权利要求)中,“a构成为b(a configured to b)”这样的表达可以包括以使要素a的物理的构造具有能够执行动作b的结构,并且使要素a的永久(permanent)或者临时(temporary)的设定(setting/configuration)实际地执行动作b的方式设定(configured/set)。例如,在要素a是通用处理器的情况下,以使该处理器具有能够动作b的硬件结构,并且通过永久(permanent)或者临时(temporary)的程序(命令)的设定实际地执行动作b的方式设定(configured)即可。另外,在要素a是专用处理器或者专用运算电路等的情况下,以不论控制用命令以及数据是否实际附属,都使该处理器的电路的构造实际地执行动作b的方式构建(implemented)即可。
[0219]
另外,在本说明书(包括权利要求)中,在同种的多个硬件执行预定的处理的情况下,多个硬件中的各个硬件既可以仅进行预定的处理的一部分,也可以进行预定的处理的所有处理,根据情况,有时也可以不进行预定的处理。也就是说,在记载为“1个或者多个预定的硬件进行第1处理,所述硬件进行第2处理”的情况下,进行第1处理的硬件和进行第2处理的硬件既可以相同,也可以不同。
[0220]
例如,在本说明书(包括权利要求)中,在多个处理器进行多个处理的情况下,多个处理器中的各个处理器既可以仅进行多个处理的一部分,也可以进行多个处理的所有处理,根据情况,有时也可以都不进行多个处理。
[0221]
另外,例如,在本说明书(包括权利要求)中,在多个存储器进行数据的存储的情况下,多个存储器中的各个存储器既可以仅存储数据的一部分,也可以存储数据的整体,根据情况,有时也可以存储任意的数据。
[0222]
在本说明书(包括权利要求)中,意味着含有或者拥有的用语(例如,“包括(comprising/including)”以及具有“(having)等)”意图作为包括含有或者拥有由该用语的宾语表示的对象物以外的物的情况的开放式用语。在这些意味着含有或者拥有的用语的宾语是不指定数量或者暗示单数的表达(将a或者an作为冠词的表达)的情况下,该表达应被解释为不限定于特定的数量。
[0223]
在本说明书(包括权利要求)中,即使在某个部位处使用“1个或者多个(one or more)”或者“至少一个(at least one)”等表达,在其它部位处使用不指定数量或者暗示单数的表达(将a或者an作为冠词的表达),也不意图使后者的表达意味着“1个”。一般而言,不
指定数量或者暗示单数的表达(将a或者an作为冠词的表达)应被解释为不必限定于特定的数量。
[0224]
在本说明书中,在关于某个实施例所具有的特定的结构而记载有能够得到特定的效果(advantage/result)的意思的情况下,只要没有特别的理由,关于具有该结构的其它1个或者多个实施例,也应被理解为能够得到该效果。但是,应理解的是,该效果的有无一般取决于各种原因、条件以及/或者状态等,通过该结构未必能够得到该效果。该效果只是在满足各种原因、条件以及/或者状态等时通过实施例所记载的该结构能够得到,在与规定有该结构或者类似的结构的权利要求相关的发明中,未必能够得到该效果。
[0225]
在本说明书(包括权利要求)中,“最大化(maximize)”等用语包括求出全局的最大值、求出全局的最大值的近似值、求出局部的最大值以及求出局部的最大值的近似值,应根据使用了该用语的语境适当地被解释。另外,包括概率性地或者启发性地求出这些最大值的近似值。同样地,“最小化(minimize)”等用语包括求出全局的最小值、求出全局的最小值的近似值、求出局部的最小值以及求出局部的最小值的近似值,应根据使用了该用语的语境适当地被解释。另外,包括概率性地或者启发性地求出这些最小值的近似值。同样地,“最佳化(optimize)”等用语包括求出全局的最佳值、求出全局的最佳值的近似值、求出局部的最佳值以及求出局部的最佳值的近似值,应根据使用了该用语的语境适当地被解释。另外,包括概率性地或者启发性地求出这些最佳值的近似值。
[0226]
以上,详述了本公开的实施方式,但本公开并不限定于上述各个实施方式。能够在不脱离从专利权利要求书所规定的内容及其均等物导出的本发明的概念性的思想和要旨的范围进行各种追加、变更,置换以及部分的删除等。例如,在前述所有的实施方式中,用于说明的数值作为一个例子而示出,并不限于这些。另外,实施方式中的各动作的顺序作为一个例子而示出,并不限于这些。
[0227]
例如,在前述的实施方式中,使用原子的特征推测出特性值,但也可以还考虑体系的温度、压力、体系整体的电荷、体系整体的状况等信息。这样的信息例如也可以作为与各节点连接的超级节点而输入。在该情况下,通过形成能够输入超级节点的神经网络,能够输出还考虑了温度等信息的能量值等。
[0228]
(附注)
[0229]
前述各实施方式例如当使用程序时,能够以如下方式示出。
[0230]
(1)
[0231]
一种程序,当使1个或者多个处理器执行时,
[0232]
将所述矢量输入到从与原子有关的矢量抽取潜在空间中的原子的特征的第1网络,
[0233]
经由所述第1网络推测潜在空间中的原子的特征。
[0234]
(2)
[0235]
一种程序,当使1个或者多个处理器执行时,
[0236]
根据被输入的原子的坐标、原子的特征以及边界条件,构成对象的原子的构造,
[0237]
根据所述构造来获取原子彼此的距离以及3个原子所成的角度,
[0238]
将所述原子的特征作为节点特征,将所述距离以及所述角度作为边缘特征,更新所述节点特征以及所述边缘特征,推测所述节点特征以及所述边缘特征。
[0239]
(3)
[0240]
一种程序,所述当使1个或者多个处理器执行时,
[0241]
将表示对象所包含的原子的性质的矢量输入到权利要求1至7中的任意一项所述的所述第1网络,抽取潜在空间中的原子的特征,
[0242]
根据原子的坐标、抽取出的所述潜在空间中的原子的特征以及边界条件来构成所述对象的原子的构造,
[0243]
将所述原子的特征以及基于所述构造的节点特征输入到权利要求10至12中的任意一项所述的所述第2网络来获取所述更新节点特征,
[0244]
将所述原子的特征以及基于所述构造的边缘特征输入到权利要求13至16中的任意一项所述的所述第3网络来获取所述更新边缘特征,
[0245]
对从节点的特征以及边缘的特征推测物性值的第4网络输入获取到的所述更新节点特征以及所述更新边缘特征来推测所述对象的物性值。
[0246]
(4)
[0247]
一种程序,当使1个或者多个处理器执行时,
[0248]
对从与原子有关的矢量抽取潜在空间中的原子的特征的第1网络输入与原子有关的矢量,
[0249]
将所述潜在空间中的原子的特征输入到当输入所述潜在空间中的原子的特征时输出原子的物性值的解码器来推测原子的特性值,
[0250]
所述1个或者多个处理器计算推测出的原子的特性值与训练数据的误差,
[0251]
对计算出的误差进行逆向传播来更新所述第1网络以及所述解码器,
[0252]
输出所述第1网络的参数。
[0253]
(5)
[0254]
一种程序,当使1个或者多个处理器执行时,根据被输入的原子的坐标、原子的特征以及边界条件来构成对象的原子的构造,
[0255]
根据所述构造来获取原子彼此的距离以及3个原子所成的角度,
[0256]
对将所述原子的特征作为节点特征而获取更新节点特征的第2网络以及将所述距离以及所述角度作为边缘特征而获取更新边缘特征的第3网络输入基于所述原子的特征、所述距离以及所述角度的信息,
[0257]
根据所述更新节点特征以及所述更新边缘特征来计算误差,
[0258]
对计算出的误差进行逆向传播来更新所述第2网络以及所述第3网络。
[0259]
(6)
[0260]
一种程序,当由1个或者多个处理器执行时,对从与原子有关的矢量抽取潜在空间中的原子的特征的第1网络输入表示对象所包含的原子的性质的矢量来抽取潜在空间中的原子的特征,
[0261]
根据原子的坐标、抽取出的所述潜在空间中的原子的特征以及边界条件,构成所述对象的原子的构造,
[0262]
根据所述构造来获取原子彼此的距离以及3个原子所成的角度,
[0263]
对将所述原子的特征作为节点特征而获取更新节点特征的第2网络输入所述原子的特征以及基于所述构造的节点特征,获取所述更新节点特征,
[0264]
对将所述距离以及所述角度作为边缘特征而获取更新边缘特征的第3网络输入所述原子的特征以及基于所述构造的边缘特征来获取所述更新边缘特征,
[0265]
对从节点的特征以及边缘的特征推测物性值的第4网络输入获取到的所述更新节点特征以及所述更新边缘特征来推测所述对象的物性值,
[0266]
根据推测出的所述对象的物性值和训练数据来计算误差,
[0267]
将计算出的误差逆向传播到所述第4网络、所述第3网络、所述第2网络以及所述第1网络来更新所述第4网络、所述第3网络、所述第2网络以及所述第1网络。
[0268]
(7)
[0269]
(1)~(6)所记载的程序分别既可以存储于非临时的计算机可读介质,也可以构成为通过读出保存于该非临时的计算机可读介质的(1)~(6)所记载的一个以上的程序,从而使1个或者多个处理器执行(1)~(6)所记载的方法。