profile
안녕하세요...

[논문 정리] A Graph-CNN for 3D Point Cloud Classification

0. 포인트 클라우드 여기 의자가 있다. 접이식 철제 의자인 이 물체에 대해 움직여가며 특정 부분에 점을 찍는다고 생각해보자. 표면에도 찍고 손으로는 만질 수 없지만 내부에도 찍을 수 있다면, 이렇게 찍힌 무수히 많은 점들은 결국 접이식 철제 의자의 형상을 나타내며 공간 상에 위치하게 될 것이다. 이렇게 3차원에 존재하는 대상을 여러 개의 점으로 표현한 형태를 포인트 클라우드(point cloud)라 한다. 포인트 클라우드를 구성하는

2023년 7월 8일
·
0개의 댓글
·

Pytorch Geometric - Message Passing Network

0. Graph Convolution GNN은 CNN과 유사하게 convolution 연산을 수행한다. 다만, 그래프의 불규칙한 구조를 반영할 수 있도록 기존의 1D 또는 2D convolution가 아닌 graph convolution 연산을 사용한다. 아래 그림 출처) Graph convolution 연산의 핵심은 노드를 임베딩함에 있어 엣지로 연결된 노드들, 즉 이웃 노드들의 정보를 활용하는 것이다. 하나의 중심 노드에 대해, 그 노드가 이웃하는 노드들의 정보를 하나로 모아 중심 노드를 표현할 수 있는 벡터로 출력한다. 이러한 과정은 이웃 노드들이 엣지를 따라 중심 노드로 정보를 전달한다는 측면에서 **message passing

2023년 5월 5일
·
0개의 댓글
·
post-thumbnail

Pytorch Geometric 튜토리얼

0. PyG Pytorch Geometric, 줄여서 PyG는 그래프 신경망(GNN)을 쉽게 작성하고 훈련할 수 있도록 PyTorch를 기반으로 구축된 라이브러리다. 그래프 혹은 불규칙한 구조에 대해 여러 논문에서 제안된 딥러닝 기법들로 구성되어 있다. 1. 데이터 1.1. 데이터 핸들링 PyG에서 다루는 데이터는 그래프다. 이에 따라 그래프를 torch_geometric.data.Data 클래스를 통해 데이터 형태로 변환한다. 예를 들어, 그림과 같이 3개의 노드로 구성된 그래프를 PyG에서 정의된 데이터로 변환해보자. 그래프 내의 노드들은 모두 1개의 feature를 갖고 있고, 이들 중 노드 0과 1, 노드 1과 2는 방향성이 없는 엣지로 연결되어 있다. 이러한 정보들을 텐서로 표

2023년 4월 9일
·
0개의 댓글
·
post-thumbnail

GNN 프레임워크 (4) 표현력

1. GNN 파이프라인 앞서 GNN 모델을 구성하는 요소들을 정리하였다. 이를 모델의 파이프라인으로 나타내면 다음과 같다. 모델은 그래프 데이터를 입력하여 레이블을 기준으로 예측을 수행하는 방향으로 진행된다. 이러한 전반적인 흐름은 크게 두 부분으로 나눠 볼 수 있다. 먼저 입력 그래프로부터 노드 임베딩을 연산하는 부분이 있고, 이렇게 산출된 노드 임베딩으로 분류와 같은 특정 task를 수행하는 부분이 있다. GNN 모델에서 특징적인 부분은 노드 임베딩을 연산하는 앞 부분이다. 앞서서는 이 부분을 구성하는 요소들에 대해 알아봤다면, 이번에는 다른 관점으로 접근한다. 2. GNN의 표현력 우선 GNN을 지칭하는데 있어, 전체 모델 내에서 노드 임베딩을 연산하는 부분으로 그 범위를 제한한다. 여기서 입력된

2023년 3월 26일
·
0개의 댓글
·
post-thumbnail

GNN 프레임워크 (3) 모델 학습

GNN 프레임워크 GNN 모델의 프레임워크에 대해 단계적으로 살펴보고 있다. > 1. Message : GNN 레이어에서 이웃 노드들로부터 메시지를 계산하는 방법 Aggregation : GNN 레이어에서 이웃 노드들의 메시지를 취합하는 방법 Layer connectivity : 신경망 형태로 만들기 위해 여러 레이어를 쌓는(연결하는) 방법 Graph augmentation : 입력 그래프를 적절하게 수정하는 방법 Learning objective : task에 따른 모델의 학습 방향 GNN 모

2023년 3월 12일
·
0개의 댓글
·
post-thumbnail

GNN 프레임워크 (2) 레이어 연결

GNN 프레임워크 GNN 모델의 프레임워크에 대해 단계적으로 살펴보고 있다. > 1. Message : GNN 레이어에서 이웃 노드들로부터 메시지를 계산하는 방법 Aggregation : GNN 레이어에서 이웃 노드들의 메시지를 취합하는 방법 Layer connectivity : 신경망 형태로 만들기 위해 여러 레이어를 쌓는(연결하는) 방법 Graph augmentation : 입력 그래프를 적절하게 수정하는 방법 Learning objective : task에 따른 모델의 학습 방향 하나의 GNN 레이어는 1) Message computation과 2) Aggregation의 두 단계의 연산으로 구성되었다. 이

2023년 2월 28일
·
0개의 댓글
·
post-thumbnail

GNN 프레임워크 (1) GNN 레이어

GNN 프레임워크 일반적인 GNN 모델의 프레임워크는 다음과 같다. GNN 모델의 디자인 요소는 크게 5가지로 나눠 볼 수 있다. > 1. Message : GNN 레이어에서 이웃 노드들로부터 메시지를 계산하는 방법 Aggregation : GNN 레이어에서 이웃 노드들의 메시지를 취합하는 방법 Layer connectivity : 신경망 형태로 만들기 위해 여러 레이어를 쌓는(연결하는) 방법 Graph augmentation : 입력 그래프를 적절하게 수정하는 방법 Learning objective : task에 따른 모델의 학습 방향 단계적으로 살펴보도록 하자. 1. GNN 레이어 GNN 레이어에서 연산은 (1) Message computation과 (2) Aggrega

2023년 2월 19일
·
0개의 댓글
·