KR20230155943A - Method for embedding graph and system thereof - Google Patents
Method for embedding graph and system thereof Download PDFInfo
- Publication number
- KR20230155943A KR20230155943A KR1020220133768A KR20220133768A KR20230155943A KR 20230155943 A KR20230155943 A KR 20230155943A KR 1020220133768 A KR1020220133768 A KR 1020220133768A KR 20220133768 A KR20220133768 A KR 20220133768A KR 20230155943 A KR20230155943 A KR 20230155943A
- Authority
- KR
- South Korea
- Prior art keywords
- embedding
- representation
- graph
- expression
- matrix
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000014509 gene expression Effects 0.000 claims abstract description 147
- 230000004931 aggregating effect Effects 0.000 claims abstract description 45
- 239000011159 matrix material Substances 0.000 claims description 53
- 239000013598 vector Substances 0.000 claims description 40
- 238000011176 pooling Methods 0.000 claims description 37
- 238000010586 diagram Methods 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 230000002688 persistence Effects 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000002474 experimental method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004770 highest occupied molecular orbital Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004768 lowest unoccupied molecular orbital Methods 0.000 description 2
- 230000001151 other effect Effects 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 102000004169 proteins and genes Human genes 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Holo Graphy (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Traffic Control Systems (AREA)
Abstract
그래프 임베딩 방법 및 그 시스템이 제공된다. 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 방법은, 타깃 그래프에 대한 제1 임베딩 표현(embedding representation)과 제2 임베딩 표현을 획득하는 단계, 제2 임베딩 표현에 특정값을 반영하여 제2 임베딩 표현의 값을 변경하는 단계 및 제1 임베딩 표현과 변경된 제2 임베딩 표현을 애그리게이팅(aggregating)하여 타깃 그래프에 대한 통합 임베딩 표현을 생성하는 단계를 포함할 수 있다. 이러한 방법에 따르면, 정보(또는 표현력)의 손실 없이 다양한 임베딩 표현들을 통합될 수 있으며, 그 결과 타깃 그래프에 대한 보다 강력한 임베딩 표현이 생성될 수 있다.A graph embedding method and system are provided. A graph embedding method according to some embodiments of the present disclosure includes obtaining a first embedding representation and a second embedding representation for a target graph, and reflecting a specific value in the second embedding representation to form the second embedding representation. It may include changing the value of and generating an integrated embedding expression for the target graph by aggregating the first embedding expression and the changed second embedding expression. According to this method, various embedding representations can be integrated without loss of information (or expressive power), resulting in a more powerful embedding representation for the target graph.
Description
본 개시는 그래프 임베딩(graph embedding) 방법 및 그 시스템에 관한 것이다.This disclosure relates to a graph embedding method and system.
그래프 임베딩(graph embedding)은 주어진 그래프를 임베딩 공간 상의 벡터 또는 매트릭스 표현(representation)으로 변환하는 것을 의미한다. 최근에는 신경망(neural network)을 이용하여 그래프를 임베딩하는 방법에 관한 연구가 활발하게 진행되고 있으며, 그래프를 다루는 신경망은 GNN(Graph Neural Network)으로 칭해지고 있다.Graph embedding means converting a given graph into a vector or matrix representation in the embedding space. Recently, research on methods for embedding graphs using neural networks has been actively conducted, and neural networks that deal with graphs are called GNNs (Graph Neural Networks).
한편, 서로 다른 GNN들(e.g., 상이한 구조의 GNN들, 서로 다른 방식으로 동작하는 GNN)은 동일한 그래프에 대해 서로 다른 임베딩 벡터를 생성하게 된다. 따라서, 이러한 임베딩 벡터들을 정보(또는 표현력)의 손실 없이 통합시킬 수 있다면, 보다 강력한 임베딩 표현이 생성될 수 있다.Meanwhile, different GNNs (e.g., GNNs with different structures, GNNs operating in different ways) generate different embedding vectors for the same graph. Therefore, if these embedding vectors can be integrated without loss of information (or expressive power), a more powerful embedding representation can be created.
통합 과정 중의 정보 손실 방지하기 위해, 임베딩 벡터들을 그대로 연결(concatenation)하여 통합 임베딩 벡터를 생성하는 것을 고려해볼 수 있다. 그러나, 이러한 방식에는 연결되는 임베딩 벡터들의 개수에 비례하여 통합 임베딩 벡터의 차원수와 연관 태스크(e.g., 분류, 회귀 등의 다운스트림 태스크)의 복잡도가 증가한다는 명백한 문제점이 존재한다.To prevent information loss during the integration process, you can consider creating an integrated embedding vector by concatenating the embedding vectors as is. However, this method has an obvious problem in that the number of dimensions of the integrated embedding vector and the complexity of the associated task (e.g., downstream tasks such as classification and regression) increase in proportion to the number of connected embedding vectors.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 정보(또는 표현력)의 손실 없이 그래프에 대한 다양한 임베딩 표현들을 통합시킬 수 있는 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.The technical problem to be solved through some embodiments of the present disclosure is to provide a method that can integrate various embedding representations of a graph without loss of information (or expressive power) and a system that performs the method.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 연관 태스크의 복잡도 증가 없이 그래프에 대한 다양한 임베딩 표현들을 통합시킬 수 있는 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a method that can integrate various embedding representations for a graph without increasing the complexity of related tasks and a system that performs the method.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 그래프의 노드 정보와 토폴로지 정보를 함께 임베딩할 수 있는 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a method for embedding node information and topology information of a graph together and a system for performing the method.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 방법은, 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 타깃 그래프에 대한 제1 임베딩 표현(embedding representation)과 제2 임베딩 표현을 획득하는 단계, 상기 제2 임베딩 표현에 특정값을 반영하여 상기 제2 임베딩 표현의 값을 변경하는 단계 및 상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현을 애그리게이팅(aggregating)하여 상기 타깃 그래프에 대한 통합 임베딩 표현을 생성하는 단계를 포함할 수 있다.A graph embedding method according to some embodiments of the present disclosure for solving the above-described technical problem is a method performed by at least one computing device, including a first embedding representation and a second embedding representation for the target graph. Obtaining an embedding expression, changing a value of the second embedding expression by reflecting a specific value in the second embedding expression, and aggregating the first embedding expression and the changed second embedding expression. It may include generating a unified embedding representation for the target graph.
몇몇 실시예들에서, 상기 제1 임베딩 표현과 상기 제2 임베딩 표현 중 어느 하나는 상기 타깃 그래프를 구성하는 이웃 노드들의 정보를 애그리게이팅하는 임베딩 방식에 의해 생성된 것이고, 상기 제1 임베딩 표현과 상기 제2 임베딩 표현 중 다른 하나는 상기 타깃 그래프의 토폴로지 정보를 반영하는 임베딩 방식에 의해 생성된 것일 수 있다.In some embodiments, one of the first embedding expression and the second embedding expression is generated by an embedding method that aggregates information of neighboring nodes constituting the target graph, and the first embedding expression and the second embedding expression are generated by an embedding method that aggregates information of neighboring nodes constituting the target graph. Another one of the second embedding expressions may be generated by an embedding method that reflects topology information of the target graph.
몇몇 실시예들에서, 상기 제1 임베딩 표현과 상기 제2 임베딩 표현은 서로 다른 GNN(Graph Neural Network)을 통해 상기 타깃 그래프를 임베딩함으로써 생성된 것일 수 있다.In some embodiments, the first embedding expression and the second embedding expression may be generated by embedding the target graph through different graph neural networks (GNNs).
몇몇 실시예들에서, 상기 특정값은 무리수일 수 있다.In some embodiments, the specific value may be an irrational number.
몇몇 실시예들에서, 상기 특정값은 학습가능 파라미터(learnable parameter)에 기반한 값이고, 상기 생성된 통합 임베딩 표현에 기초하여 미리 정해진 태스크에 관한 레이블을 예측하는 단계 및 상기 예측된 레이블과 상기 타깃 그래프에 대한 정답 레이블의 차이에 기초하여 상기 학습가능 파라미터의 값을 업데이트하는 단계를 더 포함할 수 있다.In some embodiments, the specific value is a value based on a learnable parameter, and predicting a label for a predetermined task based on the generated integrated embedding representation and the predicted label and the target graph. It may further include updating the value of the learnable parameter based on the difference between the correct answer labels.
몇몇 실시예들에서, 상기 제2 임베딩 표현에 상기 특정값을 반영하는 것은 곱셈 연산에 기초하여 수행되고, 상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현을 애그리게이팅하는 것은 덧셈 연산에 기초하여 수행될 수 있다.In some embodiments, reflecting the specific value in the second embedding representation is performed based on a multiplication operation, and aggregating the first embedding representation and the modified second embedding representation is performed based on an addition operation. It can be.
몇몇 실시예들에서, 상기 제1 임베딩 표현과 상기 제2 임베딩 표현을 획득하는 단계는, 상기 타깃 그래프에 대한 제1 임베딩 매트릭스와 제2 임베딩 매트릭스를 획득하는 단계 - 상기 제1 임베딩 매트릭스의 사이즈는 상기 제2 임베딩 매트릭스와 상이함 - 및 상기 제1 임베딩 매트릭스와 상기 제2 임베딩 매트릭스 중 적어도 하나에 대해 리사이징(resizing) 연산을 수행함으로써 상기 제1 임베딩 표현과 상기 제2 임베딩 표현을 획득하는 단계를 포함할 수 있다.In some embodiments, obtaining the first embedding representation and the second embedding representation may include obtaining a first embedding matrix and a second embedding matrix for the target graph, wherein the size of the first embedding matrix is different from the second embedding matrix - and obtaining the first embedding representation and the second embedding representation by performing a resizing operation on at least one of the first embedding matrix and the second embedding matrix. It can be included.
몇몇 실시예들에서, 상기 제1 임베딩 표현과 제2 임베딩 표현을 획득하는 단계는, 이웃 노드 정보 애그리게이팅 방식의 GNN(Graph Neural Network)을 통해 상기 제1 임베딩 표현을 획득하는 단계 및 상기 제1 임베딩 표현을 이용하여 상기 타깃 그래프의 토폴로지 정보를 추출함으로써 상기 제2 임베딩 표현을 생성하는 단계를 포함할 수 있다.In some embodiments, obtaining the first embedding representation and the second embedding representation includes obtaining the first embedding representation through a graph neural network (GNN) of a neighboring node information aggregating method, and the first embedding representation It may include generating the second embedding representation by extracting topology information of the target graph using the embedding representation.
몇몇 실시예들에서, 상기 통합 임베딩 표현을 생성하는 단계는, 상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현 각각에 대해 풀링 연산을 수행하는 단계 및 상기 풀링 연산의 결과를 애그리게이팅하여 상기 통합 임베딩 표현을 생성하는 단계를 포함할 수 있다.In some embodiments, generating the unified embedding representation may include performing a pooling operation on each of the first embedding representation and the changed second embedding representation, and aggregating the results of the pooling operation to generate the unified embedding. It may include the step of generating an expression.
몇몇 실시예들에서, 상기 통합 임베딩 표현을 생성하는 단계는, 상기 타깃 그래프에 대한 제3 임베딩 표현을 획득하는 단계, 상기 제3 임베딩 표현에 상기 특정값과 다른 값을 반영하여 상기 제3 임베딩 표현의 값을 변경하는 단계 및 상기 제1 임베딩 표현, 상기 변경된 제2 임베딩 표현 및 상기 변경된 제3 임베딩 표현을 애그리게이팅하여 상기 통합 임베딩 표현을 생성하는 단계를 포함할 수 있다.In some embodiments, generating the integrated embedding representation includes obtaining a third embedding representation for the target graph, and reflecting a value different from the specific value in the third embedding representation to express the third embedding representation. It may include changing the value of and generating the integrated embedding representation by aggregating the first embedding expression, the changed second embedding expression, and the changed third embedding expression.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 시스템은, 하나 이상의 프로세서 및 하나 이상의 인스트럭션(instruction)을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로세서는, 상기 저장된 하나 이상의 인스트럭션을 실행시킴으로써, 타깃 그래프에 대한 제1 임베딩 표현(embedding representation)과 제2 임베딩 표현을 획득하는 동작, 상기 제2 임베딩 표현에 특정값을 반영하여 상기 제2 임베딩 표현의 값을 변경하는 동작 및 상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현을 애그리게이팅(aggregating)하여 상기 타깃 그래프에 대한 통합 임베딩 표현을 생성하는 동작을 수행할 수 있다.A graph embedding system according to some embodiments of the present disclosure for solving the above-described technical problem includes one or more processors and a memory that stores one or more instructions, wherein the one or more processors store the one or more instructions. An operation of obtaining a first embedding representation and a second embedding representation for a target graph by executing an instruction, an operation of changing a value of the second embedding representation by reflecting a specific value in the second embedding representation, and An operation of generating an integrated embedding representation for the target graph may be performed by aggregating the first embedding expression and the changed second embedding expression.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 타깃 그래프에 대한 제1 임베딩 표현(embedding representation)과 제2 임베딩 표현을 획득하는 단계, 상기 제2 임베딩 표현에 특정값을 반영하여 상기 제2 임베딩 표현의 값을 변경하는 단계 및 상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현을 애그리게이팅(aggregating)하여 상기 타깃 그래프에 대한 통합 임베딩 표현을 생성하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.A computer program according to some embodiments of the present disclosure for solving the above-described technical problem includes the steps of combining with a computing device to obtain a first embedding representation and a second embedding representation for a target graph, changing the value of the second embedding expression by reflecting a specific value in the second embedding expression, and aggregating the first embedding expression and the changed second embedding expression to create a unified embedding expression for the target graph. It may be stored in a computer-readable recording medium in order to execute the generating step.
본 개시의 몇몇 실시예들에 따르면, 타깃 그래프에 대한 다양한 임베딩 표현들 중 적어도 일부에 특정값을 반영하고 애그리게이팅(aggregating)함으로써 타깃 그래프에 대한 통합 임베딩 표현(embedding representation)이 생성될 수 있다. 이러한 경우, 애그리게이팅 과정 중에 서로 다른 임베딩 표현의 값들이 상쇄되는 것이 특정값에 의해 방지될 수 있기 때문에, 정보(또는 표현력)의 손실 없이 다양한 임베딩 표현들이 통합될 수 있다. 가령, 특정 임베딩 표현에 무리수를 곱셈함으로써 애그리게이팅(e.g., 덧셈) 과정 중에 서로 다른 임베딩 표현의 값들이 상쇄되는 것이 효과적으로 방지될 수 있다.According to some embodiments of the present disclosure, an integrated embedding representation for the target graph can be generated by reflecting and aggregating a specific value in at least some of the various embedding representations for the target graph. In this case, since the values of different embedding expressions can be prevented from being offset by a specific value during the aggregating process, various embedding expressions can be integrated without loss of information (or expressiveness). For example, by multiplying a specific embedding expression by an irrational number, the values of different embedding expressions can be effectively prevented from being canceled out during the aggregating (e.g., addition) process.
또한, 특정값이 학습가능 파라미터(learnable parameter)에 기초하여 도출될 수 있다. 이러한 경우, 통합 임베딩 표현을 생성하기 위한 학습이 진행됨에 따라 임베딩 표현들의 정보(또는 표현력) 손실을 방지할 수 있는 최적의 값이 자연스럽고도 정확하게 도출될 수 있다.Additionally, a specific value may be derived based on a learnable parameter. In this case, as learning to generate an integrated embedding expression progresses, the optimal value that can prevent loss of information (or expressive power) of the embedding expressions can be naturally and accurately derived.
또한, 타깃 그래프에 대한 다양한 임베딩 표현(e.g., 임베딩 벡터)들이 덧셈 연산을 통해 애그리게이팅될 수 있다. 이러한 경우, 임베딩 표현들의 개수가 증가하더라도 통합 임베딩 표현의 사이즈(e.g., 통합 임베딩 벡터의 차원수)는 증가하지 않기 때문에, 연관 태스크(e.g., 분류, 회귀 등의 다운스트림 태스크)의 복잡도 증가 문제가 용이하게 해결될 수 있다.Additionally, various embedding expressions (e.g., embedding vectors) for the target graph can be aggregated through addition operations. In this case, even if the number of embedding expressions increases, the size of the integrated embedding expression (e.g., the number of dimensions of the integrated embedding vector) does not increase, so there is a problem of increasing complexity of related tasks (e.g., downstream tasks such as classification and regression). It can be easily solved.
또한, 멀티-레이어 퍼셉트론(multi-layer perceptron) 등에 기초하여 구현된 리사이징(resizing) 연산을 통해 사이즈가 서로 다른 임베딩 표현들(e.g., 임베딩 매트릭스들)도 용이하게 통합될 수 있다.In addition, embedding representations (e.g., embedding matrices) of different sizes can be easily integrated through a resizing operation implemented based on a multi-layer perceptron, etc.
또한, 노드 정보 중심의 임베딩 표현과 토폴로지 중심의 임베딩 표현을 통합시킴으로써 타깃 그래프에 대한 강력한 통합 임베딩 표현이 생성될 수 있으며, 통합 임베딩 표현을 이용함으로써 그래프와 연관된 다양한 태스크들(e.g., 분류, 회귀 등의 다양한 다운스트림 태스크들)의 정확도도 크게 향상될 수 있다.In addition, by integrating the node information-centered embedding expression and the topology-centered embedding expression, a powerful unified embedding expression for the target graph can be created, and by using the unified embedding expression, various tasks related to the graph (e.g., classification, regression, etc.) can be created. The accuracy of various downstream tasks) can also be greatly improved.
또한, 이웃 노드 정보 애그리게이팅 모듈을 통해 출력된 제1 임베딩 표현에서 그래프의 토폴로지 정보를 추출함으로써 제2 임베딩 표현이 생성될 수 있다. 이러한 경우, 이웃 노드 정보 애그리게이팅 모듈이 일종의 공유 신경망으로 기능함으로써 통합 임베딩 표현을 생성(출력)하는 통합 GNN이 용이하게 구축될 수 있다.Additionally, a second embedding expression may be generated by extracting topology information of the graph from the first embedding expression output through the neighbor node information aggregating module. In this case, an integrated GNN that generates (outputs) an integrated embedding representation can be easily constructed by having the neighboring node information aggregating module function as a kind of shared neural network.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects according to the technical idea of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below.
도 1 및 도 2는 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 시스템의 동작을 개략적으로 설명하기 위한 예시적인 도면이다.
도 3 및 도 4는 본 개시의 몇몇 실시예들에서 참조될 수 있는 이웃 노드 정보 애그리게이팅 방식의 GNN(Graph Neural Network)을 설명하기 위한 예시적인 도면이다.
도 5 및 도 6은 본 개시의 몇몇 실시예들에서 참조될 수 있는 토폴로지 정보 추출 방식의 GNN(Graph Neural Network)을 설명하기 위한 예시적인 도면이다.
도 7은 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 방법을 나타내는 예시적인 흐름도이다.
도 8은 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 방법을 부연 설명하기 위한 예시적인 도면이다.
도 9는 본 개시의 몇몇 실시예들에 따른 그래프 임베딩을 위한 학습 과정을 설명하기 위한 예시적인 도면이다.
도 10은 본 개시의 다른 몇몇 실시예들에 따른 그래프 임베딩 방법을 설명하기 위한 예시적인 도면이다.
도 11은 본 개시의 또 다른 몇몇 실시예들에 따른 그래프 임베딩 방법을 설명하기 위한 예시적인 도면이다.
도 12 및 도 13은 본 개시의 또 다른 몇몇 실시들에 따른 그래프 임베딩 방법을 설명하기 위한 예시적인 도면이다.
도 14는 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 시스템을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.1 and 2 are exemplary diagrams for schematically explaining the operation of a graph embedding system according to some embodiments of the present disclosure.
3 and 4 are exemplary diagrams for explaining a graph neural network (GNN) of a neighboring node information aggregating method that may be referred to in some embodiments of the present disclosure.
5 and 6 are exemplary diagrams for explaining a graph neural network (GNN) of a topology information extraction method that may be referred to in some embodiments of the present disclosure.
7 is an example flowchart illustrating a graph embedding method according to some embodiments of the present disclosure.
FIG. 8 is an exemplary diagram for further explaining a graph embedding method according to some embodiments of the present disclosure.
FIG. 9 is an exemplary diagram illustrating a learning process for graph embedding according to some embodiments of the present disclosure.
FIG. 10 is an exemplary diagram for explaining a graph embedding method according to some other embodiments of the present disclosure.
FIG. 11 is an exemplary diagram for explaining a graph embedding method according to some other embodiments of the present disclosure.
12 and 13 are exemplary diagrams for explaining a graph embedding method according to some other embodiments of the present disclosure.
14 illustrates an example computing device that can implement a graph embedding system according to some embodiments of the present disclosure.
이하, 첨부된 도면을 참조하여 본 개시의 다양한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속한 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the attached drawings. The advantages and features of the present disclosure and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the technical idea of the present disclosure is not limited to the following embodiments and may be implemented in various different forms. The following examples are merely intended to complete the technical idea of the present disclosure and to cover the technical field to which the present disclosure belongs. is provided to fully inform those skilled in the art of the scope of the present disclosure, and the technical idea of the present disclosure is only defined by the scope of the claims.
본 개시의 다양한 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In describing various embodiments of the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description will be omitted.
다른 정의가 없다면, 이하의 실시예들에서 사용되는 용어(기술 및 과학적 용어를 포함)는 본 개시가 속한 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수도 있다. 본 개시에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시의 범주를 제한하고자 하는 것은 아니다.Unless otherwise defined, terms (including technical and scientific terms) used in the following embodiments may be used in a meaning that can be commonly understood by those skilled in the art in the technical field to which this disclosure pertains. It may vary depending on the intentions of engineers working in the related field, precedents, the emergence of new technologies, etc. The terminology used in this disclosure is for describing embodiments and is not intended to limit the scope of this disclosure.
이하의 실시예들에서 사용되는 단수의 표현은 문맥상 명백하게 단수인 것으로 특정되지 않는 한, 복수의 개념을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정되지 않는 한, 단수의 개념을 포함한다.The singular expressions used in the following embodiments include plural concepts, unless the context clearly specifies singularity. Additionally, plural expressions include singular concepts, unless the context clearly specifies plurality.
또한, 이하의 실시예들에서 사용되는 제1, 제2, A, B, (a), (b) 등의 용어는 어떤 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지는 않는다.In addition, terms such as first, second, A, B, (a), (b) used in the following embodiments are only used to distinguish one component from another component, and the terms The nature, sequence, or order of the relevant components are not limited.
이하, 첨부된 도면들을 참조하여 본 개시의 다양한 실시예들에 대하여 상세하게 설명한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the attached drawings.
도 1은 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 시스템(10)의 동작을 개략적으로 설명하기 위한 예시적인 도면이다.FIG. 1 is an exemplary diagram schematically illustrating the operation of the
도 1에 도시된 바와 같이, 그래프 임베딩 시스템(10)은 그래프(13)에 대한 임베딩 표현(e.g., 16)을 생성할 수 있는 컴퓨팅 장치/시스템일 수 있다. 구체적으로, 그래프 임베딩 시스템(10)은 그래프(13)에 대한 다양한 임베딩 표현들(14, 15)을 통합하여 해당 그래프(13)에 대한 통합 임베딩 표현(16)을 생성할 수 있다. 도 1은 그래프 임베딩 시스템(10)이 2개의 GNN들(11, 12) 및/또는 임베딩 표현들(14, 15)을 이용(또는 통합)하는 경우를 예로써 도시하고 있으나, 이용(또는 통합)되는 GNN(Graph Neural Network) 및/또는 임베딩 표현(embedding representation)의 개수는 3개 이상이 될 수도 있다(도 11 참조). 이하에서는, 설명의 편의상, 그래프 임베딩 시스템(10)을 '임베딩 시스템(10)'으로 약칭하도록 한다.As shown in FIG. 1 ,
각각의 임베딩 표현(14, 15)은 그래프(13)에 대한 벡터 또는 매트릭스 형태의 표현을 의미할 수 있다. 이때, 매트릭스(e.g., 3차원 이상의 매트릭스)는 텐서(tensor)의 개념을 포괄하는 것일 수 있다. 임베딩 표현은 경우(또는 형태)에 따라 '임베딩 벡터(embedding vector)', '임베딩 매트릭스(embedding matrix)', '임베딩 코드(embedding code)', '잠재 표현(latent representation)' 등의 용어와 혼용되어 사용될 수도 있다.Each of the embedding
도시된 바와 같이, 제1 임베딩 표현(14)은 제2 임베딩 표현(15)과 적어도 일부는 다른 그래프 정보를 포함하거나 다른 GNN들(11, 12)을 통해 생성된 것일 수 있다. 예를 들어, 제1 임베딩 표현(14)은 제1 GNN(11)을 통해 생성되고 제2 임베딩 표현(15)은 제1 GNN(11)과 다른 표현력을 갖는 제2 GNN(12)을 통해 생성된 것일 수 있다. 이러한 경우, 도 2에 도시된 바와 같이, 임베딩 시스템(10)은 임베딩 표현들(14, 15)을 통합하여 보다 강한 표현력을 갖는(또는 보다 풍부한 정보가 내재된) 통합 임베딩 표현(16)을 생성할 수 있다. 보다 구체적인 예로서, 제1 임베딩 표현(14)이 이웃 노드 정보 애그리게이팅 방식의 제1 GNN(11)을 통해 생성되고, 제2 임베딩 표현(15)이 토폴로지 정보 추출 방식의 제2 GNN(12)을 통해 생성된 것이라고 가정하자. 이 경우, 임베딩 시스템(10)은 두 임베딩 표현들(14, 15)을 통합하여 이웃 노드 정보와 토폴로지 정보가 함께 반영된 통합 임베딩 표현(16)을 생성할 수 있다. 이와 관련하여서는 도 3 내지 도 6, 도 12 및 도 13에 대한 설명을 더 참조하도록 한다.As shown, the first embedding
참고로, 임베딩 표현들(14, 15)은 GNN의 최종 출력에 해당하는 것일 수도 있고, GNN의 내부 프로세싱 과정 중에 도출되는 것일 수도 있다. 또한, 제1 GNN(11)과 제2 GNN(12)은 별개의 모델을 지칭하는 것일 수도 있고, 전체 모델(e.g., 도 12 또는 도 13에 예시된 통합 모델)의 서로 다른 부분을 지칭하는 것일 수도 있다. 또한, GNN들(11, 12)은 학습된 모델일 수도 있고 그렇지 않을 수도 있다.For reference, the embedding
또한, GNN(또는 임베딩 표현)의 표현력이 다르다는 것은 예를 들어 동일한 그래프에 대해 서로 다른 임베딩 표현(e.g., 내재된 정보가 서로 다른 임베딩 표현)을 생성(추출)하거나, GNN이 구분하는 그래프 집합이 서로 다르다는 것을 의미할 수 있다. 보다 구체적인 예를 들어, 제1 GNN과 제2 GNN의 임베딩 표현을 이용하여 그래프 분류 태스크를 수행한다고 가정하자. 그리고, 제1 GNN(e.g., 이웃 노드 정보 애그리게이팅 방식의 GNN)의 임베딩 표현을 이용하면, 제1 그래프와 제2 그래프가 구분되나(즉, 서로 다른 클래스로 분류됨) 제3 그래프와 제4 그래프는 구분되지 않는다고 가정하자. 이와 달리, 제2 GNN(e.g., 토폴로지 정보 추출 방식의 GNN)의 임베딩 표현을 이용하면, 제1 그래프와 제2 그래프는 구분되지 않으나 제3 그래프와 제4 그래프는 구분된다고 가정하자. 이러한 경우, 제1 GNN의 표현력이 제2 GNN과 다르다고 설명될 수 있다.In addition, differences in the expressive power of GNNs (or embedding representations) mean that, for example, different embedding representations (e.g., embedding representations with different embedded information) are generated (extracted) for the same graph, or a set of graphs distinguished by a GNN is generated (extracted). It can mean that they are different. For a more specific example, assume that a graph classification task is performed using the embedding representations of the first GNN and the second GNN. And, using the embedding representation of the first GNN (e.g., GNN of the neighboring node information aggregating method), the first graph and the second graph are distinguished (i.e., classified into different classes), but the third graph and the fourth graph are distinguished from each other (i.e., classified into different classes). Assume that the graph is indistinguishable. In contrast, when using the embedding representation of the second GNN (e.g., GNN using the topology information extraction method), assume that the first graph and the second graph are not distinguished, but the third graph and the fourth graph are distinguished. In this case, it can be explained that the expressive power of the first GNN is different from that of the second GNN.
또한, 제1 GNN(또는 제1 임베딩 표현)의 표현력이 제2 GNN(또는 제2 임베딩 표현)보다 강하다는 것은 예를 들어 제1 GNN의 임베딩 표현(또는 제1 임베딩 표현)이 제2 GNN의 임베딩 표현(또는 제2 임베딩 표현)보다 풍부한 정보를 포함하고 있거나, 제1 GNN이 구분하는 그래프 집합이 제2 GNN보다 크다는 것을 의미할 수 있다. 보다 구체적인 예를 들어, 제1 GNN과 제2 GNN의 임베딩 표현을 이용하여 그래프 분류 태스크를 수행한다고 가정하자. 그리고, 제1 GNN의 임베딩 표현을 이용하면 10개의 그래프들이 모두 구분되나, 제2 GNN의 임베딩 표현을 이용하면 동일한 10개의 그래프들 중 일부가 구분되지 않는다고 가정하자. 이러한 경우, 제1 GNN의 표현력이 제2 GNN보다 강하다고 설명될 수 있고, 제1 GNN이 제2 GNN보다 입력된 그래프의 변화를 더 잘 반영하여 임베딩 표현을 생성하는 우수한 모델인 것으로 이해될 수 있다.In addition, the expressive power of the first GNN (or the first embedding representation) is stronger than that of the second GNN (or the second embedding representation). For example, the embedding representation of the first GNN (or the first embedding representation) is stronger than that of the second GNN. It may mean that it contains richer information than the embedding representation (or the second embedding representation), or that the set of graphs distinguished by the first GNN is larger than that of the second GNN. For a more specific example, assume that a graph classification task is performed using the embedding representations of the first GNN and the second GNN. Also, let us assume that all 10 graphs are distinguished when using the embedding expression of the first GNN, but some of the same 10 graphs are not distinguished when using the embedding expression of the second GNN. In this case, the expressive power of the first GNN can be explained as being stronger than that of the second GNN, and the first GNN can be understood as an excellent model that generates an embedding representation by better reflecting changes in the input graph than the second GNN. there is.
임베딩 시스템(10)은 미리 정해진 태스크(e.g., 분류 태스크, 회귀 태스크 등)를 수행하는 방식으로 통합 임베딩 표현(16)의 생성에 필요한 모듈들(e.g., GNN들, 리사이징 모듈 등)과 파라미터들을 학습시킬 수 있다. 통합 임베딩 표현(16)의 목적 태스크가 미리 정해져 있는 경우라면, 임베딩 시스템(10)은 목적 태스크를 이용하여 학습을 수행할 수 있다.The embedding
또한, 임베딩 시스템(10)은 학습된 모듈들과 파라미터들을 이용하여 목적 태스크를 직접 수행할 수도 있고, 목적 태스크를 수행하는 장치에게 입력된 그래프에 대한 통합 임베딩 표현(e.g., 16)을 제공할 수도 있다.In addition, the embedding
임베딩 시스템(10)이 통합 임베딩 표현을 생성하는 구체적인 방법에 관하여서는 추후 도 7 이하의 도면을 참조하여 상세하게 설명하도록 한다.The specific method by which the embedding
임베딩 시스템(10)은 적어도 하나의 컴퓨팅 장치로 구현될 수 있다. 예를 들어, 임베딩 시스템(10)의 모든 기능이 하나의 컴퓨팅 장치에서 구현될 수도 있고, 임베딩 시스템(10)의 제1 기능이 제1 컴퓨팅 장치에서 구현되고 제2 기능이 제2 컴퓨팅 장치에서 구현될 수도 있다. 또는, 임베딩 시스템(10)의 특정 기능이 복수의 컴퓨팅 장치들에서 구현될 수도 있다.Embedding
컴퓨팅 장치는 컴퓨팅 기능을 구비한 임의의 장치를 모두 포함할 수 있으며, 이러한 장치의 일 예시에 관하여서는 도 14를 참조하도록 한다. 컴퓨팅 장치는 다양한 구성요소들(e.g. 메모리, 프로세서 등)이 상호작용하는 집합체이므로, 경우에 따라 '컴퓨팅 시스템'으로 명명될 수도 있다. 또한, 컴퓨팅 시스템은 복수의 컴퓨팅 장치들이 상호작용하는 집합체를 의미하는 것일 수도 있다.The computing device may include any device equipped with a computing function. Refer to FIG. 14 for an example of such a device. Since a computing device is a collection of interacting various components (e.g. memory, processor, etc.), it may be called a 'computing system' in some cases. Additionally, a computing system may refer to a collection of interacting computing devices.
지금까지 도 1 및 도 2를 참조하여 본 개시의 몇몇 실시예들에 따른 임베딩 시스템(10)의 동작에 대해 개략적으로 설명하였다. 이하에서는, 이해의 편의를 제공하기 위해 도 3 내지 도 6을 참조하여 이웃 노드 정보 애그리게이팅 방식과 토폴로지 정보 추출 방식의 GNN에 대하여 간략하게 설명하도록 한다.So far, the operation of the embedding
먼저, 도 3 및 도 4를 참조하여 이웃 노드 정보 애그리게이팅 방식의 GNN의 구조 및 동작에 대하여 간략하게 설명하도록 한다.First, with reference to FIGS. 3 and 4, the structure and operation of the GNN using the neighboring node information aggregation method will be briefly described.
도 3은 본 개시의 몇몇 실시예들에서 참조될 수 있는 이웃 노드 정보 애그리게이팅 방식의 GNN(30)을 예시하고 있다.FIG. 3 illustrates a
도 3에 도시된 바와 같이, 예시된 GNN(30)은 그래프(33)(정확하게는, 그래프 데이터)를 입력받고 이웃 노드들의 정보(e.g., 피처들)를 반복적으로 애그리게이팅함으로서 입력된 그래프(33)에 대한 임베딩 표현(34)을 생성하도록 동작할 수 있다. 이를 위해, GNN(30)은 다수의 블록들(31-1 내지 31-n)과 풀링 모듈(32)을 포함하도록 구성될 수 있고, 경우에 따라 다른 모듈들을 더 포함할 수도 있다.As shown in FIG. 3, the illustrated
다수의 블록들(31-1 내지 31-n)은 그래프(33)를 구성하는 이웃 노드들의 정보를 반복적으로 애그리게이팅할 수 있다. 각각의 블록(e.g., 31-1)은 예를 들어 다수의 멀티-레이어 퍼셉트론(즉, 완전 연결 레이어)들로 구성될 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.A plurality of blocks 31-1 to 31-n may repeatedly aggregate information of neighboring nodes constituting the
다음으로, 풀링 모듈(32)은 풀링(pooling) 연산을 수행하여 적절한 사이즈의 임베딩 표현(34)을 생성(출력)할 수 있다. 당해 기술 분야의 종사자라면, GNN에서 이용되는 풀링 연산에 대해 이미 숙지하고 있을 것인 바 이에 대한 설명은 생략하도록 한다. 풀링 모듈(32)은 경우에 따라 '풀링 레이어(pooling layer)', '리드아웃 레이어(readout layer)', '리드아웃 모듈(readout module)' 등과 같은 용어와 혼용되어 사용될 수도 있다.Next, the pooling
예시된 GNN(30)을 통해 생성된 임베딩 표현(34)은 보통 그래프(33)의 노드 정보를 잘 반영하고 있지만, 그래프(33)의 토폴로지 정보(e.g., 그래프의 전반적인 형태/모양 등)까지 잘 반영하고 있지는 않다. 따라서, 해당 임베딩 표현(34)을 이용하면 토폴로지 정보가 중요하게 작용하는 태스크에 대한 성능이 떨어질 수 밖에 없다.The embedding representation (34) generated through the example GNN (30) usually well reflects the node information of the graph (33), but also reflects the topology information (e.g., overall shape/shape of the graph, etc.) of the graph (33) well. It is not reflected. Therefore, if the embedding
상술한 GNN(30)의 보다 자세한 예시는 도 4에 도시되어 있다.A more detailed example of the
도 4에 예시된 GNN(40)은 노드 튜플(tuple)에 대한 피처 매트릭스(e.g., 노드의 개수가 'v'이고 피처의 차원수가 'd'인 경우, 사이즈가 v*v*d인 3차원 매트릭스)를 입력받아 임베딩 벡터(45, e.g., 'p' 차원의 임베딩 벡터)를 생성(출력)하도록 동작할 수 있다.The GNN 40 illustrated in Figure 4 is a feature matrix for a node tuple (e.g., when the number of nodes is 'v' and the number of dimensions of features is 'd', a three-dimensional matrix of size v*v*d Matrix) can be input and operated to generate (output) an embedding vector (45, e.g., 'p' dimension embedding vector).
구체적으로, GNN(40)은 다수의 블록들(41-1 내지 41-n)을 통해 입력된 피처 매트릭스를 반복적으로 애그리게이팅함으로써 노드 튜플에 대한 임베딩 매트릭스(e.g., 사이즈가 v*v*p인 3차원 매트릭스)를 생성할 수 있고, 최종적으로 풀링 모듈(42)을 통해 입력된 그래프에 대한 임베딩 벡터(45)를 생성(출력)할 수 있다.Specifically, the GNN 40 creates an embedding matrix (e.g., with a size of v*v*p) for the node tuple by repeatedly aggregating the feature matrix input through a plurality of blocks 41-1 to 41-n. A 3D matrix) can be created, and finally, an embedding vector 45 for the input graph can be generated (output) through the pooling module 42.
참고로, PPGN(Provably Powerful Graph Network) 등과 같은 GNN이 도 4와 유사한 방식으로 동작하는데, 이에 관하여서는 'Provably Powerful Graph Network'으로 명명되는 논문을 참조하도록 한다.For reference, GNNs such as PPGN (Provably Powerful Graph Network) operate in a similar manner to Figure 4. For this, please refer to the paper titled 'Provably Powerful Graph Network'.
다음으로, 도 5 및 도 6을 참조하여 토폴로지 정보 추출 방식의 GNN의 구조 및 동작에 대하여 간략하게 설명하도록 한다.Next, the structure and operation of the GNN using the topology information extraction method will be briefly described with reference to FIGS. 5 and 6.
도 5는 본 개시의 몇몇 실시예들에서 참조될 수 있는 토폴로지 정보 추출 방식의 GNN(50)을 예시하고 있다.FIG. 5 illustrates a
도 5에 도시된 바와 같이, 예시된 GNN(50)은 입력된 그래프(54)에서 추출된 토폴로지 정보를 반영하여 해당 그래프(54)의 임베딩 표현(55)을 생성하도록 동작할 수 있다. 도 5 이하의 도면에서, 음영 표시가 추가된 임베딩 표현(e.g., 55)은 토폴로지 정보가 반영된 임베딩 표현을 의미한다.As shown in FIG. 5 , the illustrated
GNN(50)은 다수의 블록들(51-1 내지 51-n), 토폴로지 정보 추출 모듈(52) 및 풀링 모듈(53)을 포함하도록 구성될 수 있고, 경우에 따라 다른 모듈들을 더 포함할 수도 있다.The
도 3에 예시된 GNN(30)과 유사하게, 다수의 블록들(51-1 내지 51-n)은 그래프(55)를 구성하는 이웃 노드들의 정보를 반복적으로 애그리게이팅할 수 있다. 각각의 블록(e.g., 51-1)은 예를 들어 다수의 멀티-레이어 퍼셉트론(즉, 완전 연결 레이어)들로 구성될 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.Similar to the
다음으로, 토폴로지 정보 추출 모듈(52)은 입력된 그래프(54)의 토폴로지 정보를 추출할 수 있다. 예를 들어, 토폴로지 정보 추출 모듈(52)은 지속 다이어그램(persistence diagram)을 계산하는 방식으로 토폴로지 정보를 추출할 수 있다. 당해 기술 분야의 종사자라면, 지속 다이어그램의 개념 및 계산 방식에 대해 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.Next, the topology
다음으로, 풀링 모듈(53)은 풀링 연산을 수행하여 적절한 사이즈의 임베딩 표현(55)을 생성(출력)할 수 있다.Next, the pooling
예시된 GNN(50)을 통해 생성된 임베딩 표현(55)은 보통 그래프(54)의 토폴로지 정보를 잘 반영하고 있지만, 그래프(54)의 노드 정보까지 잘 반영하고 있지는 않다. 따라서, 해당 임베딩 표현(55)을 이용하면 그래프의 노드 정보가 중요하게 작용하는 태스크에 대한 성능이 떨어질 수 밖에 없다.The embedded
상술한 GNN(50)의 보다 자세한 예시는 도 6에 도시되어 있다.A more detailed example of the
도 6에 예시된 GNN(60)은 노드에 대한 피처 매트릭스(e.g., 노드의 개수가 'v'이고 피처의 차원수가 'd'인 경우, 사이즈가 v*d인 2차원 매트릭스)를 입력받아 임베딩 벡터(65, e.g., 't' 차원의 임베딩 벡터)를 출력하도록 동작할 수 있다.The GNN 60 illustrated in FIG. 6 receives and embeds a feature matrix for a node (e.g., when the number of nodes is 'v' and the dimensionality of features is 'd', a two-dimensional matrix of size v*d). It can be operated to output a vector (65, e.g., 't' dimension embedding vector).
구체적으로, GNN(60)은 다수의 블록들(61-1 내지 61-n)을 통해 입력된 피처 매트릭스를 반복적으로 애그리게이팅하여 노드에 대한 임베딩 매트릭스를 생성할 수 있다. 그리고, GNN(60)은 지속 다이어그램 계산 모듈(62)을 통해 노드 임베딩 매트릭스에서 토폴로지 정보를 추출하고 추출된 정보를 반영하여 임베딩 매트릭스(65, e.g., 사이즈가 v*t인 2차원 매트릭스)를 생성할 수 있으며, 최종적으로 풀링 모듈(63)을 통해 입력된 그래프에 대한 임베딩 벡터(65)를 생성(출력)할 수 있다.Specifically, the GNN 60 may generate an embedding matrix for a node by repeatedly aggregating a feature matrix input through a plurality of blocks 61-1 to 61-n. Then, the GNN (60) extracts topology information from the node embedding matrix through the persistence diagram calculation module (62) and reflects the extracted information to generate an embedding matrix (65, e.g., a two-dimensional matrix with size v*t). This can be done, and finally, an embedding vector 65 for the input graph can be generated (output) through the pooling module 63.
참고로, GFL(Graph Filtration Learning) 등과 같은 GNN이 도 6과 유사한 방식으로 동작하는데, 이에 관하여서는 'Graph Filtration Learning'으로 명명되는 논문을 참조하도록 한다.For reference, GNNs such as GFL (Graph Filtration Learning) operate in a similar manner to Figure 6. For this, please refer to the paper titled 'Graph Filtration Learning'.
지금까지 도 3 내지 도 6을 참조하여 본 개시의 몇몇 실시예들에서 참조될 수 있는 GNN들(30 내지 60)에 대하여 설명하였다. 이하에서는 도 7 이하의 도면을 참조하여 상술한 임베딩 시스템(10)에서 수행될 수 있는 다양한 방법들에 대하여 설명하도록 한다. 다만, 이해의 편의를 제공하기 위해, 후술될 방법들의 모든 단계/동작이 임베딩 시스템(10)에서 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 특정 단계/동작의 주체가 생략된 경우, 임베딩 시스템(10)에서 수행되는 것으로 이해될 수 있다. 다만, 실제 환경에서는, 후술된 방법들의 일부 단계/동작이 다른 컴퓨팅 장치에서 수행될 수도 있다.So far,
먼저, 도 7 내지 도 9를 참조하여 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 방법에 대하여 상세하게 설명하도록 한다.First, a graph embedding method according to some embodiments of the present disclosure will be described in detail with reference to FIGS. 7 to 9.
본 실시예는 타깃 그래프에 대한 2개의 임베딩 표현들을 통합하는 방법에 관한 것이다. 3개 이상의 임베딩 표현들을 통합하는 방법에 관하여서는 도 11을 참조하여 후술하도록 한다.This embodiment relates to a method for integrating two embedding representations for a target graph. A method of integrating three or more embedding expressions will be described later with reference to FIG. 11.
도 7은 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.7 is an example flowchart illustrating a graph embedding method according to some embodiments of the present disclosure. However, this is only a preferred embodiment for achieving the purpose of the present disclosure, and of course, some steps may be added or deleted as needed.
도 7에 도시된 바와 같이, 본 실시예는 타깃 그래프에 대한 제1 임베딩 표현과 제2 임베딩 표현을 획득하는 단계 S71에서 시작될 수 있다. 가령, 도 8에 도시된 바와 같이, 임베딩 시스템(10)은 제1 GNN(81)을 통해 제1 임베딩 표현(83)을 획득하고 제2 GNN(82, e.g., 제1 GNN과 다른 표현력을 갖는 GNN)을 통해 제2 임베딩 표현(84)을 획득할 수 있다. 이때, 제1 GNN(81)은 이웃 노드 정보 애그리게이팅 방식의 GNN(도 3 및 도 4 참조)이고 제2 GNN(82)은 토폴로지 정보 추출 방식의 GNN(도 5 및 도 6 참조)일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다. 또는, 제1 임베딩 표현(83)은 타깃 그래프의 이웃 노드들의 정보(e.g., 피처 정보)를 애그리게이팅하는 임베딩 방식에 의해 생성된 것(즉, 노드 정보 중심의 임베딩 표현)이고, 제2 임베딩 표현(84)은 타깃 그래프의 토폴로지 정보를 반영하는 임베딩 방식에 의해 생성된 것(즉, 토폴로지 정보 중심의 임베딩 표현)일 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.As shown in Figure 7, this embodiment may begin at step S71 of obtaining a first embedding representation and a second embedding representation for the target graph. For example, as shown in FIG. 8, the embedding
상술한 바와 같이, 제1 임베딩 표현과 제2 임베딩 표현은 GNN의 최종 출력에 해당할 수도 있고 GNN의 내부 프로세싱 과정 중에 도출되는 것일 수도 있다. 가령, 제1 임베딩 표현과 제2 임베딩 표현은 풀링 연산의 결과로 얻어진 임베딩 벡터일 수도 있고, 풀링 연산 이전에 도출된 임베딩 매트릭스(e.g., 2차원/3차원 매트릭스 등)일 수도 있다. 참고로, 제1 임베딩 표현과 제2 임베딩 표현이 풀링 연산의 결과로 얻어진 임베딩 벡터라면, 도 8에 예시된 바와는 달리 풀링 연산은 수행되지 않을 수도 있다.As described above, the first embedding expression and the second embedding expression may correspond to the final output of the GNN or may be derived during the internal processing of the GNN. For example, the first embedding expression and the second embedding expression may be an embedding vector obtained as a result of a pooling operation, or may be an embedding matrix (e.g., a 2-dimensional/3-dimensional matrix, etc.) derived before the pooling operation. For reference, if the first embedding expression and the second embedding expression are embedding vectors obtained as a result of a pooling operation, unlike the example in FIG. 8, the pooling operation may not be performed.
단계 S72에서, 제2 임베딩 표현에 특정값(e.g., 스칼라 값)이 반영될 수 있고, 그 결과로 제2 임베딩 표현의 값은 변경될 수 있다. 가령, 도 8에 도시된 바와 같이, 임베딩 시스템(10)은 곱셈 연산을 통해 제2 임베딩 표현(84)에 특정값(e.g., '+ε')을 반영(e.g., 임베딩 매트릭스의 각 요소에 특정값을 곱함)할 수 있다. 여기서, 제2 임베딩 표현(84)에 특정값을 반영하는 이유는 애그리게이팅(e.g., 덧셈 연산) 과정 중에 제1 임베딩 표현(83)과 제2 임베딩 표현(84)의 값이 상쇄되는 것을 방지하기 위한 것으로 이해될 수 있다. 값이 상쇄된다는 것은 곧 두 임베딩 표현들(84, 85)에 내재된 정보(또는 표현력)가 손실되는 것을 의미하기 때문이다.In step S72, a specific value (e.g., a scalar value) may be reflected in the second embedding expression, and as a result, the value of the second embedding expression may be changed. For example, as shown in Figure 8, the embedding
도 8은 제2 임베딩 표현(84)에만 특정값을 반영하는 경우를 예로서 도시하고 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다. 가령, 임베딩 시스템(10)은 제2 임베딩 표현(84) 대신 제1 임베딩 표현(83)에 특정값을 반영할 수도 있다. 또는, 임베딩 시스템(10)은 제1 임베딩 표현(83)에 제1 특정값을 반영하고 제2 임베딩 표현(84)에 제2 특정값(즉, 제1 특정값과 다른 값)을 반영할 수도 있다.Figure 8 shows as an example a case where a specific value is reflected only in the second embedding
한편, 특정값을 도출/생성하는 구체적인 방식은 실시예에 따라 달라질 수 있다.Meanwhile, the specific method of deriving/generating a specific value may vary depending on the embodiment.
몇몇 실시예들에서, 특정값은 사전에 설정되는 값일 수 있다. 가령, 특정값은 일종의 하이퍼파라미터(e.g., 'ε')에 기반한 값으로서, 사용자에 의해 사전에 설정될 수 있다. 보다 구체적인 예로서, 특정값은 무리수로 설정될 수 있다. 두 임베딩 표현들 중 어느 한쪽(또는 양쪽)에 무리수가 곱해지면, 애그리게이팅(e.g., 덧셈 연산) 과정 중에 두 임베딩 표현의 값이 상쇄되는 것이 효과적으로 방지될 수 있기 때문이다.In some embodiments, the specific value may be a preset value. For example, a specific value is a value based on a type of hyperparameter (e.g., 'ε') and can be set in advance by the user. As a more specific example, the specific value may be set to an irrational number. This is because if one (or both) of the two embedding expressions is multiplied by an irrational number, the values of the two embedding expressions can be effectively prevented from being offset during the aggregating (e.g., addition operation) process.
다른 몇몇 실시예들에서, 특정값은 학습가능 파라미터(learnable parameter)에 기반하여 도출되는 값일 수 있다(e.g., 학습가능 파라미터가 'ε'인 경우, 특정값은 ε 자체의 값, ε+무리수 등이 될 수 있음). 가령, 임베딩 시스템(10)은 통합 임베딩 표현을 이용하여 미리 정해진 태스크(즉, 학습용 태스크)에 관한 레이블을 예측하고 예측 레이블과 정답 레이블(즉, 타깃 그래프의 정답 레이블)의 차이에 기초하여 학습가능 파라미터의 값을 업데이트할 수 있다. 이러한 경우, 통합 임베딩 표현을 생성하기 위한 학습이 진행됨에 따라 임베딩 표현들의 정보(또는 표현력) 손실을 방지할 수 있는 최적의 값이 자연스럽고도 정확하게 도출될 수 있다.In some other embodiments, the specific value may be a value derived based on a learnable parameter (e.g., when the learnable parameter is 'ε', the specific value is the value of ε itself, ε + an irrational number, etc. could be). For example, the embedding
단계 S73에서, 제1 임베딩 표현과 변경된 제2 임베딩 표현을 애그리게이팅하여 타깃 그래프에 대한 통합 임베딩 표현이 생성될 수 있다. 가령, 도 8에 예시된 바와 같이, 임베딩 시스템(10)은 제1 임베딩 표현(83)과 변경된 제2 임베딩 표현(미도시) 각각에 대해 풀링 연산을 수행하고, 풀링 연산의 결과(85, 86)를 애그리게이팅하여 통합 임베딩 표현(87, e.g., 임베딩 벡터)을 생성할 수 있다. 다만, 상술한 바와 같이, 제1 임베딩 표현(83)과 제2 임베딩 표현(84)이 풀링 연산의 결과로 얻어진 것이라면(e.g., 임베딩 벡터라면), 도 8에 예시된 연산들 중에서 풀링 연산은 생략될 수도 있다.In step S73, a unified embedding representation for the target graph may be generated by aggregating the first embedding representation and the changed second embedding representation. For example, as illustrated in FIG. 8, the embedding
도 8은 덧셈 연산을 통해 풀링된 임베딩 표현들(85, 86)이 애그리게이팅되는 경우를 예로서 도시하고 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다. 다만, 도 8에 예시된 바와 같이, 곱셈 연산과 덧셈 연산을 이용하여 임베딩 벡터들(83, 84)을 통합(애그리게이팅)하면, 임베딩 표현들(83, 84)에 내재된 정보(또는 표현력)가 보존된다는 점이 본 개시의 발명자에 의해 수학적으로 증명되었다. 아울러, 덧셈 연산을 이용하면, 통합되는 임베딩 표현들(e.g., 83, 84)의 개수가 증가하더라도 통합 임베딩 표현(87)의 사이즈(e.g., 통합 임베딩 벡터의 차원수)가 증가하지 않기 때문에, 연관 태스크(e.g., 분류, 회귀 등의 다운스트림 태스크)의 복잡도 증가 문제가 용이하게 해결될 수 있다는 장점도 있다.Figure 8 shows as an example a case where the pooled embedding
한편, 도 7에 도시되어 있지는 않으나, 임베딩 시스템(10)은 미리 정해진 태스크(즉, 학습용 태스크)를 수행하는 방식으로 통합 임베딩 표현을 생성하는데 필요한 모듈들과 파라미터들을 학습시킬 수 있다. 구체적으로, 도 9에 도시된 바와 같이, 임베딩 시스템(10)은 통합 임베딩 표현(87)을 태스크에 특화된 예측 모듈(91, 또는 '예측 레이어')에 입력하여 타깃 그래프에 대한 레이블(92, e.g., 클래스 레이블)을 예측할 수 있다. 그리고, 임베딩 시스템(10)은 예측 레이블(92)과 타깃 그래프에 대한 정답 레이블(93)과의 차이(e.g., 손실 94)에 기초하여 관련 모듈들/파라미터들(e.g., 예측 모듈 91, 특정값 도출을 위한 파라미터, 도 10에 예시된 리사이징 모듈, 제1 GNN 81, 제2 GNN 82 등)을 학습시킬 수 있다. 이러한 학습 과정은 물론 정답 레이블(e.g., 93)이 주어진 다수의 그래프들(즉, 트레이닝셋)에 대하여 반복적으로 수행될 수 있다.Meanwhile, although not shown in FIG. 7, the embedding
참고로, 미리 정해진 태스크가 분류 태스크인 경우, 예측 모듈(91)은 예를 들어 클래스 레이블을 예측하도록 구성된 신경망 레이어(e.g., 완전 연결 레이어)로 구현될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니며, 예측 모듈(91)의 세부 구조는 태스크에 따라 얼마든지 변형될 수 있다.For reference, if the predetermined task is a classification task, the
지금까지 도 7 내지 도 9를 참조하여 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 방법에 대하여 설명하였다. 상술한 바에 따르면, 타깃 그래프에 대한 다양한 임베딩 표현들 중 적어도 일부에 특정값을 반영하고 애그리게이팅함으로써 타깃 그래프에 대한 통합 임베딩 표현이 생성될 수 있다. 이러한 경우, 애그리게이팅 과정 중에 서로 다른 임베딩 표현의 값들이 상쇄되는 것이 특정값에 의해 방지될 수 있기 때문에, 정보(또는 표현력)의 손실 없이 다양한 임베딩 표현들이 통합될 수 있다. 가령, 특정 임베딩 표현에 무리수를 곱셈함으로써 애그리게이팅(e.g., 덧셈) 과정 중에 서로 다른 임베딩 표현의 값들이 상쇄되는 것이 효과적으로 방지될 수 있다. 또한, 타깃 그래프에 대한 다양한 임베딩 표현(e.g., 임베딩 벡터)들이 덧셈 연산을 통해 애그리게이팅될 수 있다. 이러한 경우, 임베딩 표현들의 개수가 증가하더라도 통합 임베딩 표현의 사이즈(e.g., 통합 임베딩 벡터의 차원수)는 증가하지 않기 때문에, 연관 태스크(e.g., 분류, 회귀 등의 다운스트림 태스크)의 복잡도 증가 문제가 용이하게 해결될 수 있다.So far, a graph embedding method according to some embodiments of the present disclosure has been described with reference to FIGS. 7 to 9. According to the above, an integrated embedding expression for the target graph can be created by reflecting and aggregating specific values in at least some of the various embedding expressions for the target graph. In this case, since the values of different embedding expressions can be prevented from being offset by a specific value during the aggregating process, various embedding expressions can be integrated without loss of information (or expressiveness). For example, by multiplying a specific embedding expression by an irrational number, the values of different embedding expressions can be effectively prevented from being canceled out during the aggregating (e.g., addition) process. Additionally, various embedding expressions (e.g., embedding vectors) for the target graph can be aggregated through addition operations. In this case, even if the number of embedding expressions increases, the size of the integrated embedding expression (e.g., the number of dimensions of the integrated embedding vector) does not increase, so there is a problem of increasing complexity of related tasks (e.g., downstream tasks such as classification and regression). It can be easily solved.
이하에서는, 도 10을 참조하여 본 개시의 다른 몇몇 실시예들에 따른 그래프 임베딩 방법에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.Hereinafter, a graph embedding method according to some other embodiments of the present disclosure will be described with reference to FIG. 10. However, for clarity of the present disclosure, description of content that overlaps with the previous embodiments will be omitted.
도 10에 도시된 바와 같이, 본 실시예는 제1 임베딩 표현(103)과 제2 임베딩 표현(104)의 사이즈(e.g., 임베딩 매트릭스의 사이즈, 임베딩 벡터의 차원수)가 다른 경우에 리사이징(resizing) 연산(또는 모듈)을 더 이용하여 통합 임베딩 표현(107)을 생성하는 방법에 관한 것이다. 도 10은 임베딩 표현들(103, 104)이 서로 다른 GNN(101, 102)을 통해 생성된 임베딩 매트릭스인 경우를 가정하고 있다.As shown in FIG. 10, this embodiment performs resizing when the sizes (e.g., size of the embedding matrix, number of dimensions of the embedding vector) of the first embedding
구체적으로, 임베딩 시스템(10)은 제1 임베딩 표현(103)과 제2 임베딩 표현(104)에 대해 리사이징 연산을 수행할 수 있다. 가령, 두 임베딩 표현들(103, 104)이 매트릭스 형태의 표현인 경우, 임베딩 시스템(10)은 매트릭스의 사이즈를 변경시키는 연산을 통해 두 임베딩 표현들(103, 104)의 사이즈를 조정할 수 있다. 도 10은 리사이징 연산이 두 임베딩 매트릭스들(103, 104)의 마지막 차원(e.g., 'p1', 'p2')의 길이(또는 풀링 연산의 결과로 얻어진 임베딩 벡터들 105, 106의 차원수)를 일치시키는 용도로 수행되는 경우를 예시하고 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 또한, 도 10은 리사이징 연산이 멀티-레이어 퍼셉트론에 기초하여 구현되는 경우를 예로서 도시하고 있다. 멀티-레이어 퍼셉트론은 입력된 임베딩 매트릭스와 가중치 매트릭스(즉, 자신의 가중치 파라미터들)와의 곱셈을 통해 입력된 임베딩 매트릭스의 사이즈를 자연스럽게 변경시킬 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니며, 리사이징 연산은 다른 방식으로 구현될 수도 있다.Specifically, the embedding
다음으로, 임베딩 시스템(10)은 특정값 반영, 풀링 등의 연산을 수행하고, 풀링 연산의 결과(105, 106)를 애그리게이팅하여 통합 임베딩 표현(107)을 생성할 수 있다. 가령, 임베딩 시스템(10)은 풀링 연산의 결과로 얻어진 임베딩 벡터들(105, 106)에 대해 덧셈 연산을 수행하여 벡터 형태의 통합 임베딩 표현(107)을 생성할 수 있다.Next, the embedding
한편, 도 10은 두 임베딩 표현들(103, 104) 모두에 대해 리사이징 연산이 수행되는 경우를 예로서 도시하고 있으나, 경우에 따라 어느 한쪽에만 리사이징 연산이 수행될 수도 있음은 물론이다.Meanwhile, Figure 10 shows as an example a case where a resizing operation is performed on both of the two embedding
또한, 도 10은 풀링 연산이 수행되기 전에 리사이징 연산이 수행되는 경우를 예로서 도시하고 있으나, 경우에 따라 풀링 연산 이후에 리사이징 연산이 수행될 수도 있다. 이를테면, 풀링 연산의 결과로 얻어진 임베딩 벡터들(e.g., 105, 106)에 대해 리사이징 연산이 수행될 수도 있다.In addition, Figure 10 shows as an example a case where the resizing operation is performed before the pooling operation is performed, but in some cases, the resizing operation may be performed after the pooling operation. For example, a resizing operation may be performed on the embedding vectors (e.g., 105, 106) obtained as a result of the pooling operation.
또한, 도 10은 특정값(e.g., '1+ε')이 반영되기 전에 리사이징 연산이 수행되는 경우를 예로서 도시하고 있으나, 경우에 따라 특정값(e.g., '1+ε')이 반영된 이후에 리사이징 연산이 수행될 수도 있다.In addition, Figure 10 shows as an example a case where the resizing operation is performed before a specific value (e.g., '1+ε') is reflected, but in some cases, after a specific value (e.g., '1+ε') is reflected. A resizing operation may be performed on .
한편, 몇몇 실시예들에서는, 제1 임베딩 표현(103)과 제2 임베딩 표현(104)의 사이즈가 같은 경우에도 멀티-레이어 퍼셉트론이 적용될 수도 있다. 이러한 경우, 멀티-레이어 퍼셉트론은 주어진 임베딩 표현(e.g., 103, 104)을 적절한 임베딩 공간(e.g., 다른 임베딩 표현의 공간, 공동 임베딩 공간 등)의 표현으로 변환시키는 역할을 수행할 수 있다. 따라서, 이러한 실시예에서는, 멀티-레이어 퍼셉트론이 '변환 모듈', '변환 레이어', '프로젝션 모듈', '프로젝션 레이어' 등의 용어로 명명될 수도 있다.Meanwhile, in some embodiments, a multi-layer perceptron may be applied even when the first and second embedding
지금까지 도 10을 참조하여 본 개시의 다른 몇몇 실시예들에 따른 그래프 임베딩 방법에 대하여 설명하였다. 상술한 바에 따르면, 멀티-레이어 퍼셉트론 등에 기초하여 구현된 리사이징 연산을 통해 사이즈가 서로 다른 임베딩 표현들(e.g., 임베딩 매트릭스들)도 용이하게 통합될 수 있다.So far, the graph embedding method according to several other embodiments of the present disclosure has been described with reference to FIG. 10. According to the above, embedding representations (e.g., embedding matrices) of different sizes can be easily integrated through a resizing operation implemented based on a multi-layer perceptron, etc.
이하에서는, 도 11을 참조하여 본 개시의 또 다른 몇몇 실시예들에 따른 그래프 임베딩 방법에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.Hereinafter, a graph embedding method according to some other embodiments of the present disclosure will be described with reference to FIG. 11. However, for clarity of the present disclosure, description of content that overlaps with the previous embodiments will be omitted.
도 11에 도시된 바와 같이, 본 실시예는 K개(e.g., 3개 이상)의 임베딩 표현들(112-1 내지 112-k)을 애그리게이팅(통합)하여 타깃 그래프에 대한 통합 임베딩 표현(116)을 생성하는 방법에 관한 것이다. 도 11은 K개의 임베딩 표현들(112-1 내지 112-k)이 서로 다른 GNN들(111-1 내지 111-k)을 통해 생성된 임베딩 매트릭스인 경우를 가정하고 있으며, 사이즈 또한 서로 다른 경우를 가정하고 있다.As shown in Figure 11, this embodiment aggregates (integrates) K (e.g., 3 or more) embedding expressions 112-1 to 112-k to create an integrated embedding
구체적으로, 임베딩 시스템(10)은 K개의 임베딩 표현들(112-1 내지 112-k)에 대해 리사이징 연산을 수행하고, 특정값들(113, 114)을 반영할 수 있다. 이때, 각각의 임베딩 표현(e.g., 112-2, 112-k)에 반영되는 특정값들(e.g., 113, 114)은 서로 다른 값(e.g., 무리수) 또는 서로 다른 학습가능 파라미터에 기반한 값일 수 있다. 예를 들어, 제2 임베딩 표현(112-2)에 반영되는 특정값(113)은 제1 무리수이고, 제K 임베딩 표현(112-k)에 반영되는 특정값(114)은 제2 무리수(즉, 제1 무리수와 다른 값)일 수 있다. 그러한 경우에, 애그리게이팅(e.g., 덧셈) 과정 중에 서로 다른 임베딩 표현들(112-1 내지 112-k)의 값이 상쇄되는 것이 효과적으로 방지될 수 있다.Specifically, the embedding
다음으로, 임베딩 시스템(10)은 풀링 연산을 수행하고, 풀링 연산의 결과(115-1 내지 115-k)를 애그리게이팅하여 통합 임베딩 표현(116)을 생성할 수 있다. 가령, 임베딩 시스템(10)은 풀링 연산의 결과로 얻어진 임베딩 벡터들(115-1 내지 115-k)에 대해 덧셈 연산을 수행하여 벡터 형태의 통합 임베딩 표현(116)을 생성할 수 있다.Next, the embedding
지금까지 도 11을 참조하여 본 개시의 또 다른 몇몇 실시예들에 따른 그래프 임베딩 방법에 대하여 설명하였다. 이하에서는, 도 12 및 도 13을 참조하여 본 개시의 또 다른 몇몇 실시예들에 따른 그래프 임베딩 방법에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.So far, a graph embedding method according to some other embodiments of the present disclosure has been described with reference to FIG. 11. Hereinafter, a graph embedding method according to some other embodiments of the present disclosure will be described with reference to FIGS. 12 and 13. However, for clarity of the present disclosure, description of content that overlaps with the previous embodiments will be omitted.
도 12에 도시된 바와 같이, 본 실시예는 통합된 GNN을 이용하여 타깃 그래프(121)의 이웃 노드 정보와 토폴로지 정보가 함께 반영된 통합 임베딩 표현(125)을 생성하는 방법에 관한 것이다. 도 12에 예시된 통합 GNN의 구조는 두가지 방식(즉, 이웃 노드 정보 애그리게이팅 방식과 토폴로지 정보 추출 방식)의 GNN들(도 3 및 도 5에 예시된 GNN 30, 50 참조) 간에 이웃 노드 정보 애그리게이팅을 위한 모듈(즉, 신경망)이 공통된다는 점에 착안하여 도출된 것으로 이해될 수 있다. 도 12에 예시된 통합 GNN은 제1 GNN(e.g., 도 3의 GNN 30)과 제2 GNN(e.g., 도 5의 GNN 50)이 노드 정보 애그리게이팅 모듈(122)을 공유하고 있는 것과 같이 설명될 수도 있다.As shown in FIG. 12, this embodiment relates to a method of generating an integrated embedding
구체적으로, 임베딩 시스템(10)은 이웃 노드 정보 애그리게이팅 모듈(122)을 통해 타깃 그래프(121)에 대한 제1 임베딩 표현(123 or 124)을 생성할 수 있다. 제1 임베딩 표현(123 or 124)은 3차원 매트릭스 형태(123 참조)일 수도 있고 2차원 매트릭스 형태(124 참조)일 수도 있다.Specifically, the embedding
다음으로, 임베딩 시스템(10)은 제1 임베딩 표현(123 or 124)을 분석하여 토폴로지 정보를 추출하고, 추출된 토폴로지 정보를 반영하여 제2 임베딩 표현(미도시)를 생성할 수 있다.Next, the embedding
다음으로, 임베딩 시스템(10)은 제1 임베딩 표현(123 or 124)과 제2 임베딩 표현(미도시)에 대해 리사이징, 특정값 반영, 풀링 등의 연산을 수행하고, 수행 결과를 애그리게이팅하여 통합 임베딩 표현(125)을 생성할 수 있다. 가령, 임베딩 시스템(10)은 벡터 형태의 통합 임베딩 표현(125)을 생성할 수 있다.Next, the embedding
보다 이해의 편의를 제공하기 위해, 도 13을 참조하여 부연 설명하도록 한다.In order to provide easier understanding, further explanation will be made with reference to FIG. 13.
도 13은 도 12의 통합 GNN에 대한 보다 자세한 예시를 도시하고 있다. 도 13에 도시된 통합 GNN은 예를 들어 도 4 및 도 6에 예시된 GNN들(40, 60)이 통합된 것으로 이해될 수 있다.Figure 13 shows a more detailed example of the integrated GNN of Figure 12. The integrated GNN shown in FIG. 13 may be understood as, for example, an integration of the GNNs 40 and 60 illustrated in FIGS. 4 and 6.
도 13에 도시된 바와 같이, 임베딩 시스템(10)은 이웃 노드 정보 애그리게이팅 모듈(132)을 통해 타깃 그래프에 대한 제1 임베딩 표현(133)을 생성할 수 있다. 도 13은 이웃 노드 정보 애그리게이팅 모듈(132)이 노드 튜플에 대한 피처 매트릭스(131, e.g., 노드의 개수가 'v'이고 피처의 차원수가 'd'인 경우, 사이즈가 v*v*d인 3차원 매트릭스)를 입력받아 노드 튜플에 대한 임베딩 매트릭스(133, e.g., 사이즈가 v*v*p인 3차원 매트릭스)를 출력(생성)하는 경우를 예시하고 있다.As shown in FIG. 13 , the embedding
다음으로, 임베딩 시스템(10)은 제1 임베딩 표현(133)을 이용하여 지속 다이어그램을 계산함으로써 타깃 그래프의 토폴로지 정보가 반영된 제2 임베딩 표현(135)를 생성할 수 있다. 가령, 제1 임베딩 표현(133)이 3차원 임베딩 매트릭스인 경우, 임베딩 시스템(10)은 해당 임베딩 매트릭스(133)의 대각선 요소를 추출하여 2차원 임베딩 매트릭스(134)를 생성하고, 2차원 임베딩 매트릭스(134)에 대해 지속 다이어그램을 계산함으로써 제2 임베딩 표현(135)을 생성할 수 있다. 여기서, 대각선 요소를 추출하는 이유는 3차원 임베딩 매트릭스(133)의 대각선 요소들이 곧 각 노드의 정보가 집약된 부분을 의미하기 때문이다. 다만, 경우에 따라서는, 다른 방식으로 2차원 임베딩 매트릭스(134)가 생성될 수도 있다.Next, the embedding
다음으로, 임베딩 시스템(10)은 제1 임베딩 표현(133)과 제2 임베딩 표현(135)에 대해 리사이징, 특정값 반영, 풀링 등의 연산을 수행하고(136-1, 136-2, 137-1, 137-2 참조), 수행 결과(137-1, 137-2)를 애그리게이팅하여 통합 임베딩 표현(138)을 생성할 수 있다. 가령, 임베딩 시스템(10)은 벡터 형태의 통합 임베딩 표현(138)을 생성할 수 있다.Next, the embedding
지금까지 도 12 및 도 13을 참조하여 본 개시의 또 다른 몇몇 실시예들에 따른 그래프 임베딩 방법에 대하여 설명하였다. 상술한 바에 따르면, 통합 GNN을 통해 타깃 그래프의 노드 정보와 토폴로지 정보가 함께 반영된 통합 임베딩 표현이 용이하게 생성될 수 있으며, 이러한 통합 임베딩 표현을 이용하면 그래프에 관한 다양한 태스크들의 성능이 전반적으로 향상될 수 있다.So far, a graph embedding method according to some other embodiments of the present disclosure has been described with reference to FIGS. 12 and 13. According to the above, an integrated embedding expression that reflects the node information and topology information of the target graph can be easily created through the integrated GNN, and the overall performance of various tasks related to the graph can be improved by using this integrated embedding expression. You can.
이하에서는, 상술한 그래프 임베딩 방법(이하, '제안된 방법')에 대한 성능 실험 결과에 대하여 간략하게 소개하도록 한다.Below, we will briefly introduce the performance test results for the above-described graph embedding method (hereinafter referred to as the ‘proposed method’).
본 발명자들은 바이오인포매틱스(bioinformatics) 분야의 데이터셋(MUTAG, PTC, PROTEINS, NCI1)을 이용하여 그래프 분류 태스크의 정확도를 평가하는 실험을 실시하였다. 태스크의 정확도가 높다는 것은 곧 그래프 임베딩 방법의 성능이 우수하다는 것을 의미하기 때문이다. 구체적으로, 본 발명자들은 도 13에 예시된 바와 같은 통합 GNN을 통해 통합 임베딩 표현을 생성하고, 생성된 통합 임베딩 표현에 기초하여 입력된 그래프의 클래스를 예측하는 실험을 수행하였다. 또한, 본 발명자들은 이웃 노드 정보 애그리게이팅 방식의 대표적인 GNN인 'PPGN'에 대해서도 동일한 실험을 수행하였다. 실험 결과는 하기의 표 1에 기재되어 있다.The present inventors conducted an experiment to evaluate the accuracy of the graph classification task using datasets in the bioinformatics field (MUTAG, PTC, PROTEINS, NCI1). This is because high task accuracy means that the performance of the graph embedding method is excellent. Specifically, the present inventors performed an experiment to generate a unified embedding representation through an integrated GNN as illustrated in FIG. 13 and predict the class of the input graph based on the generated integrated embedding representation. Additionally, the present inventors performed the same experiment on 'PPGN', a representative GNN of the neighboring node information aggregating method. The experimental results are listed in Table 1 below.
표 1을 참조하면, 데이터셋에 관계없이 제안된 방법의 성능이 PPGN보다 우수한 것을 확인할 수 있다. 이는 제안된 방법에 의해 생성된 통합 임베딩 표현은 노드 중심의 정보뿐만 아니라 그래프의 토폴로지 정보까지 포함하고 있기 때문인 것으로 판단되며, 이를 통해 제안된 방법이 이웃 노드 정보 애그리게이팅 방식의 GNN보다 강력한 임베딩 표현을 생성할 수 있다는 것을 알 수 있다. 뿐만 아니라, 통합 임베딩 표현을 생성하는 과정 중에 정보(또는 표현력)의 손실이 거의 발생하지 않는다는 것도 알 수 있다.Referring to Table 1, it can be seen that the performance of the proposed method is better than PPGN regardless of the dataset. This is believed to be because the integrated embedding representation generated by the proposed method includes not only node-centered information but also graph topology information, and through this, the proposed method provides a more powerful embedding representation than the GNN of the neighboring node information aggregating method. You can see that it can be created. In addition, it can be seen that almost no loss of information (or expressive power) occurs during the process of generating the integrated embedding representation.
또한, 본 발명자들은 바이오인포매틱스 분야의 QM9(Quantum Machines 9) 데이터셋을 이용하여 회귀(regression) 태스크의 정확도를 평가하는 실험도 실시하였다. 구체적으로, 본 발명자들은 도 13에 예시된 바와 같은 통합 GNN을 통해 통합 임베딩 표현을 생성하고, 생성된 통합 임베딩 표현에 기초하여 하기의 표 2에 기재된 타깃들의 값을 예측하며, 예측값에 대한 평균 절대 오차를 측정하는 실험을 수행하였다. 또한, 'PPGN'에 대해서도 동일한 실험이 수행되었다. 실험 결과는 하기의 표 2에 기재되어 있다.In addition, the present inventors also conducted an experiment to evaluate the accuracy of the regression task using the QM9 (Quantum Machines 9) dataset in the bioinformatics field. Specifically, the present inventors generate a unified embedding representation through an integrated GNN as illustrated in Figure 13, predict the values of the targets listed in Table 2 below based on the generated integrated embedding expression, and average absolute values for the predicted values. An experiment was performed to measure the error. Additionally, the same experiment was performed for 'PPGN'. The experimental results are listed in Table 2 below.
표 2를 참조하면, 회귀 태스크에 대해서도 제안된 방법의 성능이 PPGN보다 우수한 것을 확인할 수 있다. 이를 통해 제안된 방법을 이용하면, 그래프와 연관된 다양한 태스크들의 성능이 전반적으로 향상될 수 있다는 것을 알 수 있다.Referring to Table 2, it can be seen that the performance of the proposed method is better than PPGN even for regression tasks. This shows that the overall performance of various tasks related to graphs can be improved by using the proposed method.
지금까지 본 개시의 몇몇 실시예들에 따른 그래프 임베딩 방법에 대한 성능 실험 결과에 대하여 간략하게 소개하였다. 이하에서는, 도 14를 참조하여 상술한 임베딩 시스템(10)을 구현할 수 있는 예시적인 컴퓨팅 장치(140)에 대하여 설명하도록 한다.So far, we have briefly introduced the performance test results for the graph embedding method according to some embodiments of the present disclosure. Hereinafter, an
도 14는 컴퓨팅 장치(140)를 나타내는 예시적인 하드웨어 구성도이다.14 is an exemplary hardware configuration diagram showing the
도 14에 도시된 바와 같이, 컴퓨팅 장치(140)는 하나 이상의 프로세서(141), 버스(143), 통신 인터페이스(144), 프로세서(141)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(142)와, 컴퓨터 프로그램(146)을 저장하는 스토리지(145)를 포함할 수 있다. 다만, 도 14에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 14에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(140)에는 도 14에 도시된 구성요소 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 도 14에 도시된 구성요소들 중 일부가 생략된 형태로 컴퓨팅 장치(140)가 구성될 수도 있다. 이하, 컴퓨팅 장치(140)의 각 구성요소에 대하여 설명한다.As shown in FIG. 14, the
프로세서(141)는 컴퓨팅 장치(140)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(141)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(141)는 본 개시의 다양한 실시예들에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(140)는 하나 이상의 프로세서를 구비할 수 있다.The
다음으로, 메모리(142)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(142)는 본 개시의 다양한 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(145)로부터 컴퓨터 프로그램(146)을 로드할 수 있다. 메모리(142)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.Next,
다음으로, 버스(143)는 컴퓨팅 장치(140)의 구성요소들 간 통신 기능을 제공할 수 있다. 버스(143)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.Next,
다음으로, 통신 인터페이스(144)는 컴퓨팅 장치(140)의 유무선 인터넷 통신을 지원할 수 있다. 또한, 통신 인터페이스(144)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(144)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.Next, the
다음으로, 스토리지(145)는 하나 이상의 컴퓨터 프로그램(146)을 비임시적으로 저장할 수 있다. 스토리지(145)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 판독가능한 기록매체를 포함하여 구성될 수 있다.Next,
다음으로, 컴퓨터 프로그램(146)은 메모리(142)에 로드될 때 프로세서(141)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 즉, 프로세서(141)는 로드된 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법을 수행할 수 있다.Next, the
예를 들어, 컴퓨터 프로그램(146)은 타깃 그래프에 대한 제1 임베딩 표현과 제2 임베딩 표현을 획득하는 동작, 제2 임베딩 표현에 특정값을 반영하여 제2 임베딩 표현의 값을 변경하는 동작 및 제1 임베딩 표현과 변경된 제2 임베딩 표현을 애그리게이팅하여 타깃 그래프에 대한 통합 임베딩 표현을 생성하는 동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(140)를 통해 본 개시의 몇몇 실시예들에 따른 임베딩 시스템(10)이 구현될 수 있다.For example, the
한편, 몇몇 실시예들에서, 도 14에 도시된 컴퓨팅 장치(140)는 클라우드 기술에 기반하여 구현된 가상 머신을 의미하는 것일 수도 있다. 가령, 컴퓨팅 장치(140)는 서버 팜(server farm)에 포함된 하나 이상의 물리 서버(physical server)에서 동작하는 가상 머신일 수 있다. 이 경우, 도 14에 도시된 프로세서(141), 메모리(142) 및 스토리지(145) 중 적어도 일부는 가상 하드웨어(virtual hardware)일 수 있으며, 통신 인터페이스(144) 또한 가상 스위치(virtual switch) 등과 같은 가상화된 네트워킹 요소로 구현되는 것일 수 있다.Meanwhile, in some embodiments, the
지금까지 도 14를 참조하여 본 개시의 몇몇 실시예들에 따른 임베딩 시스템(10)을 구현할 수 있는 예시적인 컴퓨팅 장치(140)에 대하여 설명하였다.So far, an
지금까지 도 1 내지 도 14를 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present disclosure and effects according to the embodiments have been mentioned with reference to FIGS. 1 to 14 . The effects according to the technical idea of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below.
또한, 이상의 실시예들에서 복수의 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 기술적 사상의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In addition, although it has been described in the above embodiments that a plurality of components are combined or operated in combination, the technical idea of the present disclosure is not necessarily limited to these embodiments. That is, as long as it is within the scope of the technical idea of the present disclosure, all of the components may be operated by selectively combining one or more of them.
지금까지 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 컴퓨터로 읽을 수 있는 기록 매체에 기록된 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical ideas of the present disclosure described so far can be implemented as computer-readable code on a computer-readable medium. A computer program recorded on a computer-readable recording medium can be transmitted to another computing device through a network such as the Internet, installed on the other computing device, and thus used on the other computing device.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 이상 첨부된 도면을 참조하여 본 개시의 다양한 실시예들을 설명하였지만, 본 개시가 속한 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시의 기술적 사상이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although operations are shown in the drawings in a specific order, it should not be understood that the operations must be performed in the specific order shown or sequential order or that all illustrated operations must be performed to obtain the desired results. In certain situations, multitasking and parallel processing may be advantageous. Although various embodiments of the present disclosure have been described above with reference to the attached drawings, those skilled in the art will understand that the technical idea of the present disclosure can be translated into another specific form without changing the technical idea or essential features. It is understandable that it can also be implemented. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. The scope of protection of this disclosure should be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of rights of the technical ideas defined by this disclosure.
Claims (17)
타깃 그래프에 대한 제1 임베딩 표현(embedding representation)과 제2 임베딩 표현을 획득하는 단계;
상기 제2 임베딩 표현에 특정값을 반영하여 상기 제2 임베딩 표현의 값을 변경하는 단계; 및
상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현을 애그리게이팅(aggregating)하여 상기 타깃 그래프에 대한 통합 임베딩 표현을 생성하는 단계를 포함하는,
그래프 임베딩 방법.In a method performed by at least one computing device,
Obtaining a first embedding representation and a second embedding representation for the target graph;
changing the value of the second embedding expression by reflecting a specific value in the second embedding expression; and
Generating a unified embedding representation for the target graph by aggregating the first embedding representation and the changed second embedding representation.
Graph embedding method.
상기 제1 임베딩 표현과 상기 제2 임베딩 표현 중 어느 하나는 상기 타깃 그래프를 구성하는 이웃 노드들의 정보를 애그리게이팅하는 임베딩 방식에 의해 생성된 것이고,
상기 제1 임베딩 표현과 상기 제2 임베딩 표현 중 다른 하나는 상기 타깃 그래프의 토폴로지 정보를 반영하는 임베딩 방식에 의해 생성된 것인,
그래프 임베딩 방법.According to paragraph 1,
One of the first embedding expression and the second embedding expression is generated by an embedding method that aggregates information of neighboring nodes constituting the target graph,
The other one of the first embedding expression and the second embedding expression is generated by an embedding method that reflects topology information of the target graph,
Graph embedding method.
상기 제1 임베딩 표현과 상기 제2 임베딩 표현은 서로 다른 GNN(Graph Neural Network)을 통해 상기 타깃 그래프를 임베딩함으로써 생성된 것인,
그래프 임베딩 방법.According to paragraph 1,
The first embedding expression and the second embedding expression are generated by embedding the target graph through different GNN (Graph Neural Network),
Graph embedding method.
상기 특정값은 무리수인,
그래프 임베딩 방법.According to paragraph 1,
The specific value is an irrational number,
Graph embedding method.
상기 특정값은 학습가능 파라미터(learnable parameter)에 기반한 값이고,
상기 생성된 통합 임베딩 표현에 기초하여 미리 정해진 태스크에 관한 레이블을 예측하는 단계; 및
상기 예측된 레이블과 상기 타깃 그래프에 대한 정답 레이블의 차이에 기초하여 상기 학습가능 파라미터의 값을 업데이트하는 단계를 더 포함하는,
그래프 임베딩 방법.According to paragraph 1,
The specific value is a value based on a learnable parameter,
predicting a label for a predetermined task based on the generated integrated embedding representation; and
Further comprising updating the value of the learnable parameter based on the difference between the predicted label and the correct label for the target graph,
Graph embedding method.
상기 제2 임베딩 표현에 상기 특정값을 반영하는 것은 곱셈 연산에 기초하여 수행되고,
상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현을 애그리게이팅하는 것은 덧셈 연산에 기초하여 수행되는,
그래프 임베딩 방법.According to paragraph 1,
Reflecting the specific value in the second embedding representation is performed based on a multiplication operation,
Aggregating the first embedding representation and the modified second embedding representation is performed based on an addition operation,
Graph embedding method.
상기 제1 임베딩 표현과 상기 제2 임베딩 표현을 획득하는 단계는,
상기 타깃 그래프에 대한 제1 임베딩 매트릭스와 제2 임베딩 매트릭스를 획득하는 단계 - 상기 제1 임베딩 매트릭스의 사이즈는 상기 제2 임베딩 매트릭스와 상이함 -; 및
상기 제1 임베딩 매트릭스와 상기 제2 임베딩 매트릭스 중 적어도 하나에 대해 리사이징(resizing) 연산을 수행함으로써 상기 제1 임베딩 표현과 상기 제2 임베딩 표현을 획득하는 단계를 포함하는,
그래프 임베딩 방법.According to paragraph 1,
Obtaining the first and second embedding representations includes:
Obtaining a first embedding matrix and a second embedding matrix for the target graph, wherein the size of the first embedding matrix is different from the second embedding matrix; and
Obtaining the first embedding representation and the second embedding representation by performing a resizing operation on at least one of the first embedding matrix and the second embedding matrix,
Graph embedding method.
상기 리사이징 연산은 멀티-레이어 퍼셉트론(multi-layer perceptron)을 통해 구현되는 것인,
그래프 임베딩 방법.In clause 7,
The resizing operation is implemented through a multi-layer perceptron,
Graph embedding method.
상기 통합 임베딩 표현을 생성하는 단계는,
상기 제1 임베딩 표현에 대해 풀링 연산을 수행함으로써 제1 임베딩 벡터를 생성하는 단계;
상기 변경된 제2 임베딩 표현에 대해 풀링 연산을 수행함으로써 제2 임베딩 벡터를 생성하는 단계 - 상기 제2 임베딩 벡터의 차원수는 상기 제1 임베딩 벡터와 동일함 -; 및
상기 제1 임베딩 벡터와 상기 제2 임베딩 벡터를 애그리게이팅하여 벡터 형태의 상기 통합 임베딩 표현을 생성하는 단계를 포함하는,
그래프 임베딩 방법.In clause 7,
The step of generating the integrated embedding representation is,
generating a first embedding vector by performing a pooling operation on the first embedding representation;
generating a second embedding vector by performing a pooling operation on the changed second embedding representation, wherein the second embedding vector has the same dimensionality as the first embedding vector; and
Aggregating the first and second embedding vectors to generate the unified embedding representation in vector form,
Graph embedding method.
상기 제1 임베딩 표현과 제2 임베딩 표현을 획득하는 단계는,
이웃 노드 정보 애그리게이팅 방식의 GNN(Graph Neural Network)을 통해 상기 제1 임베딩 표현을 획득하는 단계; 및
상기 제1 임베딩 표현을 이용하여 상기 타깃 그래프의 토폴로지 정보를 추출함으로써 상기 제2 임베딩 표현을 생성하는 단계를 포함하는,
그래프 임베딩 방법.According to paragraph 1,
The step of obtaining the first and second embedding representations includes:
Obtaining the first embedding representation through a Graph Neural Network (GNN) using a neighboring node information aggregation method; and
Generating the second embedding representation by extracting topology information of the target graph using the first embedding representation,
Graph embedding method.
상기 제1 임베딩 표현은 노드 튜플에 대한 피처 매트릭스를 애그리게이팅함으로써 생성된 3차원 임베딩 매트릭스고,
상기 제2 임베딩 표현을 생성하는 단계는,
상기 3차원 임베딩 매트릭스의 대각선 요소를 추출하여 2차원 임베딩 매트릭스를 생성하는 단계; 및
상기 2차원 임베딩 매트릭스를 분석하여 상기 타깃 그래프의 토폴로지 정보를 추출하는 단계를 포함하는,
그래프 임베딩 방법.According to clause 10,
The first embedding representation is a three-dimensional embedding matrix generated by aggregating feature matrices for node tuples,
The step of generating the second embedding representation is,
generating a two-dimensional embedding matrix by extracting diagonal elements of the three-dimensional embedding matrix; and
Comprising the step of extracting topology information of the target graph by analyzing the two-dimensional embedding matrix,
Graph embedding method.
상기 타깃 그래프의 상기 토폴로지 정보를 추출하는 것은 지속 다이어그램(persistence diagram)을 계산함으로써 수행되는,
그래프 임베딩 방법.According to clause 10,
Extracting the topology information of the target graph is performed by calculating a persistence diagram,
Graph embedding method.
상기 통합 임베딩 표현을 생성하는 단계는,
상기 제1 임베딩 표현과 상기 변경된 임베딩 표현 각각에 대해 풀링 연산을 수행하는 단계; 및
상기 풀링 연산의 결과를 애그리게이팅하여 상기 통합 임베딩 표현을 생성하는 단계를 포함하는,
그래프 임베딩 방법.According to paragraph 1,
The step of generating the integrated embedding representation is,
performing a pooling operation on each of the first embedding representation and the changed embedding representation; and
Aggregating results of the pooling operation to generate the unified embedding representation,
Graph embedding method.
상기 통합 임베딩 표현을 생성하는 단계는,
상기 타깃 그래프에 대한 제3 임베딩 표현을 획득하는 단계;
상기 제3 임베딩 표현에 상기 특정값과 다른 값을 반영하여 상기 제3 임베딩 표현의 값을 변경하는 단계; 및
상기 제1 임베딩 표현, 상기 변경된 제2 임베딩 표현 및 상기 변경된 제3 임베딩 표현을 애그리게이팅하여 상기 통합 임베딩 표현을 생성하는 단계를 포함하는,
그래프 임베딩 방법.According to paragraph 1,
The step of generating the integrated embedding representation is,
Obtaining a third embedding representation for the target graph;
changing the value of the third embedding expression by reflecting a value different from the specific value in the third embedding expression; and
Aggregating the first embedding representation, the modified second embedding representation, and the modified third embedding representation to generate the unified embedding representation,
Graph embedding method.
상기 통합 임베딩 표현을 생성하는 단계는,
상기 타깃 그래프에 대한 제3 내지 제K 임베딩 표현(단, K는 3 이상의 자연수)을 획득하는 단계;
상기 제3 내지 제K 임베딩 표현에 상기 특정값과 다른 값을 반영하여 각 임베딩 표현의 값을 변경하는 단계; 및
상기 제1 임베딩 표현과 상기 변경된 제2 내지 제K 임베딩 표현을 애그리게이팅하여 상기 통합 임베딩 표현을 생성하는 단계를 포함하는,
그래프 임베딩 방법.According to paragraph 1,
The step of generating the integrated embedding representation is,
Obtaining third to Kth embedding representations for the target graph (where K is a natural number of 3 or more);
changing the value of each embedding expression by reflecting a value different from the specific value in the third to Kth embedding expressions; and
Generating the integrated embedding representation by aggregating the first embedding representation and the changed second to Kth embedding representations,
Graph embedding method.
하나 이상의 인스트럭션(instruction)을 저장하는 메모리를 포함하고,
상기 하나 이상의 프로세서는,
상기 저장된 하나 이상의 인스트럭션을 실행시킴으로써,
타깃 그래프에 대한 제1 임베딩 표현(embedding representation)과 제2 임베딩 표현을 획득하는 동작,
상기 제2 임베딩 표현에 특정값을 반영하여 상기 제2 임베딩 표현의 값을 변경하는 동작 및
상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현을 애그리게이팅(aggregating)하여 상기 타깃 그래프에 대한 통합 임베딩 표현을 생성하는 동작을 수행하는,
그래프 임베딩 시스템.One or more processors; and
Includes memory for storing one or more instructions,
The one or more processors:
By executing one or more instructions stored above,
Obtaining a first embedding representation and a second embedding representation for the target graph,
An operation of changing the value of the second embedding expression by reflecting a specific value in the second embedding expression, and
Performing an operation of generating a unified embedding expression for the target graph by aggregating the first embedding expression and the changed second embedding expression.
Graph embedding system.
타깃 그래프에 대한 제1 임베딩 표현(embedding representation)과 제2 임베딩 표현을 획득하는 단계;
상기 제2 임베딩 표현에 특정값을 반영하여 상기 제2 임베딩 표현의 값을 변경하는 단계; 및
상기 제1 임베딩 표현과 상기 변경된 제2 임베딩 표현을 애그리게이팅(aggregating)하여 상기 타깃 그래프에 대한 통합 임베딩 표현을 생성하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장된,
컴퓨터 프로그램.Combined with a computing device,
Obtaining a first embedding representation and a second embedding representation for the target graph;
changing the value of the second embedding expression by reflecting a specific value in the second embedding expression; and
Stored in a computer-readable recording medium to execute the step of aggregating the first embedding representation and the changed second embedding representation to generate a unified embedding representation for the target graph,
computer program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/142,897 US20230359866A1 (en) | 2022-05-04 | 2023-05-03 | Graph embedding method and system thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220055525 | 2022-05-04 | ||
KR1020220055525 | 2022-05-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230155943A true KR20230155943A (en) | 2023-11-13 |
Family
ID=88746780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220133768A KR20230155943A (en) | 2022-05-04 | 2022-10-18 | Method for embedding graph and system thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230155943A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220032730A (en) | 2020-09-08 | 2022-03-15 | 한양대학교 산학협력단 | On identifying the author group of malwares via graph embedding and human-in-loop approaches |
-
2022
- 2022-10-18 KR KR1020220133768A patent/KR20230155943A/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220032730A (en) | 2020-09-08 | 2022-03-15 | 한양대학교 산학협력단 | On identifying the author group of malwares via graph embedding and human-in-loop approaches |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240152729A1 (en) | Convolutional neural network (cnn) processing method and apparatus performing high-speed and precision convolution operations | |
KR102545128B1 (en) | Client device with neural network and system including the same | |
US9886377B2 (en) | Pipelined convolutional operations for processing clusters | |
CN109543816B (en) | Convolutional neural network calculation method and system based on weight kneading | |
JP2019139747A (en) | Operation device, operation execution facility and method | |
CN110309911B (en) | Neural network model verification method and device, computer equipment and storage medium | |
JP2021507345A (en) | Fusion of sparse kernels to approximate the complete kernel of convolutional neural networks | |
KR20210045225A (en) | Method and apparatus for performing operation in neural network | |
CN110796652B (en) | Image processing method, computer device, and storage medium | |
da Silva et al. | Cartesian genetic programming with crossover for designing combinational logic circuits | |
US20230051237A1 (en) | Determining material properties based on machine learning models | |
WO2022063076A1 (en) | Adversarial example identification method and apparatus | |
Yüzügüler et al. | U-boost nas: Utilization-boosted differentiable neural architecture search | |
KR20230155943A (en) | Method for embedding graph and system thereof | |
Sakr et al. | Memory-efficient CMSIS-NN with replacement strategy | |
CN113963241B (en) | FPGA hardware architecture, data processing method thereof and storage medium | |
WO2022127603A1 (en) | Model processing method and related device | |
CN115480919A (en) | Convolution optimization operation method and device, computer equipment and storage medium | |
CN112036554B (en) | Neural network model processing method and device, computer equipment and storage medium | |
CN116185377A (en) | Optimization method and device for calculation graph and related product | |
Cuomo et al. | Parallel implementation of a machine learning algorithm on GPU | |
KR102372869B1 (en) | Matrix operator and matrix operation method for artificial neural network | |
US20230359866A1 (en) | Graph embedding method and system thereof | |
WO2021068529A1 (en) | Image recognition method and apparatus, computer device and storage medium | |
US20220284293A1 (en) | Combining compression, partitioning and quantization of dl models for fitment in hardware processors |