Deep Learning 80

Spectral Graph Convolution Network

Contents Graph Convolution Network는 Spectral Convolution Network와 Spatial Convolution Network로 분류할 수 있다. Spatial Convolution은 CNN의 연산과 매우 흡사하며, 이웃 노드의 feature information을 바탕으로 message passing을 통해 특정 노드의 hidden state를 계산한다. 반면에 Spectral Convolution Network는 한 노드 내에 혼재된 signal들을 여러 signal의 요소로 나누어서 노드의 특징을 더 잘 추출할 수 있도록 하는 방법이다. Spectral-based graph filter Spectral-based graph filter는 filtering을 ..

[CS224W] Traditional feature-based methods: Node-level features

Contents 이전 Lecture에서 Node Level, Link Level, Graph Level을 활용한 케이스에 대해서 다루어 보았다. 이번 Lecture에서는 각각의 Level에서의 Prediction 방법에 대해서 다루고 있다. 각각의 Level에 대해서 Prediction을 하기 위해서는 일단 먼저 Node, Link, Graph 등의 feature를 생성하는 것부터 시작이다. 이번 Lecture에서는 전통적인 ML Pipeline을 구축해 Graph를 구축하고 있다. 전통적인 ML은 2 단계로 구성 되어 있다. 첫번째 단계는 먼저 Node, Link, Graph의 feature를 vector 형태로 가져오는 것이다. 그 후 Random forest, SVM, Feed Forward Neu..

[CS224W] Choice of Graph Representation

Contents Lecture 1.3에서는 Graph Representation를 고르는 방법에 대해서 다룬다. 먼저 Graph Representation을 알기 전 Graph의 구성에 대해서 먼저 알아보자. 그래프는 Nodes, Vertice로 불리는 Objects와 Links, Edges로 불리는 Interactions, 그리고 Network, Graph로 불리는 System로 구성되어 있다. Node로 표현할 경우 $N$, Vertices로 표현할 경우 $V$로 표기한다. Interaction의 경우 주로 Edge로 표현하며 $E$로 표기하고 System은 $G(N,E)$로 표기한다. Graph는 일반적으로 사용자와 사용자 간의 관계를 표현할 때 사용하거나 프로틴(Protein)과 같은 분자 구조를..

[CS224W] Application of Graph ML

Contents 이번 장에서는 그래프 관련 연구의 응용에 대해서 다룬다. 그래프를 사용하는 연구들의 종류는 다음과 같다. Node Classification : 노드의 속성을 예측하는 것 (Categorize online users / items Link Prediction : 두 노드 사이에 놓친 링크가 존재하는지 예측하는 것 (Knowledge graph completion) Graph Classification : 서로 다른 그래프를 분류하는 것 (Molecule property prediction) Clustering : 노드 간의 관계를 Detect하는 것 (Social circle detection) 추가로 새로운 원자 구조를 생성할 때 사용하는 Graph Generation과 물리적인 현상을..

그래프의 종류

Contents Heterogeneous Graph 이전까지의 그래프는 Homogeneous Graph로 노드가 단 하나의 속성 만을 가지고 있었다. 예를 들면, 사람과 사람 혹은 도시와 도시 간의 관계 만을 고려한 것이다. 반면에 Heterogeneous Graph는 노드가 여러 속성을 가지고 있는 것이다. 예를 들어 어떤 노드는 영화 정보를 가지고 있고, 어떤 노드는 고객 정보를 가지고 있는 형태를 의미한다. 이처럼 여러 속성을 가지고 있다면 추천을 적용할 때 보다 정확한 추천을 제공할 수 있을 것이다. 추천 시스템에서는 고객-제품 행렬을 기반으로 시스템을 구축하고 있다. 이 때 고객과 제품 뿐만 아니라 여러가지 정보들을 추가해서 입력할 수 있을 것이다. Bipartite Graph 이분 그래프(Bi..

Sequence-to-Sequence (Seq2Seq)

Sequence-to-Sequence (Seq2Seq)는 문장을 입력으로 받고 문장을 출력하는 구조를 가지고 있다. 이는 한국어를 영어로 번역하는 것과 같은 기계번역 문제에 주로 사용된다. 또한, 문서를 입력으로 받고 요약하는 형태로도 사용된다. [논문] Seq2Seq에 가장 많이 쓰이는 모델 구조는 RNN이다. 문장의 임베딩 값을 입력으로 사용하여 Encoder를 구성한다. Encoder는 하나의 Context라는 정보를 출력하고 이는 Decoder의 초기값으로 사용된다. Context Vector는 입력으로 들어간 문장의 요약 정보라 할 수 있다. 입력의 시작은 $x_0$이며 일반적으로 토큰을 사용한다. 토큰은 문장을 시작을 알려주는 토큰이며, 문장의 끝을 알려주는 토큰으로는 를 사용한다. 토큰을 맨..

[Graph] Representing Networks -Degree

Contents Graph Neural Network (GNN)을 다루기 위해서는 일단 그래프가 어떤건지부터 이해하고 넘어가야 한다. 아래의 엄청 간단한 그래프 구조 예시를 통해 쉽게 설명이 가능하다. 우리는 이러한 그래프를 아래와 같은 간단한 수식으로 표현할 수 있다. \[ \mathcal{g} = \{\mathcal{V}, \mathcal{E} \}, \mathcal{V} = \{v_1, ..., v_N\}, \ \ N = |\mathcal{V}|, \mathcal{E} = \{e_1, ... , e_M\},\ \ M=|\mathcal{E}| \] $\mathcal{V}$는 노드(node)의 집합을 의미하고, $\mathcal{E}$는 엣지(edge)의 집합을 의미한다. 소셜 네트워크나 화학 등 다양..

퍼셉트론(Perceptron)

1. 퍼셉트론(Perceptron) 초기의 인경신공망 모형이고 퍼셉트론이 동작하는 방식은 다음과 같다. 각 노드의 가중치와 입력치를 곱한 것을 모두 합한 값이 활성함수에 의해 판단되는데, 그 값이 임계치(보통 0)보다 크면 뉴런이 활성화되고 결과값으로 1을 출력한다. 뉴런이 활성화되지 않으면 결과값으로 -1을 출력한다. $ \Sigma_{i}^{n}{w_{i}x_{i}} \geq \theta \rightarrow y = 1 $ $ \Sigma_{i}^{n}{w_{i}x_{i}} < \theta \rightarrow y = 0 $ y 값이 threshold 인 $ \theta $ 을 기준으로 0, 1로 분류한다. $ b $(bias) 로 표기할 때도 있다. $ \Sigma_{i}^{n}{w_{i}x_{i}..

Deep Learning 2022.05.06

Object Function, Cost Function, Loss Fuction

우리가 딥러닝(Deep Learning)을 다루다 보면 목적 함수(Object Function), 비용 함수(Cost Function), 손실 함수(Loss Function)이라는 단어를 많이 접하게 될 것이다. 일반적으로 언급한 세 가지의 함수가 동일하다고 알고 있는데, 일부는 맞고 일부는 틀렸다고 할 수 있다. 목적 함수(Object Function) 목적 함수는 말그대로 어떠한 목적을 가지고 모델을 학습해 최적화하고자 하는 함수이다. 일반적으로 딥러닝에서는 경사 하강법(Gradient Descent) 방식을 사용하여 최적화하기 때문에 비용 함수가 바로 목적 함수가 된다. 하지만 MLE(Maximum Likelihood Estimate)와 같이 확률을 최대로 하는 방법을 사용할 경우에 감소하는 방식이..

Deep Learning 2022.04.28

Graph Neural Network 시작하기

GNN은 Graph Neural Network의 약자로 그래프 신경망이다. 일단 GNN을 알기 위해서는 당연히 그래프가 어떤 것인지 알고 있어야 한다. 그래프는 $G = (V, E)$로 나타내며 V는 꼭짓점(vertex)의 집합, E는 에지(edge)의 집합이다. 에지 집합 중 하나인 $e=u,v$는 $u$와 $v$를 연결해주는 연결 고리를 의미하며 $u,v$는 꼭짓점이다. 이때 $u,v$를 이웃이라 부르고 두 꼭짓점은 인접하다고 한다. 에지에는 방향이 있을 수도 있고 없을 수도 있는데 그래프의 모든 에지에 방향이 존재한다면 이를 유향 그래프(directed graph), 방향이 없는 경우에는 무향 그래프(undirected graph)라고 부른다. 꼭짓점 $v$의 차수는 $v$에 연결된 에지의 수를 의..

반응형