Information processing apparatus, information processing method, and program
The information processing device efficiently converts abstract system requirements into concrete configurations using machine learning, addressing accuracy issues in existing technologies and reducing design time and cost.
Patent Information
- Application Number
- JP2024024466
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-21
- Publication Date
- 2025-09-02
AI Technical Summary
Existing automated system design technologies, such as those described in Patent Document 1, lack accuracy in evaluating new elements not present in past learning processes, requiring retraining and incurring high time and cost when designing systems with new elements.
An information processing device and method that utilizes a graph structure to convert abstract system requirements into concrete configurations through machine learning, employing a configuration collection, feature generation, distributed representation learning, and conversion process to efficiently derive accurate system designs.
Reduces time and cost associated with system design by accurately converting abstract elements into concrete configurations using machine learning, enhancing the efficiency of system design processes.
Smart Images

Figure 2025127650000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] When designing an ICT (Information and Communication Technology) system, the first step is to define the requirements, where the designer creates system requirements, which are information summarizing the customer's requirements. At this stage, system requirements generally contain abstract information, and in most cases do not represent a deployable system configuration as is. Therefore, the designer gradually concretizes the abstract information contained in the system requirements, ultimately designing a deployable system configuration in which all information is concrete.
[0003] This series of actions requires specialized knowledge about the elements included in the system configuration and the relationships between the elements, so the more advanced the system, the greater the design effort and human costs required.
[0004] As a method to solve the above problems, automated system design technology has been proposed. This technology automatically derives a system configuration consisting only of concrete information based on system requirements that include abstract information.
[0005] As a related technology, Patent Document 1 discloses a system configuration derivation device that can gradually concretize the abstract parts included in the system requirements based on the requirements, and derive a deployable and concrete configuration of an ICT system.
[0006] According to the system configuration derivation device of Patent Document 1, a method for calculating a score that represents the degree of appropriateness of a concretization rule, which is a rule that rewrites in more detail some of the configuration requirements that represent the requirements for an ICT system, is learned.
[0007] When an apparatus that has learned in this way is input with abstract system requirements, it will be able to quickly and automatically design the specific configuration of the system by selecting appropriate concretization rules. [Prior art documents] [Patent documents]
[0008] [Patent Document 1] Patent No. 6989014 [Non-patent literature]
[0009] [Non-Patent Document 1] Hamilton, WL, Ying, Z., & Leskovec, J. (2017). Inductive Representation Learning on Large Graphs. Neural Information Processing Systems. [Non-patent document 2] Velickovic, P., Cucurull, G., Casanova, A., Romero, A., Lio', P., & Bengio, Y. (2017). Graph Attention Networks. ArXiv, abs / 1710.10903. Summary of the Invention [Problem to be solved by the invention]
[0010] However, the technology described in Patent Document 1 does not guarantee the accuracy of the device's evaluation of new elements (unlearned elements) that do not exist in the past learning process. Therefore, when designing a system using unlearned elements, the device cannot utilize its learning experience regarding elements that have been learned in the past to evaluate the quality of the unlearned elements, and it is not possible to design a highly accurate system.
[0011] Therefore, the technology described in Patent Document 1 has a problem in that when a system using new elements is to be designed, the device needs to be retrained, which is time-consuming and costly.
[0012] Therefore, one of the purposes of the present disclosure is to solve the above-mentioned problem of the time-consuming cost involved in system design. [Means for solving the problem]
[0013] An information processing device according to an embodiment of the present disclosure includes: a configuration collection means for collecting system configuration information included in design path information representing a design process of the system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; a feature generating means for generating feature values of elements in the system configuration information included in the design path information; a distributed representation learning means for acquiring parameters for calculating distributed representations of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; a conversion means for generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information to the design path information that is the subject of learning by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; and Equipped with The structure is as follows. Furthermore, an information processing method according to an embodiment of the present disclosure includes: The information processing device collecting system configuration information included in design path information representing a design process of system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; generating feature quantities of elements in the system configuration information included in the design path information; Obtaining parameters for calculating a distributed representation of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information using the parameters for the design path information to be learned by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; The structure is as follows. Furthermore, a program according to an embodiment of the present disclosure includes: In the information processing device, collecting system configuration information included in design path information representing a design process of system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; generating feature quantities of elements in the system configuration information included in the design path information; Obtaining parameters for calculating a distributed representation of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information using the parameters for the design path information to be learned by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; Execute the process, The structure is as follows. [Effects of the Invention]
[0014] With the above-described configuration, the present disclosure can reduce time costs when designing a system. [Brief explanation of the drawings]
[0015] [Figure 1]FIG. 1 is a diagram for explaining automatic design of a system in the present disclosure. [Figure 2] FIG. 1 is a diagram for explaining automatic design of a system in the present disclosure. [Figure 3] FIG. 1 is a diagram for explaining automatic design of a system in the present disclosure. [Figure 4] FIG. 1 is a diagram for explaining automatic design of a system in the present disclosure. [Figure 5] FIG. 1 is a diagram for explaining automatic design of a system in the present disclosure. [Figure 6] FIG. 1 is a block diagram showing a configuration of a graph transformation device according to the present disclosure. [Figure 7] 1 is a block diagram illustrating a configuration of a system automatic design learning device according to the present disclosure. [Figure 8] FIG. 10 is a flowchart illustrating an example of the operation of the graph transformation device according to the present disclosure. [Figure 9] FIG. 10 is a flowchart illustrating an example of an operation for collecting a system configuration according to the present disclosure. [Figure 10] FIG. 10 is a flowchart illustrating an example of an operation for generating design path information in the present disclosure. [Figure 11] FIG. 2 is a diagram illustrating an example of a search tree in the present disclosure. [Figure 12] FIG. 2 is a diagram illustrating an example of a data structure of search tree information in the present disclosure. [Figure 13] FIG. 4 is a diagram illustrating an example of a data structure of design path information according to the first embodiment of the present disclosure. [Figure 14] FIG. 10 is a flowchart illustrating an example of an operation for extracting information necessary for learning in the present disclosure. [Figure 15] 1A and 1B are diagrams illustrating an example of a data structure of type definition information in the present disclosure, and an example of a type and identification information corresponding to the type. [Figure 16] FIG. 1 is a diagram illustrating an example of a type and properties defined for the type in the present disclosure. [Figure 17]FIG. 10 is a diagram illustrating an example of type property information and a property vector generated from a property list in the present disclosure. [Figure 18] FIG. 10 is a diagram illustrating information generated by combining type identification information and a property vector in the present disclosure. [Figure 19] FIG. 10 is a flowchart illustrating an example of the operation of the system automatic design learning device according to the present disclosure. [Figure 20] FIG. 10 is a flowchart illustrating an example of the overall flow of the reinforcement learning operation of the system automatic design learning device according to the present disclosure. [Figure 21] FIG. 10 is a flowchart illustrating an example of an operation of the graph transformation device according to the present disclosure to generate design path information with distributed representation. [Figure 22] FIG. 10 is a diagram illustrating an example of a data structure of design path information with distributed representation in the present disclosure. [Figure 23] FIG. 10 is a flowchart illustrating an example of a reward setting operation in the present disclosure. [Figure 24] FIG. 10 is a flowchart illustrating an example of a reward update operation in the present disclosure. [Figure 25] FIG. 10 is a flowchart illustrating an example of an operation of generating learning data for learning by the system automatic design learning device according to the present disclosure. [Figure 26] FIG. 10 is a flowchart illustrating an example of an operation for learning a learning model in the present disclosure. [Figure 27] 1 is a block diagram showing a hardware configuration of an information processing device according to the present disclosure. [Figure 28] 1 is a block diagram showing a configuration of an information processing device according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0016] First Embodiment A first embodiment of the present disclosure will be described with reference to the drawings, which may be relevant to any embodiment.
[0017] [Outline of existing technology] First, an overview of the automatic design of an ICT system in this embodiment will be described. First, as a premise, the requirements and configuration of an ICT system can be expressed as a graph. A graph represents elements (components and the relationships between the components) included in the configuration of an ICT system using nodes or edges. A node is an element that represents, for example, a device or an application. An edge is an element that represents the connection relationship between two nodes.
[0018] As an example of an ICT system, we will explain the design of a face recognition system. When designing a face recognition system, the designer first creates the system requirements for the face recognition system.
[0019] Figure 1 is a diagram for explaining the automated design of a face recognition system. Graph G1 in Figure 1 is a graph that represents the configuration of system requirements R1 of the face recognition system. Graph G1 in Figure 1 is represented using nodes N1, N2, N3, and N4 and edges E1, E2, and E3.
[0020] Node N1 represents a camera function (solid circle), which is a specific element; node N2 represents a face recognition function (solid circle), which is a specific element; node N3 represents a server computer function (solid circle), which is a specific element; and node N4 represents a server computer function (dashed circle), which is an abstract element. Edge E1 represents an HTTP communication function (dashed arrow), which is an abstract element; edges E2 and E3 represent join (affiliation) functions (solid arrows), which are specific elements. The parts of graph G1 (system requirements) in FIG. 1 other than these will be explained later.
[0021] Fig. 2 is a diagram for explaining the data structure of part information, which is information about the elements described above. In part information P1 shown in Fig. 2, for each piece of part identification information that identifies a node and an edge, function information (also called type) of the node or edge is associated with information (concrete (1) / abstract (0)) that indicates whether this node or edge is a concrete part (element) or an abstract part (element).
[0022] Fig. 3 is a diagram for explaining the data structure of system requirements. System requirement R1 in Fig. 3 is a system requirement corresponding to graph G1 shown in Fig. 1. System requirement R1 includes component identification information for identifying all nodes included in the requirement. System requirement R1 is information including component identification information for identifying all edges included in the requirement, component identification information for identifying nodes at the start points of the edges, and component identification information for identifying nodes at the end points of the edges.
[0023] In the above-mentioned Figures 1 to 3, the graph, part information, and system requirements are explained using graph G1, part information P1, and system requirement R1, but the graph, part information, and system requirements are not limited to graph G1, part information P1, and system requirement R1 shown in Figures 1 to 3.
[0024] Next, we will explain the conversion of abstract graphs to concrete graphs in automated system design. The example in Figure 1 shows that graph G2, G3, and G4 shown in Figure 1 are derived by concretizing graph G1, which corresponds to system requirement R1, based on the concretization rules described below. Note that graphs G2, G3, and G4 are system configuration proposals. A system configuration proposal is one that includes abstract components but is not a system requirement. Similarly, by concretizing system configuration proposal G2 using the concretization rules, a concrete system configuration G5 is derived that does not include abstract elements.
[0025] Although not shown in the example of FIG. 1, the system configuration plan derived by specifying the graph G1 corresponding to the system requirement R1 may exist in graphs other than G2, G3, and G4 in FIG.
[0026] Next, we will explain the reification rules. The reification rules are rules for converting abstract parts included in the system requirements or system configuration plan into concrete parts. The reification rules are information that includes detection information corresponding to the abstract parts of the graph and conversion information corresponding to the concrete parts of the graph.
[0027] The detection information and the conversion information are each a graph made up of nodes, edges, or both, and one piece of detection information is associated with one piece of conversion information.
[0028] When all or part of a graph corresponding to a system requirement or a system configuration plan matches with the detection information of a certain concretization rule, the concretization rule is applied and the matching part is replaced with conversion information, thereby concretizing the graph. An example of a concretization rule will be described later with reference to FIG. 4. An example of a data structure of a concretization rule will be described later with reference to FIG. 5.
[0029] Although not shown in the example of Figure 3, there are also system configuration plans R2, R3, and R4 corresponding to graphs G2, G3, and G4. Like system requirement R1, system configuration plans R2, R3, and R4 contain information that includes component identification information for all nodes included in each configuration plan, component identification information for all edges, component identification information for the start nodes of the edges, and component identification information for the end nodes of the edges.
[0030] Fig. 4 is a diagram for explaining the instantiation rules, showing graphs G31, G32, G33, ... which are graphs representing a plurality of instantiation rules.
[0031] Graph G31 is a graph representing concatenation rule Rule1 used to convert graph G1 shown in FIG. 1 into graph G2 shown in FIG. 1 (by deleting edge E1 and adding edge E4). Graph GD31 included in graph G31 is a graph representing detection information, and graph GC31 included in graph G31 is a graph representing conversion information. Since graph GD31 matches graph G1 shown in FIG. 1, concatenation rule Rule1 can be applied. Then, by applying concatenation rule Rule1, the configuration of graph G1 is replaced with the configuration of graph GC31, resulting in graph G2.
[0032] Graph G32 is a graph representing concatenation rule Rule2 used to convert graph G1 shown in FIG. 1 into graph G3 shown in FIG. 1 (converting node N4 into node N5). Graph G33 is a graph representing concatenation rule Rule3 used to convert graph G1 shown in FIG. 1 into graph G4 shown in FIG. 1 (converting node N4 into node N6). Like graph G31, graph GD32 included in graph G32 is a graph representing detection information, and graph GC32 is a graph representing conversion information. Graph GD32 matches a portion of graph G1 shown in FIG. 1, so concatenation rule Rule2 can be applied. Then, by applying concatenation rule Rule2, a portion of graph G1 (i.e., node N4) is replaced with graph GC32 (i.e., node N5), and graph G1 is converted into graph G3. Similarly to graph G31, graph G33 includes graph GD33, which is a graph representing detection information, and graph GC33, which is a graph representing conversion information. Graph GD33 matches a portion of graph G1 shown in Fig. 1, so concatenation rule Rule3 can be applied. By applying concatenation rule Rule3, a portion of graph G1 (i.e., node N4) is replaced with graph GC33 (i.e., node N6), and graph G1 is converted into graph G4.
[0033] Fig. 5 is a diagram for explaining the data structure of a concatenation rule. Concise rule Rule1 shown in Fig. 5 is a concatenation rule corresponding to graph G31. Concise rule Rule1 also has detection information 91 used to detect abstract parts and conversion information 92 for converting the abstract parts detected using the detection information 91 into concrete parts. Although not shown, concatenation rules Rule2, Rule3, ... as shown in Fig. 5, corresponding to graphs G32, G33, ... also exist for graphs G32, G33, ...
[0034] When deriving graphs G2, G3, and G4 from graph G1 shown in Figure 1, first, the system requirement R1 is compared with multiple pieces of detection information (corresponding to the abstract parts of the concretization rules) to find detection information that matches the abstract parts included in system requirement R1.
[0035] Next, the abstract parts detected from the system requirement R1 are converted into conversion information (concrete parts of the concatenation rules) using the detection information corresponding to the detected abstract parts. In the conversion to graph G2, since the detection information 91 of the system requirement R1 matches the detection information 91 of the concatenation rule Rule1, it is replaced with the conversion information 92 of the concatenation rule Rule1. As a result, edge E1 is deleted from the system requirement R1 and edge E4 is added.
[0036] Although not shown here, a system configuration plan R2 corresponding to the graph G2 is generated. System configuration plans R3 and R4 corresponding to the graphs G3 and G4, respectively, are also generated.
[0037] For each of the multiple system configuration plans generated in this way (system configuration plans R2, R3, and R4), the abstract parts of the system configuration plan are converted into concrete parts using the concretization rules. If a system configuration plan that is an abstract system configuration is generated as a result of converting the abstract parts of the system configuration plan into concrete parts using the concretization rules, the concretization process described above is repeated. If a system configuration that does not have any abstract parts is generated, the concretization process is stopped (automated design is terminated).
[0038] Here, when concretizing the system requirements and system configuration plan, multiple concretization rules are used, and the derived system configuration plan and system specific configuration will vary depending on the concretization rules selected and the order in which they are selected. In other words, different system configuration plans and system specific configurations will be derived depending on the type of concretization rules selected and their order.
[0039] Furthermore, as the number of instantiation rules increases, the number of system configuration proposals and system instantiations generated becomes enormous. Furthermore, among the multiple different system instantiations, there may be a system instantiation that does not satisfy the system requirements. Therefore, as the number of instantiation rules increases, it becomes difficult to efficiently derive a system instantiation.
[0040] Therefore, in order to efficiently derive a system instantiation, it is important to properly judge the merits of the instantiation rules to be applied.
[0041] Therefore, a learning model is used to select the concretization rules to be applied. That is, the system configuration plans generated by executing the concretization process are evaluated using the learning model acquired by machine learning, and the system configuration plan with the highest evaluation value is selected from the system configuration plans. In this way, by repeating the concretization process using the learning model, the system concrete configuration can be efficiently derived.
[0042] In this embodiment, we provide a learning device that generates a learning model for automatically designing a system as described above, and a graph conversion device that solves the above-mentioned problems by converting the learning data of the learning device. Note that the graph conversion device solves the problems described at the beginning of this disclosure by converting the content of the data that the learning device is to learn.
[0043] The graph transformation device according to this embodiment will be described below. After that, the system automatic design learning device including the graph transformation device will be described. In the drawings described below, elements having the same or corresponding functions will be given the same reference numerals, and repeated explanations may be omitted.
[0044] [composition] First, the configuration of a graph transformation device in this disclosure is presented, and then the configuration of a system automatic design learning device that generates a learning model for automatically designing a system and includes the graph transformation device as part of its function is presented.
[0045] The configuration of an information processing system including the graph conversion device 10 according to the first embodiment will be described with reference to Fig. 6. Fig. 6 is a diagram illustrating an example of the information processing system.
[0046] 6, the information processing system includes a graph transformation device 10, a storage device 20, an input device 30, and an output device 40. The graph transformation device 10, the storage device 20, the input device 30, and the output device 40 are communicably connected via a network.
[0047] The graph transformation device 10 is, for example, a CPU (Central Processing Unit), a programmable device such as an FPGA (Field-Programmable Gate Array), a GPU (Graphics Processing Unit), or a circuit equipped with one or more of these, an information processing device such as a server computer, a personal computer, or a mobile terminal.
[0048] The storage device 20 is a database, a server computer, a circuit having a memory, etc. The storage device 20 stores various types of information, which will be described later. In the example of Fig. 6, one storage device 20 is provided outside the graph transformation device 10, but multiple storage devices 20 may be provided inside or outside the graph transformation device 10.
[0049] The input device 30 is, for example, a keyboard, a mouse, a touch panel, etc. The input device 30 is used when operating the graph conversion device 10 and the output device 40. The output device 40 is, for example, a display device such as a monitor.
[0050] The communication network is a general communication network constructed using communication lines such as the Internet, a LAN (Local Area Network), a dedicated line, a telephone line, an in-house network, a mobile communication network, Bluetooth (registered trademark), and Wi-Fi (Wireless Fidelity).
[0051] The graph transformation device 10 is a device that converts the contents of learning data used for learning by an automatic system design learning device 50 (described later) that designs ICT systems. As shown in FIG. 6, the graph transformation device 10 has a configuration collection means 11, a feature generation means 12, a distributed representation learning means 13, and a conversion means 14. The functions of the configuration collection means 11, the feature generation means 12, the distributed representation learning means 13, and the conversion means 14 can be realized by a calculation device such as a CPU equipped in an information processing device that constitutes the graph transformation device 10 executing a program for realizing each function stored in a storage device. Each component will be described below, but an overview of each component will be provided first, and then a detailed description will be given later when explaining the operation.
[0052] The configuration collection means 11 is a means for collecting system configurations. Specifically, it performs a concretization process for converting abstract parts (elements) of system requirements, which are information representing the configuration of a system including abstract parts, into concrete parts, generates a concrete system configuration, which is information representing the configuration of a system that does not include abstract parts, generates design path information representing the process from the system requirements to the generation of the concrete system configuration (information including the system requirements, a system configuration plan in the process from the system requirements to the generation of the concrete system configuration, and the concrete system configuration), and stores all configurations included in this design path information.
[0053] The feature generation means 12 is a means for extracting information necessary for learning of the graph transformation device 10 from the system configuration collected by the configuration collection means 11, and generating feature quantities of components. The feature generation means 12 includes a type identification information extraction means 121, a property information extraction means 122, and a graph structure extraction means 123. The type identification information extraction means 121 is a means for extracting type identification information, which is information that uniquely represents a component included in a system configuration, for each component. The property information extraction means 122 is a means for extracting information on properties (attributes) assigned to each component included in the system configuration. The graph structure extraction means 123 is a means for extracting the structure (information on which elements are connected to which elements) when the system configuration is expressed in a graph.
[0054] The distributed representation learning means 13 is a means for learning distributed representations corresponding to each component included in the system configuration based on the information extracted by the feature generation means 12 (element type identification information, element property information, and structural information when the system configuration is represented as a graph), and outputting parameters necessary for calculating the distributed representations.
[0055] Here, we will explain "distributed representations," "parameters for calculating distributed representations," and "learning methods for acquiring parameters." First, the distributed representation corresponding to each part is a representation of each part as a low-dimensional real-valued vector, and is information that represents the characteristics of each part.
[0056] When comparing the distributed representations of two parts, the closer the values of each component are, the more similar the two distributed representations are. In other words, in this case, the two parts can be determined to be similar.
[0057] Conversely, the further apart the values of each component of the distributed representations of two parts are, the less similar the two distributed representations are, and the two parts can be determined to be dissimilar.
[0058] A distributed representation corresponding to a certain part is obtained by repeatedly adding, with appropriate weights, a sequence of numbers representing the features of that part and a sequence of numbers representing the features of parts adjacent to that part, and then using the result of this addition to update the features of that part.
[0059] The parameters required for computing the distributed representations are the weights mentioned above. These parameters determine the weights used to add up the features of a given part and the features of its adjacent parts.
[0060] The parameters required to calculate the distributed representations mentioned above can be obtained through machine learning. The learning model used for machine learning is a graph neural network that takes graph information, in which each node and each edge in a structure represented by a graph has features, as input and outputs graph information in the same format.
[0061] The learning model receives as input a configuration in which features are associated with each component, then calculates a distributed representation of each component using parameters, and finally outputs a predicted value of the label corresponding to each component based on the distributed representation. During learning, the parameters are optimized to minimize the error between the predicted value of the label and the correct label. Note that the correct label may be, for example, a sequence of numbers that can uniquely identify the component, but is not limited to this.
[0062] This concludes our explanation of the "distributed representations," "parameters for calculating the distributed representations," and "learning method for acquiring the parameters."
[0063] The conversion means 14 is a means for converting the system configuration input by the input device 30 using the parameters output as a result of learning by the distributed representation learning means 13, and outputting the converted system configuration through the output device 40. Specifically, the conversion means 14 uses the parameters obtained from the distributed representation learning means 13 to calculate a distributed representation of each element included in the system configuration, and assigns it to each element, thereby generating a configuration with distributed representations.
[0064] Next, the configuration of an automatic system design learning device 50 in embodiment 1, which is a learning device that generates a learning model for automatically designing a system and includes the graph conversion device 10 as part of its functions, will be described with reference to Fig. 7. Fig. 7 is a diagram illustrating an example of an information processing system.
[0065] 7, the information processing system includes an automatic system design learning device 50, a storage device 60, an input device 70, and an output device 80. The automatic system design learning device 50, the storage device 60, the input device 70, and the output device 80 are communicatively connected via a network.
[0066] The system automatic design learning device 50 is, for example, an information processing device such as a CPU (Central Processing Unit), a programmable device such as an FPGA (Field-Programmable Gate Array), a GPU (Graphics Processing Unit), or a circuit equipped with one or more of these, a server computer, a personal computer, or a mobile terminal.
[0067] The storage device 60 is a database, a server computer, a circuit having a memory, or the like. The storage device 60 stores various types of information, which will be described later. In the example of Fig. 6, one storage device 60 is provided outside the system automatic design learning device 50, but multiple storage devices 60 may be provided inside or outside the system automatic design learning device 50.
[0068] The input device 70 is, for example, a keyboard, a mouse, a touch panel, etc. The input device 70 is used when operating the system automatic design learning device 50, the output device 80, etc. The output device 80 is, for example, a display device such as a monitor.
[0069] The communication network is a general communication network constructed using communication lines such as the Internet, a LAN (Local Area Network), a dedicated line, a telephone line, an in-house network, a mobile communication network, Bluetooth (registered trademark), and Wi-Fi (Wireless Fidelity).
[0070] The automatic system design learning device 50 is a device that learns a learning model for designing an ICT system. As shown in FIG. 7, the automatic system design learning device 50 includes a design unit 51, a graph conversion device 10, a reward setting unit 52, a learning data generation unit 53, and a learning unit 54. The functions of the design unit 51, the graph conversion device 10, the reward setting unit 52, the learning data generation unit 53, and the learning unit 54 can be realized by a computing device such as a CPU equipped in an information processing device that constitutes the automatic system design learning device 50 executing a program for realizing each function stored in a storage device. Each component will be described below, but an overview of each component will be provided first, followed by a detailed description of the operation later.
[0071] The design unit 51 performs a concretization process on the system requirements, which are information representing the configuration of a system including abstract parts (elements), to convert the abstract parts into concrete parts, generates a system concrete configuration, which is information representing the configuration of a system that does not include abstract parts, and generates design path information representing the process from the system requirements to the generation of the system concrete configuration (system requirements, system configuration proposals in the process of deriving the system concrete configuration from the system requirements, and information including the system concrete configuration).
[0072] As described above, the graph conversion device 10 is a device that converts the contents of learning data used for learning by the automatic system design learning device 50 that designs ICT systems. How the graph conversion device 10 operates inside the automatic system design learning device 50 will be explained in detail later when explaining the operation.
[0073] The reward setting unit 52 sets rewards for each of the system requirements with distributed representation, the system configuration plan with distributed representation, and the specific system configuration with distributed representation, which are included in the design path information with distributed representation. The reward setting unit 52 also sets rewards for learning a system design method based on the requirements.
[0074] The learning data generation unit 53 generates learning data in which a reward is associated with each of the system requirements with distributed representation, the system configuration plan with distributed representation, and the specific system configuration with distributed representation, which are included in the design path information with distributed representation.
[0075] The learning unit 54 learns how to design a system based on requirements, based on the learning data.
[0076] [Operation] Next, the operations of the graph conversion device 10 and the automatic system design learning device 50 including the graph conversion device 10 in the first embodiment will be described. In the following description, reference will be made to the figures as appropriate. In the first embodiment, the automatic system design learning method is implemented by operating the graph conversion device 10 and the automatic system design learning device 50. Therefore, the description of the automatic system design learning method in the first embodiment is equivalent to the description of the operation of the automatic system design learning device including the graph conversion device below.
[0077] First, the operation of the graph conversion device 10 will be explained, and then the operation of the system automatic design and learning device 50 including the graph conversion device 10 will be explained.
[0078] 8 is a diagram for explaining an example of the operation of the graph transformation device 10 in embodiment 1. First, the configuration collection means 11 collects system configurations as information that serves as the source of learning data for learning distributed representations corresponding to each element of the configurations (step S1).
[0079] FIG. 9 is a diagram for explaining an example of the operation of collecting system configurations for distributed representation learning (the operation of step S1 described above).
[0080] First, the configuration collection means 11 performs a system design and generates design path information (step S11). The design path information can be generated using, for example, the design function (design unit 51) of the system automatic design learning device 50.
[0081] Specifically, for system requirements, which are information representing the configuration of a system including abstract parts (elements), a concretization process is performed to convert the abstract parts into concrete parts, generating a concrete system configuration, which is information representing the configuration of a system that does not include abstract parts, and generating design path information representing the process from the system requirements to the generation of the concrete system configuration (system requirements, system configuration proposals in the process of deriving the concrete system configuration from the system requirements, and information including the concrete system configuration).
[0082] Here, the description will be given assuming that the design function of the system automatic design learning device 50 is used to generate the design path information.
[0083] FIG. 10 is a diagram for explaining the operation of generating design path information. First, the configuration collection means 11 acquires system requirements stored in advance in the storage device 20, and sets the acquired system requirements as the current configuration (step D1). Next, the configuration collection means 11 registers the current configuration as the root node of the search tree (step D2). Specifically, the configuration collection means 11 stores system requirement identification information for identifying the current configuration (system requirements) as the root node in the search tree information. The data structure of the search tree information will be described later with reference to FIG. 12.
[0084] Here, Fig. 11 is a diagram for explaining an example of a search tree. The search tree can be represented by a graph (search tree T1) as shown in Fig. 11. The root node mentioned in the explanation of step D2 above corresponds to system requirement R1 in Fig. 11.
[0085] Fig. 12 is a diagram illustrating an example of the data structure of search tree information. The data structure shown in Fig. 12 corresponds to the search tree in Fig. 11. In the example of Fig. 12, system requirement identification information "R1" associated with system requirement R1 stored in storage device 20 is stored as the "parent node" of search tree information T10, and "1" is also stored as information indicating that system requirement R1 is the "root node."
[0086] Next, if none of the instantiation rules can be applied to the current configuration, or if the current configuration is a system instantiation configuration (step D3: Yes), the configuration collection means 11 proceeds to the processing of step D9.
[0087] Furthermore, if there is an instantiation rule that can be applied to the current configuration (step D3: No), the configuration collection means 11 repeats the processes from step D4 to step D8.
[0088] Next, the configuration collection means 11 instantiates one component included in the current configuration by executing instantiation processing (step D4). Next, the configuration collection means 11 sets the configuration obtained by instantiating the component in step D3 as the next configuration (step D5).
[0089] Next, if the next configuration (concrete configuration (system configuration plan)) is not stored in the search tree information (step D6: No), the configuration collection means 11 proceeds to processing of step D7. Also, if the next configuration (concrete configuration (system configuration plan)) is stored in the search tree information (step D6: Yes), the configuration collection means 11 proceeds to processing of step D8.
[0090] Next, the configuration collection means 11 associates the current configuration with the next configuration and the concretized parts (concretized parts) as search tree information, with the node representing the current configuration as the parent node, the next configuration (concretized configuration) as the child node, and the edges representing the concretized parts (concretized parts of the concretization rules) as directed edges (step D7).
[0091] For example, if the current configuration is system requirement R1 and system configuration proposal R2 is generated from system requirement R1, as shown in Figure 12, system configuration proposal identification information "R1" corresponding to system requirement R1 in search tree information T10, system configuration proposal identification information "R2" corresponding to system configuration proposal R2 generated by the concretization process, and concretization identification information "Rule1" corresponding to the concretization rule used in the concretization process are stored in association with each other.
[0092] Furthermore, if the current configuration is system configuration proposal R2 and specific configuration R5 is generated from system configuration proposal R2, as shown in FIG. 12, the system configuration proposal identification information "R2" of search tree information T10, the system specific configuration identification information "R5" associated with the specific configuration generated by the concretization process, and the concretization rule identification information "Rule4" associated with the concretization rule used in the concretization process are stored in association with each other.
[0093] Next, the configuration collection means 11 sets the next configuration as the current configuration (step D8).
[0094] Next, the configuration collection means 11 generates a series of paths (design path information storing the configurations in chronological order) from the system requirements to the generation of the current specific system configuration based on the system configuration (system requirements, system configuration proposal, specific system configuration) obtained in the processing of steps D1 to D8 described above (step D9). Furthermore, by repeating the processing of steps D1 to D8, there may be cases where applicable instantiation rules run out before the specific system configuration is reached, resulting in a deadlock in the design. In this case, the configuration collection means 11 generates a series of paths from the system requirements to the finally arrived system configuration proposal.
[0095] Fig. 13 is a diagram illustrating an example of the data structure of design path information. The design path information DP1 shown in Fig. 13 records the system requirement "R1," system configuration plan "R2," and specific system configuration "R5" shown in Fig. 11 in this order. In other words, the design path information DP1 indicates that, as one step in the system design process, there is a series of design processes that start with the system requirement "R1," go through the system configuration plan "R2," and reach the specific system configuration "R5."
[0096] Each configuration associated with the design path information (configurations such as R1, R2, and R5) is replaced with a configuration with a distributed representation generated by rewriting the information held by each element, as described below, and is then used to generate training data.
[0097] After generating the design path information in the above manner (step S11 in FIG. 9), the configuration collection means 11 stores all the configurations included in the generated design path in the storage device (step S12).
[0098] Next, if the configuration collection means 11 has generated design path information the specified number of times (step S13: Yes), it passes all of the configurations stored in the storage device to the feature generation means (step S14).If the configuration collection means 11 has not generated design path information the specified number of times (step S13: No), it repeats the processes from step S11 to step S13.
[0099] The number of times the design path information is generated is determined in advance by, for example, experiments or simulations.
[0100] In this way, the configuration collection means 11 collects system configurations as information that serves as the source of learning data for learning distributed representations corresponding to each element of the configurations, and passes the collected system configurations to the feature generation means 12 (step S1).
[0101] Next, the feature generation means 12 extracts information required to learn the distributed representation of each component included in the configuration from the received system configuration (step S2 in Fig. 8). Fig. 14 shows an example of the operation of the feature generation means 12 extracting information required to learn the distributed representation of each component and generating component features.
[0102] First, the feature generating means 12 selects an arbitrary configuration from the configurations received from the configuration collecting means 11 and sets it as the current configuration (step S21). Next, the feature generating means 12 selects one component that has not been selected yet from the components included in the current configuration (step S22).
[0103] Next, the type identification information extraction means 121 acquires the type identification information of the selected part (step S23). Type identification information is information that can uniquely identify the type of the part. As type identification information, for example, a one-hot vector can be considered. A one-hot vector is a vector in which one element is "1" and all other elements are "0", and each element of the vector corresponds one-to-one to each type.
[0104] Fig. 15 is a diagram showing the data structure of type definition information and an example of a type and identification information corresponding to the type. Reference numeral 151 in Fig. 15 denotes type definition information. This indicates the type definition information used in the design of the face authentication system shown in Fig. 1. In the example of type definition information 151 shown in Fig. 15, type names such as "camera," "face authentication software," "server computer," "server computer A," "server computer B," "connect," "HTTP communication," and "join" are stored as "types (functional information)" representing types.
[0105] In the example of Figure 15, the type used in the explanation of the face recognition system in Figure 1 is shown as an example of a stored type, but the types stored in the type definition information are not limited to the types explained in Figure 15, and types other than those explained in Figure 15 can be defined.
[0106] Also, 152 in FIG. 15 is information representing type identification information. The type identification information 152 is an example of a data structure of type identification information corresponding to the type definition information 151 also in FIG. 15. The type identification information 152 is information that associates type information representing a type with an array having elements of "0" and "1" as identification information corresponding to the type information. Such a data structure is generally referred to as a one-hot vector. The length of each array in the type identification information is at least equal to or greater than the number of types stored in the type definition information. Furthermore, each element of each array in the type identification information corresponds to a type stored in the type definition information in the order in which they are defined.
[0107] For example, in the case of the first defined type "camera" in the type definition information, the array corresponding to "camera" in the type identification information (array "camera") stores "1" in the first element and the remaining elements are "0." Types other than "camera" are also stored in association with arrays in which "1" is stored in the position corresponding to the type and "0" is stored in the other positions.
[0108] Next, the property information extraction means 122 acquires property information for the selected component (step S24). Property information is information that represents the characteristics and attributes associated with the type of each component. Fig. 16 shows an example of type property information that indicates the type and the properties defined for that type, and a property list that lists all the defined properties.
[0109] Reference numeral 161 in FIG. 16 is an example of a data structure of type property information that indicates a type and properties defined for that type.
[0110] For example, in the case of the type "camera" defined first in the type property information 161, the properties corresponding to "camera" in the type property information 161 are "cost (purchase cost)" and "quality (image quality)".
[0111] Similarly, for types other than "camera", it is possible to refer to the properties defined in the type.
[0112] 16 is a diagram showing an example of the data structure of a property list. Property list 162 is information that records all properties defined in the type property information, without any excess or deficiency. Note that properties recorded in the property list will not overlap, and the order in which the properties are recorded will not change unless there is a change in the type and properties defined in the type definition information.
[0113] Next, the property information extraction means 122 generates a property vector from the type property information and the property list (step S25). Fig. 17 is a diagram showing an example of a property vector generated from the type property information and the property list.
[0114] For simplicity's sake, 171 in FIG. 17 lists all property vectors that can be generated from the type property information 161 and property list 162 shown in FIG. 16. Each element of the property vector corresponds to each element of the property list shown in FIG. 16. In other words, the length of the property vector is the same as the length of the property list. Specifically, a property vector is information that associates type information that represents a type with an array whose elements indicate the presence or absence of a property corresponding to the type information using "0" or "1." This type of data structure is generally referred to as a one-hot vector. In this case, each element of each array in the property vector corresponds to the order of the properties stored in the property list.
[0115] For example, the property vector corresponding to the first "camera" shown in property vector information 171 is a vector in which the first and second elements are "1" and the remaining elements are all "0." Referring to the properties defined for "camera" in type property information 161, there are "cost" and "quality." Here, referring to property list 162, "cost" is recorded as the first and "quality" as the second. In other words, the fact that the first and second elements of the property vector for "camera" shown in Figure 17 are "1" indicates that the properties "cost" and "quality" are defined for the type "camera."
[0116] Although the above description describes property vectors corresponding to the type "camera", property vectors can be generated for any type other than the type "camera".
[0117] Next, the feature generation means 12 combines the type identification information and the property vector, and assigns this to the component as a feature of the component (step S26). FIG. 18 is a diagram showing information generated by combining the type identification information and the property vector. For simplicity, all information that can be generated by the above-mentioned method is shown in a list. Information 181 in FIG. 18 is generated by combining, for each type, the information contained in the type identification information 152 shown in FIG. 15 and the property vector information 171 shown in FIG. 17.
[0118] In the information 181 shown in FIG. 18, the portion corresponding to the type identification information is surrounded by a dotted line. Taking the type "camera" as an example, the type identification information of the type "camera" is a vector in which the first element is "1" and the second to eighth elements are "0", so the elements of the vector corresponding to the type "camera" in the information 181 are the same. Also, the property vector of the type "camera" is a vector in which the first and second elements are "1" and the subsequent elements are "0". In the example shown in FIG. 18, the property vector is concatenated after the type identification information, so the ninth and tenth elements of the generated vector are "1" and the subsequent elements are "0".
[0119] It should be noted that the feature generating means 12 does not generate the information 181 shown in Fig. 18 itself. The information 181 in Fig. 18 is merely an example, showing a list of all information that can be generated for each type defined in the type definition information 151 in Fig. 15.
[0120] The feature generating means 12 assigns information generated by combining the type identification information and the property vector for each component using the method described above to each component as the feature of the component.
[0121] Next, if all the parts of the current configuration have not been selected (step S27: No), the feature generation means 12 proceeds to the process of step S22 and repeats the processes of steps S22 to S27. If all the parts of the current configuration have been selected (step S27: Yes), the feature generation means 12 proceeds to the process of step S28.
[0122] Next, the graph structure extraction means 123 acquires graph structure information of the current configuration (step S28). The graph structure information is information that indicates which components (nodes) are connected to each other by relationships (edges) in the configuration. The data format of the graph structure information is the same as the format shown in Fig. 3, and includes component identification information of all nodes present in the configuration, component identification information of all edges, and component identification information of the start nodes and end nodes of all edges.
[0123] Next, if the feature generating means 12 has not selected all of the configurations received from the configuration collecting means 11 (step S29: No), the feature generating means 12 proceeds to processing in step S210. On the other hand, if the feature generating means 12 has selected all of the configurations (step S29: Yes), the feature generating means 12 proceeds to processing in step S211.
[0124] In the process of step S210, the feature generating means 12 selects a configuration that has not yet been selected and sets it as the current configuration. When the process of step S210 is completed, the feature generating means 12 proceeds to the process of step S22 and repeats the subsequent processes again.
[0125] Finally, in step S211, the feature generation means 12 passes all configurations to the distributed representation learning means. At the time of performing the processing in step S210, all configurations passed to the distributed representation learning means have been assigned "information combining type identification information and property vectors" corresponding to each component. Furthermore, by the processing in step S28, each configuration is associated with its own graph structure information.
[0126] By performing the above operations, the graph transformation device 10 uses the feature generation means 12 to extract information necessary for learning distributed representations and generate features of components.
[0127] Next, the distributed representation learning means 13 performs learning using all the configurations received from the feature generating means 12 and the graph structure information associated with each configuration, and acquires parameters necessary for calculating the distributed representations (step S3). Here, the learning model to be learned is a graph neural network that receives graph information in which each node and each edge in a configuration represented by a graph has a feature, and outputs graph information in the same format. As a learning method, a method that aims to acquire distributed representations of elements that make up a graph by learning, such as the techniques described in Non-Patent Document 1 and Non-Patent Document 2, is desirable, but the learning method is not limited to a specific one.
[0128] The basic learning method, which is not limited to a specific method, is as described above with reference to FIG. 6 for the distributed representation learning means 13.
[0129] Specifically, one possible method is to give each node (component) features consisting of type identification information and a property vector, calculate a distributed representation of each node taking into account the relationships between nodes and adjacent information, and then prepare a model that predicts the component identification information of adjacent nodes based on this, and train it so that the binary cross-entropy error between the predicted value and a numerical value representing the actual component identification information (for example, a vector whose elements are 0 and 1) is minimized.
[0130] Finally, the conversion means 14 stores the parameters necessary for calculating the distributed representations acquired by the distributed representation learning means 13 through learning.
[0131] The conversion means 14, which has received the parameters necessary for learning the distributed representations, can calculate the distributed representations of each component included in the graph data (one or more system configurations) input through the input device 30. The conversion means 14 can also generate a configuration with distributed representations by assigning the calculated distributed representations of each component to each component, and output it through the output device 40.
[0132] As described above, the graph transformation device 10 learns parameters for calculating the distributed representation of each component by extracting necessary information from the configuration and using it as learning data, and generates and outputs a configuration with distributed representation by assigning the distributed representation of each component to each component of the input graph data.
[0133] Next, the operation of the system automatic design learning device 50 including the graph conversion device 10 will be described.
[0134] Note that the graph transformation device 10 is incorporated into the system automatic design learning device 50 for the purpose of reducing time and costs by making changes to the learning data used by the system automatic design learning device 50 for learning, thereby eliminating the need for re-learning of the system design device that is required when a new element is added. The change made to the learning data of the system automatic design learning device 50 is to assign a distributed representation corresponding to each component included in the configuration. It is assumed that the graph transformation device 10 has completed learning to be able to calculate an appropriate distributed representation before operating the system automatic design learning device 50.
[0135] Furthermore, the automatic system design learning device 50 is a device that improves the efficiency of system design by learning so that it can select appropriate instantiation rules from the applicable instantiation rules described above. Based on the above, the operation of the automatic system design learning device 50 including the graph transformation device 10 will be described.
[0136] 19 is a diagram showing an example of the operation of the automatic system design learning device 50 including the graph conversion device 10 in embodiment 1. First, the automatic system design learning device 50 acquires system requirements to be learned from the storage device 60 (step S31).
[0137] Next, the automatic system design learning device 50 performs reinforcement learning for a predetermined period using the system requirements of the learning target (step S32). This generates a learning model. For example, if a neural network is used for reinforcement learning, the learning model refers to the neural network.
[0138] The preset learning period is determined, for example, by experiments, simulations, etc. Alternatively, the learning period may be determined by the number of learning iterations instead of the learning period. For example, when a neural network is used, the number of learning iterations may be determined by the number of updates of the neural network weights.
[0139] Details of the learning operation, which is the process of step S32 described above, will be described later with reference to Fig. 20. In the learning, a method for designing an ICT system is learned.
[0140] First, the design unit 51 generates design path information using the system requirements (step S321). Specifically, the design unit 51 generates the design path information as shown in the flowchart of Fig. 10. The operation of the design unit 51 to generate the design path information is the same as that described above with reference to Fig. 10 as an example of the operation of the configuration collection means 11, and therefore a description thereof will be omitted here.
[0141] After the design unit 51 generates the design path information (step S321 in FIG. 20), the system automatic design learning device 50 converts it into design path information with distributed representation using the graph conversion device 10 (step S322). Specifically, the graph conversion device 10 generates the design path information with distributed representation as shown in the flowchart in FIG. 21. The process of generating design path information with distributed representation by the graph conversion device 10, which will be described below, is performed for each path, which is a series of design processes.
[0142] First, the graph transformation device 10 sets the first configuration of the design path information as the current configuration (step S3221). Next, the graph transformation device 10 selects a component that has not been selected yet from among the components included in the configuration (step S3222).
[0143] Next, the graph transformation device 10 calculates a distributed representation of the selected component and assigns it to the component (step S3223). Assigning a distributed representation to a component means making the distributed representation of the component referable. Next, if the graph transformation device 10 has not selected all the components of the current configuration (step S3224: No), it proceeds to the processing of step S3222 and performs the processing from steps S3222 to S3224 again. On the other hand, if the graph transformation device 10 has selected all the components of the current configuration (step S3224: Yes), it proceeds to the processing of step S3225.
[0144] Next, if the graph transformation device 10 has not selected all the configurations of the design path information (step S3225: No), the graph transformation device 10 proceeds to the processing of step S3226. In step S3226, the graph transformation device 10 sets the next configuration of the design path information as the current configuration. Thereafter, the graph transformation device 10 proceeds to the processing of step S3222. On the other hand, if the graph transformation device 10 has selected all the configurations of the design path information (step S3225: Yes), the graph transformation device 10 proceeds to the processing of step S3227.
[0145] Finally, the graph transformation device 10 generates design path information with distributed representation (step S3227).
[0146] Here, Fig. 22 is a diagram for explaining an example of the data structure of design path information with distributed representation. The design path information with distributed representation EDP1 shown in Fig. 22 represents a configuration in which distributed representations are assigned to the components of each configuration associated with the design path information DP1 shown in Fig. 13. That is, the system requirement with distributed representation "ER1", the system configuration plan with distributed representation "ER2", and the system specific configuration with distributed representation "ER5" shown in Fig. 22 refer to the system requirement "R1", the system configuration plan "R2", and the system specific configuration "R5" in which distributed representations are assigned to their respective components.
[0147] In this way, the graph transformation device 10 transforms the design path information into design path information with distributed representation (step S322 in FIG. 20).
[0148] Next, the reward setting unit 52 sets a reward for each system configuration with distributed representation (the system requirements with distributed representation, or the system configuration plan with distributed representation, or the specific system configuration with distributed representation) in the design path information with distributed representation (step S323 in FIG. 20). Specifically, the reward setting unit 52 sets the reward as shown in the flowchart in FIG. 23. Note that the reward setting process of the reward setting unit 52 described below is performed for each path, which is a series of design processes.
[0149] In the system design described in this disclosure, it is important to apply appropriate instantiation rules to the configuration plan and efficiently arrive at the concrete system configuration. Therefore, using design path information with distributed representation, a process is performed in which the probability that each configuration plan will arrive at the concrete configuration is given as a reward.
[0150] First, the reward setting unit 52 determines an initial value of the reward for the update candidate (step S41). Specifically, if the last configuration in the design path information with distributed representation is a specific system configuration with distributed representation, the reward setting unit 52 sets the initial value of the reward for the update candidate, for example, to "1" for the specific system configuration with distributed representation, and if the last configuration is not a specific system configuration with distributed representation, for example, to "0".
[0151] Here, the above-mentioned update candidate reward is a value used when updating the reward value obtained for each system configuration (system configuration with distributed representation) of the design path information with distributed representation in step S42 described later.
[0152] In the example of Figure 22, since the last configuration of the design path information with distributed representation EDP1 is the system specific configuration with distributed representation "ER5", in the processing of step S41, a reward of "1" is associated with "ER5", which represents the system specific configuration with distributed representation of the design path information with distributed representation EDP1.
[0153] Next, the reward setting unit 52 updates the reward for each system configuration (system configuration with distributed representation) included in the design path information with distributed representation (step S42). Specifically, the reward setting unit 52 performs a process of updating the reward as shown in the flowchart of FIG.
[0154] First, the reward setting unit 52 sets the last configuration (system configuration with distributed representation) in the design path information with distributed representation as the configuration to be updated (step S51). Next, the reward setting unit 52 compares the reward associated with the configuration to be updated with the reward of the update candidate, selects the larger reward, and stores the selected reward in association with the configuration to be updated (step S52). Next, the reward setting unit 52 sets the reward selected in step S52 (the larger reward after comparison) as the reward for the update candidate (step S53).
[0155] Next, if the reward setting unit 52 has not performed the reward update process for all configurations of the design path information with distributed representation (if the reward update process has not been performed up to the first configuration of the design path information with distributed representation) (step S54: No), it sets the configuration immediately before the current configuration to be updated in the design path information with distributed representation as the configuration to be updated (step S55), and proceeds to processing of step S52.
[0156] In addition, if the reward setting unit 52 has performed the reward update process for all configurations of the design path information with distributed representation (if the reward update process has been performed up to the first configuration of the design path information with distributed representation) (step S54: Yes), it terminates the processing of step S42 shown in Figure 24.
[0157] Specifically, in step S42, the reward for the update candidate is determined by comparing the reward associated with the configuration to be updated with the evaluation of the update candidate, and if the former reward does not yet exist (is not associated) before the comparison, it is considered to be "0". After the comparison, the larger of the two is updated as the reward associated with the configuration to be updated and the reward for the update candidate. Then, the configuration to be updated is updated, and this process is repeated.
[0158] For example, since no reward is initially associated with any configuration, in the example of Figure 22, "ER5" is the first configuration to be updated in step S51, and since "ER5" has not yet been associated with a reward, its value is considered to be "0." In this case, since the reward for the update candidate was initialized to "1" in step S41, "0" is compared with "1," and since "1" is greater, a reward of "1" is associated with "ER5."
[0159] Next, the configuration to be updated is set to "ER2," and the same processing as described above is repeatedly executed. After that, the configuration to be updated is set to "ER1," and the same processing as described above is repeatedly executed.
[0160] As another example, if we start with the first update candidate configuration (a configuration that is not a concrete configuration of the system with distributed representation) and it is not a concrete configuration, the reward of the update candidate is initialized to "0", and if the next configuration has a reward associated with it of "1", "0" and "1" are compared, and since "1" is greater, the reward value of the update candidate is updated to "1".
[0161] Specifically, in the process of step S42, data (reward) is generated for learning the evaluation values of the configurations "ER2" and "ER1" in the design process based on the evaluation value of the configuration "ER5" at the end of the design, as a result of the process performed in step S51. At this time, if larger data (reward) has been obtained in the past, it is given priority, so the larger data is compared with the reward stored in association with the configuration, and the larger is kept.
[0162] In the above example, the larger one is kept and propagated upwards ("ER1" from the perspective of "ER2") because it is known that it is possible to transition from "ER1" to "ER2". What we want to learn is the expected reward to be obtained by continuing to choose the best choice, and since it is known that it is possible to transition from "ER1" to "ER2" by applying the appropriate concretization rule, if the reward associated with "ER2" is larger, the reward of "ER5" should be propagated to "ER1" in priority.
[0163] It should be noted that a transition from "ER1" to "ER2" does not necessarily occur, but there is a possibility of this happening. For example, in the example in Figure 11, there is also a possibility of transitioning to "GR3" or "GR4". However, the automatic design function can choose which transition to make, so the comparatively larger reward is propagated upward.
[0164] After setting the reward as described above (step S323 in FIG. 20), the learning data generation unit 53 generates learning data by associating the design system configuration with distributed representation with the reward for the design path information with distributed representation, and stores the generated learning data in the storage device 60 (step S324 in FIG. 20). Specifically, the learning data generation unit 53 generates learning data as shown in the flowchart in FIG. 25.
[0165] First, the learning data generation unit 53 sets the first configuration of the design path information with distributed representation as the configuration with distributed representation to be converted into learning data (step M11). Next, the learning data generation unit 53 sets the first configuration of the design path information with distributed representation as the configuration to be referred to as a reward (step M12).
[0166] Next, the training data generation unit 53 generates training data by combining the configuration with distributed representation that is the target for generating training data and the reward corresponding to the configuration (the reward set in step S52 of Figure 24), and stores the generated training data in the storage device 60 (step M13).
[0167] Next, if the learning data generation unit 53 has not generated learning data for all configurations included in the design path information with distributed representation (if learning data has not been generated for the last configuration of the design path information with distributed representation) (step M14: No), the learning data generation unit 53 proceeds to the processing of step M15. On the other hand, if the learning data generation unit 53 has generated learning data for all configurations included in the design path information with distributed representation (if learning data has been generated for the last configuration of the design path information with distributed representation) (step M14: Yes), the learning data generation unit 53 ends the processing of generating learning data.
[0168] Next, the learning data generating unit 53 sets the next configuration of the design path information with distributed representation as a configuration to be converted into learning data (step M15).
[0169] Next, the learning data generating unit 53 sets the next configuration of the design path information with distributed representation as the configuration of the reward reference target (step M16).
[0170] After generating the learning data as described above (step S324 in FIG. 20), the learning unit 54 performs learning based on the learning data (step S325 in FIG. 29). Specifically, the learning unit 54 performs learning of the learning model as shown in the flowchart in FIG. 26.
[0171] Here, the learning model to be used is a GNN (Graph Neural Network) that takes graph information, in which each node and edge in the graph and the graph itself have attribute values, as input and outputs graph information in a similar format.
[0172] First, the learning unit 54 selects one piece of learning data D1 from the learning data generated as described above (step L11). Next, the learning unit 54 inputs graph information representing the configuration with distributed representation included in the learning data D1 into a first learning model, and obtains the result (graph information OG1) output from the learning model (step L12).
[0173] Next, the learning unit 54 pairs the attribute value At1 of the graph itself in the graph information OG1 with the reward included in the data D1 to generate a pair VP1 (step L13).
[0174] Next, if the learning unit 54 has selected all the learning data (step L14: Yes), the learning unit 54 proceeds to the processing of step L15. If the learning unit 54 has not selected all the learning data (step L14: No), the learning unit 54 proceeds to the processing of step L11 and repeats the processing up to step L13 again.
[0175] Next, the learning unit 54 generates a set VP1 for all data included in the learning data, and sets the collected set as VPS1 (step L15).
[0176] Then, the learning unit 54 uses each pair included in the VPS1 to learn a first learning model (step L16). Specifically, the learning unit 54 uses each pair included in the VPS1 to train a learning model so as to minimize a loss function, where the loss function is the mean square error between the attribute value and the fixed reward.
[0177] As described above, the processes from step S321 to step S325 shown in FIG. 20 are repeated during a preset learning period to perform reinforcement learning (step S32 in FIG. 19).
[0178] Then, the automatic system design learning device 50 executes a concrete process (design) for the system requirements using the current learning model generated by the above-described reinforcement learning (step S33 in FIG. 19).
[0179] The instantiation process (design) is a process that instantiates the abstract parts (components) included in the system requirements. By repeating the instantiation process, it is possible to ultimately derive a concrete system configuration that includes only the concrete parts. An example of the instantiation process is shown in Figure 1.
[0180] Next, if the system automatic design learning device 50 determines that the learning is sufficient based on the result of step S33 (step S34: Yes), it ends the reinforcement learning in step S32. On the other hand, if it determines that the learning is insufficient (step S34: No), it performs the processes of steps S32 and S33 again. The processes of steps S32 and S33 are repeated until it is determined in step S34 that the learning is sufficient.
[0181] The determination in step S34 is, for example, that the number of search steps is sufficient if it is equal to or less than a preset threshold value A. Alternatively, the determination in step S34 may be that the number of search steps is sufficient if it is equal to or less than a preset threshold value B for a specified number of consecutive searches in step S33 that was previously performed. However, the determination in step S34 is not limited to the method described above.
[0182] The number of search steps described above depends on the design method used in step S33. The number of search steps refers to the number of times the instantiation rules are applied to the system requirements or system configuration plans until a specific system configuration is derived from the system requirements. The number of search steps can also be interpreted as the number of system configuration plans actually arrived at during the design process.
[0183] As described above, according to this embodiment, when a new element is added to design a system, learning is performed by converting the learning data into a format that enables evaluation of unlearned elements using experience with elements that have been learned in the past. This eliminates the need for re-learning the system design device, which is required when a new element is added, and reduces time costs.
[0184] <Second embodiment> Next, a second embodiment of the present disclosure will be described with reference to the drawings. This embodiment shows an outline of the configuration of the system automatic design learning device described in the above embodiment. Note that Figures 27 and 28 are diagrams for explaining the configuration, and these figures may be relevant to any embodiment.
[0185] First, the hardware configuration of the information processing device 100 will be described with reference to Fig. 27. The information processing device 100 is configured as a general information processing device, and is equipped with the following hardware configuration, for example. ·CPU(Central Processing Unit)101(Arithmetic unit) ROM (Read Only Memory) 102 (storage device) RAM (Random Access Memory) 103 (storage device) Programs 104 loaded into RAM 103 A storage device 105 for storing a group of programs 104 A drive device 106 that reads and writes from a storage medium 110 external to the information processing device A communication interface 107 that connects to a communication network 111 outside the information processing device Input / output interface 108 for inputting and outputting data Bus 109 connecting each component
[0186] 27 shows an example of the hardware configuration of the information processing device that is the information processing device 100, and the hardware configuration of the information processing device is not limited to the above-described case. For example, the information processing device may be configured with a part of the above-described configuration, such as not including the drive device 106. Furthermore, the information processing device may use a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating point number Processing Unit), a PPU (Physics Processing Unit), a TPU (Tensor Processing Unit), a quantum processor, a microcontroller, or a combination thereof, instead of the above-described CPU.
[0187] The information processing device 100 can be equipped with the configuration collection means 131, feature generation means 132, distributed representation learning means 133, and conversion means 134 shown in FIG. 28 by having the CPU 101 acquire and execute the program group 104. The program group 104 is stored in the storage device 105 or the ROM 102 in advance, for example, and is loaded into the RAM 103 and executed by the CPU 101 as needed. The program group 104 may be supplied to the CPU 101 via the communication network 111, or may be stored in the storage medium 110 in advance, and the drive device 106 may read and supply the programs to the CPU 101. However, the configuration collection means 131, feature generation means 132, distributed representation learning means 133, and conversion means 134 described above may be constructed using dedicated electronic circuits for realizing such means.
[0188] The configuration collection means 131 collects system configuration information included in design path information representing a design process of system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules. The feature generation means 132 generates feature quantities of elements in the system configuration information included in the design path information. The distributed representation learning means acquires parameters for calculating distributed representations of elements by machine learning using graph structure information representing relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements. The conversion means generates design path information with distributed representations by calculating and attaching distributed representations of elements in the system configuration information included in the design path information to the design path information that is the target of learning using a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules.
[0189] With the above-described configuration, the present disclosure can reduce time costs when designing a system.
[0190] At least one of the functions of the configuration collection means 131, feature generation means 132, distributed representation learning means 133, and conversion means 134 described above may be executed by an information processing device installed and connected anywhere on the network, that is, they may be executed by so-called cloud computing.
[0191] The above-described program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). The program can also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can supply the program to a computer via a wired communication path such as an electric wire or optical fiber, or via a wireless communication path.
[0192] Although the present disclosure has been described above with reference to the above-described embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each of the above-described embodiments can be combined with other embodiments as appropriate.
[0193] <Additional Notes> A part or all of the above-described embodiments can be described as follows: The following provides an overview of the configurations of an information processing device, an information processing method, and a program according to the present disclosure. However, the present disclosure is not limited to the following configurations. (Appendix 1) a configuration collection means for collecting system configuration information included in design path information representing a design process of the system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; a feature generating means for generating feature values of elements in the system configuration information included in the design path information; a distributed representation learning means for acquiring parameters for calculating distributed representations of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; a conversion means for generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information to the design path information that is the subject of learning by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; and An information processing device comprising: (Appendix 2) 10. The information processing device according to claim 1, the feature generating means generates property information representing characteristics of the element as the feature. Information processing device. (Appendix 3) 10. The information processing device according to claim 1, the feature generating means generates type information representing a type of element as the feature; Information processing device. (Appendix 4) 10. The information processing device according to claim 1, the feature generating means generates, as the feature, property information representing a characteristic of an element and type information representing a type of the element; Information processing device. (Appendix 5) 5. The information processing device according to claim 4, the feature generation means represents the property information as an array indicating the presence or absence of element characteristics, and represents the type information as an array indicating the presence or absence of element types, and generates the feature by concatenating the array of property information and the array of type information. Information processing device. (Appendix 6) 10. The information processing device according to claim 1, the distributed representation learning means acquires the parameters using a model that outputs a graph structure of elements accompanied by calculation of the distributed representation of the elements when the feature quantities are associated with the elements in the graph structure information and input. Information processing device. (Appendix 7) 7. The information processing device according to claim 6, the distributed representation learning means acquires the parameters by learning, using a preset correct value of output, a model that outputs a predicted value of the graph structure of the element, which involves calculating the distributed representation of the element, when the feature is associated with the element in the graph structure information and input. Information processing device. (Appendix 8) 10. The information processing device according to claim 1, a reward setting unit that sets a reward for each of the system configuration information included in the distributed representation-added design path information depending on whether an element included in the system configuration information is a specific element; a learning data generation unit that generates, as learning data for machine learning, each of the system configuration information included in the design path information with distributed representation and the reward set for the system configuration information in order to generate a learning model that converts the system configuration information based on the instantiation rule; An information processing device comprising: (Appendix 9) The information processing device collecting system configuration information included in design path information representing a design process of system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; generating feature quantities of elements in the system configuration information included in the design path information; Obtaining parameters for calculating a distributed representation of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information using the parameters for the design path information to be learned by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; Information processing methods. (Appendix 10) In the information processing device, collecting system configuration information included in design path information representing a design process of system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; generating feature quantities of elements in the system configuration information included in the design path information; Obtaining parameters for calculating a distributed representation of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information using the parameters for the design path information to be learned by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; A program that executes a process. [Explanation of symbols]
[0194] 10 Graph Transformation Device 11 Configuration collection methods 12 Feature generation method 121 Type identification information extraction means 122 Property information extraction means 123 Graph Structure Extraction Method 13 Distributed Representation Learning Methods 14 Conversion Methods 20 Storage device 30 Input Devices 40 Output Devices 50 System Automated Design Learning Device 51 Design Department 52 Remuneration Setting Department 53 Learning data generation unit 54 Learning Department 60 Storage device 70 Input Device 80 Output Device 100 Information processing device 101 CPU 102 ROM 103 RAM 104 Programs 105 Storage device 106 Drive device 107 Communication Interface 108 Input / Output Interface 109 Bus 110 Storage medium 111 Communication Network 131 Configuration Collection Methods 132 Feature Generation Method 133 Distributed Representation Learning Methods 134 Conversion Methods
Claims
1. a configuration collection means for collecting system configuration information included in design path information representing a design process of the system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; a feature generating means for generating feature values of elements in the system configuration information included in the design path information; a distributed representation learning means for acquiring parameters for calculating distributed representations of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; a conversion means for generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information to the design path information that is the subject of learning by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; and An information processing device comprising:
2. 2. The information processing device according to claim 1, the feature generating means generates property information representing characteristics of the element as the feature. Information processing device.
3. 2. The information processing device according to claim 1, the feature generating means generates type information representing a type of element as the feature; Information processing device.
4. 2. The information processing device according to claim 1, the feature generating means generates, as the feature, property information representing a characteristic of an element and type information representing a type of the element; Information processing device.
5. 5. The information processing device according to claim 4, the feature generation means represents the property information as an array indicating the presence or absence of element characteristics, and represents the type information as an array indicating the presence or absence of element types, and generates the feature by concatenating the array of property information and the array of type information. Information processing device.
6. 2. The information processing device according to claim 1, the distributed representation learning means acquires the parameters using a model that outputs a graph structure of elements accompanied by calculation of the distributed representation of the elements when the feature quantities are associated with the elements in the graph structure information and input. Information processing device.
7. 7. The information processing device according to claim 6, the distributed representation learning means acquires the parameters by learning, using a preset correct value of output, a model that outputs a predicted value of the graph structure of the element, which involves calculating the distributed representation of the element, when the feature is associated with the element in the graph structure information and input. Information processing device.
8. 2. The information processing device according to claim 1, a reward setting unit that sets a reward for each of the system configuration information included in the distributed representation-added design path information depending on whether an element included in the system configuration information is a specific element; a learning data generation unit that generates, as learning data for machine learning, each of the system configuration information included in the design path information with distributed representation and the reward set for the system configuration information in order to generate a learning model that converts the system configuration information based on the instantiation rule; An information processing device comprising:
9. The information processing device collecting system configuration information included in design path information representing a design process of system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; generating feature quantities of elements in the system configuration information included in the design path information; Obtaining parameters for calculating a distributed representation of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information using the parameters for the design path information to be learned by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; Information processing methods.
10. In the information processing device, collecting system configuration information included in design path information representing a design process of system configuration information representing a system configuration consisting of a combination of elements designed by converting abstract elements into concrete elements using preset concretization rules; generating feature quantities of elements in the system configuration information included in the design path information; Obtaining parameters for calculating a distributed representation of elements by machine learning using graph structure information that represents relationships between elements in the system configuration information in a graph structure and the feature quantities of the elements; generating design path information with distributed representations by calculating and assigning distributed representations of elements in the system configuration information included in the design path information using the parameters for the design path information to be learned by a learning model that is machine-learned to convert abstract elements into concrete elements using the concretization rules; A program that executes a process.
Citation Information
Patent Citations
System configuration derivation device, method and program
JP6989014B2