EP4655790A1 - Discovering novel materials using graph neural networks - Google Patents
Discovering novel materials using graph neural networksInfo
- Publication number
- EP4655790A1 EP4655790A1 EP24713887.8A EP24713887A EP4655790A1 EP 4655790 A1 EP4655790 A1 EP 4655790A1 EP 24713887 A EP24713887 A EP 24713887A EP 4655790 A1 EP4655790 A1 EP 4655790A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- candidate
- candidate material
- graph
- materials
- neural network
- 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
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C60/00—Computational materials science, i.e. ICT specially adapted for investigating the physical or chemical properties of materials or phenomena associated with their design, synthesis, processing, characterisation or utilisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
-
- 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
Definitions
- This specification relates to processing data using machine learning models.
- Machine learning models receive an input and generate an output, e.g., a predicted output, based on the received input. Some machine learning models are parametric models and generate the output based on the received input and on values of the parameters of the model. [0003] Some machine learning models are deep models that employ multiple layers of models to generate an output for a received input. For example, a deep neural network is a deep machine learning model that includes an output layer and one or more hidden layers that each apply a non-linear transformation to a received input to generate an output.
- This specification generally describes a system implemented as computer programs on one or more computers in one or more locations that can be used to discover and validate novel material.
- a "material” can refer to any substance or combination of substances, whether natural or synthetic, that possesses physical properties. This includes, but is not limited to, cry stalline materials, polycrystalline materials, amorphous materials, and inorganic materials. The term encompasses substances in all forms, including solids, liquids, gases, and plasmas, and extends to composites, alloys, and other mixtures or compounds, irrespective of their molecular or structural composition, origin, method of production, or physical characteristics. [0006] Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages.
- the system described in this specification can be used to efficiently screen a large set of candidate materials (e.g., including millions of candidate materials) to identify materials that are predicted to have a low energy', and thus, be stable materials.
- the system can generate graph data representing candidate material as a graph, and process the graph data representing the candidate material using a graph neural network to generated a predicted energy of the candidate material.
- the system can then identify candidate materials that are predicted to have low energies, and validate the stability’ of these materials using high-fidelity computational simulations, e.g., based on densityfunctional theory (DFT).
- DFT densityfunctional theory
- the stable materials discovered by the system can then be synthesized by any appropriate process for a wide range of applications.
- Computationally simulating materials can be computationally intensive (e g., consuming significant quantities of computational resources such as memory- and computing power), and generating computational simulations of large numbers of candidate materials may be computationally infeasible.
- the system described in this specification addresses this issue by using a graph neural network to initially screen the set of candidate materials to select a fraction of the full set of candidate materials (e.g., ⁇ 1%, or ⁇ 0.1%, or ⁇ 0.01%, or ⁇ 0.001% of the full set of candidate materials) for validation through computational simulation.
- the graph neural network can efficiently generate a predicted energy for a candidate material with a single pass through a sequence of neural network layers.
- the graph neural network may consume significantly fewer computational resources (e.g., memory and computing power) to generate a predicted energy for a candidate material than would be required to perform a high-fidelity computational simulation of the candidate material.
- the graph neural network enables a parallelized computation of predicted energies for candidate materials by simultaneously processing components of input graphs representing the candidate materials, in contrast to the serial computations used by high-fidelity computational simulations to model physical dynamics of the candidate materials.
- the system leverages the complementary properties of machine learning (in particular, graph neural networks) and high-fidelity computational simulation (e.g., based on DFT) to explore significantly more of the space of materials than would otherwise be possible.
- FIG. 1 is a block diagram of an example material discovery system.
- FIG. 2 illustrates an example candidate material and corresponding structural and compositional candidate material graphs.
- FIG. 3 is a flow diagram of an example process for discovering novel materials.
- FIG. 4 is a flow chart for an example process for predicting material properties for candidate materials using a graph neural network.
- FIG. 5 is a flow chart for an example process for processing the graph data representing a candidate material using the graph neural network to predict properties of the candidate material.
- FIG. 6 is a flow chart for an example process for predicting force vectors for atoms within the candidate materials using the graph neural network.
- FIG. 7 is a flow chart for an example process for generating an uncertainty estimate for candidate materials using the graph neural network.
- FIG. 8 is a flow chart for an example process for generating a predicted energy for candidate materials using the graph neural network.
- FIG. 9 is a flow chart for an example process for generating a predicted ion conductivity for candidate materials using the graph neural network.
- FIG. 10 is a flow chart for an example process for generating a predicted vacancy energy for candidate materials using the graph neural network.
- FIG. 11 is a flow chart for an example process for obtaining data defining candidate materials.
- FIG. 12 is a flow chart for an example process for validating candidate materials.
- FIG. 13 illustrates example materials discovered using the material discovery' system described in this specification.
- FIG. 14A and 14B illustrate results from using material discovery system described in this specification.
- FIG. 1 shows an example material discovery system 100.
- the material discovery system 100 is an example of a system implemented as computer programs on one or more computers in one or more locations in which the systems, components, and techniques described below are implemented.
- the material discovery system 100 includes a graph neural network 102 that can predict material properties 104 for candidate materials.
- the graph neural network 102 is configured to process candidate material graphs 106, which include data characterizing respective candidate materials, and generate predicted material properties 106 for the respective candidate materials.
- the candidate material graphs 106 can represent a variety of properties of the candidate materials.
- the candidate material graphs 106 can be structural candidate material graphs, which represent the candidate materials by including data that specifies the positions of atoms of the candidate materials within unit cells for the candidate materials.
- the candidate material graphs 106 can be compositional candidate material graphs, which can represent the candidate materials by including data that specifies chemical compositions for the candidate materials and characterizes average interactions between elements within the candidate materials.
- the candidate material graphs 106 are described in more detail below with reference to FIG. 2.
- the material discover ⁇ ' system 100 includes a validation system 108 that can validate the predicted material properties 106 for the candidate materials.
- the validation system 108 can validate the predicted material properties 106 by any of a variety of methods.
- the validation system 108 can computationally validate the predicted material properties by performing a high-fidelity computational simulation of the candidate materials.
- the validation system 108 can perform ab-initio simulations (e.g., following density functional theory) to validate the candidate materials.
- the validation system 108 can request and receive results for experimental validations of the predicted material properties by, e g., providing data characterizing the candidate materials for synthesis and testing the candidate materials and obtaining results from physical tests of the synthesized candidate materials.
- Computational and experimental validation of the candidate materials are generally resource-intensive compared to generating predictions using the graph neural network 102.
- an ab-initio simulation of a candidate material can accurately predict material properties of the candidate material by performing a computationally intensive direct simulation of the candidate material as a quantum mechanical many -body system.
- the graph neural network 102 can generate predictions for the candidate material based on machine learned operations.
- the graph neural network 102 can simultaneously processes each node and edge within input graphs representing the materials.
- the graph neural network 102 can generate the predictions for the candidate material using parallelized machine learning operations, in contrast to simulations that use serial computations to directly model physical interactions for the candidate material.
- the graph neural network 102 can generate predicted material properties for the candidate materials that approximate corresponding predictions from computational simulation (e.g., ab-initio simulation) of the candidate material while incurring a smaller computational cost compared to ab-initio simulations (e.g., by requiring fewer computational iterations, by enabling more parallelized computations, etc.).
- the prediction of material properties using the graph neural network 102 can be automated, which avoids the significant time, expertise, laboratory resources, etc., required to perform experimental tests of the candidate material.
- the material discovery system 100 can therefore use the predicted material predicted material properties 104 generated by the graph neural network 102 to select a subset of the candidate materials for validation.
- the system 100 will validate (e.g., using the validation system 108) only the subset candidate materials selected for validation.
- the system 100 can use the graph neural network 102 to predict material properties 104 for a large number (e.g., at least 1,000,000 candidate materials) of candidate materials and then validate a smaller fraction of the candidate materials that have predicted material properties 104 that satisfy selection criteria (e g., have an energy within a particular range, attain a certain threshold of predicted material stability, etc.) of the system 100.
- selection criteria e g., have an energy within a particular range, attain a certain threshold of predicted material stability, etc.
- the material discovery system 100 can process information characterizing known materials from the materials database 112 to identify candidate materials for testing.
- the system 100 can include a candidate proposal system 114 configured to generate the candidate material graphs 106 based on known materials from the materials database 112.
- the candidate proposal system 114 can identify candidate materials as modifications (e.g., compositional modifications, structural modifications, etc.) of known materials from the materials database 112.
- modifications e.g., compositional modifications, structural modifications, etc.
- Example materials discovered using an implementation of the material discovery system are illustrated in FIG. 13.
- FIG. 14A and 14B illustrate results demonstrating the efficiency of the material discovery system described in this specification for discovering new materials.
- the material discovery system 100 can improve materials design for new devices.
- the new material can then be synthesized by any appropriate process for use in a wide range of applications.
- the system 100 can be used to discover new semi-conductor materials that improve, e.g., power efficiency, die size, and so on.
- the system 100 can be used to discover new materials for use in batteries that improve, e.g., storage capacity , energy densify, and so on.
- FIG. 2 illustrates an example candidate material 202, a corresponding structural candidate material graph 204, and a corresponding compositional candidate material graph 206.
- the candidate material 202 is composed of and can include atoms of different elements.
- the candidate material 202 can be, e.g., a cry stalline material, a poly crystalline material, an amorphous material, an inorganic material, an organic material, a hybrid material that includes both inorganic and organic components, and so on.
- material properties of the candidate material 202 can characterize behaviors of very 7 large numbers of atoms (e.g., numbers of atoms that cannot be feasibly simulated)
- the material properties of the candidate material 202 can be determined based on proto-typical configurations that include relatively small numbers of atoms.
- the arrangement of atoms 208-A through 208-E (where, as illustrated, atom 208-A is a different element from the atoms 208-B through 208-E) is a proto-typical configuration of atoms for the candidate material 202.
- the candidate material 202 can be a periodic replication of a unit cell 209 for the candidate material 202, and the proto-typical configuration of the candidate material 202 can be determined by specifying configurations (e.g., positions, orientations, chemical elements, etc.) for atoms of the proto-fypical configuration within the unit cell 209.
- the proto-typical configuration of the candidate material 202 can be determined by specifying positions, orientations, chemical elements, etc. for the atoms 208-A through 208-E within the unit cell 209.
- the proto-typical configuration of the candidate material 202 can also be determined by specifying statistics characterizing interactions among atoms of the candidate material 202.
- the proto-typical configuration of the candidate material 202 can be determined by specifying, e.g., a chemical composition of the candidate material 202, radial density functions for atoms of each element within the candidate material 202, angular density functions for atoms of each element within the candidate material 202, and so on.
- the system can generate candidate material graphs that represent properties of the candidate material 202.
- the candidate material graphs include graph nodes and graph edges that can characterize various properties of the candidate material 202.
- the graph nodes can include respective node embeddings that characterize various properties of the candidate material 202 (e.g., positions of individual atoms, elements of individual atoms, etc.).
- the graph edges can include respective edge embeddings that characterize various properties of the candidate material 202 (e.g., distances of individual atomic bonds, statistics of atomic bonds between atoms different elements, etc.).
- Each graph edge connects two graph nodes and can characterize a relationship between, e.g.. the atoms, elements, etc., represented by the nodes for the graph edge.
- the system can generate the structural candidate material graph 204.
- the structural candidate material graph 204 specifies the positions of atoms of the candidate materials within unit cells for the candidate materials by including graph nodes 210- A through 210-E that correspond to the atoms 208-A through 208-E.
- the node embeddings for the graph nodes 210-A through 210-E can be based on the chemical element of the corresponding atoms 208-A through 208-E.
- the node embeddings for the graph nodes 210-A through 210-E can include data characterizing positions and orientations of the corresponding atoms 208-A through 208-E within the unit cell 209.
- the structural candidate material graph 204 includes graph edges between pairs of the graph nodes 210-A through 210-E based on, e.g., chemical bonds between the atoms 208-A through 208-E, positions of the atoms 208-A through 208-E, and so on.
- the structural candidate material graph 204 can include graph edges between a pair of graph nodes 210-A through 210- E only when the corresponding pair of atoms 208-A through 208-E are spatially separated by less than a threshold distance.
- the system can generate the compositional candidate material graph 206.
- the compositional candidate material graph 206 includes graph nodes and graph edges that characterize the chemical composition (e.g.. fractions of the elements within the candidate material 202) of the candidate material 202 and characterize statistics of interactions between elements within the candidate material 202.
- the compositional candidate material graph 206 can represent the chemical composition of the candidate material 202 using the graph nodes and the graph edges in a variety of ways.
- the compositional candidate material graph 206 can include graph nodes representing each element in the candidate material 202, with the number of included graph nodes for a given element determined based the fraction of the element in the chemical composition of the candidate material 202.
- the compositional candidate material graph 206 can include a graph node for each element in the candidate material 202, with a node embedding characterizing the fraction of the element in the chemical composition of the candidate material 202.
- the compositional candidate material graph 206 includes a graph node 212-A that corresponds the element of the atom 208-A and a graph node 212-B that corresponds to the element of the atoms 208-B through 208-E.
- the node embedding for a graph node within the compositional candidate material graph 206 can characterize the fraction of the corresponding element for the node within the candidate material 202.
- the compositional candidate material graph 206 can include graph edges between pairs of graph nodes that represent chemical bonds between atoms of the corresponding pair of elements within the candidate material 202.
- Each graph edge within the compositional candidate material graph 206 can include an edge embedding that characterizes statistics of the corresponding bond (e.g., statistics for a length of the bond, for an orientation of the bond. etc.).
- the compositional candidate material graph 206 includes a graph edge between the graph nodes 212-A and 212-B that can include statistics describing bonds between the element of atom 208-A and the element of atoms 208-B through 208-E within the chemical material 202.
- the system can process the structural candidate material graph 204 or the compositional material graph 206 using an appropriately configured graph neural network (e.g., the graph neural network 102 of FIG. 1) to predict material properties (e.g., energies, atomic forces, etc.) of the candidate material 202.
- an appropriately configured graph neural network e.g., the graph neural network 102 of FIG. 1
- material properties e.g., energies, atomic forces, etc.
- the graph neural network can include one or more update layers and can process an input graph to the network by performing message passing between graph nodes over a sequence of update iterations. At each update iteration, the graph neural network can process the input graph using one of the update layers to determine updated values for the node embeddings of the nodes for the input graph.
- the graph neural network can include decoder layers that can process graphs resulting from the message passing updates to generate the predicted material properties for the input graph, e.g., energy decoder layers that can generate predicted energies for the input graph, force decoder layers that can generate predicted forces for atoms represented by the input graph, and so on.
- the decoder layers can receive, as network inputs, combined node embeddings for the nodes of the graphs resulting from the message passing updates (e.g., as generated by pooling, averaging, concatenating, etc., the node embeddings for the nodes).
- the graph neural network can generating combined node embeddings based on the graphs resulting from the message passing updates and processing the combined node embeddings using the decoder layers to predict the associated material property of the candidate material.
- Each decoder layer of the graph neural network can be any appropriate type of neural network layer (e.g., fully connected layers, attentional layers, etc.).
- the graph neural network can be trained to reproduce computationally or experimentally determined properties for a training set of example materials.
- the graph neural network can be trained on atomic relaxation data generated by computational simulations (e.g., ab-initio simulations) for a training set of example materials.
- the architecture of the graph neural network can be chosen to encourage certain symmetries (e.g., rotational symmetry, translational symmetry, etc.) for the outputs of the graph neural network.
- the graph neural network can be a Neural Equivariant Interatomic Potentials graph neural network as described by Batzner et al. in “E(3)-Equivariant Graph Neural Networks for Data-Efficient and Accurate Interatomic Potentials”.
- FIG. 3 is a flow chart for an example process for discovering novel materials using predictions from a graph neural network.
- the process 300 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discover ⁇ ' system e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 300.
- the system can generate training data for the graph neural network that includes example materials with known material properties (step 302).
- the system can obtain (e.g., from a materials database) data characterizing a set of example materials, including target inputs for the graph neural network characterizing the example materials and target outputs specifying known material properties of the example materials (e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc., as determined by computational or experimental validation of the example materials).
- known material properties of the example materials e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc., as determined by computational or experimental validation of the example materials.
- the system can include a training example within the training data for the graph neural network that includes a training input for the graph neural network that defines the given material and a target output of the graph neural network that specifies material properties of the given material (e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc.) as determined by computational or experimental validation of the example materials.
- material properties of the given material e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc.
- the system can train the graph neural network on the set of training data (step 304).
- the system can train the graph neural network to process the training inputs and to predict the target output material properties (e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc.) for the training examples.
- target output material properties e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc.
- the graph neural network can include shared update layers for performing message passing that the network uses when predicting each of the material properties and can include distinct decoding layers that the network uses only when predicting material properties associated with the decoding layers.
- the system can first train the graph neural network to predict one or more particular material properties by optimizing the update layers and the decoding layers for the particular properties using an objective function for the particular properties over the training data.
- the system can then train the graph neural network to predict the remaining material properties by optimizing the decoding layers for the remaining properties (e.g., while holding the update layers fixed) using objective functions for the particular properties over the training data.
- N A is a number of atoms for the example material
- E is a predicted energy for the example material as generated by the graph neural network.
- E is a target energy for the example material
- r i a is a position of an i-th atom within the example material along the coordinate a
- F i a is a target force acting on the i-th atom within the example material along the coordinate a.
- L SE and L Sp are Huber loss functions.
- a Huber loss function, L s . can be determined following:
- the system can then train the decoder layers for the remaining material properties to predict the remaining material properties for the training data using appropriate regression loss functions (e.g., L2 losses, Huber losses, etc.).
- appropriate regression loss functions e.g., L2 losses, Huber losses, etc.
- the system can obtain a new set of candidate materials (step 306).
- the system can receive data specifying the new set of candidate materials from a user of the system.
- the system can generate the new set of candidate materials as modifications of known materials for the system, e.g.. as stored in a materials database.
- An example process for generating data specifying candidate materials by modifying known materials for the system is described in more detail below with reference to FIG 11.
- the system can then generate predicted material properties for each of the new 7 set of candidate materials using the graph neural network (step 308).
- the system can process candidate material graphs (e.g., structural candidate material graphs, compositional candidate material graphs, etc.) that characterize the new candidate materials using the graph neural network to predict the material properties for the new candidate materials.
- candidate material graphs e.g., structural candidate material graphs, compositional candidate material graphs, etc.
- An example process of predicting material properties for the new candidate materials using the graph neural network is described in more detail below with reference to FIG. 4.
- the system can determine uncertainty estimates for the new candidate materials.
- An example process for generating uncertainty estimates for the new candidate materials is described below with reference to FIG. 7.
- the system can screen the candidate materials to select candidate materials for validation (step 310). For example, the system can select a proper subset of candidate materials for validation. As a further example, the system can select a particular candidate material for validation based on the predicted material properties of the candidate material (e.g., based on whether the predicted material properties satisfy selection criteria, such as predicted energy thresholds, predicted stabilities, etc.), the uncertainty estimates candidate material (e.g., based on whether the predicted material properties attain pre-determined uncertainty requirements), or both.
- selection criteria such as predicted energy thresholds, predicted stabilities, etc.
- the uncertainty estimates candidate material e.g., based on whether the predicted material properties attain pre-determined uncertainty requirements
- the system can select a candidate material for validation only when E ⁇ T E , where E is a predicted energy for the candidate material and T E is a predetermined energy threshold.
- E is a predicted energy for the candidate material
- T E is a predetermined energy threshold.
- the energy threshold, T B can characterize a stability- threshold and the system can compare the predicted energies for the candidate materials, E. with the energy threshold to identify candidate materials that satisfy a stability criterion.
- the system can select a candidate material for validation only when the uncertainty- estimate for the candidate material, o, satisfies either o ⁇ a or b ⁇ o.
- a ⁇ T b are pre-determined uncertainty thresholds.
- the threshold a can be used to identify candidate materials for which the system generates reliable predictions (e.g., to identify candidate materials most likely to be novel materials).
- the threshold T b can be used to identify candidate materials which, when validated, can be useful training examples for the graph neural network (e.g., the system can identify and validate candidate materials for which the graph neural network currently generates unreliable predictions to add training example to improve the graph neural network).
- the system can validate the selected candidate materials (step 312).
- the system can validate the selected candidate materials by performing computational simulations of the selected candidate materials.
- the system can validate the selected candidate materials by: (i) specifying the selected candidate materials for synthesis, (ii) requesting physical tests for the selected candidate materials, and (iii) receiving experimental results from physical tests of the selected candidate materials as synthesized. An example process of validating the candidate materials is described in more detail below with reference to FIG. 12.
- the system can finally add the validated materials to a materials database of the system (step 314).
- the system can add data to the materials database that characterizes the validated material and the validated (e.g., computationally or experimentally determined) material properties of the validated material.
- the process 300 can be an iterative process.
- the system can, after adding the validated materials to the materials database, generate new- training data for the graph neural network (step 304) that includes the newly added validated materials as example matenals with known material properties and then train the graph neural network using the new training data (step 306).
- FIG. 4 is a flow chart for an example process for predicting material properties for candidate materials using the graph neural network.
- the process 400 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discovery system e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 400.
- the system obtains data defining the candidate materials (step 402).
- the system can receive data specifying the candidate materials from a user of the system.
- the system can determine the candidate materials as modifications of known materials for the system, e.g., as stored in a materials database.
- An example process for generating data specifying candidate materials by modifying known materials for the system is described in more detail below with reference to FIG 11.
- the system generates graph data that represents the candidate material as a graph (step 404).
- the system can generate a candidate material graph (e.g.. a structural candidate material graph or a compositional candidate material graph) for each candidate material.
- the candidate material graph for a candidate material includes graph nodes and graph edges that characterize properties of the candidate material.
- a structural candidate material graph for the candidate material can include: (i) graph nodes that represent atoms of the candidate material, with node embeddings that characterize, e.g., elements of the corresponding atoms, positions of the corresponding atoms within a unit cell of the candidate material, etc., and (ii) graph edges that represent interactions between atoms of the candidate material.
- a structural candidate material graph for the candidate material can include: (i) graph nodes that represent elements within candidate material and (ii) graph edges that represent bonds between atoms of the elements of the candidate material.
- the system can predict the material properties of the candidate materials using the graph neural network (step 406).
- the system can use the graph neural network to process a network input that includes the graph data representing the candidate material to generate a network output that defines the predicted material properties of the candidate material.
- An example process of processing the graph data to predict material properties using the graph neural network is described in more detail below with reference to FIG. 5.
- FIG. 5 is a flow chart for an example process for processing the graph data representing a candidate material using the graph neural network to predict properties of the candidate material.
- the process 500 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discovery system e.g., the material discover ⁇ 7 system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 500.
- the specified positions may be unequilibrated positions.
- positions may be un-equilibrated positions such that synthesizing the candidate material as specified by the graph data results in the synthesized candidate material physical! ⁇ 7 equilibrating (e.g.. relaxing) out of the configuration specified by the graph data.
- the system can equilibrate the graph data for the candidate material before predicting material properties of the candidate material using the graph neural netw ork.
- the system can equilibrate the positions of atoms over a sequence of relaxation iterations.
- the system can predict forces for each atom specified by the graph data (step 502).
- the system can generate a respective force vector (e.g., a three dimensional force vector that characterizes component forces along y-, and z- directions) for each node in the graph by processing graph data representing the candidate material using the graph neural network.
- a respective force vector e.g., a three dimensional force vector that characterizes component forces along y-, and z- directions
- the system can update the positions of the atoms specified by the graph data using the predicted forces for the atoms (step 504).
- the system can update the spatial position of each atom in the unit cell of the candidate material based on the predicted force vector for the node representing the atom.
- the system can update the positions of the atoms by performing a simulation of the atoms moving in response to the predicted forces for the atoms.
- the system can update the positions of a ;-th atom at the i-th relaxation iteration, x ti following:
- the system can then update the graph data representing the candidate material based on the updated spatial positions (step 506).
- the system can update the node embeddings of the nodes for the atoms to characterize the updated positions of the atoms from the relaxation iteration.
- the system can update the edge embeddings of the graph edges based on, e.g., updated distances between corresponding atoms for the nodes connected by the edges.
- the system can also add or remove graph edges based on the updated distances between the atoms represented by the graph data (e.g.. by adding graph edges when the updated distances between the atoms fall below a predetermined threshold, removing graph edges when the updated distances between the atoms rise above the predetermined threshold, etc.).
- the system can determine whether relaxation is complete (step 508).
- the system can determine whether the relaxation is complete based on a variety of stopping criteria. For example, the system can determine that the relaxation is complete after a pre-determined number of relaxation iterations.
- the system can predict (e.g., using the graph neural network) an energy' of the candidate material based on the spatial positions of the atoms after each relaxation iteration and determine that the relaxation is complete when the difference between the predicted energy for the relaxation iteration and a previous relaxation iteration falls below a pre-determined threshold.
- the system can determine that the relaxation is complete when the simulated velocities of the atoms fall below a pre-determined threshold.
- the system can then process the graph data representing the candidate material using the graph neural network to predict material properties for the candidate material (510). As described above with reference to FIG. 2, the system can predict material properties for the candidate material as the network outputs from decoder layers of the graph neural network associated with the material property.
- FIG. 6 is a flow chart for an example process for predicting force vectors for atoms within the candidate materials using the graph neural netw ork.
- the process 600 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discovery system e.g., the material discovery system 100 of FIG. 1. appropriately programmed in accordance with this specification, can perform the process 600.
- the system can process the graph data for the candidate material by performing message passing over a sequence of update iterations.
- the system can, at each update iteration, generating a combined edge embedding for each node in the graph (step 602).
- the system can generate the combined edge embedding for each node by combining (e.g., pooling, averaging, etc.) edge embeddings corresponding to each edge connected to the node.
- the system can then generate normalized edge embeddings for each node in the graph based on the combined edge embeddings (step 604). For example, the system can generate the normalized edge embedding by normalizing the combined edge embedding by a normalization factor.
- the normalization factor can be based on a measure of dispersion of a set of values that includes a value for each node of the graph that defines a number of edges connected to the node.
- the system can generate the normalized edge embedding for a node to be an average edge embedding for the node as scaled by the number of edges connected to the node.
- the system can then process the graph data using one or more update neural network layers of the graph neural network to update the node embeddings (step 606).
- the system can process, as network inputs for the update layers, the normalized edge embedding and the node embedding for each node.
- the system can update the node embeddings following message passing operations, in which the embedding for each node is updated based on the embeddings of the neighboring nodes.
- the system can determine whether message passing is complete (step 608). In particular, the system can determine that message passing is complete after a pre-determined number of update iterations. If the system determines that the message passing is not complete, the system can proceed to a next update iteration (e.g., return to step 602 for the next update iteration).
- the system can then process the graph data to predict the force vectors for the atoms of the candidate material (step 10).
- the system can then process the graph data, as updated by the message passing, to predict the force vectors for the atoms of the candidate material.
- the system can generate a predicted force vector for each node in the graph by processing the node embedding for the node using one or more force decoder neural network layers of the graph neural network.
- FIG. 7 is a flow chart for an example process for generating an uncertainty' estimate for candidate materials using the graph neural network.
- the process 700 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discovery 7 system e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 700.
- the system can determine uncertainties for predicted material properties by generating multiple distinct predictions for the predicted material properties for the candidate material using an ensemble of multiple graph neural netw orks.
- the multiple graph neural netw orks can have the same graph neural network architecture and have different graph neural network parameters (e.g.. as resulting from training the multiple graph neural networks to perform the same material property' predictions using different sets of training data, using different initialization for the graph neural network parameter values, etc.).
- the system can then determine the uncertainty 7 estimate for the predicted material property based on the multiple predictions from the ensemble (step 704).
- the system can determine the uncertainty estimate for the predicted material property based on a measure of dispersion (e.g., a standard deviation or variance) of the predictions generated by the ensemble.
- FIG. 8 is a flow chart for an example process for generating a predicted energy for candidate materials using the graph neural network.
- the process 800 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discovery system e.g., the material discovery’ system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 800.
- the candidate material can be specified as a periodic repetition of a unit cell for the candidate material.
- the energy of the candidate material can therefore depend on both (i) positions of atoms within the unit cell for the candidate material and (ii) the geometry of the unit cell for the candidate material.
- the system can determine a minimum energy geometry of the unit cell for the configuration of atoms within the unit cell.
- the system can then generate, for each tested geometry’ of the unit cell, a predicted energy of the candidate material with the tested cell (step 804).
- the system can predict the energy for a candidate material with a particular unit cell geometry using the graph neural network, as described above with reference to FIG. 5.
- the system can generate, for each of the tested unit cell scales, a predicted energy’ for the candidate material with the unit cell scale.
- the system can then determine a minimum predicted energy’ of the candidate material across the tested geometries of the unit cell for the candidate material, (step 806). For example, the system can determine a minimum predicted energy of the candidate material across the plurality’ of tested unit cell scales.
- FIG. 9 is a flow chart for an example process for generating a predicted ion conductivity for candidate materials using the graph neural network.
- the process 900 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discovery system e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 900.
- the ion conductivity of the candidate material is a physical property of the candidate material that depends on the mobility of atoms within the candidate material.
- the system can predict the ion conductivity of the candidate material by simulating the dynamics of atoms of the candidate material using the graph neural network and estimating the ion conductivity based on the motions of the atoms during the dynamics simulation.
- the system can simulate the dynamics of atoms of the candidate material over a sequence of dynamics steps.
- the system can predict forces for each atom specified by the graph data (e.g., as specified by a structural candidate material graph) (step 902).
- the system can generate a respective force vector for each node in the graph by processing graph data representing the candidate material using the graph neural network.
- the graph neural network can predict forces for each of the atoms specified by the graph data as described above with reference to FIG. 6.
- the system can update the positions of the atoms specified by the graph data using the predicted forces for the atoms (step 904).
- the system can update the spatial position of each atom in the unit cell of the candidate material based on the predicted force vector for the node representing the atom.
- the system can update the positions of the atoms by performing a simulation of the atoms moving in response to the predicted forces for the atoms.
- the system can update the positions of a j-th atom at the i-th dynamics step, Xj following:
- i;7 - is a velocity of the j-th atom at the i-th dynamics step (e.g., as tracked by the system during the relaxation iterations)
- F t is the predicted force on the j-th atom at the i-th dynamics step
- Ax and Av are update rules for performing numerical integration of the atomic positions based on the predicted forces (e.g., Ax and Av can implement Euler integration, Verlet integration, etc., for the atomic positions).
- the system can initialize the velocities for the atoms before the first dynamics step, v Oj -, to be zero (e.g., the system can start the dynamics simulation by simulating the atoms at rest positioned as specified by the graph data).
- the update rules, Ax and Av used for the dynamics simulation can be the same as or different from those used in the relaxation simulation described in FIG. 5.
- the system can then update the graph data representing the candidate material based on the updated spatial positions (step 906).
- the system can update the node embeddings of the nodes for the atoms to characterize the updated positions of the atoms from the dynamics step.
- the system can update the edge embeddings of the graph edges based on, e.g., updated distances between corresponding atoms for the nodes connected by the edges.
- the system can also add or remove graph edges based on the updated distances between the atoms represented by the graph data (e.g., by adding graph edges when the updated distances between the atoms fall below a predetermined threshold, removing graph edges when the updated distances between the atoms rise above the predetermined threshold, etc ).
- the system can determine whether dynamics simulation is complete (step 908).
- the system can determine whether the dynamics simulation is complete based on a variety’ of stopping criteria. For example, the system can determine that the dynamics simulation is complete after a pre-determined number of dynamics steps.
- the system can then generate the predicted ion conductivity of the candidate material based on changes in the spatial positions of the atoms in the unit cell of the candidate material over the sequence of dynamics iterations (step 910).
- the system can generate the predicted ion conductivity based on ionic currents within the candidate material estimated based on the motions of the atoms during the dynamics simulation (e g., as estimated by a current determined by summing averaged simulated velocities of atoms within the candidate material as weighted by charges for the atoms).
- the vacancy energy of the candidate material characterizes changes in energy of the candidate material due to removing atoms from the candidate material.
- the system can predict the vacancy energy of the candidate material by comparing predicted energies (e.g., as predicted by the graph neural network) of the candidate material and modifications of the candidate material.
- the system can generate data identifying a modified material by modifying the data defining the candidate material to remove one or more atoms from the candidate material (step 1002).
- the system can generate graph data that represents the modified material as a graph (step 1004).
- the system then processes the graph data for the modified material to predict the energy of the modified material (step 1006).
- the system can predict the energy of the modified material as described above with reference to FIG. 8.
- the system can then determine the predicted vacancy energy for the candidate material based on a difference between: (i) the predicted energy of the candidate material, and (ii) the predicted energy of the modified material (step 1008).
- FIG. 11 is a flow chart for an example process for obtaining data defining candidate materials.
- the process 1100 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discovery system e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 1100.
- the system can obtain data defining a known material (step 1102).
- the system can obtain data defining a respective chemical element of each atom in a unit cell of the candidate material.
- the system can receive (e g., from a user) the data specifying the known material.
- the system can retrieve (e.g., from a materials database maintained by the system) the data specifying the known material.
- the system can identify a chemical composition of the known material based on the obtained data (step 1104).
- the system can then determine the candidate material by generating modifications to the chemical composition of the known material (step 1 106). For example, the system can identify a set of atoms in the unit cell of the know n material that all correspond to a same chemical element. The system can then determine the candidate material by substituting the chemical element of the identified atom for a different chemical element. In particular, the system can substitute the chemical elements for at least some but less than all of the identified atoms.
- FIG. 12 is a flow chart for an example process for validating candidate materials.
- the process 1200 will be described as being performed by a system of one or more computers located in one or more locations.
- a material discovery system e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 1200.
- the system can computationally validate the predicted material properties by performing a high-fidelity computational simulation of the candidate materials (step 1202).
- the validation system 108 can perform ab-initio simulations (e.g., using density functional theory) to validate the candidate materials.
- the high- fidelity computational simulations can generate more accurate predictions of the material properties of the candidate material compared to the graph neural network (e.g., by directly simulating physical interactions within candidate material according by modeling the candidate as a quantum mechanical system, as in ab-initio simulations of the candidate material) at an increased computational cost.
- the system can request and receive results from experimental testing of the candidate material.
- the system can request experimental validation of the predicted material properties byproviding data characterizing the candidate materials for synthesizing and physically testing the candidate materials (step 1204).
- the system can then obtain results from physical tests of the synthesized candidate materials to validate the predicted material properties of the candidate material (step 1206).
- the system can obtain more accurate estimates for the material properties (e.g., following computational simulation or physical experimentation) of the candidate material.
- the validation for the candidate material is more resource-intensive than generating predictions using the graph neural network. Therefore, to efficiently discover new- materials, the system can use predictions from the graph neural network to screen candidate materials for validation.
- the system can be used to discover new stable crystal materials. Rather than predicting candidate material stability using only computational simulation or physical experimentation, the system can first predict the candidate material stability using the graph neural network. The system can screen out candidate materials that the graph neural network predicts as unstable and continue to validate the stability of candidate materials that the graph neural network predicts as stable. When the system validates that a candidate material is stable using computational simulation or physical experimentation, the system can add the validated candidate material as a known stable material to, e.g., a materials database of the system.
- FIG. 13 illustrates example materials discovered using the material discovery system described in this specification.
- An implementation of the material discovery' system described in this specification has been used to identify and validate 2.2 million energetically stable materials. Compared with the 48,000 stable crystal materials identified and validated previously using conventional methods, the material discovery system described in this specification has therefore enabled an order-of-magnitude increase in the number of known stable materials. Of the 2.2 million energetically stable materials discovered and validated using systems and methods described in this specification, 736 candidate materials have been independently experimentally validated.
- FIG. 13 illustrates 6 example materials discovered using the material discovery' system described in this specification that have been independently experimentally validated.
- FIG. 14A and 14B illustrate results demonstrating the efficiency of the material discovery' system described in this specification for discovering new materials.
- FIG. 14A illustrates the number of different quaternaries (e.g., particular modifications to the structure of a compound) having particular phase-separation energies discovered using the described methods 1402 as compared with the number discovered using conventional methods 1404. As illustrated, for each phase-separation energy, the described methods have yielded more quaternaries than the conventional methods. Additionally, the described methods have discovered numerous quaternaries for ranges of phase-separation energies for which the conventional methods have previously discovered no quaternaries.
- quaternaries e.g., particular modifications to the structure of a compound
- FIG. 14B illustrates the number of different prototypes (e.g., different stable crystalline structures) with particular numbers of unique elements (e.g., atoms with unique atomic numbers) discovered using the described methods 1406 as compared with the number discovered using conventional methods 1408.
- the described methods have discovered significantly more distinct prototypes than the conventional methods for every number of unique elements.
- the described methods have discovered at least an order-of-magnitude more distinct prototypes having four or more unique elements compared to the conventional methods.
- Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e.. one or more modules of computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus.
- the computer storage medium can be a machine- readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.
- the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- data processing apparatus refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
- the apparatus can also be, or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- the apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
- a computer program which may also be referred to or described as a program, software, a software application, an app, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- a program may. but need not. correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code.
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.
- engine is used broadly to refer to a software-based system, subsystem, or process that is programmed to perform one or more specific functions.
- an engine will be implemented as one or more software modules or components, installed on one or more computers in one or more locations. In some cases, one or more computers will be dedicated to a particular engine; in other cases, multiple engines can be installed and running on the same computer or computers.
- the processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output.
- the processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers.
- Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors or both, or any other kind of central processing unit.
- a central processing unit will receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data.
- the central processing unit and the memory can be supplemented by. or incorporated in, special purpose logic circuitry.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.
- PDA personal digital assistant
- GPS Global Positioning System
- USB universal serial bus
- Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g.. EPROM. EEPROM, and flash memory' devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- semiconductor memory devices e.g.. EPROM. EEPROM, and flash memory' devices
- magnetic disks e.g., internal hard disks or removable disks
- magneto-optical disks e.g., CD-ROM and DVD-ROM disks.
- embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid cry stal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid cry stal display) monitor
- a keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory 7 feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's device in response to requests received from the web browser.
- a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return.
- Data processing apparatus for implementing machine learning models can also include, for example, special-purpose hardware accelerator units for processing common and computeintensive parts of machine learning training or production, i.e., inference, workloads.
- Machine learning models can be implemented and deployed using a machine learning framework, e.g., a TensorFlow framework, or a Jax framework.
- a machine learning framework e.g., a TensorFlow framework, or a Jax framework.
- Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g.. a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
- LAN local area network
- WAN wide area network
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- a server transmits data, e.g., an HTML page, to a user device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the device, which acts as a client.
- Data generated at the user device e.g., a result of the user interaction, can be received at the server from the device.
- a method comprising: obtaining data defining a set of candidate materials; generating a respective predicted energy of each candidate material in the set of candidate materials, comprising, for each candidate material: generating graph data that represents the candidate material as a graph; and processing a network input that includes the graph data representing the candidate material using a graph neural network to generate a network output that defines the predicted energy of the candidate material; selecting a proper subset of the set of candidate materials for validation through computational simulation based on the predicted energies of the candidate materials; and generating, for each candidate material selected for validation through computational simulation, a simulated energy of the candidate material by performing a computational simulation of the candidate material.
- each edge in the set of edges connects a respective pair of nodes in the set of nodes.
- Clause 4 The method of clause 3, wherein for each candidate material: the data defining the candidate material defines a respective spatial position and chemical element of each atom in a unit cell of the candidate material.
- the graph data representing the candidate material defines: for each atom in the unit cell of the candidate material: a node representing the atom; and a node embedding for the node representing the atom, wherein the node embedding is based on the chemical element of the atom; and for only pairs of atoms in the unit cell of the candidate material that have spatial positions separated by less than a threshold distance: a respective edge connecting a pair of nodes in the graph that represent the pair of atoms in the unit cell of the candidate material.
- processing the network input that includes the graph data representing the candidate material using the graph neural network comprises: at each relaxation iteration in a sequence of relaxation iterations: processing the graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph; updating the respective spatial position of each atom in the unit cell of the candidate material based on the force vector for the node representing the atom; updating the graph data representing the candidate material based on the updated spatial positions of the atoms in the unit cell of the candidate material; and at a last relaxation iteration in the sequence of relaxation iterations: processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material.
- processing the graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph comprises: at each update iteration in a sequence of update iterations: processing the graph data representing the candidate material using one or more update neural network layers of the graph neural network to update the node embedding of each node in the graph; and at a last update iteration in the sequence of update iterations: for each node in the graph, processing the node embedding for the node using one or more force decoder neural network layers of the graph neural network to generate the force vector for the node.
- processing the graph data representing the candidate material using one or more update neural network layers of the graph neural network to update the node embedding of each node in the graph comprises, for each node in the graph: generating a combined edge embedding by combining respective edge embeddings corresponding to each edge connected to the node; generating a normalized edge embedding by normalizing the pooled edge embedding by a normalization factor that is based on a measure of central tendency of a set of values that includes, for each node in the graph representing the candidate material, a value that defines a number of edges connected to the node; and processing the normalized edge embedding and the node embedding for the node to update the node embedding for the node.
- processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material comprises: generating a combined node embedding by combining the node embeddings for the nodes in the graph; and processing the combined node embedding using one or more energy decoder neural network layers of the graph neural network to generate the predicted energy of the candidate material.
- Clause 10 The method of any one of clauses 6-9, wherein the graph neural network has been trained on atomic relaxation data generated by computational simulations.
- Clause 11 The method of clause 2, wherein for each candidate material, the graph data representing the candidate material defines an atomic composition of the candidate material. Clause 12. The method of clause 11. wherein for each candidate material: the data defining the candidate matenal defines, for each chemical element in a set of chemical elements, a fraction of atoms in the candidate material that correspond to the chemical element.
- the graph data representing the candidate material defines: for each of one or more chemical elements in the set of chemical elements: one or more nodes representing the chemical element, wherein a number of nodes representing the chemical element is based on the fraction of atoms in the candidate material that correspond to the chemical element; and for each node representing a chemical element: a node embedding for the node that is based on the chemical element represented by the node.
- Clause 14 The method of clause 13, wherein for each candidate material, the graph data representing the candidate material defines a respective edge connecting every pair of nodes.
- processing the network input that includes the graph data representing the candidate material using the graph neural network to generate a network output that defines the predicted energy of the candidate material comprises: at each update iteration in a sequence of update iterations: processing the graph data representing the candidate material using one or more update neural network layers of the graph neural network to update the node embedding of each node in the graph; and at a last update iteration in the sequence of update iterations: processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material.
- processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material comprises: generating a combined node embedding by combining the node embeddings for the nodes in the graph; and processing the combined node embedding using one or more energy decoder neural network layers of the graph neural network to generate the predicted energy of the candidate material.
- obtaining data defining the set of candidate materials comprises: obtaining data defining a known material, comprising data defining a respective chemical element of each atom in a unit cell of the candidate material; modifying the data defining the known material to generate data defining a candidate material, comprising: identifying a set of atoms in the unit cell of the candidate material that all correspond to a same chemical element; and for at least some but less than all of the atoms in the set of atoms that correspond to the same chemical element, substituting the chemical element of the atom for a different chemical element.
- Clause 18 The method of any one of clauses 5-10 or 17, further comprising, for one or more of the candidate materials in the set of candidate materials: generating a predicted ion conductivity of the candidate material.
- generating the predicted ion conductivity of the candidate material comprises: at each dynamics iteration in a sequence of dynamics iterations: processing graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph; updating a respective spatial position of each atom in the unit cell of the candidate material based on the force vector for the node representing the atom; and updating the graph data representing the candidate material based on the updated spatial positions of the atoms in the unit cell of the candidate material; and generating the predicted ion conductivity of the candidate material based on changes in the spatial positions of the atoms in the unit cell of the candidate material over the sequence of dynamics iterations.
- Clause 20 The method of any one of clauses 5-10 or 17-19, further comprising, for one or more of the candidate materials in the set of candidate materials: generating a predicted vacancy energy for the candidate material.
- generating the predicted vacancy energy for the candidate material comprises: generating data identifying a modified material by modifying the data defining the candidate material to remove one or more atoms from the candidate material; generating graph data that represents the modified material as a graph; processing a network input that includes the graph data representing the modified material using the graph neural network to generate a network output that defines a predicted energy of the modified material; and determining the predicted vacancy energy for the candidate material based on a difference between: (i) the predicted energy of the candidate material, and (ii) the predicted energy of the modified material.
- Clause 22 The method of any preceding clause, further comprising: generating a set of training examples for training the graph neural network, comprising, for each candidate material selected for validation through computational simulation: generating a training example that comprises: (i) a training input to the graph neural network that defines the candidate material, and (ii) a target output of the graph neural network that specifies the simulated energy of the candidate material; and training the graph neural network on the set of training examples.
- Clause 23 The method of clause 22, further comprising, after training the graph neural network on the set of training examples: obtaining a new set of candidate materials; generating a respective predicted energy of each candidate material in the new set of candidate materials using the graph neural network.
- Clause 24 The method of any preceding clause, further comprising, for each candidate material in the set of candidate materials: generating an uncertainty estimate that quantifies an uncertainty in the predicted energy of the candidate material.
- selecting a proper subset of the set of candidate materials for validation through computational simulation comprises, for each candidate material: determining whether to select the candidate material for validation through computational simulation based on both: (i) the predicted energy of the candidate material, and (ii) the uncertainty estimate for the predicted energy of the candidate material.
- Clause 26 The method of clause 25. wherein for each candidate material, determining whether to select the candidate material for validation through computational simulation based on both: (i) the predicted energy of the candidate material, and (ii) the uncertainty estimate for the predicted energy of the candidate material, comprises: determining that the candidate material should be selected for computational simulation only if:
- Clause 27 The method of any one of clauses 24-26, wherein for each candidate material, generating the uncertainty estimate for the candidate material comprises: generating a respective predicted energy of the candidate material using each graph neural network in an ensemble of graph neural networks; and determining the uncertainty estimate for the candidate material based on a measure of central tendency of the predicted energies of the candidate material generated using the ensemble of graph neural networks.
- Clause 28 The method of any preceding clause, wherein for each candidate material, generated the predicted energy of the candidate material comprises: for each of a plurality of scales of unit cell of the candidate material: generating graph data that represents the candidate material as a graph based on the scale of the unit cell; processing a network input that includes the graph data representing the candidate material as a graph to generate a predicted energy of the candidate material; and determining a minimum predicted energy of the candidate material across the plurality of scales of unit cell of the candidate material.
- Clause 35 The method of any preceding clause, wherein the set of candidate materials includes at least 1.000.000 candidate materials.
- Clause 37 The method of any preceding clause, further comprising: performing an action based at least in part on the simulated energies of the candidate materials selected for validation through computational simulation.
- Clause 38 The method of clause 37, performing an action based at least in part on the simulated energies of the candidate materials selected for validation through computational simulation comprises: selecting one or more of the candidate materials for experimental validation based at least in part on simulated energies of the candidate materials; and physically synthesizing each of the candidate materials selected for experimental validation.
- Clause 39 The method of clause 38, further comprising, for each of the candidate materials selected for experimental validation: performing physical tests on a physically synthesized instance of the candidate material to determine one or more properties of the candidate material.
- Clause 40 One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations of the respective method of any one of clauses 1-37.
- a system comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations of the respective method of any one of clauses 1-37.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for discovering and validating novel materials. In one aspect, a method comprises: obtaining data defining a set of candidate materials; generating a respective predicted energy of each candidate material in the set of candidate materials, comprising, for each candidate material; generating graph data that represents the candidate material as a graph; and processing a network input that includes the graph data representing the candidate material using a graph neural network to generate a network output that defines the predicted energy of the candidate material; selecting a proper subset of the set of candidate materials for validation through computational simulation based on the predicted energies of the candidate materials; and generating, for each candidate material selected for validation through computational simulation, a simulated energy of the candidate material by performing a computational simulation of the candidate material.
Description
DISCOVERING NOVEL MATERIALS USING GRAPH NEURAL NETWORKS
BACKGROUND
[0001] This specification relates to processing data using machine learning models.
[0002] Machine learning models receive an input and generate an output, e.g., a predicted output, based on the received input. Some machine learning models are parametric models and generate the output based on the received input and on values of the parameters of the model. [0003] Some machine learning models are deep models that employ multiple layers of models to generate an output for a received input. For example, a deep neural network is a deep machine learning model that includes an output layer and one or more hidden layers that each apply a non-linear transformation to a received input to generate an output.
SUMMARY
[0004] This specification generally describes a system implemented as computer programs on one or more computers in one or more locations that can be used to discover and validate novel material.
[0005] A "material" can refer to any substance or combination of substances, whether natural or synthetic, that possesses physical properties. This includes, but is not limited to, cry stalline materials, polycrystalline materials, amorphous materials, and inorganic materials. The term encompasses substances in all forms, including solids, liquids, gases, and plasmas, and extends to composites, alloys, and other mixtures or compounds, irrespective of their molecular or structural composition, origin, method of production, or physical characteristics. [0006] Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages.
[0007] The development of modem technologies requires the discovery of new materials, e.g., new photovoltaic materials for solar cells, new semiconductor materials for microchips, and new superconductor materials for fusion energy production. Significant effort has gone into exploring the combinatorial space of materials, including enumerating atomic compositions and producing catalogs of their properties. However, the rate of materials discovery' has been bottlenecked by the pace of physical experiments and high-fidelity computational simulations.
[0008] The system described in this specification can be used to efficiently screen a large set of candidate materials (e.g., including millions of candidate materials) to identify materials that are predicted to have a low energy', and thus, be stable materials. In particular, for each
candidate material, the system can generate graph data representing candidate material as a graph, and process the graph data representing the candidate material using a graph neural network to generated a predicted energy of the candidate material. The system can then identify candidate materials that are predicted to have low energies, and validate the stability’ of these materials using high-fidelity computational simulations, e.g., based on densityfunctional theory (DFT). The stable materials discovered by the system can then be synthesized by any appropriate process for a wide range of applications.
[0009] Computationally simulating materials can be computationally intensive (e g., consuming significant quantities of computational resources such as memory- and computing power), and generating computational simulations of large numbers of candidate materials may be computationally infeasible. The system described in this specification addresses this issue by using a graph neural network to initially screen the set of candidate materials to select a fraction of the full set of candidate materials (e.g., <1%, or <0.1%, or <0.01%, or <0.001% of the full set of candidate materials) for validation through computational simulation. The graph neural network can efficiently generate a predicted energy for a candidate material with a single pass through a sequence of neural network layers. In particular, the graph neural network may consume significantly fewer computational resources (e.g., memory and computing power) to generate a predicted energy for a candidate material than would be required to perform a high-fidelity computational simulation of the candidate material. For example, the graph neural network enables a parallelized computation of predicted energies for candidate materials by simultaneously processing components of input graphs representing the candidate materials, in contrast to the serial computations used by high-fidelity computational simulations to model physical dynamics of the candidate materials. The system thus leverages the complementary properties of machine learning (in particular, graph neural networks) and high-fidelity computational simulation (e.g., based on DFT) to explore significantly more of the space of materials than would otherwise be possible.
[0010] The details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1 is a block diagram of an example material discovery system.
[0012] FIG. 2 illustrates an example candidate material and corresponding structural and compositional candidate material graphs.
[0013] FIG. 3 is a flow diagram of an example process for discovering novel materials.
[0014] FIG. 4 is a flow chart for an example process for predicting material properties for candidate materials using a graph neural network.
[0015] FIG. 5 is a flow chart for an example process for processing the graph data representing a candidate material using the graph neural network to predict properties of the candidate material.
[0016] FIG. 6 is a flow chart for an example process for predicting force vectors for atoms within the candidate materials using the graph neural network.
[0017] FIG. 7 is a flow chart for an example process for generating an uncertainty estimate for candidate materials using the graph neural network.
[0018] FIG. 8 is a flow chart for an example process for generating a predicted energy for candidate materials using the graph neural network.
[0019] FIG. 9 is a flow chart for an example process for generating a predicted ion conductivity for candidate materials using the graph neural network.
[0020] FIG. 10 is a flow chart for an example process for generating a predicted vacancy energy for candidate materials using the graph neural network.
[0021] FIG. 11 is a flow chart for an example process for obtaining data defining candidate materials.
[0022] FIG. 12 is a flow chart for an example process for validating candidate materials.
[0023] FIG. 13 illustrates example materials discovered using the material discovery' system described in this specification.
[0024] FIG. 14A and 14B illustrate results from using material discovery system described in this specification.
[0025] Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
[0026] FIG. 1 shows an example material discovery system 100. The material discovery system 100 is an example of a system implemented as computer programs on one or more computers in one or more locations in which the systems, components, and techniques described below are implemented.
[0027] The material discovery system 100 includes a graph neural network 102 that can predict material properties 104 for candidate materials. The graph neural network 102 is configured
to process candidate material graphs 106, which include data characterizing respective candidate materials, and generate predicted material properties 106 for the respective candidate materials.
[0028] The candidate material graphs 106 can represent a variety of properties of the candidate materials. For example, the candidate material graphs 106 can be structural candidate material graphs, which represent the candidate materials by including data that specifies the positions of atoms of the candidate materials within unit cells for the candidate materials. As another example, the candidate material graphs 106 can be compositional candidate material graphs, which can represent the candidate materials by including data that specifies chemical compositions for the candidate materials and characterizes average interactions between elements within the candidate materials. The candidate material graphs 106 are described in more detail below with reference to FIG. 2.
[0029] The material discover}' system 100 includes a validation system 108 that can validate the predicted material properties 106 for the candidate materials. The validation system 108 can validate the predicted material properties 106 by any of a variety of methods. As an example, the validation system 108 can computationally validate the predicted material properties by performing a high-fidelity computational simulation of the candidate materials. As a further example, the validation system 108 can perform ab-initio simulations (e.g., following density functional theory) to validate the candidate materials. As another example, the validation system 108 can request and receive results for experimental validations of the predicted material properties by, e g., providing data characterizing the candidate materials for synthesis and testing the candidate materials and obtaining results from physical tests of the synthesized candidate materials.
[0030] Computational and experimental validation of the candidate materials are generally resource-intensive compared to generating predictions using the graph neural network 102. For example, an ab-initio simulation of a candidate material can accurately predict material properties of the candidate material by performing a computationally intensive direct simulation of the candidate material as a quantum mechanical many -body system. Rather than performing a simulation of the candidate materials using operations that directly model physical interactions for the candidate material (e g., as performed within ab-initio simulations), the graph neural network 102 can generate predictions for the candidate material based on machine learned operations. In particular, the graph neural network 102 can simultaneously processes each node and edge within input graphs representing the materials. Therefore, the graph neural network 102 can generate the predictions for the candidate material
using parallelized machine learning operations, in contrast to simulations that use serial computations to directly model physical interactions for the candidate material. When configured as described in this specification, the graph neural network 102 can generate predicted material properties for the candidate materials that approximate corresponding predictions from computational simulation (e.g., ab-initio simulation) of the candidate material while incurring a smaller computational cost compared to ab-initio simulations (e.g., by requiring fewer computational iterations, by enabling more parallelized computations, etc.).
[0031] Additionally, the prediction of material properties using the graph neural network 102 can be automated, which avoids the significant time, expertise, laboratory resources, etc., required to perform experimental tests of the candidate material.
[0032] The material discovery system 100 can therefore use the predicted material predicted material properties 104 generated by the graph neural network 102 to select a subset of the candidate materials for validation. In some implementations, the system 100 will validate (e.g., using the validation system 108) only the subset candidate materials selected for validation.
[0033] In particular, the system 100 can use the graph neural network 102 to predict material properties 104 for a large number (e.g., at least 1,000,000 candidate materials) of candidate materials and then validate a smaller fraction of the candidate materials that have predicted material properties 104 that satisfy selection criteria (e g., have an energy within a particular range, attain a certain threshold of predicted material stability, etc.) of the system 100. By using the predicted material properties 104 from the graph neural network 102 to screen the candidate materials for computational or experimental validation, the system 100 can more efficiently identify and verify candidate materials that meet the selection criteria.
[0034] When the validation system 108 determines that a given candidate material meets the selection criteria, the material discovery system 100 can add data characterizing the given candidate material to a materials database 112. In general, the material discovery system 100 can update the materials database 112 to include every' validated material 110 identified by the system 100.
[0035] The material discovery system 100 can process information characterizing known materials from the materials database 112 to identify candidate materials for testing. The system 100 can include a candidate proposal system 114 configured to generate the candidate material graphs 106 based on known materials from the materials database 112. In particular, the candidate proposal system 114 can identify candidate materials as modifications (e.g., compositional modifications, structural modifications, etc.) of known materials from the
materials database 112. An example process for generating candidate materials by modifying known materials from the materials database is described in more detail below wi th reference to FIG 11.
[0036] Example materials discovered using an implementation of the material discovery system are illustrated in FIG. 13. FIG. 14A and 14B illustrate results demonstrating the efficiency of the material discovery system described in this specification for discovering new materials.
[0037] By efficiently discovering and validating new materials, the material discovery system 100 can improve materials design for new devices. In particular, when the system 100 discovers and validates a new material, the new material can then be synthesized by any appropriate process for use in a wide range of applications. For example, the system 100 can be used to discover new semi-conductor materials that improve, e.g., power efficiency, die size, and so on. As another example, the system 100 can be used to discover new materials for use in batteries that improve, e.g., storage capacity , energy densify, and so on.
[0038] FIG. 2 illustrates an example candidate material 202, a corresponding structural candidate material graph 204, and a corresponding compositional candidate material graph 206. The candidate material 202 is composed of and can include atoms of different elements. The candidate material 202 can be, e.g., a cry stalline material, a poly crystalline material, an amorphous material, an inorganic material, an organic material, a hybrid material that includes both inorganic and organic components, and so on.
[0039] Although material properties of the candidate material 202 can characterize behaviors of very7 large numbers of atoms (e.g., numbers of atoms that cannot be feasibly simulated), the material properties of the candidate material 202 can be determined based on proto-typical configurations that include relatively small numbers of atoms. For example, the arrangement of atoms 208-A through 208-E (where, as illustrated, atom 208-A is a different element from the atoms 208-B through 208-E) is a proto-typical configuration of atoms for the candidate material 202.
[0040] The candidate material 202 can be a periodic replication of a unit cell 209 for the candidate material 202, and the proto-typical configuration of the candidate material 202 can be determined by specifying configurations (e.g., positions, orientations, chemical elements, etc.) for atoms of the proto-fypical configuration within the unit cell 209. For example, the proto-typical configuration of the candidate material 202 can be determined by specifying positions, orientations, chemical elements, etc. for the atoms 208-A through 208-E within the unit cell 209.
[0041] The proto-typical configuration of the candidate material 202 can also be determined by specifying statistics characterizing interactions among atoms of the candidate material 202. For example, the proto-typical configuration of the candidate material 202 can be determined by specifying, e.g., a chemical composition of the candidate material 202, radial density functions for atoms of each element within the candidate material 202, angular density functions for atoms of each element within the candidate material 202, and so on.
[0042] The system can generate candidate material graphs that represent properties of the candidate material 202. The candidate material graphs include graph nodes and graph edges that can characterize various properties of the candidate material 202. For example, the graph nodes can include respective node embeddings that characterize various properties of the candidate material 202 (e.g., positions of individual atoms, elements of individual atoms, etc.). As another example, the graph edges can include respective edge embeddings that characterize various properties of the candidate material 202 (e.g., distances of individual atomic bonds, statistics of atomic bonds between atoms different elements, etc.). Each graph edge connects two graph nodes and can characterize a relationship between, e.g.. the atoms, elements, etc., represented by the nodes for the graph edge.
[0043] As a particular example, the system can generate the structural candidate material graph 204. The structural candidate material graph 204 specifies the positions of atoms of the candidate materials within unit cells for the candidate materials by including graph nodes 210- A through 210-E that correspond to the atoms 208-A through 208-E. The node embeddings for the graph nodes 210-A through 210-E can be based on the chemical element of the corresponding atoms 208-A through 208-E. The node embeddings for the graph nodes 210-A through 210-E can include data characterizing positions and orientations of the corresponding atoms 208-A through 208-E within the unit cell 209. The structural candidate material graph 204 includes graph edges between pairs of the graph nodes 210-A through 210-E based on, e.g., chemical bonds between the atoms 208-A through 208-E, positions of the atoms 208-A through 208-E, and so on. For example, in some implementations, the structural candidate material graph 204 can include graph edges between a pair of graph nodes 210-A through 210- E only when the corresponding pair of atoms 208-A through 208-E are spatially separated by less than a threshold distance.
[0044] As another particular example, the system can generate the compositional candidate material graph 206. The compositional candidate material graph 206 includes graph nodes and graph edges that characterize the chemical composition (e.g.. fractions of the elements within the candidate material 202) of the candidate material 202 and characterize statistics of
interactions between elements within the candidate material 202. The compositional candidate material graph 206 can represent the chemical composition of the candidate material 202 using the graph nodes and the graph edges in a variety of ways. For example, the compositional candidate material graph 206 can include graph nodes representing each element in the candidate material 202, with the number of included graph nodes for a given element determined based the fraction of the element in the chemical composition of the candidate material 202. As another example, the compositional candidate material graph 206 can include a graph node for each element in the candidate material 202, with a node embedding characterizing the fraction of the element in the chemical composition of the candidate material 202.
[0045] For example, the compositional candidate material graph 206 includes a graph node 212-A that corresponds the element of the atom 208-A and a graph node 212-B that corresponds to the element of the atoms 208-B through 208-E. The node embedding for a graph node within the compositional candidate material graph 206 can characterize the fraction of the corresponding element for the node within the candidate material 202. The compositional candidate material graph 206 can include graph edges between pairs of graph nodes that represent chemical bonds between atoms of the corresponding pair of elements within the candidate material 202. Each graph edge within the compositional candidate material graph 206 can include an edge embedding that characterizes statistics of the corresponding bond (e.g., statistics for a length of the bond, for an orientation of the bond. etc.). For example, as illustrated, the compositional candidate material graph 206 includes a graph edge between the graph nodes 212-A and 212-B that can include statistics describing bonds between the element of atom 208-A and the element of atoms 208-B through 208-E within the chemical material 202.
[0046] The system can process the structural candidate material graph 204 or the compositional material graph 206 using an appropriately configured graph neural network (e.g., the graph neural network 102 of FIG. 1) to predict material properties (e.g., energies, atomic forces, etc.) of the candidate material 202.
[0047] The graph neural network can include one or more update layers and can process an input graph to the network by performing message passing between graph nodes over a sequence of update iterations. At each update iteration, the graph neural network can process the input graph using one of the update layers to determine updated values for the node embeddings of the nodes for the input graph.
[0048] The graph neural network can include decoder layers that can process graphs resulting from the message passing updates to generate the predicted material properties for the input graph, e.g., energy decoder layers that can generate predicted energies for the input graph, force decoder layers that can generate predicted forces for atoms represented by the input graph, and so on. In some implementations, the decoder layers can receive, as network inputs, combined node embeddings for the nodes of the graphs resulting from the message passing updates (e.g., as generated by pooling, averaging, concatenating, etc., the node embeddings for the nodes). For example, the graph neural network can generating combined node embeddings based on the graphs resulting from the message passing updates and processing the combined node embeddings using the decoder layers to predict the associated material property of the candidate material.
[0049] Each decoder layer of the graph neural network can be any appropriate type of neural network layer (e.g., fully connected layers, attentional layers, etc.).
[0050] The graph neural network can be trained to reproduce computationally or experimentally determined properties for a training set of example materials. In particular, the graph neural network can be trained on atomic relaxation data generated by computational simulations (e.g., ab-initio simulations) for a training set of example materials. The architecture of the graph neural network can be chosen to encourage certain symmetries (e.g., rotational symmetry, translational symmetry, etc.) for the outputs of the graph neural network. |0051| As a particular example, the graph neural network can be a Neural Equivariant Interatomic Potentials graph neural network as described by Batzner et al. in “E(3)-Equivariant Graph Neural Networks for Data-Efficient and Accurate Interatomic Potentials”.
[0052] FIG. 3 is a flow chart for an example process for discovering novel materials using predictions from a graph neural network. For convenience, the process 300 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discover}' system, e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 300. [0053] The system can generate training data for the graph neural network that includes example materials with known material properties (step 302). For example, the system can obtain (e.g., from a materials database) data characterizing a set of example materials, including target inputs for the graph neural network characterizing the example materials and target outputs specifying known material properties of the example materials (e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc., as determined by computational or experimental validation of the example materials). As another example, when the system
validates a given material, the system can include a training example within the training data for the graph neural network that includes a training input for the graph neural network that defines the given material and a target output of the graph neural network that specifies material properties of the given material (e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc.) as determined by computational or experimental validation of the example materials.
[0054] The system can train the graph neural network on the set of training data (step 304). In particular, the system can train the graph neural network to process the training inputs and to predict the target output material properties (e.g., energies, atomic forces, ionic conductivities, vacancy energies, etc.) for the training examples.
[0055] As described above, the graph neural network can include shared update layers for performing message passing that the network uses when predicting each of the material properties and can include distinct decoding layers that the network uses only when predicting material properties associated with the decoding layers. The system can first train the graph neural network to predict one or more particular material properties by optimizing the update layers and the decoding layers for the particular properties using an objective function for the particular properties over the training data. The system can then train the graph neural network to predict the remaining material properties by optimizing the decoding layers for the remaining properties (e.g., while holding the update layers fixed) using objective functions for the particular properties over the training data.
[0056] For example, the system can first train the graph neural network to predict energies and atomic forces for the training data using an objective function that calculates a loss for an example material following:
[0057] AF, 8F, and 8F are scaling parameters for the objective function (e.g.,
=
1.0, = 0.05, and 3E = 8F = 0.01), NA is a number of atoms for the example material, E is a predicted energy for the example material as generated by the graph neural network. E is a target energy for the example material, ri a is a position of an i-th atom within the example material along the coordinate a, Fi a is a target force acting on the i-th atom within the example material along the coordinate a. and LSE and LSp are Huber loss functions. A Huber loss function, Ls. can be determined following:
[0058] The system can then train the decoder layers for the remaining material properties to predict the remaining material properties for the training data using appropriate regression loss functions (e.g., L2 losses, Huber losses, etc.).
[0059] The system can obtain a new set of candidate materials (step 306). For example, the system can receive data specifying the new set of candidate materials from a user of the system. As another example, the system can generate the new set of candidate materials as modifications of known materials for the system, e.g.. as stored in a materials database. An example process for generating data specifying candidate materials by modifying known materials for the system is described in more detail below with reference to FIG 11.
[0060] The system can then generate predicted material properties for each of the new7 set of candidate materials using the graph neural network (step 308). In general, the system can process candidate material graphs (e.g., structural candidate material graphs, compositional candidate material graphs, etc.) that characterize the new candidate materials using the graph neural network to predict the material properties for the new candidate materials. An example process of predicting material properties for the new candidate materials using the graph neural network is described in more detail below with reference to FIG. 4.
[0061] In some implementations, the system can determine uncertainty estimates for the new candidate materials. An example process for generating uncertainty estimates for the new candidate materials is described below with reference to FIG. 7.
[0062] The system can screen the candidate materials to select candidate materials for validation (step 310). For example, the system can select a proper subset of candidate materials for validation. As a further example, the system can select a particular candidate material for validation based on the predicted material properties of the candidate material (e.g., based on whether the predicted material properties satisfy selection criteria, such as predicted energy thresholds, predicted stabilities, etc.), the uncertainty estimates candidate material (e.g., based on whether the predicted material properties attain pre-determined uncertainty requirements), or both.
[0063] As a particular example, the system can select a candidate material for validation only when E < TE, where E is a predicted energy for the candidate material and TE is a predetermined energy threshold. For example, the energy threshold, TB, can characterize a
stability- threshold and the system can compare the predicted energies for the candidate materials, E. with the energy threshold to identify candidate materials that satisfy a stability criterion.
[0064] As another particular example, the system can select a candidate material for validation only when the uncertainty- estimate for the candidate material, o, satisfies either o < a or b < o. where a < Tb are pre-determined uncertainty thresholds. For example, the threshold a can be used to identify candidate materials for which the system generates reliable predictions (e.g., to identify candidate materials most likely to be novel materials). As another example, the threshold Tb can be used to identify candidate materials which, when validated, can be useful training examples for the graph neural network (e.g., the system can identify and validate candidate materials for which the graph neural network currently generates unreliable predictions to add training example to improve the graph neural network).
[0065] The system can validate the selected candidate materials (step 312). For example, the system can validate the selected candidate materials by performing computational simulations of the selected candidate materials. As another example, the system can validate the selected candidate materials by: (i) specifying the selected candidate materials for synthesis, (ii) requesting physical tests for the selected candidate materials, and (iii) receiving experimental results from physical tests of the selected candidate materials as synthesized. An example process of validating the candidate materials is described in more detail below with reference to FIG. 12.
[0066] The system can finally add the validated materials to a materials database of the system (step 314). In particular, for each validated material, the system can add data to the materials database that characterizes the validated material and the validated (e.g., computationally or experimentally determined) material properties of the validated material. [0067] In some implementations, the process 300 can be an iterative process. In particular, the system can, after adding the validated materials to the materials database, generate new- training data for the graph neural network (step 304) that includes the newly added validated materials as example matenals with known material properties and then train the graph neural network using the new training data (step 306).
[0068] FIG. 4 is a flow chart for an example process for predicting material properties for candidate materials using the graph neural network. For convenience, the process 400 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery system, e.g., the material discovery system 100 of
FIG. 1, appropriately programmed in accordance with this specification, can perform the process 400.
[0069] The system obtains data defining the candidate materials (step 402). For example, the system can receive data specifying the candidate materials from a user of the system. As another example, the system can determine the candidate materials as modifications of known materials for the system, e.g., as stored in a materials database. An example process for generating data specifying candidate materials by modifying known materials for the system is described in more detail below with reference to FIG 11.
[0070] The system generates graph data that represents the candidate material as a graph (step 404). As described in more detail above with reference to FIG. 2, the system can generate a candidate material graph (e.g.. a structural candidate material graph or a compositional candidate material graph) for each candidate material.
[0071] In general, the candidate material graph for a candidate material includes graph nodes and graph edges that characterize properties of the candidate material. For example, a structural candidate material graph for the candidate material can include: (i) graph nodes that represent atoms of the candidate material, with node embeddings that characterize, e.g., elements of the corresponding atoms, positions of the corresponding atoms within a unit cell of the candidate material, etc., and (ii) graph edges that represent interactions between atoms of the candidate material. As another example, a structural candidate material graph for the candidate material can include: (i) graph nodes that represent elements within candidate material and (ii) graph edges that represent bonds between atoms of the elements of the candidate material.
[0072] The system can predict the material properties of the candidate materials using the graph neural network (step 406). In particular, for each candidate material, the system can use the graph neural network to process a network input that includes the graph data representing the candidate material to generate a network output that defines the predicted material properties of the candidate material. An example process of processing the graph data to predict material properties using the graph neural network is described in more detail below with reference to FIG. 5.
[0073] In particular, an example process of predicting an energy for the candidate material using the graph neural network is described in more detail below with reference to FIG. 8, an example process of predicting an ion conductivity7 for the candidate material using the graph neural network is described in more detail below7 with reference to FIG. 9, and an example process of predicting a vacancy energy for the candidate material using the graph neural network is described in more detail below with reference to FIG. 10.
[0074] FIG. 5 is a flow chart for an example process for processing the graph data representing a candidate material using the graph neural network to predict properties of the candidate material. For convenience, the process 500 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery system, e.g., the material discover}7 system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 500.
[0075] When the graph data specifies positions of atoms of the candidate material (e.g., when the graph data is a structural candidate material graph), the specified positions may be unequilibrated positions. In particular, positions may be un-equilibrated positions such that synthesizing the candidate material as specified by the graph data results in the synthesized candidate material physical!}7 equilibrating (e.g.. relaxing) out of the configuration specified by the graph data.
[0076] In order to predict material properties for candidate materials as the candidate materials would be synthesized (e g., material properties of the synthesized candidate materials after a physical equilibration of the synthesized candidate materials), the system can equilibrate the graph data for the candidate material before predicting material properties of the candidate material using the graph neural netw ork.
[0077] In some implementations, the system can equilibrate the positions of atoms over a sequence of relaxation iterations.
|0078| At each relaxation iteration, the system can predict forces for each atom specified by the graph data (step 502). In particular, the system can generate a respective force vector (e.g., a three dimensional force vector that characterizes component forces along
y-, and z- directions) for each node in the graph by processing graph data representing the candidate material using the graph neural network. An example process of using the graph neural network to predict forces for each of the atoms specified by the graph data is described in more detail below with reference to FIG. 6.
[0079] The system can update the positions of the atoms specified by the graph data using the predicted forces for the atoms (step 504). In particular, the system can update the spatial position of each atom in the unit cell of the candidate material based on the predicted force vector for the node representing the atom. For example, the system can update the positions of the atoms by performing a simulation of the atoms moving in response to the predicted forces for the atoms. As a further example, the system can update the positions of a ;-th atom at the i-th relaxation iteration, x ti following:
[0080] Where vt is a velocity’ of the j-th atom at the i-th relaxation iteration (e.g., as tracked by the system during the relaxation iterations), Fi is the predicted force on the j-th atom at the i-th relaxation iteration, and Ax and Av are update rules for performing numerical integration of the atomic positions based on the predicted forces (e g., Ax and Av can implement Euler integration, Verlet integration, etc., for the atomic positions). The system can initialize the velocities for the atoms before the first relaxation iteration, vOj-, to be zero (e.g., the system can start the relaxation by simulating the atoms at rest positioned as specified by the graph data).
[0081] The system can then update the graph data representing the candidate material based on the updated spatial positions (step 506). In particular, the system can update the node embeddings of the nodes for the atoms to characterize the updated positions of the atoms from the relaxation iteration. The system can update the edge embeddings of the graph edges based on, e.g., updated distances between corresponding atoms for the nodes connected by the edges. The system can also add or remove graph edges based on the updated distances between the atoms represented by the graph data (e.g.. by adding graph edges when the updated distances between the atoms fall below a predetermined threshold, removing graph edges when the updated distances between the atoms rise above the predetermined threshold, etc.).
[0082] After each relaxation iteration, the system can determine whether relaxation is complete (step 508). The system can determine whether the relaxation is complete based on a variety of stopping criteria. For example, the system can determine that the relaxation is complete after a pre-determined number of relaxation iterations. As another example, the system can predict (e.g., using the graph neural network) an energy' of the candidate material based on the spatial positions of the atoms after each relaxation iteration and determine that the relaxation is complete when the difference between the predicted energy for the relaxation iteration and a previous relaxation iteration falls below a pre-determined threshold. As another example, the system can determine that the relaxation is complete when the simulated velocities of the atoms fall below a pre-determined threshold.
[0083] The system can then process the graph data representing the candidate material using the graph neural network to predict material properties for the candidate material (510). As described above with reference to FIG. 2, the system can predict material properties for the
candidate material as the network outputs from decoder layers of the graph neural network associated with the material property.
[0084] FIG. 6 is a flow chart for an example process for predicting force vectors for atoms within the candidate materials using the graph neural netw ork. For convenience, the process 600 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery system, e.g., the material discovery system 100 of FIG. 1. appropriately programmed in accordance with this specification, can perform the process 600.
[0085] As described above with reference to FIG. 2, as part of predicting material properties for the candidate material using the graph neural network, the system can process the graph data for the candidate material by performing message passing over a sequence of update iterations.
[0086] To predict force vectors for atoms in the candidate material, the system can, at each update iteration, generating a combined edge embedding for each node in the graph (step 602). The system can generate the combined edge embedding for each node by combining (e.g., pooling, averaging, etc.) edge embeddings corresponding to each edge connected to the node. [0087] The system can then generate normalized edge embeddings for each node in the graph based on the combined edge embeddings (step 604). For example, the system can generate the normalized edge embedding by normalizing the combined edge embedding by a normalization factor. The normalization factor can be based on a measure of dispersion of a set of values that includes a value for each node of the graph that defines a number of edges connected to the node. As a particular example, the system can generate the normalized edge embedding for a node to be an average edge embedding for the node as scaled by the number of edges connected to the node.
[0088] The system can then process the graph data using one or more update neural network layers of the graph neural network to update the node embeddings (step 606). In particular, the system can process, as network inputs for the update layers, the normalized edge embedding and the node embedding for each node. In general, the system can update the node embeddings following message passing operations, in which the embedding for each node is updated based on the embeddings of the neighboring nodes.
[0089] The system can determine whether message passing is complete (step 608). In particular, the system can determine that message passing is complete after a pre-determined number of update iterations. If the system determines that the message passing is not complete,
the system can proceed to a next update iteration (e.g., return to step 602 for the next update iteration).
[0090] The system can then process the graph data to predict the force vectors for the atoms of the candidate material (step 10). In particular, when the system determines that the message passing is complete, the system can then process the graph data, as updated by the message passing, to predict the force vectors for the atoms of the candidate material. As described above with reference to FIG. 2. the system can generate a predicted force vector for each node in the graph by processing the node embedding for the node using one or more force decoder neural network layers of the graph neural network.
[0091] FIG. 7 is a flow chart for an example process for generating an uncertainty' estimate for candidate materials using the graph neural network. For convenience, the process 700 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery7 system, e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 700.
[0092] In general, the system can determine uncertainties for predicted material properties by generating multiple distinct predictions for the predicted material properties for the candidate material using an ensemble of multiple graph neural netw orks. In particular, the multiple graph neural netw orks can have the same graph neural network architecture and have different graph neural network parameters (e.g.. as resulting from training the multiple graph neural networks to perform the same material property' predictions using different sets of training data, using different initialization for the graph neural network parameter values, etc.).
[0093] The system can generate a respective predicted material property' of the candidate material using each graph neural network in the ensemble (step 702). The system can predict energies for the candidate material using the graph neural networks as described in more detail below with reference to FIG. 8. As another example, the system can predict ion conductivities for the candidate material using the graph neural network as described in more detail below with reference to FIG. 9. As another example, the system can predict vacancy energies for the candidate material using the graph neural network as described in more detail below with reference to FIG. 10.
[0094] The system can then determine the uncertainty7 estimate for the predicted material property based on the multiple predictions from the ensemble (step 704). In particular, the system can determine the uncertainty estimate for the predicted material property based on a
measure of dispersion (e.g., a standard deviation or variance) of the predictions generated by the ensemble.
[0095] FIG. 8 is a flow chart for an example process for generating a predicted energy for candidate materials using the graph neural network. For convenience, the process 800 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery system, e.g., the material discovery’ system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 800.
[0096] As described above with reference to FIG. 2, the candidate material can be specified as a periodic repetition of a unit cell for the candidate material. The energy of the candidate material can therefore depend on both (i) positions of atoms within the unit cell for the candidate material and (ii) the geometry of the unit cell for the candidate material. As part of predicting the energy for a given configuration of atoms within the unit cell for the candidate material (e.g., as specified by a structural candidate material graph), the system can determine a minimum energy geometry of the unit cell for the configuration of atoms within the unit cell.
[0097] The system can generate graph data representing candidate material (e.g., generate multiple different structural candidate material graphs) with multiple tested geometries for the unit cell of the candidate material (step 802). For example, the system can generate multiple candidate material graphs representing the candidate material with different tested scales for the unit cell.
[0098] The system can then generate, for each tested geometry’ of the unit cell, a predicted energy of the candidate material with the tested cell (step 804). In particular, the system can predict the energy for a candidate material with a particular unit cell geometry using the graph neural network, as described above with reference to FIG. 5. For example, the system can generate, for each of the tested unit cell scales, a predicted energy’ for the candidate material with the unit cell scale.
[0099] The system can then determine a minimum predicted energy’ of the candidate material across the tested geometries of the unit cell for the candidate material, (step 806). For example, the system can determine a minimum predicted energy of the candidate material across the plurality’ of tested unit cell scales.
[0100] The resulting minimum predicted energy' can, for example, predict the energy of the candidate material after physical equilibration of the material (e.g., after the candidate material relaxes to a stable unit cell geometry).
[0101] FIG. 9 is a flow chart for an example process for generating a predicted ion conductivity for candidate materials using the graph neural network. For convenience, the process 900 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery system, e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 900.
[0102] The ion conductivity of the candidate material is a physical property of the candidate material that depends on the mobility of atoms within the candidate material. The system can predict the ion conductivity of the candidate material by simulating the dynamics of atoms of the candidate material using the graph neural network and estimating the ion conductivity based on the motions of the atoms during the dynamics simulation. The system can simulate the dynamics of atoms of the candidate material over a sequence of dynamics steps.
[0103] At each dynamics step, the system can predict forces for each atom specified by the graph data (e.g., as specified by a structural candidate material graph) (step 902). In particular, the system can generate a respective force vector for each node in the graph by processing graph data representing the candidate material using the graph neural network. The graph neural network can predict forces for each of the atoms specified by the graph data as described above with reference to FIG. 6.
[0104] The system can update the positions of the atoms specified by the graph data using the predicted forces for the atoms (step 904). In particular, the system can update the spatial position of each atom in the unit cell of the candidate material based on the predicted force vector for the node representing the atom. For example, the system can update the positions of the atoms by performing a simulation of the atoms moving in response to the predicted forces for the atoms. As a further example, the system can update the positions of a j-th atom at the i-th dynamics step, Xj following:
[0105] Where i;7- is a velocity of the j-th atom at the i-th dynamics step (e.g., as tracked by the system during the relaxation iterations), Ft is the predicted force on the j-th atom at the i-th dynamics step, and Ax and Av are update rules for performing numerical integration of the atomic positions based on the predicted forces (e.g., Ax and Av can implement Euler integration, Verlet integration, etc., for the atomic positions). The system can initialize the velocities for the atoms before the first dynamics step, vOj-, to be zero (e.g., the system can start
the dynamics simulation by simulating the atoms at rest positioned as specified by the graph data). The update rules, Ax and Av used for the dynamics simulation can be the same as or different from those used in the relaxation simulation described in FIG. 5.
[0106] The system can then update the graph data representing the candidate material based on the updated spatial positions (step 906). In particular, the system can update the node embeddings of the nodes for the atoms to characterize the updated positions of the atoms from the dynamics step. The system can update the edge embeddings of the graph edges based on, e.g., updated distances between corresponding atoms for the nodes connected by the edges. The system can also add or remove graph edges based on the updated distances between the atoms represented by the graph data (e.g., by adding graph edges when the updated distances between the atoms fall below a predetermined threshold, removing graph edges when the updated distances between the atoms rise above the predetermined threshold, etc ).
[0107] After each dynamics step, the system can determine whether dynamics simulation is complete (step 908). The system can determine whether the dynamics simulation is complete based on a variety’ of stopping criteria. For example, the system can determine that the dynamics simulation is complete after a pre-determined number of dynamics steps.
[0108] The system can then generate the predicted ion conductivity of the candidate material based on changes in the spatial positions of the atoms in the unit cell of the candidate material over the sequence of dynamics iterations (step 910). In particular, the system can generate the predicted ion conductivity based on ionic currents within the candidate material estimated based on the motions of the atoms during the dynamics simulation (e g., as estimated by a current determined by summing averaged simulated velocities of atoms within the candidate material as weighted by charges for the atoms).
[0109] FIG. 10 is a flow chart for an example process for generating a predicted vacancy energy for candidate materials using the graph neural network. For convenience, the process 1000 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery system, e.g., the material discovery system 100 of FIG. 1. appropriately programmed in accordance with this specification, can perform the process 1000.
[0110] The vacancy energy of the candidate material characterizes changes in energy of the candidate material due to removing atoms from the candidate material. The system can predict the vacancy energy of the candidate material by comparing predicted energies (e.g., as predicted by the graph neural network) of the candidate material and modifications of the candidate material.
[0111] The system can generate data identifying a modified material by modifying the data defining the candidate material to remove one or more atoms from the candidate material (step 1002).
[0112] The system can generate graph data that represents the modified material as a graph (step 1004).
[0113] The system then processes the graph data for the modified material to predict the energy of the modified material (step 1006). For example, the system can predict the energy of the modified material as described above with reference to FIG. 8.
[0114] The system can then determine the predicted vacancy energy for the candidate material based on a difference between: (i) the predicted energy of the candidate material, and (ii) the predicted energy of the modified material (step 1008).
[0115] FIG. 11 is a flow chart for an example process for obtaining data defining candidate materials. For convenience, the process 1100 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery system, e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 1100.
[0116] The system can obtain data defining a known material (step 1102). In particular, the system can obtain data defining a respective chemical element of each atom in a unit cell of the candidate material. As an example, the system can receive (e g., from a user) the data specifying the known material. As another example, the system can retrieve (e.g., from a materials database maintained by the system) the data specifying the known material.
[0117] The system can identify a chemical composition of the known material based on the obtained data (step 1104).
[0118] The system can then determine the candidate material by generating modifications to the chemical composition of the known material (step 1 106). For example, the system can identify a set of atoms in the unit cell of the know n material that all correspond to a same chemical element. The system can then determine the candidate material by substituting the chemical element of the identified atom for a different chemical element. In particular, the system can substitute the chemical elements for at least some but less than all of the identified atoms.
[0119] FIG. 12 is a flow chart for an example process for validating candidate materials. For convenience, the process 1200 will be described as being performed by a system of one or more computers located in one or more locations. For example, a material discovery system.
e.g., the material discovery system 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 1200.
[0120] The system can computationally validate the predicted material properties by performing a high-fidelity computational simulation of the candidate materials (step 1202). As a further example, the validation system 108 can perform ab-initio simulations (e.g., using density functional theory) to validate the candidate materials. As described above, the high- fidelity computational simulations can generate more accurate predictions of the material properties of the candidate material compared to the graph neural network (e.g., by directly simulating physical interactions within candidate material according by modeling the candidate as a quantum mechanical system, as in ab-initio simulations of the candidate material) at an increased computational cost.
[0121] In some implementations, the system can request and receive results from experimental testing of the candidate material.
[0122] The system can request experimental validation of the predicted material properties byproviding data characterizing the candidate materials for synthesizing and physically testing the candidate materials (step 1204).
[0123] The system can then obtain results from physical tests of the synthesized candidate materials to validate the predicted material properties of the candidate material (step 1206).
[0124] By validating the predicted material properties of the candidate material, the system can obtain more accurate estimates for the material properties (e.g., following computational simulation or physical experimentation) of the candidate material. The validation for the candidate material is more resource-intensive than generating predictions using the graph neural network. Therefore, to efficiently discover new- materials, the system can use predictions from the graph neural network to screen candidate materials for validation.
[0125] As an example, the system can be used to discover new stable crystal materials. Rather than predicting candidate material stability using only computational simulation or physical experimentation, the system can first predict the candidate material stability using the graph neural network. The system can screen out candidate materials that the graph neural network predicts as unstable and continue to validate the stability of candidate materials that the graph neural network predicts as stable. When the system validates that a candidate material is stable using computational simulation or physical experimentation, the system can add the validated candidate material as a known stable material to, e.g., a materials database of the system.
[0126] FIG. 13 illustrates example materials discovered using the material discovery system described in this specification.
[0127] An implementation of the material discovery' system described in this specification has been used to identify and validate 2.2 million energetically stable materials. Compared with the 48,000 stable crystal materials identified and validated previously using conventional methods, the material discovery system described in this specification has therefore enabled an order-of-magnitude increase in the number of known stable materials. Of the 2.2 million energetically stable materials discovered and validated using systems and methods described in this specification, 736 candidate materials have been independently experimentally validated.
[0128] FIG. 13 illustrates 6 example materials discovered using the material discovery' system described in this specification that have been independently experimentally validated. [0129] FIG. 14A and 14B illustrate results demonstrating the efficiency of the material discovery' system described in this specification for discovering new materials.
[0130] FIG. 14A illustrates the number of different quaternaries (e.g., particular modifications to the structure of a compound) having particular phase-separation energies discovered using the described methods 1402 as compared with the number discovered using conventional methods 1404. As illustrated, for each phase-separation energy, the described methods have yielded more quaternaries than the conventional methods. Additionally, the described methods have discovered numerous quaternaries for ranges of phase-separation energies for which the conventional methods have previously discovered no quaternaries.
|01311 FIG. 14B illustrates the number of different prototypes (e.g., different stable crystalline structures) with particular numbers of unique elements (e.g., atoms with unique atomic numbers) discovered using the described methods 1406 as compared with the number discovered using conventional methods 1408. As illustrated, the described methods have discovered significantly more distinct prototypes than the conventional methods for every number of unique elements. In particular, the described methods have discovered at least an order-of-magnitude more distinct prototypes having four or more unique elements compared to the conventional methods.
[0132] This specification uses the term "configured" in connection with systems and computer program components. For a system of one or more computers to be configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions. For one or more computer programs to be configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform the operations or actions.
[0133] Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e.. one or more modules of computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine- readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
[0134] The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also be, or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
[0135] A computer program, which may also be referred to or described as a program, software, a software application, an app, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may. but need not. correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code. A computer program can be deployed to be executed on one
computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.
[0136] In this specification the term '‘engine” is used broadly to refer to a software-based system, subsystem, or process that is programmed to perform one or more specific functions. Generally, an engine will be implemented as one or more software modules or components, installed on one or more computers in one or more locations. In some cases, one or more computers will be dedicated to a particular engine; in other cases, multiple engines can be installed and running on the same computer or computers.
[0137] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers.
[0138] Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory can be supplemented by. or incorporated in, special purpose logic circuitry. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.
[0139] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g.. EPROM. EEPROM, and flash memory' devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0140] To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid cry stal display) monitor, for displaying information to the
user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory7 feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's device in response to requests received from the web browser. Also, a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return.
[0141] Data processing apparatus for implementing machine learning models can also include, for example, special-purpose hardware accelerator units for processing common and computeintensive parts of machine learning training or production, i.e., inference, workloads.
[0142] Machine learning models can be implemented and deployed using a machine learning framework, e.g., a TensorFlow framework, or a Jax framework.
[0143] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g.. a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
[0144] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits data, e.g., an HTML page, to a user device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the device, which acts as a client. Data generated at the user device, e.g., a result of the user interaction, can be received at the server from the device.
[0145] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially be claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
[0146] Similarly, while operations are depicted in the drawings and recited in the claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of vanous system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. This specification also provides the subject-matter of the following clauses:
Clause 1. A method comprising: obtaining data defining a set of candidate materials; generating a respective predicted energy of each candidate material in the set of candidate materials, comprising, for each candidate material: generating graph data that represents the candidate material as a graph; and processing a network input that includes the graph data representing the candidate material using a graph neural network to generate a network output that defines the predicted energy of the candidate material; selecting a proper subset of the set of candidate materials for validation through computational simulation based on the predicted energies of the candidate materials; and generating, for each candidate material selected for validation through computational simulation, a simulated energy of the candidate material by performing a computational simulation of the candidate material.
Clause 2. The method of clause 1, wherein for each candidate material, the graph data representing the candidate material defines:
(i) a set of nodes and a respective node embedding for each node in the set of nodes; and
(ii) a set of edges, wherein each edge in the set of edges connects a respective pair of nodes in the set of nodes.
Clause 3. The method of clause 2. wherein for each candidate material, the graph data representing the candidate material defines an atomic structure of the candidate material.
Clause 4. The method of clause 3, wherein for each candidate material: the data defining the candidate material defines a respective spatial position and chemical element of each atom in a unit cell of the candidate material.
Clause 5. The method of clause 4, wherein for each candidate material, the graph data representing the candidate material defines: for each atom in the unit cell of the candidate material: a node representing the atom; and a node embedding for the node representing the atom, wherein the node embedding is based on the chemical element of the atom; and for only pairs of atoms in the unit cell of the candidate material that have spatial positions separated by less than a threshold distance: a respective edge connecting a pair of nodes in the graph that represent the pair of atoms in the unit cell of the candidate material.
Clause 6. The method of clause 5, wherein for each candidate material, processing the network input that includes the graph data representing the candidate material using the graph neural network comprises: at each relaxation iteration in a sequence of relaxation iterations: processing the graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph; updating the respective spatial position of each atom in the unit cell of the candidate material based on the force vector for the node representing the atom; updating the graph data representing the candidate material based on the updated spatial positions of the atoms in the unit cell of the candidate material; and at a last relaxation iteration in the sequence of relaxation iterations: processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material.
Clause 7. The method of clause 6, wherein at each relaxation iteration, processing the graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph comprises: at each update iteration in a sequence of update iterations: processing the graph data representing the candidate material using one or more update neural network layers of the graph neural network to update the node embedding of each node in the graph; and at a last update iteration in the sequence of update iterations: for each node in the graph, processing the node embedding for the node using one or more force decoder neural network layers of the graph neural network to generate the force vector for the node.
Clause 8. The method of clause 7, wherein at each update iteration, processing the graph data representing the candidate material using one or more update neural network layers of the graph neural network to update the node embedding of each node in the graph comprises, for each node in the graph: generating a combined edge embedding by combining respective edge embeddings corresponding to each edge connected to the node; generating a normalized edge embedding by normalizing the pooled edge embedding by a normalization factor that is based on a measure of central tendency of a set of values that includes, for each node in the graph representing the candidate material, a value that defines a number of edges connected to the node; and
processing the normalized edge embedding and the node embedding for the node to update the node embedding for the node.
Clause 9. The method of any one of clauses 6-8, wherein at the last relaxation iteration, processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material comprises: generating a combined node embedding by combining the node embeddings for the nodes in the graph; and processing the combined node embedding using one or more energy decoder neural network layers of the graph neural network to generate the predicted energy of the candidate material.
Clause 10. The method of any one of clauses 6-9, wherein the graph neural network has been trained on atomic relaxation data generated by computational simulations.
Clause 11. The method of clause 2, wherein for each candidate material, the graph data representing the candidate material defines an atomic composition of the candidate material. Clause 12. The method of clause 11. wherein for each candidate material: the data defining the candidate matenal defines, for each chemical element in a set of chemical elements, a fraction of atoms in the candidate material that correspond to the chemical element.
Clause 13. The method of clause 12, wherein for each candidate material, the graph data representing the candidate material defines: for each of one or more chemical elements in the set of chemical elements: one or more nodes representing the chemical element, wherein a number of nodes representing the chemical element is based on the fraction of atoms in the candidate material that correspond to the chemical element; and for each node representing a chemical element: a node embedding for the node that is based on the chemical element represented by the node.
Clause 14. The method of clause 13, wherein for each candidate material, the graph data representing the candidate material defines a respective edge connecting every pair of nodes. Clause 15. The method of any one of clauses 11-14, wherein processing the network input that includes the graph data representing the candidate material using the graph neural network to generate a network output that defines the predicted energy of the candidate material comprises: at each update iteration in a sequence of update iterations:
processing the graph data representing the candidate material using one or more update neural network layers of the graph neural network to update the node embedding of each node in the graph; and at a last update iteration in the sequence of update iterations: processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material.
Clause 16. The method of clause 15, wherein at the last update iteration, processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material comprises: generating a combined node embedding by combining the node embeddings for the nodes in the graph; and processing the combined node embedding using one or more energy decoder neural network layers of the graph neural network to generate the predicted energy of the candidate material.
Clause 17. The method of any preceding clause, wherein obtaining data defining the set of candidate materials comprises: obtaining data defining a known material, comprising data defining a respective chemical element of each atom in a unit cell of the candidate material; modifying the data defining the known material to generate data defining a candidate material, comprising: identifying a set of atoms in the unit cell of the candidate material that all correspond to a same chemical element; and for at least some but less than all of the atoms in the set of atoms that correspond to the same chemical element, substituting the chemical element of the atom for a different chemical element.
Clause 18. The method of any one of clauses 5-10 or 17, further comprising, for one or more of the candidate materials in the set of candidate materials: generating a predicted ion conductivity of the candidate material.
Clause 19. The method of clause 18, wherein generating the predicted ion conductivity of the candidate material comprises: at each dynamics iteration in a sequence of dynamics iterations: processing graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph;
updating a respective spatial position of each atom in the unit cell of the candidate material based on the force vector for the node representing the atom; and updating the graph data representing the candidate material based on the updated spatial positions of the atoms in the unit cell of the candidate material; and generating the predicted ion conductivity of the candidate material based on changes in the spatial positions of the atoms in the unit cell of the candidate material over the sequence of dynamics iterations.
Clause 20. The method of any one of clauses 5-10 or 17-19, further comprising, for one or more of the candidate materials in the set of candidate materials: generating a predicted vacancy energy for the candidate material.
Clause 21. The method of clause 20, wherein generating the predicted vacancy energy for the candidate material comprises: generating data identifying a modified material by modifying the data defining the candidate material to remove one or more atoms from the candidate material; generating graph data that represents the modified material as a graph; processing a network input that includes the graph data representing the modified material using the graph neural network to generate a network output that defines a predicted energy of the modified material; and determining the predicted vacancy energy for the candidate material based on a difference between: (i) the predicted energy of the candidate material, and (ii) the predicted energy of the modified material.
Clause 22. The method of any preceding clause, further comprising: generating a set of training examples for training the graph neural network, comprising, for each candidate material selected for validation through computational simulation: generating a training example that comprises: (i) a training input to the graph neural network that defines the candidate material, and (ii) a target output of the graph neural network that specifies the simulated energy of the candidate material; and training the graph neural network on the set of training examples.
Clause 23. The method of clause 22, further comprising, after training the graph neural network on the set of training examples: obtaining a new set of candidate materials; generating a respective predicted energy of each candidate material in the new set of candidate materials using the graph neural network.
Clause 24. The method of any preceding clause, further comprising, for each candidate material in the set of candidate materials: generating an uncertainty estimate that quantifies an uncertainty in the predicted energy of the candidate material.
Clause 25. The method of clause 24, wherein selecting a proper subset of the set of candidate materials for validation through computational simulation comprises, for each candidate material: determining whether to select the candidate material for validation through computational simulation based on both: (i) the predicted energy of the candidate material, and (ii) the uncertainty estimate for the predicted energy of the candidate material.
Clause 26. The method of clause 25. wherein for each candidate material, determining whether to select the candidate material for validation through computational simulation based on both: (i) the predicted energy of the candidate material, and (ii) the uncertainty estimate for the predicted energy of the candidate material, comprises: determining that the candidate material should be selected for computational simulation only if:
(i) the predicted energy of the candidate material is below a first threshold; and
(ii) the uncertainty estimate for the candidate material is below a second threshold or above a third threshold.
Clause 27. The method of any one of clauses 24-26, wherein for each candidate material, generating the uncertainty estimate for the candidate material comprises: generating a respective predicted energy of the candidate material using each graph neural network in an ensemble of graph neural networks; and determining the uncertainty estimate for the candidate material based on a measure of central tendency of the predicted energies of the candidate material generated using the ensemble of graph neural networks.
Clause 28. The method of any preceding clause, wherein for each candidate material, generated the predicted energy of the candidate material comprises: for each of a plurality of scales of unit cell of the candidate material: generating graph data that represents the candidate material as a graph based on the scale of the unit cell; processing a network input that includes the graph data representing the candidate material as a graph to generate a predicted energy of the candidate material; and
determining a minimum predicted energy of the candidate material across the plurality of scales of unit cell of the candidate material.
Clause 29. The method of any preceding clause, wherein one or more candidate materials in the set of candidate materials are crystalline materials.
Clause 30. The method of any preceding clause, wherein one or more of the candidate materials in the set of candidate materials are poly crystalline materials.
Clause 31. The method of any preceding clause, wherein one or more candidate materials in the set of candidate materials are amorphous materials.
Clause 32. The method of any preceding clause, wherein one or more of the candidate materials are inorganic materials.
Clause 33. The method of any preceding clause, wherein one or more of the candidate materials are organic materials.
Clause 34. The method of any preceding clause, wherein one or more of the candidate materials are hybrid materials comprising inorganic and organic components.
Clause 35. The method of any preceding clause, wherein the set of candidate materials includes at least 1.000.000 candidate materials.
Clause 36. The method any preceding clause, wherein for each candidate material selected for validation through computational simulation, generating the simulated energy7 of the candidate material by performing the computational simulation of the candidate material comprises: generating the simulated energy of the candidate material by a density functional theory simulation.
Clause 37. The method of any preceding clause, further comprising: performing an action based at least in part on the simulated energies of the candidate materials selected for validation through computational simulation.
Clause 38. The method of clause 37, performing an action based at least in part on the simulated energies of the candidate materials selected for validation through computational simulation comprises: selecting one or more of the candidate materials for experimental validation based at least in part on simulated energies of the candidate materials; and physically synthesizing each of the candidate materials selected for experimental validation.
Clause 39. The method of clause 38, further comprising, for each of the candidate materials selected for experimental validation:
performing physical tests on a physically synthesized instance of the candidate material to determine one or more properties of the candidate material.
Clause 40. One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations of the respective method of any one of clauses 1-37.
Clause 41. A system comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations of the respective method of any one of clauses 1-37.
[0147] Particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.
[0148] What is claimed is:
Claims
1. A method comprising: obtaining data defining a set of candidate materials; generating a respective predicted energy of each candidate material in the set of candidate materials, comprising, for each candidate material: generating graph data that represents the candidate material as a graph; and processing a network input that includes the graph data representing the candidate material using a graph neural network to generate a network output that defines the predicted energy of the candidate material; selecting a proper subset of the set of candidate materials for validation through computational simulation based on the predicted energies of the candidate materials; and generating, for each candidate material selected for validation through computational simulation, a simulated energy of the candidate material by performing a computational simulation of the candidate material.
2. The method of claim 1 , wherein for each candidate material, the graph data representing the candidate material defines:
(i) a set of nodes and a respective node embedding for each node in the set of nodes; and (ii) a set of edges, wherein each edge in the set of edges connects a respective pair of nodes in the set of nodes.
3. The method of claim 2, wherein for each candidate material, the graph data representing the candidate material defines an atomic structure of the candidate material.
4. The method of claim 3, wherein for each candidate material: the data defining the candidate material defines a respective spatial position and chemical element of each atom in a unit cell of the candidate material.
5. The method of claim 4, wherein for each candidate material, the graph data representing the candidate material defines: for each atom in the unit cell of the candidate material: a node representing the atom; and a node embedding for the node representing the atom, wherein the node embedding is based on the chemical element of the atom; and
for only pairs of atoms in the unit cell of the candidate material that have spatial positions separated by less than a threshold distance: a respective edge connecting a pair of nodes in the graph that represent the pair of atoms in the unit cell of the candidate material.
6. The method of claim 5, wherein for each candidate material, processing the network input that includes the graph data representing the candidate material using the graph neural network comprises: at each relaxation iteration in a sequence of relaxation iterations: processing the graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph; updating the respective spatial position of each atom in the unit cell of the candidate material based on the force vector for the node representing the atom; updating the graph data representing the candidate material based on the updated spatial positions of the atoms in the unit cell of the candidate material; and at a last relaxation iteration in the sequence of relaxation iterations: processing the graph data representing the candidate material using the graph neural network to generate the predicted energy' of the candidate material.
7. The method of claim 6, wherein at each relaxation iteration, processing the graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph comprises: at each update iteration in a sequence of update iterations: processing the graph data representing the candidate material using one or more update neural network layers of the graph neural network to update the node embedding of each node in the graph; and at a last update iteration in the sequence of update iterations: for each node in the graph, processing the node embedding for the node using one or more force decoder neural network layers of the graph neural network to generate the force vector for the node.
8. The method of claim 7, wherein at each update iteration, processing the graph data representing the candidate material using one or more update neural network layers of the
graph neural network to update the node embedding of each node in the graph comprises, for each node in the graph: generating a combined edge embedding by combining respective edge embeddings corresponding to each edge connected to the node; generating a normalized edge embedding by normalizing the combined edge embedding by a normalization factor that is based on a measure of dispersion of a set of values that includes, for each node in the graph representing the candidate material, a value that defines a number of edges connected to the node; and processing the normalized edge embedding and the node embedding for the node to update the node embedding for the node.
9. The method of any one of claims 6-8, wherein at the last relaxation iteration, processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material comprises: generating a combined node embedding by combining the node embeddings for the nodes in the graph; and processing the combined node embedding using one or more energy decoder neural network layers of the graph neural network to generate the predicted energy7 of the candidate material.
10. The method of any one of claims 6-9, wherein the graph neural network has been trained on atomic relaxation data generated by computational simulations.
11. The method of claim 2, wherein for each candidate material, the graph data representing the candidate material defines an atomic composition of the candidate material.
12. The method of claim 11, wherein for each candidate material: the data defining the candidate material defines, for each chemical element in a set of chemical elements, a fraction of atoms in the candidate material that correspond to the chemical element.
13. The method of claim 12, wherein for each candidate material, the graph data representing the candidate material defines: for each of one or more chemical elements in the set of chemical elements:
one or more nodes representing the chemical element, wherein a number of nodes representing the chemical element is based on the fraction of atoms in the candidate material that correspond to the chemical element; and for each node representing a chemical element: a node embedding for the node that is based on the chemical element represented by the node.
14. The method of claim 13, wherein for each candidate material, the graph data representing the candidate material defines a respective edge connecting every pair of nodes.
15. The method of any one of claims 11-14, wherein processing the network input that includes the graph data representing the candidate material using the graph neural network to generate a network output that defines the predicted energy of the candidate material comprises: at each update iteration in a sequence of update iterations: processing the graph data representing the candidate material using one or more update neural network layers of the graph neural network to update the node embedding of each node in the graph; and at a last update iteration in the sequence of update iterations: processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material.
16. The method of claim 15, wherein at the last update iteration, processing the graph data representing the candidate material using the graph neural network to generate the predicted energy of the candidate material comprises: generating a combined node embedding by combining the node embeddings for the nodes in the graph; and processing the combined node embedding using one or more energy’ decoder neural network layers of the graph neural network to generate the predicted energy of the candidate material.
17. The method of any preceding claim, wherein obtaining data defining the set of candidate materials comprises:
obtaining data defining a known material, comprising data defining a respective chemical element of each atom in a unit cell of the candidate material; modifying the data defining the known material to generate data defining a candidate material, comprising: identifying a set of atoms in the unit cell of the candidate material that all correspond to a same chemical element; and for at least some but less than all of the atoms in the set of atoms that correspond to the same chemical element, substituting the chemical element of the atom for a different chemical element.
18. The method of any one of claims 5-10 or 17, further comprising, for one or more of the candidate materials in the set of candidate materials: generating a predicted ion conductivity of the candidate material.
19. The method of claim 18, wherein generating the predicted ion conductivity of the candidate material comprises: at each dynamics iteration in a sequence of dynamics iterations: processing graph data representing the candidate material using the graph neural network to generate a respective force vector for each node in the graph; updating a respective spatial position of each atom in the unit cell of the candidate material based on the force vector for the node representing the atom; and updating the graph data representing the candidate material based on the updated spatial positions of the atoms in the unit cell of the candidate material; and generating the predicted ion conductivity of the candidate material based on changes in the spatial positions of the atoms in the unit cell of the candidate material over the sequence of dynamics iterations.
20. The method of any one of claims 5-10 or 17-19, further comprising, for one or more of the candidate materials in the set of candidate materials: generating a predicted vacancy energy for the candidate material.
21. The method of claim 20, wherein generating the predicted vacancy energy' for the candidate material comprises:
generating data identifying a modified material by modifying the data defining the candidate material to remove one or more atoms from the candidate material: generating graph data that represents the modified material as a graph; processing a network input that includes the graph data representing the modified material using the graph neural network to generate a network output that defines a predicted energy of the modified material; and determining the predicted vacancy energy for the candidate material based on a difference between: (i) the predicted energy of the candidate material, and (ii) the predicted energy of the modified material.
22. The method of any preceding claim, further comprising: generating a set of training examples for training the graph neural network, comprising, for each candidate material selected for validation through computational simulation: generating a training example that comprises: (i) a training input to the graph neural network that defines the candidate material, and (ii) a target output of the graph neural network that specifies the simulated energy of the candidate material; and training the graph neural network on the set of training examples.
23. The method of claim 22. further comprising, after training the graph neural network on the set of training examples: obtaining a new set of candidate materials; generating a respective predicted energy of each candidate material in the new set of candidate materials using the graph neural network.
24. The method of any preceding claim, further comprising, for each candidate material in the set of candidate materials: generating an uncertainty estimate that quantifies an uncertainty in the predicted energy of the candidate material.
25. The method of claim 24, wherein selecting a proper subset of the set of candidate materials for validation through computational simulation comprises, for each candidate material:
determining whether to select the candidate material for validation through computational simulation based on both: (i) the predicted energy of the candidate material, and (ii) the uncertainty estimate for the predicted energy of the candidate material.
26. The method of claim 25, wherein for each candidate material, determining whether to select the candidate material for validation through computational simulation based on both: (i) the predicted energy of the candidate material, and (ii) the uncertainty estimate for the predicted energy of the candidate material, comprises: determining that the candidate material should be selected for computational simulation only if:
(i) the predicted energy of the candidate material is below a first threshold; and
(ii) the uncertainty estimate for the candidate material is below a second threshold or above a third threshold.
27. The method of any one of claims 24-26. wherein for each candidate material, generating the uncertainty estimate for the candidate material comprises: generating a respective predicted energy' of the candidate material using each graph neural network in an ensemble of graph neural networks; and determining the uncertainty estimate for the candidate material based on a measure of dispersion of the predicted energies of the candidate material generated using the ensemble of graph neural networks.
28. The method of any preceding claim, wherein for each candidate material, generated the predicted energy of the candidate material comprises: for each of a plurality of scales of unit cell of the candidate material: generating graph data that represents the candidate material as a graph based on the scale of the unit cell; processing a network input that includes the graph data representing the candidate material as a graph to generate a predicted energy' of the candidate material; and determining a minimum predicted energy of the candidate material across the plurality of scales of unit cell of the candidate material.
29. The method of any preceding claim, wherein one or more candidate materials in the set of candidate materials are crystalline materials.
30. The method of any preceding claim, wherein one or more of the candidate materials in the set of candidate materials are poly crystalline materials.
31. The method of any preceding claim, wherein one or more candidate materials in the set of candidate materials are amorphous materials.
32. The method of any preceding claim, wherein one or more of the candidate materials are inorganic materials.
33. The method of any preceding claim, wherein one or more of the candidate materials are organic materials.
34. The method of any preceding claim, wherein one or more of the candidate materials are hybrid materials comprising inorganic and organic components.
35. The method of any preceding claim, wherein the set of candidate materials includes at least 1,000,000 candidate materials.
36. The method any preceding claim, wherein for each candidate material selected for validation through computational simulation, generating the simulated energy of the candidate material by performing the computational simulation of the candidate material comprises: generating the simulated energy of the candidate material by a density functional theory simulation.
37. The method of any preceding claim, further comprising: performing an action based at least in part on the simulated energies of the candidate materials selected for validation through computational simulation.
38. The method of claim 37, performing an action based at least in part on the simulated energies of the candidate materials selected for validation through computational simulation comprises:
selecting one or more of the candidate materials for experimental validation based at least in part on simulated energies of the candidate materials; and physically synthesizing each of the candidate materials selected for experimental validation.
39. The method of claim 38, further comprising, for each of the candidate materials selected for experimental validation: performing physical tests on a physically synthesized instance of the candidate material to determine one or more properties of the candidate material.
40. One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations of the respective method of any one of claims 1-37.
41. A system comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations of the respective method of any one of claims 1-37.
42. A method of manufacturing a stable crystal comprising: generating a simulated energy for a plurality of candidate materials using the method of any one of claims 1-37; selecting a candidate material based upon a stability of the candidate material indicated by the simulated energy; and physically synthesizing a crystal of the candidate material.
43. The method of claim 42, wherein the crystal is an inorganic crystal.
44. The method of claim 42 or 43, wherein selecting a candidate material is based upon an energy threshold.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363488281P | 2023-03-03 | 2023-03-03 | |
| US202363497364P | 2023-04-20 | 2023-04-20 | |
| PCT/US2024/018123 WO2024186650A1 (en) | 2023-03-03 | 2024-03-01 | Discovering novel materials using graph neural networks |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4655790A1 true EP4655790A1 (en) | 2025-12-03 |
Family
ID=90458071
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24713887.8A Pending EP4655790A1 (en) | 2023-03-03 | 2024-03-01 | Discovering novel materials using graph neural networks |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4655790A1 (en) |
| CN (1) | CN120731462A (en) |
| WO (1) | WO2024186650A1 (en) |
-
2024
- 2024-03-01 CN CN202480016265.2A patent/CN120731462A/en active Pending
- 2024-03-01 EP EP24713887.8A patent/EP4655790A1/en active Pending
- 2024-03-01 WO PCT/US2024/018123 patent/WO2024186650A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024186650A1 (en) | 2024-09-12 |
| CN120731462A (en) | 2025-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12190236B2 (en) | Predicting properties of materials from physical material structures | |
| Kadupitiya et al. | Machine learning surrogates for molecular dynamics simulations of soft materials | |
| US20210334624A1 (en) | Neural architecture search using a performance prediction neural network | |
| US20240153595A1 (en) | System and method for performing accelerated molecular dynamics computer simulations with uncertainty-aware neural network | |
| Bellot et al. | NetBenchmark: a bioconductor package for reproducible benchmarks of gene regulatory network inference | |
| Haasdonk et al. | A new certified hierarchical and adaptive RB-ML-ROM surrogate model for parametrized PDEs | |
| Hughes et al. | A FFLUX water model: Flexible, polarizable and with a multipolar description of electrostatics | |
| Sikorski et al. | Machine learned interatomic potential for dispersion strengthened plasma facing components | |
| Zeng et al. | A nearsighted force-training approach to systematically generate training data for the machine learning of large atomic structures | |
| Shin et al. | Deep material network via a quilting strategy: visualization for explainability and recursive training for improved accuracy | |
| EP3994620A1 (en) | Antisymmetric neural networks | |
| WO2024037098A1 (en) | Artificial intelligence-based molecular processing method and apparatus, electronic device, computer-readable storage medium, and computer program product | |
| CN114218869B (en) | Data processing method, device, model training method and free energy prediction method | |
| Shields et al. | Advances in simulation-based uncertainty quantification and reliability analysis | |
| EP4655790A1 (en) | Discovering novel materials using graph neural networks | |
| Larsen et al. | A simulated annealing algorithm for maximum common edge subgraph detection in biological networks | |
| Rojek et al. | Chemical mixing simulations with integrated AI accelerator | |
| Zhang et al. | PackDock: a Diffusion Based Side Chain Packing Model for Flexible Protein-Ligand Docking | |
| US20260057143A1 (en) | Autoencoder-based machine-learned interatomic potentials for scalable, augmented hamiltonians | |
| US20260057146A1 (en) | Charge-transfer-based machine-learned interatomic potentials for scalable, augmented hamiltonians | |
| WO2025072947A1 (en) | Discovering novel meta-stable materials using neural networks | |
| Schimunek et al. | Few-Shot Learning in Drug Discovery | |
| US20260086511A1 (en) | Fast attention mechanisms for physical systems | |
| US20260066056A1 (en) | Machine learning interatomic potential shell simulation methods | |
| WO2025072762A1 (en) | Predicting structures of substances using diffusion models |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250827 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |