Method and device for providing a recommender system
A shared recommender system using graph neural networks and user-specific gradient updates addresses data privacy and personalization challenges, improving design efficiency and accuracy in engineering tools by suggesting relevant components and connections.
Patent Information
- Application Number
- JP2024533140
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-03
- Publication Date
- 2026-03-03
- Estimated Expiration
- 2041-12-03
AI Technical Summary
Existing recommender systems for engineering design face challenges due to data privacy concerns, poor user experience, and the need for personalized recommendations, which are hindered by the infeasibility of centralized training with individual user data.
A shared recommender system using a graph neural network architecture that encodes partial designs and interconnections, trained with shared data, and updated through user-specific gradient information, allowing for personalized recommendations without exposing individual user data.
Enhances design efficiency and accuracy by providing context-sensitive menu suggestions tailored to individual user preferences, reducing errors and completion time in complex system design processes.
Smart Images

Figure 0007823195000011 
Figure 0007823195000012 
Figure 0007823195000013
Abstract
Description
[Technical Field]
[0001] The present invention relates to a computer-implemented method for providing a recommender system for a design process, and further to a corresponding computer program and recommendation device. [Background technology]
[0002] In industrial applications, engineers are often required to design complex systems or engineering projects comprising numerous interconnected components. The design of such systems is typically performed in computer-implemented engineering tools and can be described as an iterative process of identifying interacting components that will satisfy functional requirements arising from the intended use of the overall system, introducing the identified components into the project, and connecting them together so that the resulting interconnected components enable the intended real-world use.
[0003] Due to the large number of available components and ways to connect them, this process is time-consuming and requires technical expertise, domain knowledge, and effort to perform correctly. One way to assist engineers in this process is to integrate recommender systems into engineering tools that suggest appropriate and compatible components to be added to engineering projects.
[0004] Recommendation or recommender systems can be realized by using models based on neural network architectures trained with data from the design process. Such models are created to predict the next component or components to be added or the next connection or connections, and the predictions or recommendations are data-driven and depend on the data available for training. Therefore, they will greatly benefit from learning from data generated by a large number of their users.
[0005] However, data privacy concerns are an obstacle to users agreeing to share their data or usage patterns with the engineering tool provider, i.e., the people responsible for designing and maintaining the recommendation system, and with other user groups, e.g., from another company.
[0006] Currently, many engineering tools suffer from poor user experience as a result of users being overwhelmed with menu items that do not adequately capture the user's context, such as the current project state or the user's preferences, such as the preferred order of operations when presenting the menu items, to name just a few.
[0007] Given the complexity of the engineering domain, the most appropriate type of recommender system relies on the concept of collaborative filtering, which requires data about engineering tool usage patterns. Collaborative filtering is a technique in which the unknown preferences of a single user are inferred from the known preferences ("ratings") of a group of users who share ratings with the single user. Thus, there is no personalization, only guesswork about user preferences.
[0008] Nevertheless, for satisfactory performance, personalizing recommendations according to user preferences is desirable. However, personalization requires individual user data. Engineering recommender systems must learn to recommend appropriate components from hundreds of thousands of items and understand complex relationships between criteria. Meeting this requirement requires a large amount of training data, which makes training a model for each user individually infeasible.
[0009] Solutions leading to satisfactory recommender systems require collective learning from many users, however, likely spread across multiple organizational units and companies, and privacy concerns preclude the possibility of centralizing multi-user training data and applying routine machine learning training procedures.
[0010] Therefore, the object of the present invention is to provide the possibility of improving recommender systems that can be used by a large number of users, and to overcome the disadvantages of individual training, collaborative filtering, or sharing of training data in the context of recommender systems. Summary of the Invention
[0011] This object is achieved by the embodiments disclosed in the independent claims. Advantageous specific embodiments are the subject of the dependent claims.
[0012] According to a first aspect, the present invention relates to a computer-implemented method for providing a recommender system.
[0013] The recommender system is used for a design process and is shared among multiple users. In the design process, which is performed, for example, by using an engineering tool, a complex system, such as an electronic component or a hybrid vehicle, is created in a series of design steps. The complex system may be described by a number of components, such as memory chips and processors, which are at least partially interconnected electrically or inductively.
[0014] In a design step, an intermediate or partial design is achieved by adding one or more elements to the partial design of a previous step. An element consists of at least one component, or at least one connection, or both. The recommender system predicts design or element differences between one design step and a subsequent design step.
[0015] According to an advantageous aspect, this is provided to the user of the recommender system as a context-sensitive menu: if the predictions of the recommender system are good, i.e., technically sound and compatible with the user's requirements, this will enhance the design process in terms of speed and quality, since at a certain stage only relevant menu items will be suggested.
[0016] To facilitate good predictions by the recommender system, the recommender system is provided by a computer-implemented method that includes the following steps: A global or shared recommender system is provided on a central server, such as an engineering tool provider's facility or a cloud service, that is global or shared in that it serves multiple users.
[0017] The shared recommender system encodes the available partial designs, e.g., in the form of a knowledge graph consisting of nodes representing components and links representing connections between the components. This encoding is performed, e.g., by using a graph neural network architecture, and the result of the encoding is information about the components and their interconnections.
[0018] The global recommender system also provides predictions of subsequent design variations and, to this end, is trained using shared training data that influences the parameters of the global or shared recommender system. These are considered "shared training data" in that multiple users have access to these data, e.g., for controlled purposes, and the creators of the data, e.g., engineering tool providers, have no privacy concerns regarding this sharing.
[0019] Parameters, such as weights used in the graph neural network architecture of the shared recommender system or parameters of the graph neural network architecture, are transmitted to users or clients. The users use these transmitted parameters to initialize their version of the shared recommender system. For example, the users may receive their version of the shared recommender system by transmission from a central server to their local facility, or it may be provided to them as a service.
[0020] To obtain a personalized recommender system, users can adapt the shared recommender system to their needs by performing user-specific training with their own specialized data. Some users submit gradient information from this user-specific training to a central server. The gradient information provides information about the evolution of parameters, such as weight changes used to reduce the error between the predicted design difference and the actually selected design difference, during the user-specific training.
[0021] Providing gradient information that is inconclusive for the training data used has the advantage that training performed by multiple users can be used to update a shared model, eliminating the need to share training data between those users, which can raise privacy issues.
[0022] At the central server, this gradient information is used to update the parameters of the shared recommender model, and this updated shared recommender system is beneficially provided as a new shared recommender system.
[0023] According to an advantageous aspect, these updated parameters are provided again to at least some of the users.
[0024] According to another advantageous aspect, the shared recommender system comprises an encoder network, e.g., a graph neural network. The encoder network encodes information about the components of the complex system and the connections between them. The shared recommender system further comprises a decoder network that derives from this information the probability that any design difference will be selected at any design step during the design of the complex system. This has the advantage that such separation on the user's side only requires adjustment of the decoder parameters, since the underlying encoded information, i.e., the components and their relationships, is the same.
[0025] According to another aspect, the invention relates to a computer program which, when executed on a computer, performs the above-mentioned method.
[0026] According to another aspect, the invention relates to a recommendation device on which a computer program is stored and / or provided, for example, which recommendation device can be connected by an interface, for example an API, to an engineering tool for the design of complex systems. [Brief explanation of the drawings]
[0027] Further aspects, features, and advantages of the present invention will become apparent from the following description and dependent claims, taken in conjunction with the accompanying drawings. [Figure 1] An example of a system design process performed in an engineering tool, where a system is constructed through a series of design steps. The design process is decomposed into a set of design deltas that define the operations corresponding to transforming the design from a previous step into the design of a subsequent step. [Figure 2] We show the training procedure and information flow between a global shared recommender system and an individual user's personalized recommender system. [Figure 3] 1 illustrates the architecture of a recommender system model. DETAILED DESCRIPTION OF THE INVENTION
[0028] One objective of the present invention is to provide a recommender system that can guide engineers during the design of a system to the next component they need. For example, the recommender system may be implemented in an engineering tool, in which a context-sensitive menu is displayed during the design process, and the context-sensitive menu suggests which element should be added next.
[0029] In this context, a system can be anything from a printed circuit board to an autonomous vehicle. These complex systems are made up of a variety of interconnectable components, each with a set of technical characteristics.
[0030] For example, in the case of a memory module, its technical characteristics may include clock frequency, write cycle time, access time, and required voltage supply, and connections may be realized through various bus systems.
[0031] Software suites, i.e., collections of software available to support the design and / or configuration of complex systems, are offered for a variety of applications, such as construction tasks, industrial automation design, or chemicals. Examples from Siemens include SimCenter™ and the TIA (totally integrated automation) portal. These tools can be used to create a wide variety of systems, ranging from hybrid vehicles and quadcopters to factory automation systems and electronic components / chips. For an efficient engineering and design process, it is important that these tools provide the support required by a particular engineer at a particular stage of a particular project.
[0032] The engineering or design process is accomplished by sequentially selecting components and adding them to an existing system design, where each component may be connected to several other components using various link types, e.g., mechanical, electrical, via a particular bus, etc.
[0033] The recommender system is aware of the current project state and provides a ranked list of suitable components or connections for selection as the next item, for example in a context-sensitive menu. The ranking reflects selectability, with the highest ranked items being most likely to be selected, i.e., most likely to be added to the existing system design in the next step.
[0034] Each engineer has their own preferences, which can be reflected in the order of operations. For example, one user may prefer to start with the most central components, while another prefers to start with the peripheral components. Regarding connections between components, one user may prefer to select all components first and then make the appropriate connections, while another user may prefer to select one component and subsequently establish all necessary links to this component. The recommender system must be able to learn across a large number of users, while also adapting to each engineer's personal preferences.
[0035] According to an advantageous embodiment of the present invention, the following components are used to implement the recommendation system: Global or shared recommender system model A set of personalized recommender system models A training process to update the global system model parameters A training process to personalize the global model to user preferences Sampling procedure for selecting clients for shared model updates
[0036] "Design Process Using Recommender Systems"
[0037] Figure 1 shows an example of a system design process carried out with the assistance of an engineering tool.
[0038] A system is a complex object, such as a hybrid vehicle or an electronic component, that consists of various connectable components that must be used, combined and connected in a way that satisfies the requirements set for the complex object.
[0039] A system is constructed through a series of design steps, starting with an initial combination. The design process can be decomposed into a set of design steps that define the operations corresponding to transforming the design of a previous step into the design of a subsequent step.
[0040] In Figure 1, the first design step DS1 has only one component, a "vehicle" V, with properties such as mass, number of front and rear wheels, which are represented by its ports and rectangles within different ports, and which are connected mechanically, electrically or otherwise to other components, which are represented by bounding rectangles. Additionally, there is a component axle A, which can be connected to the front or rear axle.
[0041] Proceeding from the first design step DS1 to the second design step DS2, one or more elements or connections DELTA(1,2), also called design differences or design deltas, are added; in the illustrated example, a new element, rear wheel axle RA, is added and connected to element axle A. From the second design step DS2, further design differences DELTA(2,...) are added, resulting in a subsequent design.
[0042] All these intermediate designs before the complete design CD is achieved are called partial designs PD.
[0043] During the development process, elements are added and connected to the partial design PD at each design step, and after a series of design steps DS···, the final design step DS_final results in the completed design CD.
[0044] The completed design CD is used for realizing the complex object when the requirements for the complex object, for example the specific performance of an electrical component or part thereof, are met.
[0045] Thus, by the term "completed design" CD, we include the completed system architecture, e.g., the completed hybrid vehicle or the completed electronic components, along with intermediate designs that can be transferred to another user, company, etc., for further processing, e.g.,
[0046] The goal of a recommender system is to predict the likely next design delta with sufficient accuracy, which means it should learn from the context, i.e., the current design step, and the user's preferences, to predict the subsequent design delta, i.e., the components and connections to be added.
[0047] "Recommender System Architecture"
[0048] A high-level schematic diagram of the architecture of a recommender system or model is shown in Figure 3. The partial design PD and the completed design are used as input data X.
[0049] For training, all possible partial designs PD and completed designs CD consisting of one or more elements in the component catalog CC are used as input data X. As output data Y, a ranking of the elements to be added or the design difference DELTA is obtained, i.e., the respective probability for each design difference.
[0050] When the recommender system is trained and in use, the input data X is a particular sub-design PD, and the output data can be a ranking of the design differences DELTA added to this particular sub-design.
[0051] As an example of input data in Figure 3, a completed design CD of a hybrid vehicle V is shown as a knowledge graph KG, optionally including attributes ATT for individual nodes. The hybrid vehicle V is represented by a central node. A knowledge graph KG, with nodes representing elements and links representing connections between elements, and optional attributes ATT, allows a specific system design of a complex system to be described in a permutation invariant manner suitable for use by graph neural networks.
[0052] In the encoder network EN, input data X is fed to the graph neural network to obtain representations of nodes in the knowledge graph KG and their relationships with neighboring nodes. First, the input data X is input to the first graph neural network GNN1.
[0053] Input data X is H (0) is a representation of the node features and link structure of the data architecture, and is the adjacency matrix A ~ Therefore, H (0) contains features or characteristics that refer only to a particular node, such as motor characteristics or available connection types, in other words, everything related to the identity of a particular node within a given complex system. ※A ~ teeth Represents JPEG0007823195000001.jpg88.
[0054] For example, these data may represent a motor with its weight, possible electrical or mechanical connections, etc.
[0055] In the first graph neural network GNN1, the features of nodes one hop away are encoded in the representation of a particular node. By repeating this process multiple times, more distance information is taken into account for the encoding of a particular node.
[0056] The output of the first graph neural network GNN1 is a matrix H with dimensions according to the number of nodes #n in the design and the number of latent dimensions #LD of the first graph neural network GNN1. (1) and becomes the input of the second graph neural network GNN2.
[0057] As mentioned above, the matrix H (1) The value of reflects the first-order correlation between two nodes, i.e., there is one edge between them. Therefore, in addition to the node features, the first-order correlations are also included in this matrix H (1) As mentioned above, a first-order correlation has an edge going directly from the source node to the target node, a second-order correlation has an edge going from the source node via a first edge to the interrupt code, via a second edge to the target node, etc.
[0058] H as input to the second graph neural network GNN2 (1) By using, the second-order correlation between two nodes, i.e., two nodes that have a node between them, and therefore go through two edges, is output H (2) This H (2) is a matrix with dimensions equal to the number of nodes #n* and the number of latent dimensions #LD of the graph convolutional neural network. (2) encodes node features and information from nodes one-hop and two-hop distance from the node under consideration.
[0059] Experiments have shown that considering first-order and second-order relationships, i.e., relationships with nodes one or two hops away, yields good results, i.e., the derived metrics reflect reality very well. Depending on the data architecture, higher-order correlations are also beneficial in other embodiments. The usefulness depends, for example, on the strength of correlations between nodes or the number of connections between a node and other nodes, because at higher orders, node features and information about nearby nodes are smoothed out while more distant relationships are examined.
[0060] In terms of architecture, the graph neural network may comprise one convolutional layer, or may be more complex in operation, including other layers, such as other convolutional layers or other types of layers. The first graph neural network GNN1 and the second graph neural network GNN1 may differ from each other in architecture and / or training.
[0061] "Standard graph convolution"
[0062] According to an advantageous embodiment, the convolution operation used in either the first or second graph neural network GNN1, GNN2 is: JPEG0007823195000002.jpg1168. H is the representation of a node. l is a running variable that represents the number of latent dimensions in a graph convolutional neural network or a convolutional layer of a graph convolutional network. When l=0, H (0) represents node features, e.g., the number and type of ports or types that can be "components." H is iteratively updated and, for values l>0, also represents the relationships between nodes. σ is a sigmoid function used as the activation function for the GNN. The matrix D ~-1 is used for normalization and can be derived from the input and diagonal matrices. ※D ~-1 teeth Represents JPEG0007823195000003.jpg910.
[0063] A ~ is a matrix that reflects the topology of the data structure, e.g., the complete design CD or the partial design PD. For example, A ~ is an adjacency matrix that describes the connections between one node and another for every node in the graph representation, and thus essentially represents the link structure. (l) are parameters or weights that represent the strength of connections between units in a neural network. The advantage of this convolution operation is its basic form: aggregation, i.e., the collection of information related to one particular node, is based on average values.
[0064] Alternatively, other convolution operations can be used that are tailored to a particular problem, for example, the design process of an electronic component or compound.
[0065] "Consolidation"
[0066] Thus, the node representation H (1) and H (2) represents the structural identity of each node and its surroundings by encoding neighbor information. (1) and H (2) are concatenated with CC, thus obtaining concatenated data.
[0067] For example, two matrices H (1) and H (2) When stacked, the concatenated data is H (1) The number of columns in and H (2) Therefore, the dimension of the connected data depends on the number of original nodes in the data architecture, the number of latent dimensions of the first graph neural network GNN1, the number of dimensions of the second graph neural network GNN2, and the degree of correlation to be considered, i.e., the number of matrices H (l) The combined data is then used to perform decoding in the decoder neural network DN.
[0068] "Decoding"
[0069] In the decoder neural network DN, each probability is extracted from the node encoding for each design difference DELTA by using a neural network NN.
[0070] The decoder network can be of several types. One example is a dot product or scalar product decoder, where each partial design is scored using a dot product or scalar product operator for all components in the catalog, followed by a softmax function to obtain a probability. The softmax function converts a vector with numbers as entries into a vector with probabilities as entries. This can be achieved, for example, by using a normalized exponential function.
[0071] The probability assigned to a design delta reflects how likely it is that a particular design delta will be added to a particular part design PD. This probability can be viewed as a function of the part design PD and the design delta.
[0072] "Ranking"
[0073] By classifying or ranking R the design differences DELTA according to their respective probabilities for each partial design PD, it is possible to determine, for each partial design DELTA as output Y, the group of design differences DELTA that are most likely to be included in the next design step.
[0074] Thus, only the most relevant design differences can be displayed in the context-sensitive menu of the engineering tool, making the design process more efficient and contributing to avoiding errors.
[0075] In summary, the architecture of the exemplary recommender system includes an encoder network where graph-formatted data is input and encoded, a decoder network that extracts probabilities from the encoded information, and a ranking entity that ranks the design difference deltas according to their probabilities. 。
[0076] "Training procedures and information flow between a global recommender system and a personalized recommender system"
[0077] As mentioned above, one of the objectives of the present invention is to provide a recommender system that, for a particular design step, suggests elements that are most likely to be added in a subsequent design step. Therefore, the recommender system should learn from the context, i.e., the subdesign PD of the current design and the user's preferences for predicting elements of subsequent design deltas. To achieve this, a combination of centralized and individualized training is proposed, which is described with reference to FIG. 2.
[0078] Figure 2 shows the flow of information between a global recommender system and several personalized recommender systems derived from the global recommender system.
[0079] The centralized server CS utilizes training and validation data T / ED. Training data is used to train the model, and validation or validation data is data taken from the training data set for use in testing the model's hyperparameters. Hyperparameters are parameters whose values cannot be estimated from the data provided to the model, but are used to manage the learning process. For example, this could be the learning rate when training a neural network.
[0080] Furthermore, the centralized server CS utilizes a component catalog CC, which contains elements that can be added during the design process, i.e., at any partial design stage PD. For example, this component catalog CC is hosted on the server side and contains information about all items that can be recommended to users, including technical characteristics (e.g., the resistance value of each resistor component, the power rating of an electrical component, etc.).
[0081] According to an advantageous embodiment, items of the component catalog CC are sent to the user together with the shared recommender model or updates thereto.
[0082] These data, the training and evaluation data T / ED, and the component catalog CC, enter the training and evaluation procedure of the global recommender model. A model update MU is performed after training where the original parameters are replaced by parameters derived from the training process.
[0083] The global recommender system model SRS must be able to encode the partial design PD illustrated in Figure 1 and rank the items or elements or design differences DELTA to be added accordingly. Since the system design can be well described by a graph, a graph neural network or other graph learning-based approach is suitable.
[0084] The training and evaluation data T / ED used for the training and evaluation procedure T / EP of the shared recommender system SRS is data that can be shared between each user and the company, for example, because the respective generators of the data have agreed to the sharing, or because the data has been created by simulation, or because the data has been created for tutorial purposes, etc., i.e., the data contained on the server side is not considered user-sensitive.
[0085] The global recommender system or model SRS uses federated transfer learning, described below, to learn from all user experiences without being directly exposed to user data.
[0086] The parameters of the global or shared recommender model SRS are sent to each user using the shared recommender model SRS for parameter initialization PI. The user initializes the shared recommender model, i.e., sets the parameters to proposed values. The parameters can be, for example, the weights of individual neurons.
[0087] The shared recommender system SRS thus initialized is used as a starting point for personalizing the shared recommender system SRS by using user-specific training data in the shared model training SMT.
[0088] "Personalized training procedures"
[0089] To personalize the parameters of the shared recommender system (SRS) to each user's preferred working mode, a personalization training procedure (PTP) is performed based on each user's data (UD). The personalization training procedure (PTP) adapts the initialized parameters obtained from the shared recommender system (SRS) according to the client's usage data (UD), e.g., obtained from a previous design process, to obtain a personalized recommender system (PRS). Therefore, the general strategy and hyperparameters of this training procedure are different from those of the training procedure for the shared recommender system (SRS), and the goal here is to optimize the parameters of the shared recommender system according to the user's personal usage data (UD) so that the design difference (DELTA) proposed in the design step meets the user's best needs and preferences.
[0090] In contrast, achieving optimal performance across all users is not the goal of the personalizing training procedure PTP.
[0091] By the personalization training procedure PTP, a personalized recommender model is generated by updating only the decoder network DN model parameters, e.g., the weights used in this neural network NN, while keeping the encoder parameters, e.g., the weights of the first neural network GNN1 and the second neural network GNN2, unchanged. Thus, the probability of the design difference DELTA is adapted to change for each individual user, and the ranking of the proposed design differences is modified accordingly.
[0092] "Improving Shared Recommender Systems through Personalized Server-Side Shared Model Training"
[0093] The shared recommender model SRS is updated according to what is learned by the usage data UD of each client. The clients can be a first user U1C1 in a first company, a second user U2C1 in the first company, a first user U1C2 in a second company, etc. Users within a first company may want to use the data generated by them together, but exchanging data between companies is unlikely.
[0094] In the personalized training process PTP, the gradients of the parameters of the decoding network DN are calculated. The gradients represent the change in all weights relative to the change in error. The error is calculated as the true result vs. the input / training dataset x i Results obtained by a personalized recommender model for y i The difference between
[0095] As shown in Figure 2, the calculated user gradients UG are sent to the central server CS. The usage data UD itself is not passed to the global recommender model training, only the gradient information. Therefore, user privacy is maintained. Furthermore, when only the gradients are sent instead of the set of training data created by the user, the amount of data sent is reduced. Additionally, updating the shared recommender model using the gradients requires less computational effort than using a new set of training data.
[0096] On the central server CS side, the user gradient information UG sent by each client or user is used to form updates to the model parameters of the shared recommender model in the shared model training procedure SMTP. The recommender loss function is L i (w,x i ,y i ), where w is the set of weights used in the personalized recommender model, e.g., the matrix w jk , x i is the set of input data, i.e., intermediate or partial design PD, y i is the set of results, i.e., the proposed or design difference DELTA. The recommender loss function is a function of the set of model parameters w and the training examples x i ,y i denotes the error generated by and The recommender loss function can be calculated, for example, by using binary cross-entropy. The total loss over all examples is defined as: where n denotes the number of training examples. JPEG0007823195000004.jpg2031
[0097] The shared recommender model parameter update using gradient descent is defined as follows: JPEG0007823195000005.jpg936In the formula, ∇L indicates the gradient of the loss function. γ is a parameter indicating the learning rate or step size. That is, the weight is changed between step t and step t+1 depending on the magnitude of the scalar product of the parameter γ and the gradient of the loss function. This gradient is in a multidimensional space, and the derivative described by the gradient is the loss function with respect to the model parameters. For example, one entry is the weight w jk ,dL / dw jk Thus, for example, one can find the local minimum of the loss function and determine an appropriate set of parameters.
[0098] For each individual user or client, the gradient ∇L c denotes the gradient computed by one client c.
[0099] To update the shared recommender system or model SRS parameters, an average is taken across all considered clients. JPEG0007823195000006.jpg1750In formula, N c denotes the number of training samples at client c, and N denotes the total number of training examples across all clients considered. Weighted averaging allows users or clients with more training examples to influence the updates more heavily.
[0100] According to another embodiment, the weightings may be individualized, for example, weights may be assigned to particular users or groups of users depending on experience, quality of design, time the engineering tool has been in use, etc.
[0101] Depending on the implementation, either all or a subset of the clients are considered. The advantage of considering all clients is that a large number of gradients are obtained.
[0102] Selecting which clients contribute to updates
[0103] According to another embodiment, each update of the shared recommender model or system SRS is performed by obtaining gradient information from only a subset of clients. Thus, in addition to reducing the effort on the client side, the amount of data transmitted and the computational effort for the update can be reduced. The selection of the subset or user sampling US must be made in such a way that updating the weights based on the gradient information of even one user improves the shared recommender system SRS.
[0104] When many clients for a particular development tool exist within the same organization, many clients may contain very similar system designs, and large systems are often jointly developed by a team of engineers who share the design. Learning from all clients is inefficient because there may be no variance in data between some clients.
[0105] The shared recommender model SRS is used to calculate performance metrics on local client data at each client before personalization to gather information on when gradient information obtained by local training at the client affects the parameters of the shared recommender model SRS that is distributed to all customers.
[0106] The performance metric measures the accuracy of the prediction, i.e., how accurate the prediction of the design difference is for a particular user or client, or in other words, the magnitude of the error in the prediction for a particular client.
[0107] According to an advantageous embodiment, the error E is calculated by multiplying the error E by .... i It is calculated as the sum of the prediction errors for JPEG0007823195000007.jpg1726
[0108] These performance metrics are sent to the server and used in a sampling approach. Clients that are particularly likely to possess gradient information that will improve the performance of the shared model, e.g., gradient information that will reduce the average error for the user, are more likely to be sampled. For example, these are clients with poor performance metrics, i.e., clients for which the personalized recommender model's predictions are not performing satisfactorily.
[0109] An alternative approach is to train a reinforcement learning agent to select clients. According to an advantageous embodiment, rewards are based on performance metrics.
[0110] Alternatively or additionally, the neural network can also be trained to estimate the expected improved gain of the shared recommender model when using client data, and this estimation procedure is performed and can be performed only on the client side, thus preserving data privacy.
[0111] Tests have shown that application of a recommender system according to any of the described embodiments can reduce the error rate in a design and reduce the time required to complete a design.
[0112] In the context of the present application, the designs generated by using the recommender system are applied to manufacture, for example, new hybrid vehicles, electronic components, etc., or parts thereof, if they meet the requirements of the respective product, for example in terms of functionality. Thus, the designs obtained by the engineering tool can be analyzed in advance in relevant aspects, thereby reducing the effort in manufacturing.
[0113] The term "recommendation device" may refer to a computer capable of executing instructions. The term "computer" may refer to a distributed set of processing units or services rented from a cloud provider, as well as a local processing unit where a client uses engineering tools for design purposes. Thus, the term "computer" encompasses any electronic device with data processing capabilities, such as a personal computer, a server, a client, an embedded system, a programmable logic controller (PLC), a handheld computer system, a pocket PC device, a mobile wireless device, a smartphone, a device, or any other communication device capable of processing data using computer support, processors, and other electronic devices for data processing. A computer may comprise one or more processors and memory units and may be part of a computer system. Furthermore, the term computer system includes general-purpose or dedicated data processing machines, routers, bridges, switches, and the like, whether standalone, assisted, or embedded.
[0114] The term "user" may refer, inter alia, to an individual, a group of individuals, or a company.
[0115] Various aspects of the present invention have been described in the foregoing description. However, it will be appreciated by those skilled in the art that the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific configurations have been set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. Some of the description has been presented in terms of operations performed by a computer system using terms such as data, status, links, faults, packets, etc., consistent with the manner in which those skilled in the art commonly communicate the substance of their work to others skilled in the art. As is well understood by those skilled in the art, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through the mechanical and electrical components of a computer system.
[0116] Furthermore, various operations are described sequentially as multiple discrete steps in a manner that is helpful in understanding the invention. However, the order of description should not be construed to imply that these operations are necessarily order dependent, particularly in the order of their presentation.
[0117] References herein to "one embodiment" or "an embodiment" mean that the particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in this specification do not necessarily all refer to the same embodiment.
Claims
1. 1. A computer-implemented method for providing a recommender system to a complex system design process, comprising: The recommender system (SRS) is shared by multiple users (U1C1, U2C1, U1C2), said complex system comprising a plurality of connectable components is designed in a design process by a series of design steps (DS1, DS2), in each of which a partial design (PD) is created until a complete design (CD) is obtained; The Part Design (PD) of one step and the Part Design (PD) of a subsequent step differ by a Design Difference (DELTA) that reflects a difference in at least one element, including components and / or connections between components; The recommender system (SRS) provides a prediction of the subsequent design difference (DELTA) at each of the design steps (DS1, DS2); The method comprises: a) providing, at a central server (CS), the recommender system (SRS) that encodes the partial designs (PD) and provides predictions of the subsequent design differences (DELTA), the recommender system (SRS) being trained with shared training data (T / ED); b) sending parameters of the recommender system (SRS) from the central server (CS) to a plurality of users (U1C1, U2C1, U1C2) to initialize their versions of the recommender system (SRS); c) receiving, at the central server (CS), from a subset of users (U1C1, U1C2), gradient information obtained by user-specific training (PTP) of a user's version of the recommender system (SRS) using user-specific training data (UD) to obtain a personalized recommender system (PRS), the gradient information indicating the evolution of the error of the prediction depending on the parameter (w); d) updating, at the central server (CS), at least one parameter of the recommender system (SRS) using the received gradient information; A method comprising:
2. The method of claim 1 , further comprising: e) transmitting updated parameters of the recommender system (SRS) from the central server (CS) to a plurality of users (U1C1, U2C1, U1C2).
3. 3. The method of claim 1 or 2, wherein the shared training data (T / ED) used in the central server (CS) can be shared among individual users (U1C1, U2C1, U1C2) and / or the user-specific training data (UD) cannot be shared among all individual users (U1C1, U2C1, U1C2).
4. The recommender system (SRS) includes an encoder network (EN) and a decoder network (DN), the encoder network (EN) encodes information about the components and connections of the complex system; The decoder network (DN) extracts from the information the probability that a particular design difference (DELTA) will be selected at a particular design step (DS1, DS2, DS...), The method according to any one of claims 1 to 3, wherein the training in the central server (CS) comprises training the encoder network (EN) and the decoder network (DN).
5. The method of claim 4, wherein in the user-specific training (PTP), only parameters of the decoder network (DN) are trained, from which the gradient information is derived.
6. 6. The method according to claim 4 or 5, wherein in the updating step d) only the parameters of the decoder network (DN) are updated, the parameters of the encoder network (EN), in particular formed by a graph neural network, are not changed.
7. b1) receiving performance metrics from users (U1C1, U1C2) representing information about usage of the personalized recommender system (PRS) by a particular user; A subset (U1C1, U1C2) of users receiving the gradient information in step c) - differences in the design of said complex system between individual users within a group of users (U1C1, U2C1); The number of training samples used by users (U1C1, U2C1, U1C2), The accuracy of the predictions of the recommender system (SRS) after initialization and before the personalized training procedure (PTP); - the accuracy of the predictions of the personalized recommender system (PRS) after the personalized training procedure (PTP); The method of any one of claims 1 to 6, wherein the performance metric is determined based on a performance metric that depends on at least one of:
8. 8. The method of claim 7, wherein a reinforcement learning agent is trained to select a subset of users to which the gradient information is sent, and a reward in that training procedure is based on the performance metric.
9. The gradient information is calculated for each loss function L i is calculated based on a loss function L formed as the sum of where n is the number of training datasets and L i (w, x i , y i ) is the training data x i , y i is the loss function for a particular set of x i is the particular partial design (PD), and y i The method according to any one of claims 1 to 8, wherein ∇ is the design delta (DELTA) of the prediction for this partial design (PD), and w is the weight used.
10. The weights of the loss function of the recommender system (SRS) are updated using gradient descent and are defined as follows: During the ceremony, W t+1 and W t 10. The method of claim 9, wherein ∇L is the weight at training steps t+1 and t, γ is a parameter representing the learning rate, and ∇L is the gradient of the loss function.
11. The parameters of the recommender system (SRS) are updated by averaging over a subset of users who receive the gradient information; In the formula, N c is the number of training samples for a particular user, and L c 11. The method of claim 10, wherein N represents the loss function for a particular user, and N is the total number of training samples.
12. 12. The method of any one of claims 9 to 11, wherein the gradient information is formed by ∇L, and wherein the loss function L is determined by use of binary cross-entropy and wherein the loss function L is determinable as a function of loss functions for each training set i or / and each user c.
13. A method according to any one of claims 1 to 12, wherein a component catalogue (CC) containing components and connections is located on the central server and transmitted to a number of users.
14. A computer program comprising program instructions which, when the computer program is run on a computer, cause the computer to carry out the method of any one of claims 1 to 13.
15. Recommendation device storing and / or providing a computer program according to claim 14 and having a communication interface for an engineering tool for the design of complex systems.
Citation Information
Patent Citations
Automatic design processing method and device therefor
JP1994168287A
Context-based recommendations for robotic process automation design
US20210342124A1
Distributed deep learning system
WO2021240636A1