관심있는 주제/GNN(16)
-
논문) β-Skeleton 그래프와 GCN을 활용한 문서 읽기 순서 예측
해당 글은 ChatGPT 4o With canvas로 만들었습니다. 문서를 파싱하는 것까지는 많은 오픈 소스랑 논문들이 있지만, 이 순서를 잘 정리해 주는 방법에 대한 것들은 많이 찾아보기가 어려웠다. 그래서 곰곰이 생각했을 때 각각의 파싱 된 결과를 노드로 생각하고 그것을 읽는 순서를 엣지로 정의하면 좀 더 쉽게 풀리지 않을까 싶은 생각에 시도했다가 생각보다 잘 되지 않았다.그래서 Reading Order에 대한 논문을 찾던 도중 구글에 다니는 분들이 쓴 논문이 있어서 살펴봤다. 내용중에서 그래프랑 이미지를 같이 쓰는 것과 초기 edge를 어떻게 정의하는지가 눈에 띄었다.문서 읽기 순서 예측의 중요성문서 내의 텍스트가 어떤 순서로 읽혀야 하는지 예측하는 것은 매우 중요한 과제입니다. 특히, 다중 열 ..
2024.10.12 -
[내용 정리] Graph Structure Learning: 왜 중요한가, 무엇이 좋은가?
해당 글은 ChatGPT 4o With canvas 로 만들었습니다. 해당 내용은 GSL에 관심이 생겨서 알아보게 되었고, 논문이 많아서 일단 GPT한테 부탁해서 정리를 시켜본 글이다.일단 내가 알고 싶은 것은 아래 그림처럼 기존의 그래프가 있을 경우, 이 그래프가 노드의 정보를 잘 담아서 다시 학습할 수 있는 방법에 대해서 궁금하게 되어서 찾아보게 되었습니다. 그래프 구조 학습(Graph Structure Learning, GSL)은 복잡한 데이터 간의 관계를 이해하고, 이를 통해 데이터를 더 잘 활용하는 기술입니다. GSL은 소셜 네트워크 분석, 추천 시스템, 지식 그래프 등에서 널리 사용되고 있으며, 그래프 신경망(Graph Neural Networks, GNN)과 결합해 뛰어난 성능을 발휘합니다..
2024.10.12 -
[TODO] 그래프 타입 알아보기
Directed Graph 정점(Vertex)를 연결하는 간선(Edge)에 방향성을 부여한 그래프 Homogeneous Graph Homogeneous graph는 그래프의 모든 노드가 같은 성질을 갖고 있는 그래프이다. 예를 들어, 인물 관계도가 있다면 모든 노드는 사람을 의미하는 homogeneity를 갖는다. 1. 모든 노드가 하나의 정보를 가진다. 2. 엣지는 하나의 관계 타입을 가진다. 3. 노드들 사이에서 유사성을 정의하기 쉽다. 4. 링크 예측이나 노드 분류 그래프 임베딩을 하는데, 효율적이다. Heterogeneous Graph Heterogeneous graph는 반대로 그래프의 노드가 여러 종류의 성질을 가지는 그래프이다. 예를 들어 영화-유저 그래프는 어떤 노드는 영화이고, 어떤 노드..
2022.06.25 -
hyper graph 관련해서 도움이 되는 글들
hypergraph에 대해서 자료를 하나씩 찾아보면서 정리 중이다. 아직 간단하게 개념적으로만 이해를 한 상태인 것 같다. 유익한 자료가 있으면 댓글로 공유 부탁드립니다 😁 시각화 https://towardsdatascience.com/how-to-visualize-hypergraphs-with-python-and-networkx-the-easy-way-4fe7babdf9ae How to visualize hypergraphs with Python and networkx — The Easy Way An easy method to draw some hypergraphs via standard graph visualization libraries. towardsdatascience.com 패키지 시각화 및 ..
2022.05.08 -
Python) Cora dataset을 활용하여 Link Prediction
Objective GNN을 사용하여 어떻게 Link Prediction을 할 수 있는지에 대해서 알아보고자 함. Introduction 많은 예제들이 보통 node 분류를 하는 데, GNN 많은 예제들이 있고, Link Prediction을 다루는 예제는 많이 없다. 개인적으로 Node 분류도 관심이 있지만, Edge를 어떻게 예측하는지 관심이 있어 시작하게 되었고 여기서는 어떻게 예측을 하는지 알아보고자 한다. DataSet 여기서는 자주 사용하는 Cora 데이터 세트로 진행하려고 한다. 이 데이터의 Node와 Edge의 의미는 다음과 같다. Node 머신러닝 논문 Edge 논문 쌍 간의 인용 즉 이 논문은 인용 그래프를 나타낸다고 할 수 있다. Node (Node Classification) 논문 분..
2022.01.29 -
Python) Fraud detection with Graph Attention Networks
목차 Objective 이 글의 목적은 Fraud Detection과 GNN을 결합하는 방식을 배우기 위해서 글을 작성해봅니다. Introduction to Fraud Detection 사기 탐지(Fraud Detection)는 기업이 승인되지 않은 금융 활동을 식별하고 방지할 수 있도록 하는 일련의 프로세스 및 분석입니다. 여기에는 사기성 신용 카드 거래, 도난 식별, 사이버 해킹, 보험 사기 등이 포함될 수 있습니다. 사기는 누군가가 속임수나 범죄 활동을 통해 귀하의 돈이나 기타 자산을 빼앗을 때 발생합니다. 결과적으로 효과적인 사기 탐지 시스템을 갖추면 기관에서 의심스러운 행동이나 계정을 식별하고 사기가 진행 중인 경우 손실을 최소화하는 데 도움이 될 수 있습니다. ML 알고리즘을 기반으로 하는 사..
2022.01.28 -
GNN) GCN Layer Implementation
GCN는 Convolutional Aggregator를 사용하는 방식으로 위치는 다음과 같다. 해당 그래프가 있다면, 해당 그래프에서 GCN에서 필요한 정보는 다음과 같이 크게 3개가 될 수 있다. Adjancy matrix(A) , Degree Matrix (D) ,Feature Vector(X) AX를 구할 때 다음과 같이 구할 수가 있게 되고, 여기서 발생되는 문제점들은 아래에서 소개해드리겠습니다. 아래와 같은 그래프가 있다고 하였을 때, GCN을 적용해보고자 한다. 해당 테스크는 노드 분류를 하는 것이지만, 여기서는 GCN LAYER을 구현하는 것까지만 진행하고자 한다. import numpy as np from networkx.algorithms.community.modularity_max im..
2021.07.03 -
GNN) GAT Layer Implementation
GAT는 Attention Aggregator를 사용하는 방식으로 위치는 다음과 같다. GAT Layer 구현한 것을 따라 시행해봤다. Equation (1) is a linear transformation of the lower layer embedding $h_i^{(l)}$ and $W^{(l)}$ is its learnable weight matrix. This transformation is useful to achieve a sufficient expressive power to transform input features (in our example one-hot vectors) into high-level and dense features. Equation (2) computes a pai..
2021.07.03 -
GNN-자료 정리
GNN 자료를 천천히 정리해보고 공부하려고 함. 주기적으로 업데이트 하려고 함. 내용 링크 업데이트 시기 자료 시기 CS224W http://web.stanford.edu/class/cs224w/ 21/07/03 CS224W-YOUTUBE https://www.youtube.com/watch?v=JAB_plj2rbA&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=1&ab_channel=stanfordonline 21/07/03 Intro to graph neural networks (ML Tech Talks)(Tensorflow Youtube)(직관적) https://www.youtube.com/watch?v=8owQBFAHw7E&t=898s&ab_channel=Ten..
2021.07.03 -
Paper) Learning to Simulate Complex Physics with Graph Networks (ICML 2020)
deepmind에서 Physics까지 학습하는 논문을 2020년에 냈다 ㄷㄷㄷ 아직 읽어보지는 안았지만, 사실 읽어도 잘 이해 못 할 것 같다. 시간을 두고 확인을 해봐야 할 것 같다. 특히 강화학습에서 이 논문은 참 유용할 것 같다. 왜냐하면 강화 학습을 하기 위해서는 결국 환경이라는 것을 만들어야 하고, 실제 환경과 유사하기 ai가 작동되게 하려면, 에이전트가 실제 환경에서 도는 것처럼 유사한 시뮬레이터를 만들어야 한다. 여기서 가장 장애물로 생각하는 것은 실제 physics를 어떻게 학습해서 ai 모델에게 제공할지가 고민이다. 실제로 physics를 바로 파이썬으로 제공하는 경우는 상관이 없지만, 아마 대부분은 제공하지 않을 텐데, 이것까지 ai로 학습할 수 있다고 하니, 읽어볼 리스트에 넣어 놓고..
2021.06.22 -
pytorch) Create Your Own GNN DataSets
기존 데이터를 활용하여, gnn 데이터로 바꾸는 것 해보기 간단하게 만드는 것을 확인해봄. 아직 완전히 각각의 구성요소에 대한 설명은 확인해봐야 함. import torch from torch_geometric.data import InMemoryDataset, download_url from torch_geometric.data import Data class TestDataset(InMemoryDataset): def __init__(self, data_list): super(TestDataset, self).__init__('/tmp/TestDataset') self.data, self.slices = self.collate(data_list) x = torch.Tensor([[1], [1], [1..
2021.04.13 -
installation) torch_geometric
CUDA -> cpu, cu101, cu102, cu11로 교체 pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html pip install torch-cluster -f https://pytorch-geometric.com/whl/torch-1...
2021.04.13