Control program, control method, and information processing device

By evaluating and modifying the intermediate representation of trained models using a probability-based index, the method addresses the challenge of generating valid outputs, enhancing the reliability and quality of outputs from models like Transformer and AlphaFold2.

JP2025142551APending Publication Date: 2025-10-01FUJITSU LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024041978
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-18
Publication Date
2025-10-01

AI Technical Summary

Technical Problem

Conventional methods struggle with determining valid operations on the intermediate representation of trained models like Transformer and AlphaFold2, as the range of operations leading to valid outputs is unclear, making it difficult to generate high-quality, diverse outputs without modifying model parameters.

Method used

A control method that evaluates the validity of current outputs using a first index correlated with the probability distribution of training data and modifies the intermediate representation to increase output validity, using techniques such as gradient methods or heuristic searches to guide the intermediate representation within a valid output range.

Benefits of technology

This approach allows for the generation of valid outputs efficiently by controlling the intermediate representation, ensuring that the output data aligns with the training data distribution, thereby improving the reliability and quality of generated outputs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025142551000001_ABST
    Figure 2025142551000001_ABST
Patent Text Reader

Abstract

To control operation of an intermediate representation so that valid output can be obtained.SOLUTION: When changing the intermediate representation of input data x inputted to a trained model M, a control device 201 evaluates the validity of current output data y generated from the intermediate representation by the trained model M, on the basis of a first index. The first index has a correlation with the existence probability of output data in the data distribution of training data used for training of the trained model M. The control unit 201 changes the intermediate representation H on the basis of results from the evaluation so that the validity of output data y generated by the trained model M becomes higher.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a control program, a control method, and an information processing device. [Background technology]

[0002] Conventionally, deep learning models that handle sequence information, such as the Transformer model, have demonstrated high performance in understanding input information and predicting structured outputs (see, for example, Non-Patent Document 1 below). Large-scale trained models with high expressive capabilities are also known, such as AlphaFold2, which predicts protein structures (see, for example, Non-Patent Document 2 below). There are cases where it is desirable to take advantage of the expressive capabilities of such trained models to generate high-quality, diverse outputs without making changes to the parameters of the trained models. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] Vaswani et al.: Attention is All You Need,NeurIPS 2017(2017) [Non-patent document 2] Jumper, J. et al.Highly accurate protein structure prediction with AlphaFold.Nature 596,583-589(2021) Summary of the Invention [Problem to be solved by the invention]

[0004] However, with conventional technology, when attempting to perform some operation on the intermediate representation of a trained model to change the output, the range of operations on the intermediate representation that corresponds to valid output is not clear, making it difficult to determine what operation will result in valid output.

[0005] In one aspect, the present invention aims to control the manipulation of the intermediate representation so as to obtain a reasonable output. [Means for solving the problem]

[0006] In one embodiment, a control program is provided that, when changing the intermediate representation of input data input to a trained model, evaluates the validity of the current output data generated from the intermediate representation by the trained model based on a first index that is correlated with the probability of existence of output data in the data distribution of the training data used to train the trained model, and changes the intermediate representation based on the evaluation results so that the validity of the output data generated by the trained model is increased. [Effects of the Invention]

[0007] According to one aspect of the present invention, it is possible to control the manipulation of the intermediate representation so as to obtain a valid output. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of a control method according to an embodiment. [Figure 2] FIG. 2 is an explanatory diagram showing an example of the system configuration of the information processing system 200. As shown in FIG. [Figure 3] FIG. 3 is a block diagram showing an example of the hardware configuration of the control device 201. As shown in FIG. [Figure 4] FIG. 4 is an explanatory diagram showing a specific example of input data. [Figure 5] FIG. 5 is an explanatory diagram showing a specific example of the intermediate representation. [Figure 6] FIG. 6 is a block diagram showing an example of the functional configuration of the control device 201. [Figure 7] FIG. 7 is an explanatory diagram showing an example of the operation of the control device 201. [Figure 8] FIG. 8 is a flowchart showing an example of a control processing procedure of the control device 201. DETAILED DESCRIPTION OF THE INVENTION

[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a control program, a control method, and an information processing device according to the present invention will be described in detail with reference to the accompanying drawings.

[0010] (Embodiment) Fig. 1 is an explanatory diagram showing an example of a control method according to an embodiment. In Fig. 1, an information processing device 100 is a computer that controls the operation of an intermediate representation of input data input to a trained model 110. Here, the trained model 110 is a machine learning model (trained machine learning model) trained by machine learning such as deep learning.

[0011] The trained model 110 is, for example, information that combines an algorithm and trained parameters (weight parameters). The trained model 110 derives results (output data) by applying the trained parameters to input data. The trained model 110 converts the input data into an intermediate representation and generates output data from the converted intermediate representation.

[0012] An intermediate representation is information obtained by extracting features from input data. For example, by extracting features from input data, which is sequence information, an intermediate representation, which is a vector sequence, is obtained. Manipulating an intermediate representation means manipulating the intermediate representation converted from the input data in order to obtain new output data for the input data. For example, the intermediate representation can be manipulated by adding a small value to the intermediate representation, which is a vector sequence, to change the value of the vector sequence.

[0013] The trained model 110 is, for example, a Transformer model or AlphaFold2. The Transformer model takes sequence information representing a sentence as input data and outputs sequence information representing another sentence as output data. AlphaFold2 takes amino acid sequence information as input data and outputs output data representing the structure (three-dimensional structure) of a protein. The Transformer model and AlphaFold2 are large-scale deep learning models with high expressive capabilities.

[0014] For details about the Transformer model, see, for example, Non-Patent Document 1 and "Radford et al.: Language Models are Unsupervised Multitask Learners, 2019." For details about AlphaFold2, see, for example, Non-Patent Document 2.

[0015] There is a demand for leveraging the expressive power of such trained models to generate high-quality, diverse outputs without modifying the parameters of the trained models. For example, there are cases where we want to use AlphaFold2 to enumerate the multiple morphologies that an input sequence can take. There are also cases where we want to generate diverse sentences using a Transformer model for text generation.

[0016] Here, the intermediate representation of a large-scale model abstracts important features of the data and is expected to be suitable for making meaningful changes to the output while preserving the essence of the input data. Therefore, it is conceivable to generate new output data for input data by manipulating the intermediate representation of a trained model.

[0017] However, for example, the Transformer model cannot explicitly calculate the probability distribution of the intermediate representation. Therefore, when trying to modify the output by performing some operation on the intermediate representation, it is not clear what range of operation on the intermediate representation corresponds to a plausible output based on the data distribution during training.

[0018] In FIG. 1, a black circle p1 indicates an intermediate representation (e.g., intermediate representation 112) converted from input data (e.g., input data 111). Regions R1 and R2 represent the range of intermediate representations that can be taken. Region R1 represents a region that has been generalized to a certain extent through learning. Region R2 is a region that includes only intermediate representations that correspond to valid outputs. Region R2 corresponds to, for example, the distribution of intermediate representations that correspond to various input data provided to the learning model during learning.

[0019] Since region R1 includes intermediate representations corresponding to invalid output, it is possible to obtain valid output, but it is also possible to obtain invalid output. Therefore, it is preferable to manipulate the intermediate representation so that it fits into region R2 and control it so that valid output is obtained. However, since region R2 cannot be explicitly obtained, it is not clear what kind of manipulation will result in valid output.

[0020] For example, manipulating the intermediate representation may result in the intermediate representation moving outside of region R2 and into a location that is not in the data distribution of the training data. In this case, the intermediate representation may move outside the range that the model learned, and as a result, the estimated output may be unreliable and not in the training data.

[0021] Therefore, in this embodiment, a control method is described that controls operations on the intermediate representation of the trained model 110 using an index (first index) that is correlated with the existence probability of output data in the data distribution of training data used to train the trained model 110. An example of processing by the information processing device 100 is described below.

[0022] Here, input data to the trained model 110 is referred to as "input data 111." The trained model 110 also includes an encoder 120 and a decoder 130. The encoder 120 converts the input data 111 input to the trained model 110 into an intermediate representation 112. The decoder 130 generates output data 113 for the input data 111 by referring to the intermediate representation 112. For example, if the trained model 110 is "AlphaFold2," the encoder 120 corresponds to the Evoformer. The decoder 130 corresponds to the Structure module.

[0023] The information processing device 100 generates new output data for the input data 111 by modifying the intermediate representation 112 of the input data 111 input to the trained model 110 (the intermediate representation converted from the input data 111 by the encoder 120). Modifying the intermediate representation 112 corresponds to manipulating the intermediate representation 112. In this case, the information processing device 100 performs, for example, the following processes (1) and (2).

[0024] (1) The information processing device 100 evaluates the validity of the current output data 113 generated from the intermediate representation 112 by the trained model 110 based on a first index. Here, the first index is an index correlated with the probability distribution of the training data used to train the trained model 110. The current output data 113 corresponds to the output data currently of interest.

[0025] Training data consists of pairs of input data and output data. The probability distribution of the training data represents the distribution of the probability (existence probability) of the output data (value taken by the random variable) taking that value. The first index is correlated with the existence probability of the output data in the data distribution of the training data.

[0026] For example, in the case of AlphaFold2, output data with a high probability of existence in the data distribution of the training data can be said to represent a protein structure that could exist in the real world. By using the first index, the information processing device 100 evaluates the validity of the output data so that the more likely the protein structure is in the real world, the higher the validity.

[0027] In the case of AlphaFold2, the first index can be, for example, a score representing the confidence of the output structure estimated (output) for the current output data 113 by the decoder 130 of the trained model 110. In the case of the Transformer model, the first index can be, for example, a score representing the output probability of a sentence estimated for the current output data 113 by the decoder 130 of the trained model 110.

[0028] Specifically, for example, the information processing device 100 calculates an energy value corresponding to the current output data 113 using an energy function including a term defined in a form including the first index. For example, the lower the energy value, the higher the validity of the output data 113. This allows the information processing device 100 to evaluate the validity of the current output data 113 in a manner correlated with the degree of the existence probability of the output data 113.

[0029] (2) Based on the evaluation result, the information processing device 100 modifies the intermediate representation 112 so as to increase the validity of the output data 113 generated by the trained model 110. Specifically, for example, the information processing device 100 modifies the intermediate representation 112 so as to minimize the energy function based on the calculated energy value. Modifying the intermediate representation 112 corresponds to, for example, searching for an intermediate representation 112 that minimizes the energy function.

[0030] To explain in more detail, for example, assume that the energy function is differentiable with respect to the intermediate representation 112. In this case, the information processing device 100 uses a gradient method to change the intermediate representation 112 based on the gradient of the energy function. Alternatively, assume that the energy function is not differentiable with respect to the intermediate representation 112, or the gradient method falls into a local solution. In this case, the information processing device 100 uses a heuristic search to change the intermediate representation 112.

[0031] When the information processing device 100 changes the intermediate representation 112, the information processing device 100 generates new output data 113 for the input data 111 from the changed intermediate representation 112 using the trained model 110. Then, the information processing device 100 repeatedly executes the above processes (1) and (2) using the generated new output data 113 as the current output data 113 until, for example, a predetermined termination condition is satisfied.

[0032] In this way, the information processing device 100 can control the operation of the intermediate representation 112 so as to obtain a valid output (output data 113). For example, in the operation of the intermediate representation 112, the information processing device 100 can use the first index to limit the search range of the intermediate representation 112, thereby guiding the intermediate representation 112 so that it fits within region R2.

[0033] This allows the information processing device 100 to make changes to the intermediate representation 112 in a direction that is more likely to produce valid output, making it possible to obtain valid output more efficiently than when repeating random operations on the intermediate representation 112.

[0034] (System configuration example of information processing system 200) Next, a system configuration example of an information processing system 200 including the information processing device 100 shown in Fig. 1 will be described. Here, the case where the information processing device 100 shown in Fig. 1 is applied to a control device 201 in the information processing system 200 will be described as an example.

[0035] Fig. 2 is an explanatory diagram showing an example of the system configuration of an information processing system 200. In Fig. 2, the information processing system 200 includes a control device 201 and a client device 202. In the information processing system 200, the control device 201 and the client device 202 are connected via a wired or wireless network 210. The network 210 is, for example, the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network).

[0036] Here, the control device 201 is a computer that has a trained model M and controls the operation of an intermediate representation of input data input to the trained model M. The trained model M is, for example, a trained deep learning model such as a Transformer model or AlphaFold2. The control device 201 is, for example, a server. The trained model 110 shown in FIG. 1 corresponds to, for example, the trained model M.

[0037] The client device 202 is a computer used by a user of the information processing system 200. The user is, for example, a person who predicts a protein structure from an amino acid sequence or generates another sentence (such as a translation) from a given sentence. The client device 202 is, for example, a PC (Personal Computer), a tablet PC, a smartphone, or the like.

[0038] Although the control device 201 and the client device 202 are provided separately here, this is not limiting. For example, the control device 201 may be realized by the client device 202. Furthermore, the information processing system 200 may include multiple client devices 202.

[0039] (Example of hardware configuration of control device 201) Next, an example of the hardware configuration of the control device 201 will be described.

[0040] Fig. 3 is a block diagram showing an example of the hardware configuration of the control device 201. In Fig. 3, the control device 201 has a CPU (Central Processing Unit) 301, a memory 302, a disk drive 303, a disk 304, a communication I / F (Interface) 305, a GPU (Graphics Processing Unit) 306, a portable recording medium I / F 307, and a portable recording medium 308. Furthermore, each component is connected to each other by a bus 300.

[0041] Here, the CPU 301 is responsible for overall control of the control device 201. The GPU 306 performs arithmetic processing such as image processing and natural language processing. The CPU 301 and the GPU 306 may have multiple cores. The memory 302 includes, for example, a ROM (Read Only Memory) and a RAM (Random Access Memory). A program stored in the memory 302 is loaded into the CPU 301, causing the CPU 301 to execute the coded processing.

[0042] The disk drive 303 controls reading / writing of data from / to the disk 304 under the control of the CPU 301. The disk 304 stores data written under the control of the disk drive 303. The disk 304 is, for example, a magnetic disk, an optical disk, or the like.

[0043] The communication I / F 305 is connected to the network 210 via a communication line, and is connected to an external computer (for example, the client device 202 shown in FIG. 2) via the network 210. The communication I / F 305 serves as an interface between the network 210 and the inside of the device, and controls input and output of data from and to the external computer. The communication I / F 305 is, for example, a modem or a LAN adapter.

[0044] The portable recording medium I / F 307 controls reading and writing of data from and to the portable recording medium 308 under the control of the CPU 301. The portable recording medium 308 stores data written under the control of the portable recording medium I / F 307. The portable recording medium 308 is, for example, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disk), or a USB (Universal Serial Bus) memory.

[0045] In addition to the above-described components, the control device 201 may also include, for example, an input device, a display, a printer, a scanner, a microphone, a speaker, etc. Furthermore, the control device 201 may not necessarily include, for example, the GPU 306, the portable recording medium I / F 307, and the portable recording medium 308 among the above-described components.

[0046] (Example of hardware configuration of client device 202) A specific example of the hardware configuration of the client device 202 is similar to the example of the hardware configuration of the control device 201 shown in Fig. 3, and therefore a description thereof will be omitted. However, the client device 202 includes, for example, an input device, a display, etc. in addition to the components shown in Fig. 3.

[0047] (Example of input data) Next, specific examples of input data and intermediate representations input to the trained model M shown in Fig. 2 will be described using Fig. 4 and Fig. 5. Here, we take the case where the trained model M is a "Transformer model" as an example, and assume that sequence information (input data) representing a sentence is input.

[0048] Fig. 4 is an explanatory diagram showing a specific example of input data. In Fig. 4, input data 400 is sequence information indicating a token ID string representing a certain sentence. A token corresponds to a sentence (text) divided into units such as words, subwords, and symbols. A token ID is an identifier that identifies a token.

[0049] Input data 400 corresponds to data that has been subjected to preprocessing such as tokenization on input text, "it's a charming and often affecting journey." The preprocessing may be performed, for example, by the control device 201, or may be performed by another computer different from the control device 201 (for example, the client device 202).

[0050] 5 is an explanatory diagram showing a specific example of an intermediate representation. In FIG. 5, the intermediate representation 500 is information converted from the input data 400 shown in FIG. 4 by extracting features from the input data 400. The intermediate representation 500 is a sequence of vectors v1 to v2 corresponding to each token ID, the length of which is T (the number of token IDs). T Each vector v1 to v T is a d-dimensional vector.

[0051] Although not shown in the figure, for example, if the trained model M is "AlphaFold2", the input data will be amino acid sequence information. The intermediate representations will be single representation and pair representation. The single representation is a vector sequence. The pair representation is sequence information (T x T x d dimensions) that represents the similarity between sequences (vectors).

[0052] (Example of functional configuration of control device 201) Next, an example of the functional configuration of the control device 201 will be described with reference to FIG.

[0053] Fig. 6 is a block diagram showing an example of the functional configuration of the control device 201. In Fig. 6, the control device 201 includes an acquisition unit 601, an evaluation unit 602, an update unit 603, an output unit 604, and a storage unit 610. The acquisition unit 601 to the output unit 604 are functions that constitute the control unit 600, and specifically, the functions are realized by causing the CPU 301 to execute a program stored in a storage device such as the memory 302, the disk 304, or the portable recording medium 308 shown in Fig. 3, or by the communication I / F 305 or the GPU 306. The processing results of each functional unit are stored in a storage device such as the memory 302 or the disk 304.

[0054] The storage unit 610 is realized by a storage device such as the memory 302 or the disk 304. Here, a case where the storage unit 610 is included in the control device 201 will be described, but this is not limiting. For example, the storage unit 610 may be included in an external device different from the control device 201, and the contents stored in the storage unit 610 may be accessible from the control device 201 via the network 210. The storage unit 610 stores various types of information that are referenced or updated in the processing of each functional unit.

[0055] Specifically, for example, the storage unit 610 stores a trained model M. In the following description, input data to the trained model M may be referred to as "input data x," an intermediate representation of the trained model M may be referred to as "intermediate representation H," and output data of the trained model M may be referred to as "output data y."

[0056] The trained model M includes an encoder EC and a decoder DC. The encoder EC converts, for example, input data x input to the trained model M into an intermediate representation H. The decoder DC generates output data for the input data x, for example, by referring to the intermediate representation H from the encoder EC.

[0057] The acquisition unit 601 acquires input data x for the trained model M. Here, the input data x is, for example, text sequence information or amino acid sequence information. The text sequence information is sequence information representing a sentence. The amino acid sequence information is sequence information representing the order in which amino acids constituting a protein are arranged. The input data x is information that has undergone preprocessing such as tokenization. However, preprocessing such as tokenization may be performed in the control device 201.

[0058] When the trained model M is a "Transformer model," the input data x is, for example, the input data 400 shown in FIG. 4. Specifically, for example, the acquisition unit 601 acquires the input data x (for example, the input data 400) by receiving it from the client device 202 shown in FIG. 2. Alternatively, the acquisition unit 601 may acquire the input data x by a user's operation input using an input device (not shown).

[0059] In the following description, changing the intermediate representation H may be referred to as manipulating the intermediate representation H. Manipulation of the intermediate representation H is performed, for example, by updating the intermediate representation H.

[0060] When manipulating (changing) the intermediate representation H of the input data input to the trained model M, the evaluation unit 602 evaluates the validity of the current output data y generated from the intermediate representation H by the trained model M based on the first index. Here, the first index is an index correlated with the probability of existence of output data in the data distribution of the training data used to train the trained model M. The current output data y corresponds to the output data y currently being focused on.

[0061] When the trained model M is a "Transformer model," the intermediate representation H is, for example, the intermediate representation 500 shown in FIG. 5. The control device 201 manipulates the intermediate representation H to obtain valid new output data y. The initial intermediate representation H to be manipulated is the intermediate representation H obtained by inputting the acquired input data x to the encoder EC of the trained model M. The initial output data y is the output data y obtained by inputting the initial intermediate representation H to the decoder DC of the trained model M.

[0062] Furthermore, the second and subsequent intermediate representations H to be operated on are intermediate representations H updated by the update unit 603. The second and subsequent output data y are output data y obtained by inputting the intermediate representation H updated by the update unit 603 to the decoder DC of the trained model M.

[0063] The evaluation unit 602 may evaluate the validity of the current output data y based on the first index and the second index. Here, the second index is the validity of the target output data y target For example, the output unit 604 outputs the target output data y target exists, the validity of the current output data y is evaluated using not only the first index but also the second index.

[0064] Specifically, for example, the evaluation unit 602 calculates an energy value corresponding to the current output data y using an energy function E(y) including a first term defined to include a first index and a second term defined to include a second index. The energy function E(y) is a function that determines an energy value corresponding to the current output data y, and a smaller energy value indicates a higher validity of the current output data y.

[0065] The energy function E(y) can be defined by using, for example, the following formula (1) by a combination of a single index or multiple indices (k=1, 2, . . . , l=1, 2, . . . ).

[0066]

number

[0067] A k (y) is an index that indicates the validity of the output data y and is defined in a form that includes the first index. k is A k This is the weight for (y) and can be set arbitrarily. k A k (y) corresponds to the first term mentioned above. D l (y,y target ) is the target output data y target When exists, the target output data y target This is the second index that shows the proximity to y. target can be set arbitrarily. target For example, the structure of a target protein may be set as the target.

[0068] Also, y target The first output data y (hereinafter referred to as "output data y0") generated from the first intermediate representation H (hereinafter referred to as "intermediate representation H0") converted from the input data x may be set as l (y,y target ) can be said to be an index for evaluating the deviation from the starting point (output data y0). l is D l (y,y target ) and can be set arbitrarily. l D l (y,y target ) corresponds to the second term mentioned above.

[0069] Also, A k (y), D l (y,y target ) may be defined in such a way that it includes an error relative to the true value. For example, A k (y) may be defined as the following formula (2): k ~ (y) is A kIt is equivalent to (y) with an error added. A k ~ is A k It represents a ∈ with a  ̄ on top. A indicates the error. G A is a constant (maximum error value).

[0070]

number

[0071] D l (y,y target ) may be defined as the following formula (3), where D l ~ (y,y target ) is D l (y,y target ) with an error added. l ~ is D l It represents a ∈ with a  ̄ on top. D indicates the error. G D is a constant (maximum error value).

[0072]

number

[0073] In addition, A included in the above formula (1) k (y) and D l (y,y target A specific example of the process for evaluating the validity of the current output data y will be described later with reference to FIG.

[0074] Based on the evaluation result, the updating unit 603 updates (changes) the intermediate representation H so as to increase the validity of the output data y generated by the trained model M. Specifically, for example, the updating unit 603 updates the intermediate representation H so as to minimize the energy function E(y) based on the calculated energy value. Updating the intermediate representation H corresponds to searching for an intermediate representation H that minimizes the energy function E(y).

[0075] Here, it is assumed that the energy function E(y) is differentiable with respect to the intermediate representation H. In this case, the updating unit 603 may use a gradient method (search algorithm) to update the intermediate representation H based on the gradient of the energy function E(y). As the gradient method, for example, SGD (Stochastic Gradient Descent) can be used.

[0076] More specifically, for example, the update unit 603 calculates the gradient of the energy function E(y) based on the calculated energy value. Then, the update unit 603 updates the intermediate representation H based on the gradient of the energy function E(y) and a learning rate. The learning rate can be set arbitrarily.

[0077] On the other hand, suppose that the energy function E(y) is not differentiable with respect to the intermediate representation H, or the gradient method falls into a local solution. In this case, the updating unit 603 may use a heuristic search (search algorithm) to update the intermediate representation H so that the energy value becomes smaller. As the heuristic search, for example, the Metropolis-Hastings method can be used.

[0078] Furthermore, the updating unit 603 generates output data y (output data y from the second time onwards) for the input data x by inputting the updated intermediate representation H to the decoder DC of the trained model M. This updates the current output data y. Note that a specific processing example for updating the intermediate representation H and the output data y will be described later with reference to FIG. 7.

[0079] The update unit 603 determines whether a predetermined termination condition is satisfied as a result of updating the intermediate representation H. Here, the predetermined termination condition is, for example, a convergence condition for determining that the intermediate representation H has converged (approached an optimal value), and can be set arbitrarily.

[0080] For example, the update unit 603 may set the predetermined termination condition to a condition that the update of the intermediate representation H is executed a predetermined number of times. Furthermore, when searching for the intermediate representation H using the gradient method (SGD), the update unit 603 may set the predetermined termination condition to a condition that the change in the gradient of the energy function E(y) is equal to or smaller than a threshold.

[0081] Furthermore, if it is determined that the predetermined termination condition is not satisfied, the evaluation unit 602 may evaluate the validity of the current output data y. Here, the current output data y to be evaluated is the output data y (output data y from the second time onwards) generated from the updated intermediate representation H. As a result, the evaluation of the current output data y and the updating of the intermediate representation H are repeatedly executed until it is determined that the predetermined termination condition is satisfied.

[0082] The output unit 604 outputs output data y for input data x. Specifically, for example, when it is determined that a predetermined termination condition is satisfied, the output unit 604 outputs output data y (generation result) generated from the updated intermediate representation H.

[0083] Furthermore, the output unit 604 may output output data y (generation result) generated from the updated intermediate representation H in association with the input data x. This makes it easier for the output unit 604 to identify which input data x the output data y (generation result) corresponds to. Furthermore, the output unit 604 may output output data y (generation result) generated from the updated intermediate representation H in association with output data y0 (initial output data y) generated from the intermediate representation H0 (initial intermediate representation H). This allows the output unit 604 to output the new output data y (generation result) obtained by manipulating the intermediate representation H together with the initial output data y.

[0084] The output format of the output unit 604 may be, for example, storage in a storage device such as memory 302 or disk 304, transmission to another computer via communication I / F 305, display on a display not shown, or printout on a printer not shown.

[0085] For example, suppose that input data x to the trained model M is received from the client device 202. In this case, if a predetermined termination condition is satisfied as a result of updating the intermediate representation H, the output unit 604 may transmit to the client device 202 output data y obtained by inputting the updated intermediate representation H to the decoder DC.

[0086] The control device 201 may manipulate the intermediate representation H by, for example, modifying the energy function E(y) to obtain further output data y for input data x. The modification of the energy function E(y) may involve, for example, changing the combination of indicators defined in the energy function E(y), and may also involve modifying the weights w k ,λ l It may be possible to change the

[0087] In addition, there may be cases where output data y with a structure (for example, a protein structure or a sentence structure) different from the generated output data y is desired. In this case, the control device 201 may, for example, l (y,y target ) may be used as an index for evaluating deviation from the generated output data y.

[0088] The functional units (acquisition unit 601 to output unit 604) of the control device 201 may be realized by, for example, a plurality of computers (for example, the control device 201 and the client device 202) in the information processing system 200. In this case, communication between the functional units of different computers is performed by, for example, transmission and reception between the functional units via the network 210.

[0089] (A k (y) and D l (y,y target )Specific examples) Next, A included in the above formula (1) k (y) and D l (y,y target ) will be explained below as a specific example.

[0090] AlphaFold2 First, let's take the case where the trained model M is "AlphaFold2" as an example. k (y) and D l (y,y target AlphaFold2 is a deep learning model that takes amino acid sequence information as input data x and outputs output data y that represents the structure (three-dimensional structure) of a protein.

[0091] In this case, A1(y) (k=1) can be an index representing the confidence level of the output structure estimated for the current output data y by AlphaFold2. The confidence level can be, for example, the predicted local distance difference test (pLDDT).

[0092] However, the smaller the energy value of the energy function E(y), the higher the validity of the current output data y. For this reason, the reciprocal or negative value of the confidence level is used for A1(y). A1(y) corresponds to, for example, the first index.

[0093] Furthermore, A2(y) (k=2) can be a score representing the likelihood of the protein structure represented by the current output data y being the target protein structure, estimated by a first classification model different from the trained model M. The first classification model is a separately trained classification model.

[0094] For example, if the default output structure (output data y0) is a close structure and an open structure is desired as the target structure, the first classification model inputs the output structure (current output data y) and outputs a score that indicates the likelihood of the structure being open.

[0095] However, the smaller the energy value of the energy function E(y), the higher the validity of the current output data y. For this reason, A2(y) is set to the reciprocal or negative value of the score that represents the structure similarity of the target protein. A2(y) is, for example, the target output data y target A2(y) can be considered an index that indicates the closeness to the trained model M, and can be considered the second index. In addition, A2(y) can be considered an external index because it uses a first classification model that is different from the trained model M.

[0096] Furthermore, A3(y) (k=3) can be the similarity between a known structure similar to the protein structure represented by output data y0 among known structures of proteins stored in a structure database (not shown) and the protein structure represented by the current output data y. The output data y0 is the first output data y generated from the first intermediate representation H (intermediate representation H0).

[0097] A3(y) is useful, for example, when the user wants to actively explore unknown structures. A3(y) is useful, for example, when the target output data y target It can be said to be one of the indicators that shows the proximity to the

[0098] Note that known structures similar to the protein structure represented by the output data y0 may be identified using any existing technology. For example, the control device 201 may identify, as similar known structures, structures whose inter-vector distance (Euclidean distance) from the protein structure represented by the output data y0 is equal to or less than a threshold.

[0099] The structure database is stored, for example, in the storage unit 610. Alternatively, the structure database may be stored in an external device accessible from the control device 201 via the network 210. In this case, the control device 201 can refer to the structure database by accessing the external device.

[0100] Also, D1(y,y target) (l=1), the similarity between the electron density distribution corresponding to the target structure of the target protein and the electron density distribution corresponding to the protein structure represented by the output data y can be used. D1(y,y target ) corresponds to the second indicator, for example.

[0101] However, the smaller the energy value of the energy function E(y), the higher the validity of the current output data y. target ) is the inverse or negative value of the similarity between the electron density distributions.

[0102] D1(y,y target ) is used, for example, when the specific target structure is not known but the electron density distribution corresponding to the target structure is known and it is desired to estimate an atomic structure that approximates it. The electron density distribution corresponding to each structure may be identified using any existing technology. For example, the control device 201 may identify the electron density distribution by performing structural analysis on the protein structure represented by the current output data y.

[0103] Transformer model Next, let's take the example of the trained model M being a "Transformer model." k (y) and D l (y,y target A Transformer model is a deep learning model that takes sequence information representing a sentence (for example, a token ID sequence) as input data and outputs sequence information representing another sentence as output data.

[0104] In this case, A1(y) (k=1) can be an index representing the occurrence probability of the sentence estimated by the Transformer model for the current output data y. The occurrence probability of the sentence corresponds to, for example, a sentence score indicating the validity of the output sentence.

[0105] However, the smaller the energy value of the energy function E(y), the higher the validity of the current output data y. For this reason, the reciprocal or negative value of the occurrence probability of the sentence is used for A1(y). A1(y) corresponds to, for example, the first index.

[0106] Furthermore, A2(y) (k=2) can be a score indicating the likelihood of the output data in the data distribution of the current output data y, estimated by a second classification model trained using the training data used to train the trained model M.

[0107] The second classification model is a classification model that has been trained separately using the same training data as the trained model M. The score estimated (output) by the second classification model corresponds to a score that evaluates the likelihood of a sentence from a different perspective than that of the trained model M (Transformer model), for example.

[0108] However, the smaller the energy value of the energy function E(y), the higher the validity of the current output data y. For this reason, A2(y) uses the reciprocal or negative value of the score indicating the likelihood of the output data. A2(y) corresponds to, for example, the first index. A2(y) can be said to be an external index because it uses a second classification model different from the trained model M.

[0109] Furthermore, A3(y) (k=3) can be a score representing the suitability of the sentence represented by the current output data y to the target label, estimated by a third classification model different from the trained model M. The target label is a label that is the target (goal) among multiple labels (classes) for classifying sentences.

[0110] The third classification model is a classification model that has been trained separately, such as a sentiment polarity classifier. For example, suppose that multiple labels are "positive," "negative," etc., and the target label is "positive." In this case, the third classification model inputs the current output data y and outputs a score representing the positivity.

[0111] However, the smaller the energy value of the energy function E(y), the higher the validity of the current output data y. For this reason, A3(y) uses the reciprocal or negative value of the score that indicates the compatibility with the target label. A3(y) is, for example, the target output data y target A3(y) can be considered one of the indices that show the closeness to the pre-trained model M, and can be considered the second index. Also, A3(y) can be considered an external index because it uses a third classification model different from the trained model M. A3(y) is useful, for example, when a user wants to generate a sentence with a specific nuance (e.g., positive, negative).

[0112] Also, D1(y,y target ) (l=1), the edit distance between the original sentence and the sentence represented by the current output data y can be used. The original sentence is the sentence represented by the first output data y (output data y0) generated from the first intermediate representation H (intermediate representation H0) converted from the input data x.

[0113] D1(y,y target ) can be said to be an index for evaluating the deviation from the original sentence, and corresponds to the second index. For example, D1(y,y target ) is useful, for example, when the user wants to generate a sentence that is dissimilar to the original sentence (output data y0).

[0114] (Example of operation of the control device 201) Next, an example of the operation of the control device 201 will be described with reference to FIG. 7. Here, the example of the operation of the control device 201 will be described using an example in which the trained model M is "AlphaFold2." Furthermore, output data y for input data x will be referred to as "output structure y." The output structure y is, for example, coordinate information that specifies the structure (three-dimensional structure) of a protein.

[0115] 7 is an explanatory diagram showing an example of the operation of the control device 201. In FIG. 7, first, the control device 201 acquires input data x to the trained model M. Here, the input data x is amino acid sequence information. The control device 201 inputs the acquired input data x to an encoder EC of the trained model M to acquire a converted intermediate representation H0 (initial intermediate representation H).

[0116] Then, the control device 201 inputs the acquired intermediate representation H0 into the decoder DC of the trained model M to acquire the generated output structure y0 (initial output structure). Next, the control device 201 acquires various indices to be used in the energy function E(y) for the generated output structure y0. The various indices include, for example, the above-mentioned A1(y) to A3(y), D1(y,y target ) etc.

[0117] The control device 201 then calculates the energy value E(y0) for the output structure y0 based on the various acquired indices using the above formula (1). Next, the control device 201 updates the intermediate representation H0 to the intermediate representation H1 using a predetermined search algorithm based on the calculated energy value E(y0) so as to minimize the energy function E(y).

[0118] Next, the control device 201 inputs the updated intermediate representation H1 into the decoder DC of the trained model M to obtain the generated output structure y1. The control device 201 also obtains various indices for the output structure y1 to be used in the energy function E(y). Then, the control device 201 determines whether a predetermined termination condition is satisfied.

[0119] Here, it is assumed that a predetermined termination condition is not met.

[0120] In this case, the control device 201 calculates the energy value E(y1) for the output structure y1 (corresponding to the current output data y) based on the various acquired indices using the above formula (1). Next, the control device 201 updates the intermediate representation H1 to the intermediate representation H2 using a predetermined search algorithm based on the calculated energy value E(y1) so as to minimize the energy function E(y).

[0121] Next, the control device 201 inputs the updated intermediate representation H2 into the decoder DC of the trained model M to obtain the generated output structure y2. The control device 201 also obtains various indices used in the energy function E(y) for the output structure y2. Then, the control device 201 determines whether a predetermined termination condition is satisfied.

[0122] Here, it is assumed that a predetermined termination condition is not met.

[0123] In this case, the control device 201 calculates the energy value E(y2) for the output structure y2 (corresponding to the current output data y) based on the various acquired indices using the above formula (1). Next, the control device 201 updates the intermediate representation H2 to the intermediate representation H3 using a predetermined search algorithm based on the calculated energy value E(y2) so as to minimize the energy function E(y).

[0124] Next, the control device 201 inputs the updated intermediate representation H3 into the decoder DC of the trained model M to obtain the generated output structure y3. The control device 201 also obtains various indices used in the energy function E(y) for the output structure y3. Then, the control device 201 determines whether a predetermined termination condition is satisfied.

[0125] Here, it is assumed that a predetermined termination condition is satisfied.

[0126] In this case, the control device 201 outputs the output structure y3 generated from the updated intermediate representation H3 as the generation result 700. In this way, the control device 201 can make changes to the intermediate representation H in a direction that is more likely to result in a valid structure, and can efficiently obtain a valid generation result 700 (output structure y3).

[0127] (Control processing procedure of the control device 201) Next, the control processing procedure of the control device 201 will be described with reference to FIG.

[0128] 8 is a flowchart showing an example of a control processing procedure of the control device 201. In the flowchart of FIG. 8, first, the control device 201 acquires input data x for the trained model M (step S801). Next, the control device 201 inputs the acquired input data x to the encoder EC of the trained model M, and converts the input data x into an intermediate representation H0 (step S802).

[0129] Then, the control device 201 inputs the converted intermediate representation H0 to the decoder DC of the trained model M to generate output data y0 for the input data x (step S803). Next, the control device 201 calculates the score φ i (y0) is acquired (step S804).

[0130] Here, i is "i=1,2,...,k" and k is "the number of types of scores based on trained model M." For example, if trained model M is "AlphaFold2," and k is "k=2," then φ1(y0) corresponds to A1(y0), which represents the confidence of the output structure, and φ2(y0) corresponds to A2(y0), which represents the likelihood of the target protein structure.

[0131] Furthermore, if the trained model M is a "Transformer model," and k is set to "k=2," then φ1(y0) corresponds to A1(y0), which represents the occurrence probability of a sentence, and φ2(y0) corresponds to A2(y0), which represents the likelihood of the output data. Note that the score φi (y t ) has D l (y,y target ) may be included.

[0132] Next, the control device 201 calculates the current output data y t For the score φ, we use the energy function E(y) in the above formula (1). i (y t ) based on the energy value E(y t In the first process of step S805, the score φ is calculated for the current output data y0. i The energy value E(y0) is calculated based on (y0).

[0133] Then, the control device 201 uses a predetermined search algorithm to calculate the calculated energy value E(y t ) to minimize the energy function E(y). t to the intermediate representation H t+1 (step S806). Next, the control device 201 updates the updated intermediate representation H t is input to the decoder DC of the trained model M, and the output data y t The output data y t+1 (step S807).

[0134] Next, the control device 201 calculates the updated output data y t The score φ used for the energy function E(y) is i (y t ) (step S808). Then, the control device 201 determines whether a predetermined termination condition is met (step S809). If the predetermined termination condition is not met (step S809: No), the control device 201 returns to step S805.

[0135] On the other hand, if the predetermined termination condition is met (step S809: Yes), the control device 201 updates the updated output data y t is output (step S810), and the series of processes according to this flowchart is completed.

[0136] As a result, the control device 201 generates the intermediate representation H t The generated result (output data y t ) can improve the quality of

[0137] As described above, according to the control device 201 according to the embodiment, when manipulating (changing) the intermediate representation H of the input data x input to the trained model M, the validity of the current output data y generated from the intermediate representation H by the trained model M is evaluated based on the first index, and based on the evaluation result, the intermediate representation H can be updated (changed) so as to increase the validity of the output data y generated by the trained model M. The first index is an index correlated with the probability of existence of output data in the data distribution of the training data used to train the trained model M.

[0138] This allows the control device 201 to control the manipulation of the intermediate representation H so as to obtain a valid output (output data y). For example, by using the first index, the control device 201 can control the manipulation of the intermediate representation H so as to obtain an output that is likely to exist in the real world. This allows the control device 201 to obtain a valid output more efficiently than when random manipulation of the intermediate representation H is repeated.

[0139] Furthermore, according to the control device 201, the first index and the target output data y target The validity of the current output data y can be evaluated based on the first index and the second index representing the closeness to the first index.

[0140] As a result, by using not only the first index but also the second index, the control device 201 can control the operation of the intermediate representation H so as to obtain output that is likely to exist in the real world and that is close to the data desired by the user.

[0141] Furthermore, according to the control device 201, as the trained model M, a deep learning model (for example, AlphaFold2) that receives an amino acid sequence as input data and outputs output data representing a protein structure can be used.

[0142] This allows the control device 201 to make changes to the intermediate representation H in a direction that is more likely to result in a valid structure of the protein.

[0143] Furthermore, according to the control device 201, an index representing the degree of certainty of the output structure estimated for the current output data y by the trained model M can be used as the first index, provided that the trained model M is a deep learning model such as AlphaFold2.

[0144] This allows the control device 201 to control the manipulation of the intermediate representation H so as to obtain a protein structure that is likely to exist in the real world.

[0145] Furthermore, according to the control device 201, as the second index, a score indicating the likelihood of the protein structure represented by the current output data y being the target protein structure, estimated by a first classification model different from the trained model M, can be used, provided that the trained model M is a deep learning model such as AlphaFold2.

[0146] This allows the control device 201 to control the manipulation of the intermediate representation H so as to obtain an output that is a protein structure that is likely to exist in the real world and that is close to the protein structure desired by the user.

[0147] Furthermore, according to the control device 201, the second index can be the similarity between a known structure similar to the protein structure represented by the initial output data y0 generated from the initial intermediate representation H0 converted from the input data x, among known structures of proteins stored in a structure database (not shown), and the protein structure represented by the current output data y, provided that the trained model M is a deep learning model such as AlphaFold2.

[0148] This allows the control device 201 to control the manipulation of the intermediate representation H so as to obtain an unknown protein structure that is likely to exist in the real world.

[0149] Furthermore, according to the control device 201, the similarity between the electron density distribution corresponding to the target structure of the target protein and the electron density distribution corresponding to the protein structure represented by the current output data y can be used as the second index, provided that the trained model M is a deep learning model such as AlphaFold2.

[0150] As a result, the control device 201 can control the operation of the intermediate representation H so as to obtain an output that is close to the protein structure desired by the user, even if the specific target structure is not clear, as long as the electron density distribution corresponding to the target structure is known.

[0151] Furthermore, according to the control device 201, a deep learning model (for example, a Transformer model) can be used as the trained model M, which takes sequence information representing a sentence as input data and outputs sequence information representing another sentence as output data.

[0152] This allows the control device 201 to make changes to the intermediate representation H in a direction that is more likely to result in a valid sentence.

[0153] Furthermore, according to the control device 201, a score representing the output probability of a sentence estimated for the current output data y by the trained model M can be used as the first index, provided that the trained model M is a deep learning model such as a Transformer model.

[0154] This allows the control device 201 to control the manipulation of the intermediate representation H so as to obtain sentences that are likely to exist in the real world.

[0155] Furthermore, according to the control device 201, the first index can be a score indicating the likelihood of the output data in the data distribution of the training data, which is estimated for the current output data y by a second classification model trained using the same training data as the trained model M. However, this is only when the trained model M is a deep learning model such as a Transformer model.

[0156] This allows the control device 201 to control the manipulation of the intermediate representation H so as to obtain sentences that are likely to exist in the real world.

[0157] Furthermore, according to the control device 201, the second index can be a score that indicates the suitability of the sentence represented by the current output data y to a target label among multiple labels that classify the sentence, the score being estimated by a third classification model different from the trained model M. However, this is only the case when the trained model M is a deep learning model such as a Transformer model.

[0158] This allows the control device 201 to control the manipulation of the intermediate representation H so as to obtain an output that is close to a sentence that is likely to exist in the real world and has the nuance (e.g., positive, negative) desired by the user.

[0159] Furthermore, according to the control device 201, the edit distance between a sentence represented by the first output data y0 generated from the first intermediate representation H0 converted from the input data x and a sentence represented by the current output data y can be used as the second index, provided that this is the case when the trained model M is a deep learning model such as a Transformer model.

[0160] This allows the control device 201 to control the manipulation of the intermediate representation H so as to obtain an output that is close to a sentence that is likely to exist in the real world and is different from the original sentence (output data y0).

[0161] Furthermore, the control device 201 can determine whether a predetermined termination condition is satisfied as a result of updating (changing) the intermediate representation H. If the predetermined termination condition is not satisfied, the control device 201 can use the output data y generated from the updated intermediate representation H as the current output data y, evaluate the validity of the current output data y, and update the intermediate representation H based on the evaluation result. If the predetermined termination condition is satisfied, the control device 201 can output the output data y generated from the updated intermediate representation H.

[0162] As a result, the control device 201 can output a valid generation result (output data y) by repeating the update of the intermediate representation H until a predetermined termination condition is met.

[0163] From these facts, the control device 201 can make changes to the intermediate representation H in a direction that increases the likelihood of obtaining a valid output (output data y), thereby making it possible to efficiently obtain a valid output. For example, the control device 201 can efficiently obtain a valid output compared to repeating random operations on the intermediate representation H. Furthermore, the control device 201 can efficiently generate a variety of high-quality outputs by generating new output data y for the same input data x by making changes to the energy function E(y), for example.

[0164] This control method can be applied to, for example, a structure prediction service that takes amino acid sequence information as input and outputs protein structures. In this case, this control method can provide a variety of high-quality protein structures from a single amino acid sequence, thereby improving the quality of the structure prediction service.

[0165] This control method can also be applied to a natural language processing service that takes a sequence of information representing a sentence as input and outputs another sentence. In this case, this control method can provide a variety of high-quality sentences from a single sequence of information (e.g., a token ID sequence), thereby improving the quality of the natural language processing service.

[0166] The control method described in this embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation. The control program is recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM, DVD, or USB memory, and is executed by being read from the recording medium by the computer. The control program may also be distributed via a network such as the Internet.

[0167] In addition, the information processing device 100 (control device 201) described in this embodiment can also be realized using an application-specific IC such as a standard cell or a structured ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device) such as an FPGA.

[0168] The following additional notes are provided regarding the above-described embodiment.

[0169] (Appendix 1) When changing the intermediate representation of input data input to a trained model, Evaluating the validity of the current output data generated from the intermediate representation by the trained model based on a first index that is correlated with the existence probability of output data in the data distribution of training data used to train the trained model; Based on the evaluation results, modify the intermediate representation so that the validity of output data generated by the trained model is increased. A control program that causes a computer to execute a process.

[0170] (Appendix 2) The evaluation process is A control program as described in Appendix 1, characterized in that the validity of the current output data is evaluated based on the first index and a second index representing the proximity to the target output data.

[0171] (Appendix 3) The trained model is a deep learning model that receives an amino acid sequence as input data and outputs output data representing a protein structure, The first index includes an index representing a degree of confidence of an output structure estimated by the trained model for the current output data. 3. The control program according to claim 2,

[0172] (Appendix 4) The control program described in Appendix 3, characterized in that the second index includes a score representing the likelihood of the protein structure represented by the current output data being the target protein structure, estimated by a first classification model different from the trained model.

[0173] (Appendix 5) The control program according to appendix 3 or 4, wherein the second index includes a degree of similarity between a known structure of a protein stored in a database that is similar to a protein structure represented by the initial output data generated from the initial intermediate representation converted from the input data, and the protein structure represented by the current output data.

[0174] (Appendix 6) A control program according to any one of Appendices 3 to 5, characterized in that the second index includes a similarity between an electron density distribution corresponding to a target structure of a target protein and an electron density distribution corresponding to a protein structure represented by the current output data.

[0175] (Supplementary Note 7) The trained model is a model that receives sequence information representing a sentence as input data and outputs sequence information representing another sentence as output data, The first indicator includes a score representing an output probability of a sentence estimated by the trained model for the current output data. 3. The control program according to claim 2,

[0176] (Appendix 8) The control program according to appendix 7, wherein the first index includes a score indicating the likelihood of the output data in the data distribution of the training data, estimated for the current output data by a second classification model trained using the training data.

[0177] (Appendix 9) The control program described in Appendix 7 or 8, characterized in that the second indicator includes a score representing the suitability of the sentence represented by the current output data to a target label among multiple labels for classifying the sentence, estimated by a third classification model different from the trained model.

[0178] (Appendix 10) The control program according to any one of Appendices 7 to 9, wherein the second indicator includes an edit distance between a sentence represented by a first output data generated from a first intermediate representation converted from the input data and a sentence represented by the current output data.

[0179] (Appendix 11) A process for determining whether a predetermined termination condition is satisfied as a result of changing the intermediate representation; If the predetermined termination condition is not satisfied, the evaluating process and the modifying process are performed by setting output data generated from the modified intermediate representation as the current output data; outputting output data generated from the modified intermediate representation if the predetermined termination condition is met; 11. The control program according to any one of appendices 1 to 10, wherein the control program is executed by the computer.

[0180] (Appendix 12) The evaluation process is calculating an energy value corresponding to the current output data using an energy function including a first term defined in a form including the first index and a second term defined in a form including the second index; The changing process includes: modifying the intermediate representation based on the calculated energy value so as to minimize the energy function; 3. The control program according to claim 2,

[0181] (Appendix 13) The control program according to any one of Appendices 1 to 12, characterized in that the trained model includes an encoder that converts the input data into an intermediate representation, and a decoder that generates output data for the input data by referring to the intermediate representation.

[0182] (Appendix 14) When changing the intermediate representation of input data input to a trained model, Evaluating the validity of the current output data generated from the intermediate representation by the trained model based on a first index that is correlated with the existence probability of output data in the data distribution of training data used to train the trained model; Based on the evaluation results, modify the intermediate representation so that the validity of output data generated by the trained model is increased. A control method characterized in that processing is executed by a computer.

[0183] (Appendix 15) When changing the intermediate representation of input data input to a trained model, Evaluating the validity of the current output data generated from the intermediate representation by the trained model based on a first index that is correlated with the existence probability of output data in the data distribution of training data used to train the trained model; Based on the evaluation results, modify the intermediate representation so that the validity of output data generated by the trained model is increased. An information processing device comprising a control unit. [Explanation of symbols]

[0184] 100 Information processing device 110,M trained models 111,400,x input data 112,500,H intermediate representation 113,y output data 120,EC Encoder 130, DC decoder 200 Information Processing Systems 201 Control device 202 Client device 210 Network 300 Bus 301 CPU 302 memory 303 Disk Drive 304 Disk 305 Communication I / F 306 GPU 307 Portable Recording Media I / F 308 Portable Recording Media 600 control section 601 Acquisition Department 602 Evaluation Department 603 Update Department 604 Output section 610 Storage section 700 generated results

Claims

1. When changing the intermediate representation of input data fed into a trained model, Evaluating the validity of the current output data generated from the intermediate representation by the trained model based on a first index that is correlated with the existence probability of output data in the data distribution of training data used to train the trained model; Based on the evaluation results, modify the intermediate representation so that the validity of output data generated by the trained model is increased. A control program that causes a computer to execute a process.

2. The evaluating process includes:

2. The control program according to claim 1, wherein the validity of the current output data is evaluated based on the first index and a second index representing the proximity of the current output data to a target output data.

3. the trained model is a deep learning model that receives an amino acid sequence as input data and outputs output data representing a protein structure, The first index includes an index representing a degree of confidence of an output structure estimated by the trained model for the current output data.

3. The control program according to claim 2.

4. The control program according to claim 3, wherein the second index includes a similarity between an electron density distribution corresponding to a target structure of a target protein and an electron density distribution corresponding to a protein structure represented by the current output data.

5. the trained model is a model that receives sequence information representing a sentence as input data and outputs sequence information representing another sentence as output data, The first indicator includes a score representing an output probability of a sentence estimated by the trained model for the current output data.

3. The control program according to claim 2.

6. 6. The control program according to claim 5, wherein the second indicator includes an edit distance between a sentence represented by a first output data generated from a first intermediate representation converted from the input data and a sentence represented by the current output data.

7. a process of determining whether a predetermined termination condition is satisfied as a result of modifying the intermediate representation; If the predetermined termination condition is not satisfied, the evaluating process and the modifying process are performed by setting output data generated from the modified intermediate representation as the current output data; outputting output data generated from the modified intermediate representation if the predetermined termination condition is met; 7. The control program according to claim 1, wherein the control program is executed by the computer.

8. When changing the intermediate representation of input data fed into a trained model, Evaluating the validity of the current output data generated from the intermediate representation by the trained model based on a first index that is correlated with the existence probability of output data in the data distribution of training data used to train the trained model; Based on the evaluation results, modify the intermediate representation so that the validity of output data generated by the trained model is increased. A control method characterized in that processing is executed by a computer.

9. When changing the intermediate representation of input data fed into a trained model, Evaluating the validity of the current output data generated from the intermediate representation by the trained model based on a first index that is correlated with the existence probability of output data in the data distribution of training data used to train the trained model; Based on the evaluation results, modify the intermediate representation so that the validity of output data generated by the trained model is increased. An information processing device comprising a control unit.