cnu data intelligence lab - home - kcc 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의...
TRANSCRIPT
Tutorial @ KCC 2019 June 26, 2019
연사 소개
Sungsu Lim Assistant Professor Data Intelligence Lab. Division of Computer Convergence Chungnam National University Web: http://cnudi.com/ E-mail: sungsu (at) cnu.ac.kr Selected Publications [TKDE ’19] LinkBlackHole*: Robust Overlapping Community Detection Using Link Embedding [TIST ’17] Differential Flattening: A Novel Framework for Community Detection in Multi-Layer Networks [JSTAT ’16] Motif-Based Embedding for Graph Clustering (Qualcomm Innovation Award) [ICDE ’16] BlackHole: Robust Community Detection Inspired by Graph Drawing [ICDE ’14] LinkSCAN*: Overlapping Community Detection Using the Link-Space Transformation [TON ’14] Stability of the Max-Weight Protocol in Adversarial Wireless Networks (Humantech Paper Award)
Recent Projects Graph Stream Mining
Data Mining for Smart Living Graph Compression/Summarization
충남대학교 컴퓨터공학과 임성수 02/60
그래프 마이닝
차원 축소 기법
그래프 표현 학습
최신 기법 및 응용
목차
1.1 그래프 마이닝
1.2 관계와 그래프
1.3 대표적인 문제
충남대학교 컴퓨터공학과 임성수 03/60
빅데이터 분석
데이터의 홍수 속에서 의미 있는 정보를 찾아 제공(수집, 전처리, 저장, 분석, 활용 등)
수집: IT 기술 발달로 인한 실시간, 연결된 데이터 수집 → 비정형, 그래프 데이터
분석: 데이터를 이해하고 유용한 정보를 얻기 위한 분석 → 모델링, 데이터 마이닝
그래프 마이닝
빅데이터를 설명하는 4V 실세계 그래프 스트림
충남대학교 컴퓨터공학과 임성수 04/60
그래프 데이터 분석
복잡하게 연결된 사회 속에서 다양한 종류의 요소가 다양한 형태의 관계 가짐
관계에 기반한 분석을 위해 네트워크 과학(network science) 활용
네트워크를 그래프(graph)로 표현하여 분석
그래프 마이닝
소셜/정보 네트워크 단백질 상호작용 네트워크 도로 네트워크
충남대학교 컴퓨터공학과 임성수 05/60
그래프 표현
주어진 데이터로부터 의미 있는 분석을 하기 위한 그래프 표현(representation)
풀고자 하는 문제에 맞는 그래프로 표현해주면 더 쉽게 해결
그래프 마이닝
이미지 픽셀 간 유사도를 그래프로 표현 뇌 영역별 활성화를 그래프로 표현
* 참고자료: Intro. to segmentation, Lecture note, Stanford CS231B [LINK]
The brain as a network, Nature ’12 [LINK]
충남대학교 컴퓨터공학과 임성수 06/60
유사도 그래프
고차원 데이터는 데이터 간 거리를 통한 전역적(global) 구조 파악이 어려움
유사도를 가중치로 하는 그래프 생성 후 분석하면 전역적 구조 분석 가능
연결 관계 및 유사도 정의를 위해 데이터 포인트 간 거리 활용
그래프 마이닝
거리 공간 상 데이터 유사도 그래프
* 참고자료: Similarity graphs in machine learning, MLSS ’07 [LINK]
A tutorial on spectral clustering, Statistics and Computing ’07 [LINK]
충남대학교 컴퓨터공학과 임성수 07/60
관계(Relation)
집합 𝑉에 관한 관계 𝐸는 𝑉 × 𝑉의 부분 집합으로 정의
𝑢, 𝑣 ∈ 𝐸일 때, 𝑢, 𝑣가 𝐸에 의해 관계되어 있다고 함
그래프(Graph)
Graph: 𝐺 = (𝑉,𝐸), where 𝑉: set of vertices, 𝐸: set of edges(= relationships)
Undirected graph: 대칭(symmetric) 관계만 고려, 순서쌍 대신 집합 표기
Vertex(node): 체계(system)의 구성 요소, 개체, 행위자 등
Edge(link): 구성 요소 간의 관계, 상호 작용 등
관계와 그래프
𝑉 = 1,2,3,4,5 , 𝐸 = { 1,2 , 1,4 , 2,4 , 3,4 , 3,5 , 4,5 , 2,1 , 4,1 , 4,2 , 4,3 , 5,3 , 5,4 } = 1,2 , 1,4 , 2,4 , 3,4 , 3,5 , 4,5
그래프 구성 요소, 관계
1
2
3
5
4
충남대학교 컴퓨터공학과 임성수 08/60
행렬(Matrix)
유한 집합에 관한 관계는 0-1 행렬을 통해 표현 가능
인접 행렬(adjacency matrix): 𝐺 = (𝑉,𝐸), 𝑉 = 𝑎1, … , 𝑎𝑛 일 때,
𝐴 = 𝑎𝑖𝑖 , where 𝑎𝑖𝑖 = �1 if 𝑎𝑖 , 𝑎𝑖 ∈ 𝐸0 if 𝑎𝑖 , 𝑎𝑖 ∉ 𝐸
유사도 행렬(similarity matrix): 𝑎𝑖𝑖 값들 대신 노드 간 유사도로 구성된 행렬 𝑊
가중치 그래프(weighted graph) 표현 가능
관계와 그래프
𝐴 =
0 1 0 1 0101
0 0 10 0 11 1 0
011
0 0 1 1 0
, W =
0.0 1.0 0.0 0.6 0.01.00.00.6
0.0 0.0 0.60.0 0.0 0.60.6 0.6 0.0
0.01.00.6
0.0 0.0 1.0 0.6 0.0
1
2
3
5
4
그래프 인접 행렬, 유사도 행렬
충남대학교 컴퓨터공학과 임성수 09/60
리스트(List)
가능한 모든 관계들 중 일부만이 값을 가지고 대부분이 0일 때 희소(sparse)하다고 함
희소 행렬을 저장하고 처리하는 것은 비효율적이기 때문에 압축하거나 리스트 사용
인접 리스트(adjacency list): 각 노드 당 관계를 가지는 이웃(neighbor)들 표현
연결 리스트(edge list): 모든 관계들을 나열하여 표현
관계와 그래프
1
2
3
5
4
1 2 3 4 5
2 4 1 4 4 5 1 2 3 3 4
5
{ (1,2),(1,4), (2,1),(2,4), (3,4),(3,5), (4,1),(4,2),(4,3),(4,5), (5,3),(5,4) }
그래프 인접 리스트 연결 리스트
충남대학교 컴퓨터공학과 임성수 10/60
다양한 관계를 표현하는 그래프
이분 그래프(bipartite graph): 서로 다른 두 집합 간의 관계 표현
다층 그래프(multilayer graph): 다양한 종류의 관계가 존재하는 경우 표현
관계와 그래프
이분 그래프를 활용한 안정적 매칭 다층 그래프를 활용한 다중 관계 표현
* 참고자료: Stable matching, Nobel prize in economic sciences ’12 [LINK]
Multilayer networks, J. Complex Networks ’14 [LINK]
충남대학교 컴퓨터공학과 임성수 11/60
다양한 관계를 표현하는 그래프
시간 그래프(temporal graph): 시간에 따라 관계가 변화하는 경우 표현
하이퍼그래프(hypergraph): 노드 셋 이상이 만드는 고차원 관계 표현
관계와 그래프
그래프 스냅샷으로 구성된 시간 그래프 고차원 관계를 표현한 하이퍼그래프
* 참고자료: Temporal networks, Physics Reports ’12 [LINK]
Learning with hypergraph, NIPS ’07 [LINK]
충남대학교 컴퓨터공학과 임성수 12/60
대표적인 그래프 마이닝 문제
군집화(clustering)
- 각 노드의 소속(membership)이 주어지지 않을 때
관계에 기반한 커뮤니티(community)를 찾는 문제
- 내부 연결이 외부보다 상대적으로 밀집한 군집 탐색
- 데이터 전처리 시 비슷한 집단으로 묶어서 처리 가능
연결 예측/추천(link prediction/recommendation)
- 그래프 스트림 또는 시간에 따라 변하는 그래프에 대해
이전 정보 및 관계에 기반한 향후 연결을 예측하는 문제
- 유사도가 높거나 동질성을 가진 노드 간 연결 예측/추천
- 이용자 간 연결 외에 상품과 구매자의 연결/선호도 고려
대표적인 문제
* 참고자료: Community detection in networks, Physics Reports ’16 [LINK]
A survey of link prediction in complex networks, CSUR ’17 [LINK]
충남대학교 컴퓨터공학과 임성수 13/60
대표적인 그래프 마이닝 문제
랭킹(influential user identification)
- 기준에 따라 각 노드의 중요성, 중심성을 측정하여
그래프 상의 노드들에 대해 순위를 매기는 문제
- 그래프 알고리즘과 반복적 방법을 통해 해결 가능
- Google’s PageRank: 웹페이지의 중심성 계산
정보 확산 예측/제어(information diffusion)
- 그래프 상에서 정보가 퍼지는 현상을 모델링하여
매 시간에 따른 정보 확산 결과를 예측하는 문제
- 정보 확산을 촉진/방지하는 알고리즘 설계/분석 가능
- 소셜 트렌드, 뉴스, 루머, 전염병 등 확산 현상 분석
대표적인 문제
* 참고자료: Influence maximization on social graphs: a survey, TKDE’18 [LINK]
Information diffusion in OSNs: a survey, SIGMOD Record ’13 [LINK]
충남대학교 컴퓨터공학과 임성수 14/60
그래프 마이닝
차원 축소 기법
그래프 표현 학습
최신 기법 및 응용
목차
2.1 차원 축소 기법
2.2 선형 차원 축소
2.3 비선형 차원 축소
충남대학교 컴퓨터공학과 임성수 15/60
복잡한 세상, 복잡한 데이터
데이터는 다양한 속성으로 이루어진 수많은 레코드의 모임
속성(attribute)은 각 레코드의 성질 및 특징(feature)을 표현
속성의 개수를 차원(dimension)이라고 부름 → 고차원 데이터 등장
차원 축소 기법
다양한 속성을 가지는 고차원 데이터 수많은 속성 존재
충남대학교 컴퓨터공학과 임성수 16/60
차원의 저주(Curse of dimensionality)
데이터의 차원이 높아질수록 문제 발생
차원이 증가하면 공간 대비 밀도가 기하급수적으로 감소
중요도가 떨어지는 특징 사용 시 과적합(overfitting)에 빠질 수 있음
데이터 차원 낮추기
특징 선택(feature selection): 전체 특징 중 중요한 일부 선택
특징 추출(feature extraction): 전체 특징에 대한 함수로 중요 특징 추출
차원 축소 기법
특징 선택 특징 추출
충남대학교 컴퓨터공학과 임성수 17/60
선형 방법(Linear method)
특징 추출 함수가 선형인 경우로 투영(projection)에 해당
예) 주성분 분석(PCA), 특이값 분해(SVD), LDA, Classical MDS, NMF, etc.
주성분 분석(PCA)
평균 0으로 조정(𝑋𝑐 = 𝑋 − 𝜇𝐼𝑇)
공분산 행렬 계산(Σ = 1𝑛𝑋𝑐𝑋𝑐𝑇)
주성분(principal component):
공분산 행렬의 고유값(=분산)이
큰 것부터 고유벡터를 차원에 추가
선형 차원 축소
* 참고자료: Linear dimensionality reduction: a survey, JMLR 2015 [LINK]
Decomposing signals in components, scikit-learn [LINK]
선형 차원 축소를 통한 분류
충남대학교 컴퓨터공학과 임성수 18/60
선형 방법의 한계
다양체(manifold): 기하학적 유추를 통해 정의하는 위상 공간을 뜻함
다양체의 경우 선형 방법으로 분류가 어려울 수 있음(예: 곡면)
선형 분리(linearly separable)가 안 되는 경우 존재
선형 차원 축소
선형 방법의 한계 선형 분리가 안 되는 경우
충남대학교 컴퓨터공학과 임성수 19/60
선형 방법의 개선
커널 기법 적용
- 커널 함수를 적용하여 고차원으로 변환한 후 선형 방법을 통한 차원 축소
비선형 방법 적용
- 선형 변환이 아닌 지역적 선형 변환, 또는 비선형적인 변환을 통한 차원 축소
- 각 데이터 포인트에 대해 주변과의 관계가 유지되는지 학습
선형 차원 축소
커널 기법: 고차원 비선형 변환 후 선형 차원 축소 지역적 선형 변환
충남대학교 컴퓨터공학과 임성수 20/60
비선형 방법(Nonlinear method)
선형 방법의 한계를 해결하기 위한 비선형 방법
예) Kernel PCA, manifold learning(Isomap, LLE, LE, t-SNE), etc.
비선형 차원 축소
* 참고자료: Manifold learning, scikit-learn [LINK]
다양체 학습을 통한 비선형 차원 축소
충남대학교 컴퓨터공학과 임성수 21/60
이웃 임베딩(Neighbor embedding)
SNE & t-SNE: 데이터 포인트 간 유사도를 고려한 임베딩 방법
SNE: 1. 고차원 데이터 포인트 𝑥𝑖에 대한 𝑥𝑖의 조건부 확률 정의(정규 분포 사용)
𝑝𝑖|𝑖 =exp − 𝑥𝑖−𝑥𝑗
2/2𝜎𝑖2
∑ exp − 𝑥𝑖−𝑥𝑘 2/2𝜎𝑖2
𝑘≠𝑖: 𝑥𝑖 기준으로 𝑥𝑖가 가까우면 더 높은 확률
2. 저차원 좌표 𝑦𝑖 ,𝑦𝑖에 대해 동일한 방식으로 정의되는 𝑞𝑖|𝑖들에 대해
𝑝𝑖|𝑖들과의 거리(divergence)가 최소화되도록 저차원 임베딩
- Kullback-Leibler 거리: ∑ 𝐾𝐾 𝑃𝑖|𝑄𝑖𝑖 = ∑ ∑ 𝑝𝑖|𝑖 log 𝑝𝑗|𝑖
𝑞𝑗|𝑖𝑖𝑖
비선형 차원 축소
* 참고자료: Kullback-Leibler 거리 설명 [LINK]
t-SNE를 이용한 시각화 [LINK]
충남대학교 컴퓨터공학과 임성수 22/60
이웃 임베딩
t-SNE: 정규 분포 대신 t-분포, 조건부 확률 분포 대신 결합 확률 분포 사용
→ 가까운 경우 더 가깝게, 먼 경우 더 멀게 저차원 임베딩
→ 대칭적이기 때문에 최적화 식이 비교적 간편
→ 근사적으로 연산을 더 빠르게 수행 가능
비선형 차원 축소
손글씨 인식하기: PCA vs t-SNE [LINK] 정규분포와 t-분포의 차이
* 참고자료: Visualizing data using t-SNE, JMLR ’08 [LINK]
Accelerating t-SNE using tree-based algorithms, JMLR ’14 [Link]
충남대학교 컴퓨터공학과 임성수 23/60
그래프 표현 학습(Graph representation learning)
그래프 데이터 차원 축소, 그래프에 대한 저차원 표현 학습
예) Graph embedding, graph convolutional networks(GCNs), etc.
비선형 차원 축소
Graph embedding Graph convolutional networks
* 참고자료: Representation learning on graphs, IEEE Data Eng. Bulletin 2017 [LINK]
A comprehensive survey of graph embedding, IEEE TKDE 2018 [LINK]
A survey on network embedding, IEEE TKDE 2018 [LINK]
충남대학교 컴퓨터공학과 임성수 24/60
그래프 마이닝
차원 축소 기법
그래프 표현 학습
최신 기법 및 응용
목차
3.1 그래프 임베딩
3.2 구조 유지 변환
3.3 성질 유지 변환
충남대학교 컴퓨터공학과 임성수 25/60
그래프 임베딩
그래프를 벡터 공간으로 임베딩하여 그래프 데이터 분석이 더 쉽도록 변환
다양한 네트워크 추론(network inference) 문제를 벡터 공간에서 해결
그래프 임베딩
G = ( V, E ) G = ( V ) Vector Space
generate
embed
병렬 연산이 쉬움
다양한 데이터 분석 기법 적용 가능
Network Inference
Community detection
Link prediction
Node importance
Node classification
Network evolution
…
충남대학교 컴퓨터공학과 임성수 26/60
좋은 그래프 임베딩
대상: 임베딩의 대상은 노드, 연결, 부분 구조 등 다양하게 정의 가능
목표: 그래프 구조(structure) 및 성질(property)이 유지되는 변환
활용: 그래프 데이터 분석을 보다 효과적으로 수행
그래프 임베딩
Graph embedding: a toy example from TKDE 2018 [LINK]
충남대학교 컴퓨터공학과 임성수 27/60
좋은 노드 임베딩
대상: 임베딩의 대상은 노드
목표: 그래프의 노드 간 유사도(similarity, proximity)가 유지되는 변환
활용: 그래프 데이터 분석을 보다 효과적으로 수행
그래프 임베딩
Vertex embedding: a toy example from WWW tutorial 2018 [LINK]
Goal:
Need to define!
충남대학교 컴퓨터공학과 임성수 28/60
좋은 노드 임베딩을 위하여
해야 할 일
1. Encoder 정의: 임베딩 방식을 정하기
2. 노드 간의 유사도 정의: 임베딩 평가 방식 정하기
3. 노드 간의 유사도와 임베딩 후 벡터 간의 유사도의 차이를 최소화
주요 방식
1. Adjacency-based similarity
2. Multi-hop similarity
3. Higher-order proximity
4. Random walk approaches
5. Neural networks
그래프 임베딩
* 참고자료: Representation learning on graphs, IEEE Data Eng. Bulletin 2017 [LINK]
Representation learning on graphs, WWW 2018 tutorial [LINK]
충남대학교 컴퓨터공학과 임성수 29/60
유사도 기반 임베딩
최신 기법: Adjacency-based similarity 활용, WWW 2013 [LINK]
노드 간의 유사도: 연결 가중치(edge weight)
노드 간의 연결이 있을 때 임베딩 후 벡터 간의 유사도와 차이 최소화
구조 유지 변환
(weighted) adjacency matrix for the graph
loss (what we want to minimize)
sum over all node pairs
embedding similarity
충남대학교 컴퓨터공학과 임성수 30/60
유사도 기반 임베딩
최신 기법: Multi-hop similarity 활용,
GraRap, CIKM 2015 [LINK], HOPE, KDD 2016 [LINK]
노드 간의 유사도: 연결 가중치 대신 아래와 같이 k-hop을 고려
노드 간의 연결이 있을 때 임베딩 후 벡터 간의 유사도와 차이 최소화
구조 유지 변환
constant shift node degree
충남대학교 컴퓨터공학과 임성수 31/60
좋은 노드 임베딩
대상: 임베딩의 대상은 노드
목표: 그래프의 성질(property)이 유지되도록 유사도를 정의하여 변환
활용: 전역적(global) 관점을 반영한 분석을 가능하게 함
그래프가 가지고 있는 성질이 유지되도록 유사도를 정의하여 임베딩
구조/성질 유지 변환
1 2
6
3
4
5 7
8
전이성 (Transitivity)
구조적 동치 (Structural equivalence)
동질성 (Homophily)
5
1
3
2
4
6
A
B C
A
B C
충남대학교 컴퓨터공학과 임성수 32/60
유사도 기반 임베딩
최신 기법: Higher-order proximity 활용, HOPE, KDD 2016 [LINK]
노드 간의 유사도: 인접 행렬의 다항식 형태로 주어짐
Katz proximity 등 다양한 방식을 사용 가능하며, transitivity 유지됨
구조/성질 유지 변환
𝑆 = 𝑀𝑔−1 ⋅ 𝑀ℓ
min𝑈∗,𝑉∗
𝑆 − 𝑈𝑠𝑈𝑡𝑇
𝐹
2
𝑈𝑠,𝑈𝑡 ∈ ℝ𝑁×𝑘: source/target embedding vectors
𝑀𝑔,𝑀ℓ: polynomials of adjacency matrix
𝐾: dimensionality of the space
충남대학교 컴퓨터공학과 임성수 33/60
유사도 기반 임베딩
최신 기법: Higher-order proximity 활용, AROPE, KDD 2018 [LINK]
노드 간의 유사도: 인접 행렬의 다항식 형태로 주어짐
임의의 차수의 다항식을 통해 higher-order proximity 정의 가능
구조/성질 유지 변환
𝑆 = ℱ 𝐴 = 𝑤1𝐴1 + 𝑤2𝐴2 + ⋯+ 𝑤𝑞𝐴𝑞
min𝑈∗,𝑉∗
𝑆 − 𝑈∗𝑉∗𝑇 𝐹2
𝑈∗,𝑉∗ ∈ ℝ𝑁×𝑑: content/context embedding vectors
𝑤1, … ,𝑤𝑞: arbitrary weights
𝑑: dimensionality of the space
THM (reweighting)
𝜆, 𝐱 가 𝐴의 eigenpair이면
ℱ 𝜆 , 𝐱 가 𝑆의 eigenpair임
⇒ 추가적인 복잡한 계산 없이
임의 차수 다항식 반영 가능
충남대학교 컴퓨터공학과 임성수 34/60
유사도 기반 임베딩
최신 기법: Random walk approaches 활용,
DeepWalk, KDD 2014 [LINK], node2vec, KDD 2016 [LINK]
노드 간 유사도: 무작위 행보(random walk)에서 함께 나올 확률
다양한 전략의 무작위 행보 사용 가능
구조/성질 유지 변환
1. 𝑢에서 시작한 random walk 𝑅이
𝑣를 방문할 확률 추정
2. 임베딩 후 벡터 간의 유사도와 차이 최소화
충남대학교 컴퓨터공학과 임성수 35/60
유사도 기반 임베딩
최신 기법: Random walk approaches 활용, DeepWalk, KDD 2014 [LINK]
노드 간의 유사도: Skip-gram language modeling에서 착안함
구조/성질 유지 변환
Language sentences
Random walk in a graph
Softmax 함수
충남대학교 컴퓨터공학과 임성수 36/60
우도(Likelihood)
유사도 기반 임베딩
최신 기법: Random walk approaches 활용, node2vec, KDD 2016 [LINK]
노드 간의 유사도: biased random walk를 사용하여 지역적, 전역적 성질 반영
Biased RW: DFS, BFS를 활용한 무작위 행보의 전이 확률 정의 후 성능 개선
Homophily(𝑝가 큰 경우), structural equivalence (𝑞가 큰 경우) 유지됨
구조/성질 유지 변환
충남대학교 컴퓨터공학과 임성수 37/60
그래프 마이닝
차원 축소 기법
그래프 표현 학습
최신 기법 및 응용
목차
4.1 그래프 뉴럴 네트워크
4.2 임베딩 + 시각화 기법
4.3 임베딩 + 대화형 기법
충남대학교 컴퓨터공학과 임성수 38/60
딥 뉴럴 네트워크
Neural network: 인간의 뇌를 모방하여 만든 (인공, artificial) 신경망
인간의 뇌: 1000억개의 뉴런, 100조개의 시냅스로 복잡하게 연결된 네트워크
딥러닝: 여러 개의 은닉층으로 이루어진 뉴럴 네트워크로 심층 학습을 가능케 함
그래프 뉴럴 네트워크
* 참고자료: 모두를 위한 머신러닝/딥러닝 강의 [LINK]
충남대학교 컴퓨터공학과 임성수 39/60
뉴럴 네트워크 뉴런과 활성 함수
컨볼루셔널 네트워크
Convolutional network: 영상 처리에서 쓰이는 특수한 연결 구조의 뉴럴 네트워크
영역을 이동시키면서 특징을 찾아내며, 특징 계산 가중치를 공유하여 문제 복잡도 줄임
컨볼루션 층: 입력에 대해 컨볼루션 커널을 적용하여 특징 지도(feature map) 생성
서브샘플링 층: 특징 지도에 풀링(pooling)을 통해 차원 축소, 해상도를 줄인 뉴런 층
그래프 뉴럴 네트워크
* 참고자료: Convolutional neural networks, Lecture note, Stanford CS231n [LINK]
충남대학교 컴퓨터공학과 임성수 40/60
컨볼루셔널 네트워크
그래프 뉴럴 네트워크
컨볼루셔널 네트워크를 이용하여 그래프 임베딩을 수행, GCN, ICLR 2017 [LINK]
그래프 뉴럴 네트워크
* 참고자료: Representation learning on graphs, WWW 2018 tutorial [LINK]
1) Define a neighborhood aggregation function.
2) Define a loss function on the embeddings, L(zu)
충남대학교 컴퓨터공학과 임성수 41/60
그래프 뉴럴 네트워크
컨볼루셔널 네트워크를 이용하여 그래프 임베딩을 수행, GCN, ICLR 2017 [LINK]
그래프 뉴럴 네트워크
* 참고자료: Representation learning on graphs, WWW 2018 tutorial [LINK]
3) Train on a set of nodes, i.e., a batch of compute graphs
충남대학교 컴퓨터공학과 임성수 42/60
그래프 뉴럴 네트워크
컨볼루셔널 네트워크를 이용하여 그래프 임베딩을 수행, GCN, ICLR 2017 [LINK]
그래프 뉴럴 네트워크
* 참고자료: Representation learning on graphs, WWW 2018 tutorial [LINK]
4) Generate embeddings for nodes as needed
Even for nodes we never trained on
충남대학교 컴퓨터공학과 임성수 43/60
그래프 뉴럴 네트워크
뉴럴 네트워크의 parameters는 노드들끼리 공유하며, 귀납적으로 활용 가능,
GraphSAGE, NIPS 2017 [LINK]
그래프 뉴럴 네트워크
* 참고자료: Representation learning on graphs, WWW 2018 tutorial [LINK]
Inductive node embedding generalize to entirely unseen graphs
하나의 그래프에서 학습 다른 그래프에 모델 적용
충남대학교 컴퓨터공학과 임성수 44/60
순환 신경망
Recurrent neural network(RNN): 시계열 데이터에 적합한 뉴럴 네트워크
현재까지 입력 데이터를 요약한 정보인 기억(hidden state)을 가지고 학습
순환 뉴런으로 구성, 기억을 바탕으로 새로운 입력을 이해하는 순환적 학습 과정
LSTM: RNN의 응용으로 장기 기억이 필요한 정보를 별도의 cell에 저장하여 사용
그래프 뉴럴 네트워크
* 참고자료: Recurrent neural networks, Lecture note, Stanford CS230 [LINK]
충남대학교 컴퓨터공학과 임성수 45/60
순환 신경망
그래프 뉴럴 네트워크
LSTM/GRU를 활용하여 overfitting, vanishing gradient 문제를 해결,
GG-NN, ICLR 2016 [LINK]
순환 신경망(RNN)의 propagation model을 통한 양방향 학습 수행 함
그래프 뉴럴 네트워크
충남대학교 컴퓨터공학과 임성수 46/60
어텐션 메커니즘
어텐션(Attention): 중요한 정보에 주목하게 만들어 모델의 성능을 높이는 기법
RNN의 매 단계 수집하는 정보를 기반으로 특정 부분을 뽑아 자세히 보도록 함
기계 번역(machine translation)을 위한 모델에 처음 도입된 후 널리 쓰임
그래프 뉴럴 네트워크
충남대학교 컴퓨터공학과 임성수 47/60
* 참고자료: Effective approaches to attention-based neural machine translation, EMNLP 2015 [LINLK]
어텐션 모델을 활용한 기계 번역
그래프 뉴럴 네트워크
Graph attention network: 각 노드에 대해 multi-head attention을 적용한 컨볼루션,
GAT, ICLR 2018 [LINK]
Edge-wise 매커니즘: 서로 다른 이웃 노드에게 서로 다른 가중치를 부여할 수 있음
그래프 구조에 의존적이지 않아서 귀납적 문제 해결에 장점
그래프 뉴럴 네트워크
충남대학교 컴퓨터공학과 임성수 48/60
어텐션 메커니즘 그래프 어텐션 네트워크
그래프 뉴럴 네트워크
GCN 관련 최신 기법들 요약
그래프 뉴럴 네트워크
* 참고자료: Deep learning on graphs: a survey, ArXiv 2018 [LINK]
충남대학교 컴퓨터공학과 임성수 49/60
블랙홀 임베딩(BlackHole embedding)
그래프 시각화(graph drawing) 기법에 착안한 임베딩 방식
밀집하게 연결된 노드들의 임베딩 결과가 유사하게 위치하도록 극대화
과하게 섞인(highly-mixed) 커뮤니티들을 보다 쉽게 찾을 수 있는 방식
임베딩 + 시각화 기법
Original Graph
Communities of Vertices
Communities of Positions
Positions in a Space
BlackHole Embedding
Point Clustering
Membership Translation
Community
* 참고자료: BlackHole: Robust community detection inspired by graph drawing, ICDE ’16 [LINK]
충남대학교 컴퓨터공학과 임성수 50/60
힘-방향 시각화(Force-directed drawing)
힘의 평형, 또는 에너지 최소화 문제를 통해 저차원 좌표를 찾는 임베딩 방식
인력(attractive force): 연결된 두 노드 사이에서 서로를 끌어 당기는 힘
척력(repulsive force): 임의의 두 노드 사이에서 서로를 밀어내는 힘
블랙홀 임베딩
기존 방식들은 커뮤니티 경향은 보이지만 겹치진 않음
𝑎, 𝑟값이 threshold 내에서 인력이 극대화 되게 설정
Modularity의 relaxation이 되도록 𝑤𝑖𝑖값을 설정
블랙홀처럼 뭉치면서 클러스터링에 알맞은 임베딩
임베딩 + 시각화 기법
min𝑝:𝑉→𝑆
�𝑤𝑖𝑖𝑎 + 1
𝑝 𝑖 − 𝑝 𝑗 𝑎+1 −𝑤𝑖𝑤𝑖𝑟 + 1
𝑝 𝑖 − 𝑝 𝑗 𝑟+1
𝑖,𝑖 ∈𝑉(2)
인력 척력
LinLog BlackHole
충남대학교 컴퓨터공학과 임성수 51/60
부분 구조를 고려한 임베딩
고차원 부분 구조(higher-order substructure)를 고려한 임베딩 방식
관심이 있는 부분 구조(예: triangle, path, cycle 등)의 가중치 재조정
가중치 그래프에 블랙홀 임베딩을 적용하면 해당 부분 구조를 탐색 가능
임베딩 + 시각화 기법
* 참고자료: Motif-based embedding for graph clustering, JSTAT ’16 [LINK]
Original Graph
Communities of Vertices
Communities of Positions
Positions in a Space
Motif-Based Embedding
Point Clustering
Membership Translation
Motif-Based Weighting
Graph Embedding
충남대학교 컴퓨터공학과 임성수 52/60
부분 구조를 고려한 임베딩
힘의 평형, 또는 에너지 최소화 문제를 통해 저차원 좌표를 찾는 임베딩 방식
가중치를 재조정: 𝑓 𝑖, 𝑗 = 𝑤𝑖𝑖 + 𝑚𝑖𝑖, where 𝑚𝑖𝑖 is the motif weight of 𝑖, 𝑗
모티프 가중치
모티프(motif): 관심 있는 부분 구조, 가중치를 재조정하여 이를 포함하는 커뮤니티 발견
임베딩 + 시각화 기법
min𝑝:𝑉→𝑆
�𝑓 𝑖, 𝑗𝑎 + 1
𝑝 𝑖 − 𝑝 𝑗 𝑎+1 −𝑤𝑖𝑤𝑖𝑟 + 1
𝑝 𝑖 − 𝑝 𝑗 𝑟+1
𝑖,𝑖 ∈𝑉(2)
인력 척력
Mixing: 0.43 Mixing: 0.26
𝑓: {𝑖, 𝑗} ↦ 𝑤𝑖𝑖 + 𝑚𝑖𝑖 𝑤𝑖𝑖: the existence of an edge 𝑖, 𝑗 𝑚𝑖𝑖: # of motifs containing 𝑖 & 𝑗 together
충남대학교 컴퓨터공학과 임성수 53/60
링크 관계를 고려한 임베딩
링크-공간 그래프(link-space graph)를 활용한 링크 임베딩 방식
링크-공간 그래프: 링크들 사이의 관계를 표현한 변환 그래프
링크 임베딩: 임베딩의 대상이 링크, 링크들 사이의 관계를 나타냄
중첩 클러스터링(overlapping clustering): 링크 커뮤니티는 관계 기반 커뮤니티로,
노드를 기준으로 본다면 한 노드는 여러 종류의 링크 커뮤니티에 중첩되어 속할 수 있음
임베딩 + 시각화 기법
* 참고자료: LinkBlackHole*: Robust overlapping community detection using link embedding, TKDE ’19 [LINK]
12
34 13
23 35
1
2
3
4
5
0 03
45
1
2
3
4
5
0 Step 1 Step 2 Step 3 Step 4
Original Graph Link-Space Graph Link Embedding Link Communities Overlapping Communities
충남대학교 컴퓨터공학과 임성수 54/60
링크-공간 그래프
커널 기법과 같이 기존 그래프를 한 차원 올려서 생각하는 방식
링크(original graph) ↔ 노드(link-space graph) 링크-링크 관계(original graph) ↔ 링크(link-space graph)
링크-링크 유사도(original graph) ↔ 링크 가중치(link-space graph)
높은 차원에서 효율적으로 다루기 위해 sampling을 해도 성능이 보장됨을 이론적/실험적 증명
임베딩 + 시각화 기법
6 5 7
k
8
4
i
1 2 3
j
0 i1 j1
i0 i2
ik
j2 j3
j4
k5 k8
k6 k7 𝑤 𝑣𝑖𝑘 ,𝑣𝑖𝑘 = 𝜎 𝑒𝑖𝑘 , 𝑒𝑖𝑘
Original graph Link-space graph
jk
* 참고자료: LinkSCAN*: Overlapping community detection using the link-space transformation, ICDE ’14 [LINK]
충남대학교 컴퓨터공학과 임성수 55/60
대화형 그래프 마이닝
대화형(interactive) 데이터 마이닝: 입력에 따른 피드백을 통한 사용자 목적에 맞는 분석
임베딩 + 대화형 기법
* 참고자료: Interactive Visual Graph Mining and Learning, TIST 2018 [LINK]
충남대학교 컴퓨터공학과 임성수 56/60
대화형 그래프 임베딩
사용자 목적에 맞는 인터랙티브 그래프 데이터 분석 기법 및 도구 개발에 관심
일부 요소들에 집중하여 이들 간의 관계를 보여주는 임베딩 기법 개발중
→ 관심 인물들을 기준으로 한 커뮤니티 발견(community detection)
→ 시드 노드를 중심으로 한 그래프 요약(graph summarization)
임베딩 + 대화형 기법
고정된 노드 위치들을 기준으로 나머지 노드들의 위치 학습
충남대학교 컴퓨터공학과 임성수 57/60
대화형 그래프 임베딩
동적 그래프 임베딩: 시간에 따라 추가, 제거되는 노드, 링크의 수가 제한적일 때
성능이 이론적으로 보장되는 효율적인 동적 임베딩 기법 개발중
기존 연구: 확률적 모델링 + 딥러닝, 랜덤워크 + lazy restart 등의 방식을 활용
임베딩 + 대화형 기법
* 참고자료: Learning embeddings of out-of-sample nodes in dynamic networks, AAAI 2018 [LINK]
TIMERS: error-bounded SVD restart on dynamic networks, AAAI 2018 [LINK]
충남대학교 컴퓨터공학과 임성수 58/60
Research Objectives Understanding complex systems with Big Data Developing algorithms for solving intelligence and real-world data problems
Research Areas Data Mining, Network Science, Artificial Intelligence, Machine Learning
맺음말
You can find more at
http://cnudi.com/
Feel free to contact us!
충남대학교 컴퓨터공학과 임성수 59/60
감사합니다
Thank You Very Much!
Any Questions?
충남대학교 컴퓨터공학과 임성수 60/60