Method and device for learning feature vectors for component and layout representations
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2026-01-21
- Publication Date
- 2026-08-13
Smart Images

Figure EP2026051419_13082026_PF_FP_ABST
Abstract
Description
[0001] R. 416141
[0002] - 1 -
[0003] Description
[0004] title
[0005] Method and device for learning feature vectors for component and layout representations
[0006] The invention relates to a method and a device for learning feature vectors for component and layout representations of a printed circuit board layout using co-occurrence relationships between component-component and component-layout pairs.
[0007] State of the art
[0008] Printed circuit boards (PCBs) form the foundation of modern electronic devices, as they connect and support electronic components compactly and efficiently through conductive layers. A key step in the development of electronic devices is the layout design process, in which engineers determine the optimal placement of components based on circuit diagrams and design requirements. Reusing knowledge from previous layouts can significantly simplify this process, as package and component placement data can be imported from existing designs. However, with the ever-increasing number of new layouts—hundreds are added each year—manually searching through these collections is becoming increasingly impractical.
[0009] Recent research has explored various approaches to addressing challenges in PCB design and quality assurance. Sawal et al. (2021) developed a hybrid deep-learning system for detecting manufacturing defects in PCB production (US 2022 / 0392056A1), while Lilas et al. (2021) presented methods that utilize network information within integrated circuits to learn distributed representations. Furthermore, Sathiaseelan et al. (2021) identified key obstacles in R. 416141
[0010] - 2 -
[0011] the application of deep learning methods to printed circuit boards and emphasized the need for specialized solutions in this field.
[0012] In light of the foregoing, it is an object of the invention to provide an improved method and / or an improved device.
[0013] The problem is solved by a method according to the features of claim 1. The problem is solved by a device according to the features of claim 10.
[0014] Disclosure of the invention
[0015] According to a first aspect, a method for learning feature vectors for component and layout representations of a printed circuit board layout is proposed using co-occurrence relationships between component-component and component-layout pairs. The method comprises the following steps:
[0016] Creating an undirected co-occurrence graph in which components and layouts are each represented as nodes, a connection is made between a pair of components if they occur together in a network, and a connection is made between a pair of components and a pair of layouts if the component appears in a component list of the layout;
[0017] Determining edge weights of the co-occurrence graph, wherein the edge weights for component-layout pairs are calculated based on a component frequency and an inverse layout frequency, and the edge weights for component-component pairs are determined by pointwise mutual information to capture an association between the components;
[0018] Using the co-occurrence graph as input for a neural model with at least two stacked graph convolution networks (GCNs);
[0019] Training the neural model to fine-tune model weights and node embeddings of the neural model to learn feature vectors for component and layout representations of a printed circuit board layout; and R. 416141
[0020] - 3 -
[0021] Providing the trained neural model for layout product class prediction and / or similarity search.
[0022] It is understood that the steps according to the invention, as well as further optional steps, do not necessarily have to be carried out in the sequence shown, but can also be carried out in a different sequence. Furthermore, additional intermediate steps may be provided. The individual steps may also comprise one or more sub-steps without thereby departing from the scope of the method according to the invention.
[0023] According to a second aspect, a device for learning feature vectors for component and layout representations of a printed circuit board layout using co-occurrence relationships between component-component and component-layout pairs is proposed, wherein the device includes an evaluation and computing unit configured to perform the following steps:
[0024] Creating an undirected co-occurrence graph in which components and layouts are each represented as nodes, a connection is made between a pair of components if they occur together in a network, and a connection is made between a pair of components and a pair of layouts if the component appears in a component list of the layout;
[0025] Determining edge weights of the co-occurrence graph, wherein the edge weights for component-layout pairs are calculated based on a component frequency and an inverse layout frequency, and the edge weights for component-component pairs are determined by pointwise mutual information to capture an association between the components;
[0026] Using the co-occurrence graph as input for a neural model with at least two stacked graph convolution networks (GCNs);
[0027] Training the neural model to fine-tune model weights and node embeddings of the neural model to learn feature vectors for component and layout representations of a printed circuit board layout; and R. 416141
[0028] - 4 -
[0029] Providing the trained neural model for layout product class prediction and / or similarity search.
[0030] The statements made regarding the procedure apply accordingly to the device. It is understood that linguistic modifications of procedurally formulated features can be reformulated for the device according to common linguistic practice, without such formulations needing to be explicitly listed here.
[0031] The present method proposes a solution that optimizes the PCB layout design process by integrating deep learning and knowledge from previous layouts. This method addresses the inefficiencies of manual search processes, thus enabling a more efficient design workflow.
[0032] Feature vectors are preferably mathematical representations that map the properties and relationships of components and layouts of a printed circuit board layout in a multidimensional space. They preferably serve as compressed but informative representations that make it possible to capture and analyze the structural and functional characteristics of the components and layouts.
[0033] A printed circuit board layout preferably describes the arrangement and interconnection of electronic components on a printed circuit board. It preferably includes the physical placement of the components, their connections via conductor tracks, and the design of the layout, including consideration of electrical and mechanical requirements.
[0034] Co-occurrence relationships preferably describe the simultaneous occurrence of component-component pairs and component-layout pairs within a specific context, such as a net or a component list. These relationships preferably make it possible to identify patterns and relationships between elements of a printed circuit board layout. R. 416141
[0035] - 5 -
[0036] Nodes are preferably the basic elements of a graph, in this case representing the components and layouts of a printed circuit board layout. They preferably serve as "anchor points" that are connected to each other by edges to represent relationships between them.
[0037] A network preferably describes a group of interconnected components within a printed circuit board layout that interact with each other via common electrical connections. It preferably represents a logical unit used to describe the connections between components.
[0038] Edge weights are preferably numerical values that express the strength and / or importance of a connection between two nodes in a graph. In the context of a co-occurrence graph, they preferably quantify the associations between component-component pairs and component-layout pairs.
[0039] Component frequency preferably describes how often a particular component occurs in a printed circuit board layout. It is preferably used to evaluate the importance of a component in relation to the overall layout and to include it in the calculation of edge weights.
[0040] The inverse layout frequency is preferably a measure that describes the rarity of a layout relative to other layouts. It is preferably used to weight the importance of a layout in its relationships to the components and thereby highlight rare but relevant relationships.
[0041] Pointwise mutual information is preferably a measure of the association between two elements, in this case between two components. It preferably indicates how strong the co-occurrence of components is compared to their independent probabilities and is preferably used to determine the edge weights in the graph. R. 416141
[0042] - 6 -
[0043] The association between components preferably describes the strength of the relationship between two components based on their shared use in a network. This relationship is preferably quantified by the edge weights in the co-occurrence graph and preferably serves as a basis for analyzing relationships in printed circuit board layouts.
[0044] A neural model is preferably a computer-based model that relies on machine learning principles and is capable of learning complex patterns and relationships in data. In this context, a neural model is preferably used to learn feature vectors for components and layouts of a printed circuit board (PCB) layout.
[0045] Graph convolution networks (GCNs) are preferably a class of neural networks specifically designed for processing graph data. They preferably enable the analysis and modeling of the structure and relationships within a graph, such as the connections between nodes and their neighbors. In co-occurrence graphs, GCNs are preferably used to compute and refine the node embeddings.
[0046] The technical advantages of this method include the efficient and precise analysis of printed circuit board layouts through the use of co-occurrence relationships, which enable a deeper understanding of the relationships between components and layouts. Creating a co-occurrence graph structures and comprehensibly represents complex relationships between components and layouts, thus facilitating processing and analysis. The use of edge weights based on component frequency, inverse layout frequency, and pointwise mutual information allows for a precise evaluation of the relevance and association between nodes in the graph. The use of graph convolution networks enables powerful processing and refinement of node embeddings, allowing for the effective learning of both local and global relationships within the graph.This results in improved classification and similarity analysis of printed circuit board layouts, contributing to optimized design quality, faster development cycles, and better defect detection. The method is described in R. 416141.
[0047] - 7 -
[0048] It also offers flexibility by providing a trained model that can be reused for various tasks such as layout product class prediction or similarity analyses. This reduces the need for manual intervention and increases efficiency in the design and testing process.
[0049] One application example of the described method is the optimization of the design of electronic control units in the automotive industry. Electronic control units (ECUs) consist of complex printed circuit board layouts that integrate various electronic components to enable functions such as engine control, driver assistance systems, or infotainment.
[0050] Using this method, development engineers can efficiently perform similarity analyses between existing layouts to identify reusable design patterns. For example, the trained model could recognize that certain combinations of components and their placements are frequently used in similar control units and exhibit high reliability.
[0051] Furthermore, the model can assist in the evaluation of new layout designs by classifying them into specific product categories such as "safety-relevant systems" or "comfort electronics." Such information is crucial for ensuring compliance with regulatory requirements while simultaneously improving design quality.
[0052] Additionally, the method can be used for fault diagnosis. By comparing a faulty layout with a large dataset of functioning designs, the model can identify potential weaknesses such as incorrectly placed components or suboptimal connections and suggest corrective measures. This leads to a significant reduction in development time and costs while simultaneously increasing product reliability.
[0053] The procedure is used to learn the component and layout representations, i.e., the feature vector, using the co-occurrence relationships R. 416141
[0054] - 8 -
[0055] This is implemented between component-component and component-layout pairs. To achieve this, an undirected component-layout co-occurrence graph is preferably created in which the components and layouts are nodes, and a component pair is linked if they occur in a mesh. Likewise, a component-layout pair is preferably linked if the component is present in the component list of a layout.
[0056] Next, edge weights for component-layout pairs are preferably determined using component frequency and inverse layout frequency, a strategy similar to term frequency and inverse document frequency for determining term importance. The component-component pair edge weight is preferably determined using pointwise mutual information (Church and Hanks et al. 1990). Pointwise mutual information captures the association between a component pair. The co-occurrence graph is preferably provided as input for a neural model with two stacked graph convolution networks (GCNs). The model weights and node embeddings are preferably fine-tuned for a layout product class prediction task.
[0057] The trained model is preferably used in the layout-product-class prediction task. Furthermore, the learned layout and component representations can be used for similarity searches, i.e., to identify similar components or layouts with a given component or layout as input.
[0058] In contrast to the present approach, a layout feature vector generated from the number of components is preferably unable to find similarities between components with the same features but different identifiers. Furthermore, the features of the components are often not explicitly known. The proposed method provides a methodology for jointly learning representations for components and layouts, preferably by using implicit co-occurrence relationships, preferably assuming that components and layouts are
[0059] - 9 -
[0060] Components that appear in a similar context should have a similar appearance. For example, two layouts with the same type and number of components may have a similar appearance. Similarly, components linked to other components of a similar type may have similar properties.
[0061] The representation is preferably learned by representing the components and layouts as a component-layout co-occurrence diagram, which is provided as input for a GCN-based classification model. The component and layout embeddings are preferably learned via the product class prediction task. The learned representation can be used to predict the product class for a new layout. Furthermore, the vector representation can preferably be used to determine similar layouts using any vector similarity measure.
[0062] In another aspect, it is proposed that an adjacency matrix be created to represent the component-component and component-layout associations defined in the co-occurrence graph, where the rows and columns of the adjacency matrix correspond to the nodes of the graph, the weighting of the matrix elements for component-component pairs corresponds to the association determined by pointwise mutual information, and the weighting of the matrix elements for component-layout pairs is calculated based on the component frequency and the inverse layout frequency.
[0063] An adjacency matrix is a mathematical representation used to depict the structure of a graph. It represents the relationships between the nodes of a graph in matrix form. The rows and columns of the matrix represent the nodes of the graph, and each element of the matrix indicates whether a connection, also called an edge, exists between two nodes. In weighted graphs, the matrix elements comprise the value of the connection's weight. For undirected graphs, the adjacency matrix is symmetric, since an edge between two nodes exists in both directions, whereas for directed graphs, it can be asymmetric. Self-connections, i.e., edges, R. 416141
[0064] - 10 -
[0065] Lines leading from a node to itself can be represented by values on the main diagonal of the matrix.
[0066] Determining the representation for components and layouts preferably comprises the following steps, wherein the algorithm for creating a graph preferably sequentially iterates through the network information list, processes each list element, and adds the corresponding components to the co-occurrence graph. A component co-occurrence graph preferably includes the components as nodes. A pair of components is associated with it if they occur together in the same network. Creating a diagram using the network information preferably includes capturing the implicit relationships between the components through the network information. The component coincidence relation can preferably be used to create the component co-occurrence graph. A layout is preferably associated with a component node if the corresponding component is present in the layout.The layout nodes are not connected in the resulting structure. The resulting diagram or graph is preferably also referred to as a component layout diagram.
[0067] Next, the edge weights are determined. Edges in the component-layout diagram are preferably based on the association between component-component and component-layout pairs. The association between layout-component and component-component pair can be determined in various ways. For example, by using the hypothesis that a component specific to a layout is more important than components that occur in multiple layouts. A component frequency and inverse layout frequency statistic, such as the term frequency-inverse document frequency used in natural language processing, can be employed. This CF-ILF statistic is preferably defined as:
[0068] CF-ILF(i, Layoutk): CF x ILF
[0069] with CF: number of occurrences of a component in a layout; andR. 416141
[0070] - 11 -
[0071] ILF: log(1 / E(i)): Logarithm of the inverse of the number of layouts in which component i occurs, where E(i) is the number of layouts in which component i occurs.
[0072] Assuming that components that occur together have a higher association than component pairs that occur together less frequently, the association between components is preferably calculated using pointwise mutual information statistics, as follows.
[0073] PM I (i, j) = log(p(i, j) / ( p(i)pQ)))
[0074] The PMI preferably calculates the association between components i and j.
[0075] p(i,j) = #E(i ,j) / #E
[0076] where #E(i,j): number of nets in which components i and j occur together; #E: total number of nets;
[0077] p(i) = #E(i) / #E. Here, #E(i) is the number of nets in which i occurs, while #E is the total number of nets.
[0078] When creating the adjacency matrix, there are four possibilities depending on the node type and edge connections. If a node pair (i, j) is a component, the edge weight is A(i, j) = PM I (i, j). If node i is a component and j is a layout, the edge weight is calculated as follows: A(i, j) = TF - IDF(i, j). If i = j, then A(i, j) = 1. If i and j are not connected in the diagram, then A(i, j) = 0. This calculation determines the adjacency matrix A of dimension n x n, where n is the number of nodes in the diagram.
[0079] In another aspect, it is proposed that an embedding matrix be created that represents a number of nodes in the co-occurrence graph and a dimension of node embedding, with the values of the embedding matrix preferably being initialized randomly. R. 416141
[0080] - 12 -
[0081] An embedding matrix is preferably a mathematical matrix representing the feature vectors of nodes in a graph. This matrix preferably has dimension n x m, where n is the number of nodes in the graph and m is the dimension of the node embedding. The values in the embedding matrix are preferably initialized and optimized during model training to represent the most important structural and contextual information of the nodes.
[0082] The dimension of the node embedding preferably denotes the number of features used to represent a node in a multidimensional space. This dimension m is preferably chosen to strike a balance between the accuracy of the representation and the computational power. A higher dimension preferably allows for a more detailed description of the node properties, while a lower dimension preferably increases efficiency.
[0083] In another aspect, it is proposed that in a first Graph-Convo-Iutional-Network (GCN) layer, the node embeddings are calculated by aggregating the features of the immediate neighbors of each node in order to capture local relationships in the graph.
[0084] The aggregation of immediate neighbor features preferably describes the process of combining the information or features of all directly connected nodes of a given node in a graph to generate a representative summary. This step is preferably used in graph-based models such as graph convolutional networks to capture local relationship structures. The aggregation is preferably performed using mathematical operations such as summing, averaging, or weighted combination of the neighboring node features, whereby these operations compress the relevant neighbor information for further processing.
[0085] In the first layer, the determined adjacency matrix is multiplied by the embedding matrix X to obtain a representation of a node with respect to its neighbors R. 416141
[0086] - 13 -
[0087] to determine. The resulting representation is multiplied by the weight matrix WO, to which a ReLU activation is applied to determine the representation as the output of the first GCN layer.
[0088] L(1) = Re LU (AX WO)
[0089] with WO: Is the weighting matrix for the first GCN layer; and L(1) is the representation of the nodes as output of the first GCN layer.
[0090] L(2) = AL(1)W1
[0091] with W1 : is the weighting matrix for the second GCN layer with dimension; and L(2) is the representation of nodes as output of the second GCN layer.
[0092] In another aspect, it is proposed that in a second GCN layer the node embeddings are extended to capture relationships to nodes that are at a hop distance from a given node, with the resulting node embeddings representing more global structures of the Co-Ok current graph.
[0093] Furthermore, a representation for each node in relation to its neighbors is learned.
[0094] The hop distance preferably describes the number of edges that must be traversed to get from one node to another in a graph. A hop distance of one preferably denotes the immediate neighbors of a node, while a larger hop distance denotes nodes that are farther away. The hop distance is preferably used to analyze different levels of relationships between nodes and to determine their influence on each other.
[0095] More global structures of the co-occurrence graph preferably refer to the relationships and patterns that extend across multiple nodes and edges within a larger context of the graph. These structures preferably include not only local connections between neighbors, but also R. 416141
[0096] - 14 -
[0097] More far-reaching dependencies and network properties emerge from aggregated information across larger hop distances. Analyzing more global structures preferably allows for the identification of broader relationships and patterns in the graph.
[0098] In another aspect, it is proposed that the output of the second GCN layer is passed to a dense layer whose output dimension corresponds to a number of target labels, in particular the number of product classes for the layout product class prediction task, wherein the weights of the GCN layers and the dense layer are optimized by backpropagation based on a loss function that maximizes the classification accuracy on the target labels.
[0099] A dense layer is preferably a fully connected layer in a neural network where each input node is linked to each output node by weights. It is preferably used to transform the learned features from previous layers and generate a compact representation or final output. In a neural model, the dense layer preferably takes on the task of projecting the data onto the desired dimension of the target output.
[0100] The output dimension of a number of target labels preferably denotes the size of the output vectors of a model, corresponding to the number of possible categories or classes into which the inputs can be classified. This dimension is preferably chosen to meet the requirements of the specific classification task, such as the number of product classes in a layout product classification model. The target class labels can preferably be predicted using a softmax output calculated with the following equation.
[0101] Z = softmax(L(2)).
[0102] The network is preferably trained for several iterations on the classification task of the layout product class to optimize the parameter matrices WO and W1 and the embedding matrix X. The Softmax output Z can be used for R. 416141
[0103] - 15 -
[0104] The product class prediction for an electronic circuit can be used. Furthermore, the learned component and layout embedding can be used to identify similar layouts or components.
[0105] Backpropagation is preferably a method in neural network training that incrementally propagates errors arising from the difference between the predicted and actual output from the output layer back through the network. This method preferably computes the gradients of the error function with respect to the network weights and updates them to improve the model. The loss is propagated backward through the network to optimize the model weights and to learn the representations for layouts and components, which are represented as a node set V.
[0106] A loss function is preferably a mathematical function that quantifies the difference between the predicted and the actual output. It is preferably used during the training of a neural network to measure the error and provide a basis for optimizing weights by backpropagation. The choice of loss function preferably depends on the specific task, such as classification or regression. In particular, using Z and Y, a cross-entropy loss is calculated across all layout nodes labeled with product class information.
[0107] The GCN layer is now applied a second time to capture the representation with respect to nodes located in a hop from the given node. The resulting representation output is defined by the following equation. The output dimension of the second dense layer preferably corresponds to the number of target labels, i.e., in this case, the number of product classes.
[0108] In another aspect, it is proposed that a neural R generated by training according to a procedure according to one of the preceding aspects. 416141
[0109] - 16 -
[0110] A model that has learned feature vectors for component and layout representations of a printed circuit board layout is used for one or more of the following tasks:
[0111] - Similarity analysis between printed circuit board layouts, especially for the identification of layout variants, optimization opportunities and / or potential sources of error;
[0112] - Classification of printed circuit board layouts, in particular for assignment to product classes or categories;
[0113] - Recommendation of components and / or layouts based on identified similarities or patterns in existing layouts;
[0114] - Visualization of the relationships between components and layouts through graph-based representations;
[0115] - Evaluation of functional and / or structural similarity of layouts to support design or quality control processes.
[0116] The presented method, and the model trained by it, can simplify layout search and classification and can therefore be used in a layout database system. It provides a methodology for learning a feature vector for a layout based on its components and their connections. The learned representation is used for downstream tasks such as layout classification and similarity search. The trained model can be used to identify similar layouts; for example, a layout feature vector learned from the layout component diagram can be used to determine the similarity between layouts using one of the vector similarity measures, such as Euclidean distance, cosine similarity, or dot product. Furthermore, the trained model can be used to predict product class designations.In addition to or as an alternative to similarity search, a learned feature vector can be provided as input for the classification model, which predicts the product class labels for an input layout. The product class labels can then be used to filter the relevant layouts recommended by the similarity search algorithm. The target application aims to provide a system that enables the search and retrieval of artifacts, such as components and layouts. R. 416141.
[0117] - 17 -
[0118] In another aspect, a computer program is claimed to contain program code capable of executing at least parts of the present method in one of its aspects when the computer program is executed on a computer. In other words, a computer program (product) is claimed to comprise instructions that, when executed by a computer, cause it to execute the method(s) in one of its aspects.
[0119] In a further aspect, a computer-readable data carrier containing the program code of a computer program is proposed to execute at least parts of the present method in one of its aspects when the computer program is executed on a computer. In other words, the invention relates to a computer-readable (storage) medium comprising instructions which, when executed by a computer, cause it to execute the method / steps of the method in one of its aspects.
[0120] The described configurations and training programs can be combined in any way desired.
[0121] Further possible embodiments, developments and implementations of the invention also include combinations of features of the invention described previously or subsequently with regard to the exemplary embodiments that are not explicitly mentioned.
[0122] Brief description of the drawings
[0123] The accompanying drawings are intended to provide a further understanding of the embodiments of the invention. They illustrate embodiments and, in conjunction with the description, serve to explain the principles and concepts of the invention.
[0124] Other embodiments and many of the aforementioned advantages become apparent with reference to the drawings. The elements depicted in the drawings are not necessarily shown to scale. R. 416141
[0125] - 18 -
[0126] Fig. 1 shows a schematic flowchart of an exemplary embodiment of a method.
[0127] Fig. 2 shows a schematic representation of a network with components and nodes.
[0128] Fig. 3 shows a schematic representation of a co-occurrence graph with components and layouts.
[0129] In the figures of the drawings, identical reference symbols denote identical or functionally equivalent elements, parts or components, unless otherwise stated.
[0130] Fig. 1 shows a schematic flowchart of a method for learning feature vectors for component and layout representations of a printed circuit board layout using co-occurrence relationships between component-component and component-layout pairs.
[0131] The method can be carried out in any embodiment, at least partially, by a device 100, which may comprise several components not shown in detail, for example, one or more provisioning units and / or at least one evaluation and computing unit. It is understood that the provisioning unit may be designed together with the evaluation and computing unit, or it may be different from it. Furthermore, the device 100, which may be part of a system, may comprise a storage unit and / or an output unit and / or a display unit and / or an input unit.
[0132] The computer-implemented procedure includes at least the following steps:
[0133] In step S1, an undirected co-occurrence graph is created, in which components and layouts are each represented as nodes; a connection is established between a pair of components when they meet. R. 416141
[0134] - 19 -
[0135] a component and a layout pair are formed when the component appears in a component list of the layout.
[0136] In step S2, edge weights of the co-occurrence graph are determined, whereby the edge weights for component-layout pairs are calculated based on a component frequency and an inverse layout frequency, and the edge weights for component-component pairs are determined by pointwise mutual information to capture an association between the components.
[0137] In step S3, the co-occurrence graph is used as input for a neural model with at least two stacked graph convolution networks, GCN.
[0138] In step S4, the neural model is trained to fine-tune model weights and node embeddings of the neural model to learn feature vectors for component and layout representations of a printed circuit board layout.
[0139] In step S5, the trained neural model is provided for layout product class prediction and / or similarity search.
[0140] Fig. 2 shows a representation of a layout LO consisting of four components C1, C2, C3, and C4 and two nets N1 and N2. As shown in Fig. 2, the layout LO consists of multiple components C1-C4 connected to each other via net nodes. A net N1, N2 connects two or more components. Since a component C1-C4, for example, has multiple pins, it can be connected to multiple net nodes. The layout example LO in Fig. 2 includes four components C1, C2, C3, and C4, as well as two nets N1 and N2, with components C1, C2, and C3 connected to net N1 and components C2 and C4 connected to N2. R. 416141
[0141] - 20 -
[0142] Figure 3 shows a representation of a co-occurrence graph with five components C1, C2, C3, C4, and C5 and two layouts L1 and L2. As shown in Figure 3, each layout L1 and L2 comprises several components C1-C5, which are connected via network nodes. Components C1, C2, and C3 are connected to layout L1. Components C3, C4, and C5 are connected to layout L2.
Claims
R. 416141 - 21 - Claims 1. Method for learning feature vectors for component and layout representations of a printed circuit board layout using co-occurrence relationships between component-component and component-layout pairs, comprising the steps: Creating (S1) an undirected co-occurrence graph in which components (C1-C5) and layouts (LO-L2) are each represented as nodes, a connection is made between a pair of components if they occur together in a network, and a connection is made between a pair of components and a pair of layouts if the component (C1-C5) occurs in a component list of the layout (LO-L2); Determining (S2) edge weights of the co-occurrence graph, wherein the edge weights for component-layout pairs are calculated based on a component frequency and an inverse layout frequency, and the edge weights for component-component pairs are determined by pointwise mutual information to capture an association between the components (C1-C5); Using (S3) the co-occurrence graph as input for a neural model with at least two stacked graph convolution networks, GCN; Training (S4) the neural model to fine-tune model weights and node embeddings of the neural model to learn feature vectors for component and layout representations of a printed circuit board layout; and Provision (S5) of the trained neural model for layout and product class prediction and / or similarity search. R. 416141 - 22 - 2. The method of claim 1, wherein an adjacency matrix is created to represent the component-component and component-layout associations defined in the co-occurrence graph, wherein the rows and columns of the adjacency matrix correspond to the nodes of the graph, the weighting of the matrix elements for component-component pairs corresponds to the association determined by pointwise mutual information, and a weighting of the matrix elements for component-layout pairs is calculated based on the component frequency and the inverse layout frequency.
3. A method according to any of the preceding claims, wherein an embedding matrix is created which represents a number of nodes in the co-occurrence graph as a dimension of node embedding, wherein the values of the embedding matrix are preferably initialized randomly.
4. The method of claim 3, wherein in a first graph convolutional network (GCN) layer the node embeddings are calculated by aggregating the features of the immediate neighbors of each node in order to capture local relationships in the graph.
5. The method of claim 4, wherein in a second GCN layer the node embeddings are extended to capture relationships to nodes that are at a hop distance from a given node, wherein the resulting node embeddings represent more global structures of the co-occurrence graph.
6. The method of claim 5, wherein an output of the second GCN layer is passed on to a dense layer whose output dimension corresponds to a number of target identifiers, in particular the number of product classes for the layout product class prediction task, wherein the weights of the GCN layers preferably and the dense layer are optimized by backpropagation based on a loss function that maximizes the classification accuracy on the target identifiers. R. 416141 - 23 - 7. Use of a neural model generated by training according to a method according to one of the preceding claims, which has learned feature vectors for component and layout representations of a printed circuit board layout, for one or more of the following tasks: Similarity analysis between printed circuit board layouts, especially for the identification of layout variants, optimization opportunities and / or potential sources of error; Classification of printed circuit board layouts, in particular for assignment to product classes or categories; Recommendation of components and / or layouts based on identified similarities or patterns in existing layouts; Visualization of the relationships between components and layouts through graph-based representations; Evaluation of functional and / or structural similarity of layouts to support design or quality control processes.
8. Computer program with program code to execute at least parts of a method according to any one of claims 1 to 6 when the computer program is executed on a computer.
9. Computer-readable data carrier containing program code of a computer program for executing at least parts of a method according to any one of claims 1 to 6 when the computer program is executed on a computer.
10. Device (100) for learning feature vectors for component and layout representations of a printed circuit board layout using co-occurrence relationships between component-component and component-layout pairs, wherein the device (100) has an evaluation and computing unit configured to perform the following steps: R. 416141 - 24 - Creating an undirected co-occurrence graph in which components (C1-C5) and layouts (L0-L2) are each represented as nodes, a connection is made between a pair of components if they occur together in a network, and a connection is made between a pair of components and a pair of layouts if the component (C1-C5) occurs in a component list of the layout (L0-L2); Determining edge weights of the co-occurrence graph, where the edge weights for component-layout pairs are calculated based on a component frequency and an inverse layout frequency, and the edge weights for component-component pairs are determined by pointwise mutual information to capture an association between the components (C1-C5); Using the co-occurrence graph as input for a neural model with at least two stacked graph convolution networks (GCNs); Training the neural model to fine-tune model weights and node embeddings of the neural model to learn feature vectors for component and layout representations of a printed circuit board layout; and Providing the trained neural model for layout product class prediction and / or similarity search.