본문 바로가기

[CS224W] 3-1. Node Embeddings 이 포스트는 CS224W : Machine Learning with Graphs 강의를 기반으로 작성되었습니다. Graph representation learning은 task에 상관없이 그래프를 사용한 머신러닝이 효율적으로 feature 학습을 하는 것이다. 매번 feature engineering을 하지 않아도 되며, 벡터가 네트워크 구조를 capture하도록 한다. 이를 위해 필요한 node embedding에 대해 알아보고자 한다. node embedding node를 임베딩 공간으로 맵핑하는 것으로, node를 인코딩해서 임베딩 공간 내 유사성이 네트워크 내 유사성을 나타내도록 하는 것이다. 학습 과정은 다음과 같다. encoder (ENC) 정의 : node가 embedding 공간으로 map..
[CS224W] 2-3. Graph-level Prediction 이 포스트는 CS224W : Machine Learning with Graphs 강의를 기반으로 작성되었습니다. Graph-level 예측은 전체 그래프의 구조를 나타내는 feature를 기반으로 생성된다. 해당 feature들을 알아보기 전에, kernel 개념에 대해 먼저 알아보고자 한다. Kernel & Kernel matrix Kernel - K(G, G') : 그래프 간 유사도나 datapoint 간 유사도를 측정하여 실수값을 반환한다. Kernel matrix : 모든 datapoint 쌍이나 그래프 쌍 간의 유사도를 측정하는 행렬로, 항상 양수 값(positive eigenvalues)을 가지며 대칭 행렬이다. Graph Kernel 핵심 아이디어 : BoW(Bag-of-Words: 문서에 ..
[CS224W] 2-2. Link-level Prediction 이 포스트는 CS224W : Machine Learning with Graphs 강의를 기반으로 작성되었습니다. link-level 예측은 기존 link들에 기반하여 새로운 link들을 예측하는 task로, 모든 node pair들에 대해 순위를 매기고 그 중 상위 K개 node pair를 link로 예측하는 식으로 진행된다. 따라서 node pair들에 대한 feature를 구상하는 것이 핵심이다. link prediction task는 세부적으로 두 가지로 나눌 수 있다. link missing at random : 랜덤으로 지워진 link 예측 links over time : 시간이 지남에 따라 진화되는 네트워크가 있을 때, 시간 경과에 따라 link 예측 (미래에 나타날 link 순위 목록 생성)..
[CS224W] 2-1. Node-level Prediction 이 포스트는 CS224W : Machine Learning with Graphs 강의를 기반으로 작성되었습니다. 2강에서는 전통적인 머신러닝 파이프라인에서 사용한 feature들을 알아보고자 한다. node-level 예측은 node classification 등과 같은 task로, 아래와 같은 feature를 사용한다. node degree node가 갖고 있는 edge 개수로, 모든 이웃 node들을 동등하게 취급한다. node centrality 그래프 내 node의 중요도로, 기준에 따라 다양하게 정의할 수 있다. eigenvector centrality : 중요한 node 사이에 둘러싸인 node일수록 중요 betweenness centrality : 다른 node 사이 많은 최단 경로가 있는 ..
[CS224W] 1-3. Choice of Graph Representation 이 포스트는 CS224W : Machine Learning with Graphs 강의를 기반으로 작성되었습니다. Graph 기본 구조 nodes, vertices : 정점 links, edges : 간선 (node들을 연결해 주는 link) network, graph : node와 edge로 이루어진 system Graph 종류 Directed Graph : link가 방향이 있는 그래프 Undirected Graph : link에 방향이 없는 symmetric한 그래프 Bipartite Graph : node들이 두 set으로 나눠지고, 각 set에서의 node는 서로 연결되어 있지 않은 그래프 ex) authors-to-papers, actors-to-movies 각 set에 대해서 projectio..
[CS224W] 1-2. Applications of Graph ML 이 포스트는 CS224W : Machine Learning with Graphs 강의를 기반으로 작성되었습니다. node level task node classification : node의 property 예측 - ex) 온라인 사용자 분류 edge level task link prediction : node 사이 link 비어있을 때, link가 존재할지 예측 - ex) knowledge graph completion graph level task graph classification : 다른 graph 분류 - ex) 분자 속성 예측 community level task (subgraph level task) clustering : node들이 커뮤니티 형성하는지 판별 - ex) social cir..
[CS224W] 1-1. Why Graphs 이 포스트는 CS224W : Machine Learning with Graphs 강의를 기반으로 작성되었습니다. Graph란? entity들을 관계(relations) 및 상호작용(interactions)과 함께 묘사/분석하기 위한 general language (entity들을 isolated datapoints로 보기보다는, entity 사이의 networks나 relation의 측면으로 보는 것) ex) computer networks, 질병 감염 경로, 논문 인용 네트워크, knowledge graph, code graphs, 3D shape 등 2가지 종류 networks (natural graphs) : underlying domains가 자연스럽게 그래프로 표현 - ex) social net..
[Deep Learning] 기울기 소실과 폭주 (Gradient Vanishing & Exploding) 방지하기 이 포스트는 위키독스의 딥러닝을 이용한 자연어 처리 입문을 기반으로 작성되었습니다. 이번에는 기울기(Gradient)가 사라지거나 폭주할 때를 막아주는 방법인 Gradient Clipping, 가중치 초기화(Weight Initialization), 배치 정규화(Batch normalization), 층 정규화(Layer normalization) 등에 대해 알아보고자 한다.