Patent Description:
A neural network refers to a computational architecture that models a biological brain. With the advanced neural network technologies, various types of electronic systems have analyzed input data and generated optimized information by using neural networks.

In recent years, extensive research has been conducted into methods of selecting chemical structures to be used in material development by evaluating properties of the chemical structures using neural network technologies. Particularly, there is a need to develop methods of generating new chemical structures satisfying a variety of requirements by using neural network technologies.

Document<NPL>, discloses a method of generating a chemical structure by using a neural network, inputting SMILES code of a chemical structure.

The invention is defined in the appended independent claims <NUM> and <NUM>. Preferred embodiments of the invention are set out in the appended dependent claims. Embodiments of the disclosure relate to methods and apparatuses for generating a chemical structure using a neural network. Also, provided are computer-readable recording media including a program, which, when executed by a computer, performs the methods. The technical problems to be solved are not limited to these as described, but there may be other technical problems.

According to an aspect of an embodiment, there is provided a method of generating a chemical structure according to claim <NUM>.

The determining of the expression region may include determining the expression region for expressing the property in the descriptor by a deep (trained) neural network performing an interpretation process to determine whether the property value is expressed by the partial structure in the chemical structure.

The determining of the expression region includes determining the expression region for expressing the property in the descriptor by applying a layer-wise relevance propagation (LRP) technique to the trained neural network, wherein an activation function applied to a node of the trained neural network may be designated as a linear function to apply the LRP technique to the trained neural network, and a mean square error (MSE) may be designated for optimization.

The generating of the new chemical structure may include: obtaining a bit value of the bit position of the expression region in the descriptor; and generating the new chemical structure by applying a genetics algorithm to the bit value of the bit position and modifying the partial structure corresponding to the expression region.

The generating of the new chemical structure includes generating a new first chemical structure by modifying the partial structure in the chemical structure, the partial structure corresponding to the expression region; inputting a descriptor for the new first chemical structure to the trained neural network to output a property value of a particular property for the new first chemical structure; and generating a new second chemical structure by changing a partial structure in the new first chemical structure, the partial structure corresponding to the expression region, when the property value of the particular property for the new first chemical structure is less than a preset value, and storing the new first chemical structure when the property value of the particular property for the new first chemical structure is equal to or greater than the preset value.

According to an aspect of an embodiment, there is provided a neural network apparatus configured to generate a chemical structure according to claim <NUM>.

The determining of the expression region may include determining the expression region for expressing the property in the image by the trained neural network performing an interpretation process to determine whether the property value is expressed by the partial structure in the chemical structure.

The determining of the expression region includes determining the expression region for expressing the property in the image by applying a layer-wise relevance propagation (LRP) technique to the trained neural network, wherein an activation function applied to a node of the trained neural network may be designated as a linear function to apply the LRP technique to the trained neural network, and a mean square error (MSE) may be designated for optimization.

The generating of the new chemical structure includes obtaining pixel values of the one or more pixels of the expression region in the image; and may include generating the new chemical structure by applying Gaussian noise to the pixel values of the one or more pixels and modifying the partial structure corresponding to the expression region.

The generating of the new chemical structure may include: when a plurality of expression regions expressing the particular property in the image are present, obtaining coordinate information in the image corresponding to the plurality of expression regions; calculating a center point in the image of the plurality of expression regions based on the coordinate information and obtaining a pixel value of the center point; and generating the new chemical structure by applying Gaussian noise to the pixel value and modifying the partial structure corresponding to the center point.

The generating of the new chemical structure includes generating a new first chemical structure by modifying the partial structure in the chemical structure, the partial structure corresponding to the expression region; inputting an image for the new first chemical structure to the trained neural network to output a property value of a particular property for the new first chemical structure; and generating a new second chemical structure by changing a partial structure in the new first chemical structure, the partial structure corresponding to the expression region, when the property value of the particular property for the new first chemical structure is less than a preset value, and storing the new first chemical structure when the property value of the particular property for the new first chemical structure is equal to or greater than the preset value.

Expressions such as "at least one of," when preceding a list of elements, modify the entire list of elements and do not modify the individual elements of the list such that expressions of or similar to "at least one of a, b, and c" include: only a, only b, only c, only a and b, only b and c, only a and c, and all of a, b, and c.

The terms "according to some embodiments" or "according to an embodiment" used throughout the specification do not necessarily indicate the same embodiment.

Some embodiments of the disclosure may be represented by functional block configurations and various processing operations. Some or all of these functional blocks may be implemented using various numbers of hardware and/or software components that perform particular functions. For example, the functional blocks of the disclosure may be implemented using one or more microprocessors or circuits executing instructions to perform a given function. Also, for example, the functional blocks of the disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented with algorithms executed by one or more processors. The disclosure may also employ conventional techniques for electronic configuration, signal processing, and/or data processing. The terms "mechanism", "element", "unit" and "configuration" may be used in a broad sense and are not limited to mechanical and physical configurations.

Also, connection lines or connection members between the components illustrated in the drawings are merely illustrative of functional connections and/or physical or circuit connections. In actual devices, connections between the components may be represented by various functional connections, physical connections, or circuit connections that may be replaced or added.

Meanwhile, with respect to the terms used herein, a descriptor that is data used in a neural network system refers to an indicator value used to describe structural characteristics of a chemical structure and may be acquired by performing a relatively simple computation on a given chemical structure. A descriptor may include a molecular structure fingerprint indicating whether a particular partial structure is included (e.g., Morgan fingerprint and extended connectivity fingerprint (ECFP)). Also, the descriptor may be a quantitative structure-property relationship (QSPR) model configured with a value that may be immediately calculated from a given chemical structure, for example, a molecular weight or the number of partial structures (e.g., rings) included in a molecular structure.

In addition, a property refers to a characteristic possessed by a chemical structure and may be a real number value measured by an experiment or calculated by a simulation. For example, when the chemical structure is used as a display material, the property of the chemical structure may be expressed by a transmission wavelength, an emission wavelength, or the like with respect to light. When the chemical structure is used as a battery material, the property of the chemical structure may be a voltage. Unlike the descriptor, calculation of the property may require complex simulations that necessitate additional calculation and computation beyond similar simulations for the descriptor.

Also, a structure refers to an atomic level structure of a chemical structure. In order to derive a property by performing First Principles Calculation, the structure is required to be expressed at an atomic level. Thus, an atomic level structure needs to be derived to generate a novel chemical structure. The structure may be a structural formula based on atomic bonding relationships or a character string in a simple format (one-dimensional). The format of the character string expressing the structure may be a Simplified Molecular-input Line-entry System (SMILES) code, a Smiles Arbitrary Target Specification (SMARTS) code, an International Chemical Identifier (InChi) code, or the like.

In addition, a factor refers to an element defining the relationships among the descriptor, the property, and the structure. The factor may be determined by machine learning based on a descriptor-property-structural formula stored in a database. Thus, how relationships between the factor, the descriptor, the property, and the structural formula may be determined.

<FIG> is a block diagram illustrating a hardware configuration of a neural network apparatus <NUM> according to an embodiment.

The neural network apparatus <NUM> may be implemented using various types of devices such as a personal computer (PC), a server, a mobile device, and an embedded device. Examples of the neural network apparatus <NUM> may include, but are not limited to, a smartphone, a tablet device, an augmented reality (AR) device, an Internet of Things (IoT) device, an autonomous vehicle, a robot, a medical device, and the like which perform speech recognition, image recognition, image classification, and the like using a neural network. Furthermore, the neural network apparatus <NUM> may be a dedicated hardware (HW) accelerator mounted on, connected to, or installed in the devices described above. The neural network apparatus <NUM> may be a hardware accelerator such as a neural processing unit (NPU), a tensor processing unit (TPU), or a neural engine, which are dedicated modules for driving a neural network, but is not limited thereto.

Referring to <FIG>, the neural network apparatus <NUM> includes a processor <NUM> and a memory <NUM>. <FIG> only illustrates components of the neural network apparatus <NUM> related to the embodiments of the disclosure. Thus, it is apparent to those skilled in the art that the neural network apparatus <NUM> may further include any other general-purpose components in addition to the components shown in <FIG>.

The processor <NUM> controls the overall function for driving the neural network apparatus <NUM>. For example, the processor <NUM> controls the overall operation of the neural network apparatus <NUM> by executing programs stored in the memory <NUM> of the neural network apparatus <NUM>. The processor <NUM> may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), or the like provided in the neural network apparatus <NUM>, but is not limited thereto.

The memory <NUM> is a hardware component that stores a variety of data processed in the neural network apparatus <NUM>. For example, the memory <NUM> may store data processed and to be processed by the neural network apparatus <NUM>. The memory <NUM> may also store applications, drivers, and the like to be executed by the processor <NUM> of the neural network apparatus <NUM>. The memory <NUM> may include random access memory (RAM) such as dynamic random access memory (DRAM) and static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), a CD-ROM, Blue-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or a flash memory.

The memory <NUM> may store a descriptor for a chemical structure and a property value numerically representing the property of the chemical structure, which match each other as one set or pair. The neural network apparatus <NUM> may read the descriptor and the property value corresponding thereto from the memory <NUM> or write the descriptor and the property value corresponding thereto in the memory <NUM>.

The descriptor may include a plurality of bit values and the property value may be a value for a transmission wavelength, an emission wavelength, a voltage, or the like.

Although not shown in <FIG>, the memory <NUM> may store an image for a chemical structure and a property value numerically representing the property of the chemical structure, which are associated with each other as one set or pair. In an embodiment, the image may include n X m pixels (where n and m are natural numbers). Hereinafter, the description of the descriptor applies equally to a case where the descriptor is replaced with the image.

The memory <NUM> may store a structure characteristic value representing a chemical structure and a descriptor and a property value, which match the structure characteristic value as one set or pair. The structure characteristic value may be a SMILES code or a SMARTS code, as a string format that expresses a chemical structure.

The processor <NUM> may execute instructions to implement an artificial neural network (ANN), such as a deep neural network (DNN) and a recurrent neural network (RNN).

The processor <NUM> may allow the DNN to learn by using a descriptor and a property value corresponding to the descriptor and may determine a factor defining the relationship between the descriptor and the property value in this process. Then, the processor <NUM> may output a property value corresponding to a new descriptor as output data by driving the trained DNN by using, as input data, the new descriptor not used in the learning process of the DNN.

The processor <NUM> may allow the RNN to learn by using a descriptor and a structure characteristic value and may determine a factor defining the relationship between the descriptor and the structure characteristic value in this process. Then, the processor <NUM> may output a structure characteristic value corresponding to a new descriptor as output data by driving the trained RNN by using, as input data, the new descriptor not used in the learning process of the RNN.

The neural network apparatus <NUM> may further include a user interface. The user interface refers to a device or software used to input data to control the neural network apparatus <NUM>. Examples of the user interface may include, but are not limited to, a key pad, a dome switch, a touch pad (e.g., capacitive overlay type, resistive overlay type, infrared beam type, surface acoustic wave type, integral strain gauge type, and piezo electric type), a jog wheel, and a jog switch, along with a graphical user interface (GUI) that may be displayed for receiving user input.

<FIG> is a diagram illustrating a computation performed by a DNN according to an embodiment.

Referring to <FIG>, a DNN <NUM> may have a structure including an input layer, hidden layers, and an output layer, perform a computation based on received input data (e.g., I<NUM> and I<NUM>), and generate output data (e.g., O<NUM> and O<NUM>) based on a computation result.

For example, as illustrated in <FIG>, the DNN <NUM> may include an input layer (Layer <NUM>), two hidden layers (Layer <NUM> and Layer <NUM>), and an output layer (Layer <NUM>). Because the DNN <NUM> may include many layers to process valid information, the DNN <NUM> may process complex data compared to a neural network including a single layer. Meanwhile, although the DNN <NUM> illustrated in <FIG> includes <NUM> layers, the DNN <NUM> is only an example and may also include more or fewer layers and more or fewer channels than those illustrated therein. That is, the DNN <NUM> may have various structures of layers different from that illustrated in <FIG>.

Each of the layers included in the DNN <NUM> may have a plurality of channels. The channels may respectively correspond to a plurality of artificial nodes known as neurons, processing elements (PEs), units, or similar terms. For example, as illustrated in <FIG>, Layer <NUM> may include two channels (nodes), and Layers <NUM> and <NUM> may include three channels respectively. However, the layers are only examples and each of the layers included in the DNN <NUM> may have various numbers of channels (nodes) and interconnections to other nodes.

The channels included in each of the layers of the DNN <NUM> may be interconnected to process data. For example, a channel may perform a computation of data received from channels of one layer and output a computation result to channels of another layer.

Input and output of each channel may be referred to as input activation and output activation. That is, activation may be not only an output of one channel but also a parameter corresponding to an input of channels included in a successive layer. Meanwhile, each of the channels may determine an activation thereof based on activations and weights received from channels included in a previous layer. The weight is a parameter used to calculate the output activation of each channel and may be a value assigned to the relationship between channels.

Each of the channels may be processed by a computational unit or a processing element that receives an input and generates an output activation. The input-output of each channel may be mapped. For example, when σ is an activation function, <MAT> is a weight from a kth channel included in an (i-<NUM>)th layer to a jth channel included in an ith layer, <MAT> is a bias of the jth channel included in the ith layer, and <MAT> is an activation of the jth channel of the ith layer, an activation <MAT> may be calculated using Equation <NUM> below.

As illustrated in <FIG>, an activation of a first channel CH1 of a second layer Layer <NUM> may be expressed as <MAT>. In addition, <MAT> may have a value of <MAT> according to Equation <NUM>. In Equation <NUM>, σ denotes an activation function such as Relu, sigmoid, and tanh. As a result, the activation of a particular channel in a particular layer may denote a result obtained by passing a value of <MAT> through the activation function.

However, the above-described Equation <NUM> is only an example for describing the activation and the weight used to process data in the DNN <NUM> and the embodiment is not limited thereto.

The neural network apparatus <NUM> may allow the DNN <NUM> to learn by using a descriptor (or image) and a property value, stored in a memory. The DNN <NUM> may determine a factor defining the relationship between a descriptor (or image) and a property value in a learning process using the descriptor and the property value.

That is, among Layers <NUM> to <NUM> constituting the DNN <NUM>, the descriptor (or image) may correspond to the values of a plurality of channels (nodes) of the input layer (Layer <NUM>), the property value may correspond to the values of a plurality of channels (nodes) of the output layer (Layer <NUM>), and the factor may correspond to the values of a plurality of channels (nodes) of at least one hidden layer (Layers <NUM> and/or <NUM>).

Then, the trained DNN <NUM> may be driven by receiving a new descriptor (or new image) as input data and thus may output a property value corresponding to the received new descriptor (or new image) as output data.

<FIG> is a diagram illustrating a computation performed by an RNN according to an embodiment.

Hereinafter, descriptions given above with reference to <FIG> will not be repeated for descriptive convenience.

An RNN <NUM> is a neural network that analyzes data changing with time such as time-series data and constructed by connecting a network between a reference time point t and a next time point t+<NUM>. That is, the RNN <NUM> is a neural network in which a temporal aspect is considered and capable of effectively learning a pattern from data sequentially input or data input with a sequence of features by modifying a model to allow a recursive input to a hidden layer of the neural network.

Referring to <FIG>, a node s constituting a hidden layer of the RNN <NUM> is illustrated. The node s may perform a computation based on input data x and generate output data o. The RNN <NUM> may iteratively apply the same task to all sequences and a final output result of the node s is affected by a result of a previous calculation.

An RNN <NUM> is an unfolded RNN <NUM> with a loop. The term "unfold" with respect to the RNN <NUM> refers to expressing the RNN <NUM> for the entire sequence. In the RNN <NUM>, xt is an input value at a time step t, and st is a hidden state at the time step t. The term st may be expressed by Equation <NUM> below. In Equation <NUM>, a tanh or Relu function may be used as function f. The term s-<NUM> to calculate a first hidden state may generally be initialized to <NUM>. In addition, in the RNN <NUM>, ot is an output value at the time step t.

Here, st is a memory portion of the network and stores information on events at previous time steps. The output value ot depends only on the memory of the current time step t.

Meanwhile, unlike the existing neural network structure in which the parameters are different from each other, the RNN <NUM> shares the parameters U, V, and W for all time steps. That is, because each step of the RNN <NUM> performs almost the same calculation except for an input value, the number of parameters to be learned may be reduced.

In an embodiment, the neural network apparatus <NUM> may allow the RNN <NUM> to learn by using a descriptor (or image) and a property value, stored in a memory. Alternatively, the neural network apparatus <NUM> may allow the RNN <NUM> to learn by using a factor and a property value, determined in a learning process of the DNN <NUM>.

For example, when W of the RNN <NUM> is a factor determined in a learning process of the DNN <NUM> and a structure characteristic value represented by a SMILES code is "ABCD", Ot-<NUM> and xt may be "ABC", and Ot and xt+<NUM> may be "BCD". Then, a SMILES code in each time step may be aggregated to output one SMILES code "ABCDEFG", i.e., a structure characteristic value, as output data.

Then, the trained RNN <NUM> may be driven by receiving a new descriptor (or new image) as input data and thus may output a structure characteristic value corresponding to the received new descriptor (or new image) as output data. Alternatively, the trained RNN <NUM> may be driven by receiving a factor for a new descriptor (or new image) as input data and thus may output a structure characteristic value corresponding to the new descriptor (or new image) as output data.

<FIG> is a conceptual diagram illustrating a neural network system for generating a chemical structure.

Referring to <FIG>, a neural network system configured to generate a chemical structure by using a DNN <NUM> and an RNN <NUM> is illustrated.

A descriptor that is data used in the neural network system may be represented by an ECFP as an indicator value used to represent structural characteristics of a chemical structure. A property refers to a characteristic possessed by a chemical structure and may be a real number value indicating a transmission wavelength and an emission wavelength with respect to light. A structure refers to an atomic level structure of a chemical structure and may be represented by a SMILES code. For example, a structural formula may be expressed according to a SMILES code, as shown in Equation <NUM> below.

The factor is an element defining the relationships among the descriptor, the property, and the structure. The factor may be at least one hidden layer. When the factor includes a plurality of hidden layers, a factor defining the relationship between the descriptor and the property, a factor defining the relationship between the descriptor and the structure, and the like may be determined for each hidden layer.

The DNN <NUM> may be driven by receiving a descriptor as input data and output a property value corresponding to the received descriptor as output data. In a learning process using a descriptor and a property value, the DNN <NUM> may determine a factor defining the relationship between the descriptor and the property value. The RNN <NUM> may be driven by receiving a descriptor or a factor determined in a learning process of the DNN <NUM> as input data and output a structure characteristic value as output data.

<FIG> is a diagram illustrating a method of representing a chemical structure <NUM>.

Referring to <FIG>, the chemical structure <NUM> represents the shape of a molecule formed by a combination of atoms. The chemical structure <NUM> may be represented by the position of an atom, the distance between atoms, the strength of an atomic bond, and the like.

The chemical structure <NUM> may be represented by a descriptor <NUM> including a plurality of bit values (<NUM> or <NUM>). It may be determined whether the chemical structure <NUM> includes a particular partial structure, through the descriptor <NUM>.

The chemical structure <NUM> is represented as an image <NUM> having a certain size. The image <NUM> may include three channels (red, green, and blue (RGB)) of n x m pixels (where n and m are natural numbers). In the image, <NUM> bits, i.e., a value from <NUM> (black) to <NUM> (white), may be assigned to each pixel of the image <NUM>. For example, bright red may be synthesized with an R channel value of <NUM>, a G channel value of <NUM>, and a B channel value of <NUM>, and when all channel values are <NUM>, white is synthesized.

Hereinafter, for convenience of description, a method in which the chemical structure <NUM> is displayed as an image <NUM> by using one channel will be described.

Atoms constituting the chemical structure <NUM> may be displayed in colors that are distinct from each other on the image <NUM>. The chemical structure <NUM> may include carbon (C), nitrogen (N), and oxygen (O), and on the image <NUM>, the carbon (C) may be displayed in black, the nitrogen (N) may be displayed in blue, and the oxygen (O) may be displayed in red.

Referring to <FIG>, on the image <NUM> including 6x6 pixels, the value of a pixel at which the carbon (C) of the chemical structure <NUM> is located may be '<NUM>', the value of a pixel at which the nitrogen (N) is located may be '<NUM>', and the value of a pixel at which the oxygen (O) is located may be '<NUM>'. The value of a pixel where no atom is present may be '<NUM>'.

The color type in which a certain atom is displayed on the image <NUM>, the number of pixels constituting the image <NUM>, and the like are not limited to the above example.

The descriptor <NUM> or the image <NUM> for the chemical structure <NUM> may be used as input data of a neural network, and a particular property value for the chemical structure <NUM> may be output as output data of the neural network.

<FIG> is a diagram illustrating a method of interpreting a neural network, according to an embodiment.

The neural network apparatus <NUM> may obtain a descriptor or image for a reference chemical structure to output a particular property value for the reference chemical structure. The descriptor may include a plurality of bit values, and the image may include n x m pixels (where n and m are natural numbers).

The neural network apparatus <NUM> may input the descriptor or image for the reference chemical structure to the trained neural network as input data and drive the neural network, through an inference process <NUM>, to obtain a particular property value for the reference chemical structure as output data of the neural network.

In this case, the neural network apparatus <NUM> may perform an interpretation process <NUM> to determine whether a particular property value is expressed by a partial structure in the reference chemical structure.

Referring to <FIG>, the neural network apparatus <NUM> interprets a trained neural network by using a Layer-wise Relevance Propagation (LRP) technique. The LRP technique is a method of propagating relevance in a reverse direction (i.e., a direction from an output layer to an input layer) of the trained neural network. In the LRP technique, when the relevance is propagated between layers, a node having the greatest relevance to an upper layer among a plurality of nodes of a lower layer obtains the greatest relevance from the corresponding node of the upper layer.

A method of calculating relevance in the LRP technique may be expressed by Equation <NUM>. In Equation <NUM>, ai and aj are an output value to be determined in a particular node of an ith layer and an output value to be determined in a particular node of a jth layer, respectively. w+ij is a weight value that connects the particular node of the ith layer to the particular node of the jth layer. Ri and Rj denote the relevance of the particular node of the ith layer and the relevance of the particular node of the jth layer, respectively.

In an embodiment, for the application of the LRP technique, the neural network apparatus <NUM> may designate an activation function, applied to a node of a trained neural network, as a linear function by using a regression analysis method, and may designate Mean Square Error (MSE) for optimization. Specifically, in the regression analysis method, because a final output value may include several integer values, the neural network may be trained by designating an activation function of an output node as a linear function. In order to implement the regression analysis method, a loss function may be designated as MSE in a neural network learning process.

However, the technique that may be used in the interpretation process <NUM> to determine whether a particular property value is expressed by any partial structure in the reference chemical structure is not limited to the example described above.

When the input data of the neural network is a descriptor for the reference chemical structure, a plurality of nodes of the input layer may respectively correspond to bit values constituting the descriptor. The neural network apparatus <NUM> may obtain a node of the input layer (i.e., a bit position of the descriptor), which has the greatest relevance to the expression of a particular property value of the reference chemical structure, through the interpretation process <NUM>. Because the bit position of the descriptor corresponds to a particular partial structure in the reference chemical structure, the neural network apparatus <NUM> may determine a particular partial structure, which has the greatest relevance to the expression of a particular property value of the reference chemical structure, by obtaining the bit position of the descriptor through the interpretation process <NUM>.

Since the input data of the neural network is an image for the reference chemical structure, the plurality of nodes of the input layer respectively corresponds to pixel values constituting the image. The neural network apparatus <NUM> may obtain a node of the input layer (i.e., pixel coordinates of the image), which has the greatest relevance to the expression of a particular property value of the reference chemical structure, through the interpretation process <NUM>. Because the pixel coordinates of the image corresponds to a particular partial structure in the reference chemical structure, the neural network apparatus <NUM> may determine a particular partial structure, which has the greatest relevance to the expression of a particular property value of the reference chemical structure, by obtaining the pixel coordinates of the image through the interpretation process <NUM>.

Hereinafter, the bit position of the descriptor and the pixel coordinates of the image, which have the greatest relevance to the expression of a particular property value of the reference chemical structure, will be referred to as an expression region.

<FIG> is a diagram illustrating an example not covered by the claims of changing an expression region of a descriptor to generate a new chemical structure.

Referring to <FIG>, a descriptor <NUM> of a reference chemical structure <NUM> may be '<NUM>'. The neural network apparatus <NUM> may sequentially input bit values constituting the descriptor <NUM> respectively to nodes of an input layer of the neural network (e.g., DNN) and output a property value (i.e., an 'emission wavelength: <NUM>') for the reference chemical structure <NUM>.

The neural network apparatus <NUM> may obtain a node of the input layer (i.e., an expression region <NUM> of the descriptor <NUM>), which has the greatest relevance to the expression of a wavelength value of the reference chemical structure <NUM>. The expression region <NUM> of the descriptor <NUM> may correspond to a particular position <NUM> in the reference chemical structure <NUM>. In <FIG>, the expression region <NUM> corresponds to one bit value. However, the expression region <NUM> may correspond to a plurality of consecutive bit values, and a plurality of expression regions may be in the descriptor <NUM>.

The neural network apparatus <NUM> may change a bit value of the expression region <NUM> to improve the property of the reference chemical structure <NUM>. The structure of the particular position <NUM> may be changed as the bit value of the expression region <NUM> is changed. As a method of changing the bit value of the expression region <NUM>, a genetics algorithm may be used, and the details thereof will be described later with reference to <FIG>. The neural network apparatus <NUM> may change the bit value of the expression region <NUM> and/or a bit value around the expression region <NUM>.

The neural network apparatus <NUM> may change the bit value of the expression region <NUM> and output a new descriptor <NUM>. Referring to <FIG>, as a bit value '<NUM>' of the expression region <NUM> in the new descriptor <NUM> is changed to '<NUM>', the neural network apparatus <NUM> may apply a new partial structure <NUM> corresponding to the bit value '<NUM>' to the particular position <NUM> and generate a new chemical structure <NUM> to which the new partial structure <NUM> is applied.

In connection with a method of generating the new chemical structure <NUM>, the neural network apparatus <NUM> may input the new descriptor <NUM> as input data of a neural network (e.g., RNN) and output a structure characteristic value as output data, and may generate the new chemical structure <NUM> based on the output structure characteristic value.

The neural network apparatus <NUM> may input the descriptor <NUM> of the new chemical structure <NUM> into the neural network and output a property value (i.e., `emission wavelength: <NUM>') corresponding to the descriptor <NUM> input into the neural network. That is, the neural network apparatus <NUM> may improve a property by changing a partial structure of the reference chemical structure <NUM> and generating the new chemical structure <NUM>.

The neural network apparatus <NUM> may repeatedly generate a chemical structure through the above-described process until a chemical structure having a property value close to a preset value (e.g., 'emission wavelength: <NUM>') is generated.

Specifically, the neural network apparatus <NUM> may compare a property value (e.g., `emission wavelength: <NUM>') for the new chemical structure <NUM> to a preset value (e.g., `emission wavelength: <NUM>') and generate a new chemical structure by changing the bit value of the expression region <NUM> of the descriptor <NUM> when the property value for the new chemical structure <NUM> is less than the preset value.

When the property value for the new chemical structure generated through the above-described process is equal to or greater than the preset value, the neural network apparatus <NUM> may store the generated new chemical structure in a memory.

<FIG> is a diagram illustrating an example of changing a partial structure by changing a bit value of a descriptor according to an embodiment.

The neural network apparatus <NUM> may apply a genetics algorithm to a bit value constituting a descriptor of a reference chemical structure and perform a selection, intersection, or mutation operation on the bit value.

The neural network apparatus <NUM> may change the descriptor of the reference chemical structure by applying the genetics algorithm to the bit value constituting the descriptor of the reference chemical structure. As the descriptor of the reference chemical structure is changed or modified, a partial structure in the reference chemical structure may be mutated, removed, or replaced, or a partial structure may be added to the reference chemical structure.

Referring to <FIG>, the neural network apparatus <NUM> may mutate the partial structure in the reference chemical structure by applying the genetics algorithm to the bit value constituting the descriptor of the reference chemical structure. For example, the neural network apparatus <NUM> may change carbon (C) in a first position <NUM> in the reference chemical structure to nitrogen (N). Alternatively, the neural network apparatus <NUM> may change adjacent atoms <NUM> and <NUM> combined with an atom in the first position <NUM> to other atoms.

In addition, the neural network apparatus <NUM> may add a partial structure to the reference chemical structure by applying the genetics algorithm to the bit value constituting the descriptor of the reference chemical structure. For example, the neural network apparatus <NUM> may add a partial structure <NUM> to be connected to an atom in a second position <NUM> in the reference chemical structure. Alternatively, the neural network apparatus <NUM> may add a partial structure to be connected to adjacent atoms <NUM> and <NUM> combined with an atom in the second position <NUM>. Alternatively, the neural network apparatus <NUM> may add a partial structure <NUM> in the form of a condensed ring, connected to both an atom in the second position <NUM> and an adjacent atom <NUM> combined with the atom in the second position <NUM>.

In addition, the neural network apparatus <NUM> may remove a partial structure in the reference chemical structure by applying the genetics algorithm to the bit value constituting the descriptor of the reference chemical structure. For example, the neural network apparatus <NUM> may remove a partial structure <NUM> connected to an atom in a third position <NUM> in the reference chemical structure. Alternatively, the neural network apparatus <NUM> may change a ring structure by removing an atom in the third position <NUM>.

In addition, the neural network apparatus <NUM> may replace a partial structure in the reference chemical structure by applying the genetics algorithm to the bit value constituting the descriptor of the reference chemical structure. For example, the neural network apparatus <NUM> may change a ring structure of the fourth position <NUM> in the reference chemical structure to a new partial structure <NUM> or <NUM>.

However, the example of changing a partial structure by changing the bit value of the descriptor is not limited to the above descriptions.

<FIG> is a diagram illustrating an example of changing a partial structure by changing a pixel value of an image according to an embodiment.

Referring to <FIG>, an image <NUM> of a reference chemical structure <NUM> may include 6x6 pixels. Atoms constituting the reference chemical structure <NUM> may be displayed in colors that are distinct from each other on the image <NUM>. The reference chemical structure <NUM> may include carbon (C), nitrogen (N), and oxygen (O), and on the image <NUM>, the carbon (C) may be displayed in black, the nitrogen (N) may be displayed in blue, and the oxygen (O) may be displayed in red. On the image <NUM>, the value of a pixel at which the carbon (C) is located may be '<NUM>', the value of a pixel at which the nitrogen (N) is located may be '<NUM>', and the value of a pixel at which the oxygen (O) is located may be '<NUM>'.

The neural network apparatus <NUM> may sequentially input pixel values constituting the image <NUM> respectively to nodes of an input layer of a neural network (e.g., DNN) and thus may output a property value (i.e., an 'emission wavelength: <NUM>') for the reference chemical structure <NUM>.

The neural network apparatus <NUM> may obtain a node of the input layer (i.e., an expression region <NUM> of the image <NUM>) which has the greatest relevance to the expression of a wavelength value of the reference chemical structure <NUM>. The expression region <NUM> of the image <NUM> may correspond to a particular position <NUM> in the reference chemical structure <NUM>. In <FIG>, the expression region <NUM> corresponds to one pixel value. However, the expression region <NUM> may correspond to a plurality of adjacent pixel values, and a plurality of expression regions may be provided in the image <NUM>.

The neural network apparatus <NUM> may change a pixel value of the expression region <NUM> and/or a pixel value around the expression region <NUM> to improve the property of the reference chemical structure <NUM>. The structure of the particular position <NUM> may be changed as the pixel value of the expression region <NUM> and/or the pixel value around the expression region <NUM> are changed. In an embodiment, the pixel value of the expression region <NUM> and/or the pixel values around the expression region <NUM> may be changed by using Gaussian noise. Gaussian noise refers to a noise of which a distribution function of an arbitrary order is represented by a normal distribution.

The neural network apparatus <NUM> may change the pixel value of the expression region <NUM> and/or the pixel value around the expression region <NUM> and thus output a new image <NUM>. Referring to <FIG>, as the pixel value of the expression region <NUM> and/or the pixel values around the expression region <NUM> in the new image <NUM> are changed, the neural network apparatus <NUM> may apply a new partial structure <NUM> corresponding to a changed pixel value to the particular position <NUM> and generate a new chemical structure <NUM>.

In connection with a method of generating the new chemical structure <NUM>, the neural network apparatus <NUM> may input the new image <NUM> as input data of a neural network (e.g., RNN) and output a structure characteristic value as output data, and may generate the new chemical structure <NUM> based on the output structure characteristic value.

The neural network apparatus <NUM> may input the image <NUM> of the new chemical structure <NUM> into the neural network and output a property value (i.e., `emission wavelength: <NUM>') corresponding to the image <NUM> input into the neural network. That is, the neural network apparatus <NUM> may improve a property by changing a partial structure of the reference chemical structure <NUM> and generating the new chemical structure <NUM>.

Specifically, the neural network apparatus <NUM> may compare a property value (e.g., `emission wavelength: <NUM>') for the new chemical structure <NUM> to a preset value (e.g., `emission wavelength: <NUM>') and generate a new chemical structure by changing the pixel value of the expression region <NUM> and the pixel value around the expression region <NUM> in the image <NUM> when the property value for the new chemical structure <NUM> is less than the preset value.

<FIG> is a diagram illustrating an example of changing a pixel value when there are a plurality of expression regions on an image according to an embodiment.

Referring to <FIG>, an image <NUM> of a reference chemical structure <NUM> may include 6x6 pixels. Atoms constituting the reference chemical structure <NUM> may be displayed in colors that are distinct from each other on the image <NUM>. For example, on the image <NUM>, the value of a pixel at which the carbon (C) is located may be '<NUM>', the value of a pixel at which the nitrogen (N) is located may be '<NUM>', and the value of a pixel at which the oxygen (O) is located may be '<NUM>'.

The neural network apparatus <NUM> may sequentially input pixel values constituting the image <NUM> to nodes of an input layer of a neural network (e.g., DNN) and output a property value (i.e., an 'emission wavelength: <NUM>') for the reference chemical structure <NUM>.

In an embodiment, there may be multiple nodes of an input layer that have the greatest relevance, or high relevance with respect to other nodes, to the expression of a wavelength value of the reference chemical structure <NUM>. That is, there may be a plurality of expression regions, i.e., a first expression region 1013a and a second expression region 1013b, on the image <NUM>. The first expression region 1013a and the second expression region 1013b in the image <NUM> may correspond to a first position 1011a and a second position 1011b in the reference chemical structure <NUM>, respectively. As shown in <FIG>, the second position 1011b corresponding to the second expression region 1013b may be outside the reference chemical structure <NUM>.

When there are a plurality of expression regions, i.e., the first expression region 1013a and the second expression region 1013b, on the image <NUM>, the neural network apparatus <NUM> may obtain coordinate information on the image <NUM>, which corresponds to the plurality of expression regions, i.e., the first expression region 1013a and the second expression region 1013b. For example, based on a lower left corner of the image <NUM> having the origin (<NUM>,<NUM>), the coordinate information of the first expression region 1013a may be (<NUM>, <NUM>) and the coordinate information of the second expression region 1013b may be (<NUM>, <NUM>).

The neural network apparatus <NUM> may output the coordinate information (<NUM>, <NUM>) of a center point <NUM> based on the coordinate information corresponding to the plurality of expression regions, i.e., the first expression region 1013a and the second expression region 1013b. The neural network apparatus <NUM> may change a pixel value of the center point <NUM> and/or a pixel value around the center point <NUM> to improve the property of the reference chemical structure <NUM>. As the pixel value of the center point <NUM> and/or the pixel value around the center point <NUM> are changed, the structure of a particular position <NUM> on the reference chemical structure <NUM> corresponding to the center point <NUM> may be changed. In an embodiment, the pixel value of the center point <NUM> and/or the pixel value around the center point <NUM> may be changed by using Gaussian noise.

The neural network apparatus <NUM> may change the pixel value of the center point <NUM> and/or the pixel value around the center point <NUM> and output a new image <NUM>. Referring to <FIG>, as the pixel value of the center point <NUM> and/or the pixel value around the center point <NUM> in the new image <NUM> are changed, the neural network apparatus <NUM> may apply a new partial structure <NUM> corresponding to a changed pixel value to the particular position <NUM> and generate a new chemical structure <NUM>.

<FIG> is a flowchart of a method of generating a new chemical structure by changing a descriptor for a chemical structure in a neural network apparatus.

The method of generating a chemical structure in a neural network apparatus relates to the examples described above with reference to the drawings, and thus, although omitted in the following descriptions, descriptions given above with reference to the drawings may also be applied to the method illustrated in <FIG>.

Referring to <FIG>, in operation <NUM>, the neural network apparatus may obtain a descriptor for a reference chemical structure.

The descriptor is an indicator value used to represent the structural characteristics of a chemical structure. The descriptor may be obtained by performing a relatively simple operation on a given chemical structure. The descriptor may be represented by an ECFP and may include a plurality of bit values. However, the manner of expression of the descriptor is not limited thereto.

Hereinafter, the descriptor for the reference chemical structure will be referred to as a reference descriptor.

In operation <NUM>, the neural network apparatus may input a reference descriptor into a trained neural network and output a property value of a particular property for the reference chemical structure.

The property refers to a characteristic possessed by a chemical structure and may be a real number value indicating a transmission wavelength and an emission wavelength with respect to light. Unlike the case of the descriptor, the computation of the property may require complex simulations and be time consuming.

A memory of the neural network apparatus may store a descriptor for a particular chemical structure and a property value numerically representing the property of the particular chemical structure, which match each other as one set.

The neural network apparatus may allow a neural network (e.g., DNN) to learn by using a descriptor and a property value, stored in a memory. In a learning process using the descriptor and the property value, a factor defining the relationship between the descriptor and the property value may be determined in the neural network.

The neural network apparatus may output a property value corresponding to the reference descriptor as output data of the neural network by inputting the reference descriptor as input data of the trained neural network and driving the neural network.

In operation <NUM>, the neural network apparatus may determine an expression region that expresses a particular property in the reference descriptor.

The neural network apparatus may perform an interpretation process to determine whether a particular property value is expressed by any partial structure in the reference chemical structure.

The neural network apparatus interprets the trained neural network by using an LRP technique. The LRP technique is a method of propagating relevance in a reverse direction (i.e., a direction from an output layer to an input layer) of the trained neural network. In the LRP technique, when the relevance is propagated between layers, a node having the greatest relevance to an upper layer among a plurality of nodes of a lower layer obtains the greatest relevance from the corresponding node of the upper layer.

For the application of the LRP technique, the neural network apparatus designates an activation function, applied to a node of the trained neural network, as a linear function, and designates MSE for optimization.

A plurality of nodes of the input layer of the neural network may respectively correspond to bit values constituting the descriptor. The neural network apparatus may obtain a node of the input layer, i.e., a bit position (or expression region) of the reference descriptor, which has the greatest relevance in the expression of a particular property value of the reference chemical structure, through the interpretation process. Because the expression region of the reference descriptor corresponds to a particular partial structure in the reference chemical structure, the neural network apparatus may determine a particular partial structure, which has the greatest relevance in the expression of a particular property value of the reference chemical structure, by obtaining the expression region of the reference descriptor through the interpretation process.

In operation <NUM>, the neural network apparatus generates a new chemical structure by changing a partial structure in the reference chemical structure which corresponds to the expression region.

The neural network apparatus may receive a target property value as an input. In an embodiment, the neural network apparatus may include a user interface that is a means for inputting data for controlling the neural network apparatus. For example, the user interface may be a key pad, a touch pad, or the like, but is not limited thereto.

The target property value is a numerical value of a particular property of a chemical structure to be finally generated in the neural network apparatus. In an embodiment, the target property value may be a refractive index value, an elastic modulus, a melting point, a transmission wavelength, and/or an emission wavelength. For example, the neural network apparatus may receive `emission wavelength: <NUM>' as a target property value. Alternatively, the target property value may be set in an increasing (+) direction or a decreasing (-) direction rather than a numerical value.

The neural network apparatus generates a new chemical structure having a property value close to the target property value by changing a partial structure in the reference chemical structure.

The neural network apparatus may output a new descriptor by changing a bit value of an expression region of the reference descriptor. The partial structure in the reference chemical structure may be changed as the bit value of the expression region of the reference descriptor is changed. A method of changing the bit value of the expression region may use a genetics algorithm, but is not limited thereto.

The neural network apparatus may output a structure characteristic value corresponding to the new descriptor as output data of the neural network by inputting the new descriptor, in which the bit value of the expression region of the reference descriptor is changed, as input data of the trained neural network (e.g., RNN) and driving the neural network. The neural network apparatus may generate a new chemical structure based on the output structure characteristic value. Alternatively, the neural network apparatus may use a factor for the new descriptor, output in a learning process of the DNN, as input data of the trained neural network (e.g., RNN).

The neural network apparatus may iteratively generate a chemical structure through the above-described process until a chemical structure having a property value close to a target property value (e.g., 'emission wavelength: <NUM>') is generated.

Specifically, the neural network apparatus may compare a property value for a new chemical structure to a target property value and generate a new chemical structure again by changing the bit value of the expression region of the reference descriptor when the property value for the new chemical structure is less than the target property value.

When the property value of the new chemical structure generated through the above-described process is equal to or greater than the target property value, the neural network apparatus may store the generated new chemical structure in a memory.

<FIG> is a flowchart of a method of generating a new chemical structure by changing an image for a chemical structure in a neural network apparatus according to an embodiment.

Hereinafter, descriptions that are the same as those given with reference to <FIG> are omitted.

Referring to <FIG>, in operation <NUM>, the neural network apparatus may obtain an image for a reference chemical structure.

In an embodiment, the image for the reference chemical structure may include n x m pixels (where n and m are natural numbers). For example, <NUM> bits, i.e., a value from <NUM> (black) to <NUM> (white), may be assigned to each pixel of the image.

Hereinafter, the image for the reference chemical structure will be referred to as a reference image.

In operation <NUM>, the neural network apparatus may input the reference image into a trained neural network and output a property value of a particular property for the reference chemical structure.

A memory of the neural network apparatus may store an image for a particular chemical structure and a property value numerically representing the property of the particular chemical structure, which match each other as one set.

In an embodiment, the neural network apparatus may allow a neural network (e.g., DNN) to learn by using an image and a property value, stored in a memory. In a learning process using the image and the property value, a factor defining the relationship between the image and the property value may be determined in the neural network.

The neural network apparatus may output a property value corresponding to the reference image as output data of the neural network by inputting the reference image as input data of the trained neural network and driving the neural network.

In operation <NUM>, the neural network apparatus determines an expression region that expresses a particular property in the image.

A plurality of nodes of an input layer of the neural network respectively corresponds to pixel values constituting the image. The neural network apparatus may obtain a node of the input layer, i.e., pixel coordinates (or expression region) of the reference image, which has the greatest relevance in the expression of a particular property value of the reference chemical structure, through the interpretation process. Because the expression region of the reference image corresponds to a particular partial structure in the reference chemical structure, the neural network apparatus may determine a particular partial structure, which has the greatest relevance in the expression of a particular property value of the reference chemical structure, by obtaining the expression region of the reference image through the interpretation process.

In an embodiment, the neural network apparatus may generate a new image by changing a pixel value of the expression region of the reference image and/or a pixel value around the expression region. A partial structure in the reference chemical structure may be changed as the pixel value of the expression region of the reference image and/or the pixel value around the expression region are changed. In an embodiment, the pixel value of the expression region of the reference image and/or the pixel value around the expression region may be changed by using Gaussian Noise, but a method of changing the pixel value is not limited thereto.

The neural network apparatus may output a structure characteristic value corresponding to the new image as output data of the neural network by inputting the new image, in which the pixel value of the expression region of the reference image and/or the pixel value around the expression region are changed, as input data of the trained neural network (e.g., RNN) and driving the neural network. The neural network apparatus may generate a new chemical structure based on the output structure characteristic value. The neural network apparatus uses a factor for the new image, output in a learning process of the DNN, as input data of the trained neural network (e.g., RNN).

Specifically, the neural network apparatus may compare a property value for a new chemical structure to a target property value and generate a new chemical structure again by changing the pixel value of the expression region of the reference image and/or the pixel value around the expression region when the property value for the new chemical structure is less than the target property value.

When the property value of the new chemical structure generated through the above-described process is equal to or greater than the target property value, the neural network apparatus stores the generated new chemical structure in a memory.

According to the aforementioned embodiments, a trained neural network may be interpreted to specify a partial structure expressing a property of a chemical structure. In addition, a new chemical structure having an improved property may be generated by changing the specified partial structure.

Also, the aforementioned embodiments may be implemented in the form of a recording medium storing instructions executable by a computer, such as a program module, executed by a computer. The computer-readable medium may be any recording medium that may be accessed by a computer and may include volatile and non-volatile media and removable and non-removable media. Also, the computer-readable medium may include computer storage media and communication media. The computer storage media include volatile and non-volatile and removable and non-removable media implemented using any method or technology to store information such as computer-readable instructions, data structures, program modules, or other data. The communication media include computer-readable instructions, data structures, program modules, or other data in a modulated data signal, or other transport mechanisms and include any delivery media.

In addition, throughout the specification, the term "unit" may be a hardware component such as a processor or a circuit and/or a software component executed by the hardware component such as a processor.

The above description of the disclosure is provided for the purpose of illustration, and it would be understood by those skilled in the art that various changes and modifications may be made.

Thus, it is clear that the above-described illustrative embodiments are illustrative in all aspects and do not limit the disclosure. For example, each component described to be of a single type may be implemented in a distributed manner. Likewise, components described to be distributed may be implemented in a combined manner.

Claim 1:
A computer implemented method of generating a chemical structure having a property value close to a preset value by using a neural network comprising a deep neural network and a recurrent neural network, the method comprising:
inputting an image (<NUM>) of a chemical structure (<NUM>) to the deep neural network (<NUM>) that generates a property value of a property of the chemical structure, wherein the image of the chemical structure represents structural characteristics of the chemical structure, and wherein the property of the chemical structure is a characteristic possessed by the chemical structure, wherein a plurality of nodes of an input layer of the deep neural network respectively correspond to pixel values constituting the image;
determining an expression region (<NUM>, <NUM>) for expressing the property in the image, the expression region comprising one or more pixels in the image; and
generating a first new chemical structure (<NUM>) by modifying a partial structure (<NUM>) in the chemical structure of the image (<NUM>), the partial structure corresponding to the expression region (<NUM>);
inputting an image for the rrewfirst chemical structure to the deep neural network to output a property value of a particular property and a factor for the first chemical structure; and
generating a second chemical structure by changing a partial structure in the first chemical structure, the partial structure corresponding to the expression region, when the property value of the particular property for the first chemical structure is less than a preset value, and storing the first chemical structure when the property value of the particular property for the first chemical structure is equal to or greater than the preset value;
characterised in that generating a second chemical structure uses the recurrent neural network (<NUM>), the recurrent neural network receiving as input the factor, in that determining an expression region for expressing the property comprises:
determining the expression region for expressing the property in the image by applying a layer-wise relevance propagation (LRP) technique to the deep neural network; and
wherein an activation function applied to a node of the deep neural network is designated as a linear function to apply the LRP technique to the deep neural network, and a mean square error (MSE) is designated for optimization.