목록GNN (21)
주뇽's 저장소
https://web.stanford.edu/class/cs224w 목차 1. 그래프 변형(Graph Manipulation) - 특징(Feature) 수준의 그래프 변형 (Graph Feature Manipulation) - 구조(Structure) 수준의 그래프 변형 (Graph Structure Manipulation) 👉 1. 그래프 변형(Graph Manipulation) GNN에서는 일반적으로 입력 그래프를 그대로 사용하여 노드 임베딩을 학습한다. 하지만 항상 원본 그래프가 노드 임베딩을 학습하는 데 최적인 것은 아니다. 따라서 상황에 따라 그래프를 변형하여 사용하면 더 나은 성능을 얻을 수 있다. 그래프 변형이 필요한 이유는 크게 두 가지 관점에서 살펴볼 수 있다. 1. 특징(Feature)..
https://web.stanford.edu/class/cs224w 목차 1. 다층 GNN Layer (Layer connectivity) 2. Over-Smoothing 문제 - 수용필드(Receptive field) 3. 얕은 GNN 레이어의 문제를 해결하는 방법 - MLP - Skip Connection 👉 1. 다층 GNN Layer (Layer connectivity) 단일 GNN 레이어를 다층 GNN 레이어로 만드는 가장 기본적인 방법은 GNN레이어를 순차적으로 쌓는것이다. Input : 초기 V노드의 특성 Xv Output : L번의 레이러를 통과한 임베딩 벡터 Hv^(L) GNN에서의 레이어의 개념은 정보를 수집하기 위해 얼마나 많은 홉을 이동해야 하는지에 대한 정보이다. 이 때 너무 많은..
https://web.stanford.edu/class/cs224w 목차 1. 그래프 신경망(GNN) - Part 2 - GNN Layer 2. GNN Layer 종류 - GCN - Graph SAGE - GAT 👉 이전 내용 노드임베딩 : 실제 그래프에서 2개의 노드 U,V를 임베딩 공간 Z로 가장 잘 매핑할 수 있는 인코더를 찾는 것! 그렇다면 어떻게 가장 잘 설명할 수 있는 인코더를 만들까? -> 그래프 머신러닝 Depp Graph Encoders를 이용하여 인코더를 학습!!! Input : Graph Ouput : 노드뿐 아니라 서브그래프, 그래프도 임베딩 가능! 👉 1. 그래프 신경망(GNN) - Part 2 1. GNN Layer GNN의 기본 레이어 : Message 함수 + Aggregat..
https://web.stanford.edu/class/cs224w 목차 1. 그래프 데이터의 특성과 도전 과제 - 그래프 신경망(GNN)의 기본 아이디어 - GNN의 계산 그래프와 집계 함수 - GNN 모델 파라미터 학습 2. 그래프 합성곱 신경망(GCN) 3. GNN과 기존 신경망 아키텍처와의 비교 👉 1. 그래프 데이터의 특성과 도전 과제 그래프 데이터는 이미지나 자연어 데이터와는 다음과 같은 차이점이 있어 전통적인 딥러닝 모델을 바로 적용하기 어렵다: 1. 노드의 수와 연결 구조가 불규칙함 (non-Euclidean) 2. 노드의 순서가 없음 (permutation invariant) 3. 노드마다 이웃의 수와 구조가 다름 (variable neighborhood) 1. 그래프 신경망(GNN)의 ..
https://web.stanford.edu/class/cs224w 목차 - 노드임베딩 전통적인 머신러닝 표현학습 - 노드 임베딩 인코더와 디코더 - 노드의 유사성을 측정하는 방법 : Random Walks 👉 Node embedding 노드 임베딩은 각 노드를 저차원 벡터로 표현하는 것 노드 임베딩은 노드 분류, 링크 예측, 그래프 분류 등 다양한 태스크에 활용 가능 1. 기존 전통적인 방식의 노드임베딩 기존 전통적인 방식에서는 다른 머신러닝과 마찬가지로 Feaure engineering에 신경을 많이 썼다. 2. 그래프의 표현학습 표현 학습의 목표 : 그래프 머신러닝에서 효율적인 특성을 학습하는 것! 👉 Node embedding : Encoder And Decoder Encoder : 원본 그..
https://web.stanford.edu/class/cs224w 목차 - GNN의 서로 다른 TASK - Node - Level - Edge - Level - Graph - Level 👉 GNN의 서로 다른 TASK 1. Node - Level 2. Edge - Level 3. Graph - Level 1. Node - Level Tasks 목표: 네트워크에서 노드의 구조와 위치를 특성화합니다. 2. Edge Level Tasks 목표 : 이미 존재하는 Edge들을 기준으로 Edge를 생성 잃어버린 Edge를 찾음 알려지지 않은 Edge를 찾음 1. 예시 : 추천시스템 User - Item 상호작용 영화 보기, 상품 구매, 음악 듣기 Nodes : 사용자(유저)와 아이템 Edges : 사용자-유저 ..
https://web.stanford.edu/class/cs224w 목차 - 그래프 표현 선택 - 방향 그래프와 무방향 그래프 - 이분 그래프 - 인접 행렬 👉 그래프 표현 선택 1. 동종그래프 2. 이종그래프 1. 일반적인 그래프(동종) 그래프는 노드와 엣지로 구성되어 있고 수식으로 G(V, E)로 표현한다. 일반적인 그래프는 아래와 같이 동종의 그래프이다. 노드의 특징이 동일하며 노드와 노드를 연결하는 엣지들이 존재한다. 아래와 같은 노드와 엣지를 가진 그래프가 있을 때 Actor1과 Actor2는 Movie1에 같이 출연했다로 해석할 수 있다. 노드 : 배우 엣지 : 영화 2. Heterogeneous graph(이종 그래프) 이종 그래프는 위의 동종의 그래프와는 다르게 노드가 단일 종류가 아닌 여..
https://web.stanford.edu/class/cs224w/ 목차 - 왜 그래프인가 - GNN의 어려움 🤔 왜 그래프인가? 그래프는 관계/상호 작용이 있는 엔티티를 설명하고 분석하기 위한 일반적인 언어이다. 그렇다면 관계 또는 상호작용이 있는 엔티티란 무엇일까? 아래의 다양한 형태의 데이터 그래프를 보면 직관적으로 이해하기 쉽다. 다양한 형태의 데이터 그래프 아래 그림과 같이 소셜 네트워크, 지하철 노선도, 인터넷, 네트워크, 분자구조 등 다양한 데이터들은 그래프로 표현이 가능하다. 🤖 그래프 머신러닝 위 그림에서와 같이 복잡한 도메인은 풍부한 관계 구조를 가지고 있으며, 이는 관계 그래프로 표현할 수 있다. 그래프 머신러닝은 이러한 관계를 명시적으로 모델링함으로써 더 나은 성능을 얻을 수 있다..