λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
1️⃣ AI•DS/πŸ“’ Deep learning

[인곡지λŠ₯] GNN

by isdawell 2022. 6. 14.
728x90

 

Summary 


✨ Idea for deep learning for graphs 

 

β—Ύ Multiple layers of embedding transformation 

β—Ύ At every layer, use the embedding at previous layer as the input 

β—Ύ ⭐⭐ Aggregation of neighbors 

 

 

✨ Graph convolutional network 

 

β—Ύ Mean aggregaton → permutation invariant/equivariant 

 

✨ Applications of GNNs 

 

β—Ύ Node-Level 

β—Ύ Edge-Level 

β—Ύ Graph-Level 

 

 

⭐ GNN is general architecture 

 

β—Ύ CNN and Transformer can be viewed as a special GNN 

 

 

 

 

Pre


 

 

✨ κ·Έλž˜ν”„

 

β—Ύ μ λ“€κ³Ό κ·Έ 점듀을 μž‡λŠ” μ„ μœΌλ‘œ 이루어진 데이터 ꡬ쑰 

β—Ύ κ΄€κ³„λ‚˜ μƒν˜Έμž‘μš©μ„ λ‚˜νƒ€λ‚΄λŠ” 데이터λ₯Ό 뢄석할 λ•Œ 주둜 쓰인닀. 

β—Ύ EX. 페이슀뢁 μΉœκ΅¬κ΄€κ³„, μ™“μ± ν”Œλ ˆμ΄ μœ μ €-μ˜μƒ 감상여뢀 

β—Ύ G = (V,E) 둜 μ •μ˜ , V : 점 집합 , E : μ„  집합

 

G=({1,2,3},{{1,2},{2,3},{1,3}})

 

 

β—Ύ κ·Έλž˜ν”„λŠ” 주둜 인접행렬 adjacency matrix 둜 ν‘œν˜„λœλ‹€. (nxn, n은 점의 개수) 

β—Ύ λ¨Έμ‹ λŸ¬λ‹μ—μ„œ κ·Έλž˜ν”„λ₯Ό λ‹€λ£° 땐 μ λ“€μ˜ νŠΉμ§•μ„ λ¬˜μ‚¬ν•œ feature matrix (nxf) 둜 ν‘œν˜„ν•˜κΈ°λ„ ν•œλ‹€. 

 

 

✨ κ·Έλž˜ν”„ 뢄석이 μ–΄λ €μš΄ 이유 

 

β—Ύ κ·Έλž˜ν”„ 크기가 컀질수둝 μ‚¬λžŒμ΄ 해석할 수 μžˆλ„λ‘ μ‹œκ°ν™” ν•˜λŠ” 것이 μ–΄λ ΅λ‹€. 

β—Ύ μœ ν΄λ¦¬λ“œ 곡간에 μžˆμ§€ μ•Šλ‹€ = μ’Œν‘œκ³„λ‘œ ν‘œν˜„ν•  수 μ—†λ‹€

β—Ύ κ³ μ •λœ ν˜•νƒœκ°€ μ•„λ‹ˆλ‹€ : μ•„λž˜ 두 κ·Έλž˜ν”„μ˜ 인접행렬은 κ°™λ‹€. 

 

 

 

✨ κ·Έλž˜ν”„λ₯Ό μ‚¬μš©ν•˜λŠ” 이유

 

β—Ύ κ΄€κ³„, μƒν˜Έμž‘μš© 같은 좔상적인 κ°œλ…μ„ 닀루기 적합 

β—Ύ λ³΅μž‘ν•œ 문제λ₯Ό λ‹¨μˆœν™” μ‹œν‚¬ 수 μžˆλ‹€. 

β—Ύ μ†Œμ…œ λ„€νŠΈμ›Œν¬, λ°”μ΄λŸ¬μŠ€ ν™•μ‚° λ“±μ˜ λͺ¨λΈλ§μ— μ‚¬μš© κ°€λŠ₯ 

 

 

✨ GNN

 

β—Ύ κ·Έλž˜ν”„μ— 직접 μ μš©ν•  수 μžˆλŠ” 신경망 

β—Ύ 점 레벨, μ„  레벨, κ·Έλž˜ν”„ λ ˆλ²¨μ—μ„œμ˜ 예츑 μž‘μ—…μ„ μˆ˜ν–‰ν•œλ‹€. 

β—Ύ 핡심 : 점이 μ΄μ›ƒκ³Όμ˜ 연결에 μ˜ν•΄ μ •μ˜λœλ‹€. 

β—Ύ λͺ¨λ“  점이 각각의 νŠΉμ§•μ„ μ„€λͺ…ν•˜λŠ” μ–΄λ–€ μƒνƒœλ‘œ ν‘œν˜„λ˜μ–΄ μžˆλ‹€. 

   ex. 점이 μ˜ν™”μ΄κ³  νŒνƒ€μ§€,둜맨슀,곡포 쀑에 νŒνƒ€μ§€μ™€ 곡포에 ν•΄λ‹Ήν•œλ‹€λ©΄ (1,0,1) μƒνƒœλ₯Ό 가지고 μžˆλ‹€.

β—Ύ 연결관계와 μ΄μ›ƒλ“€μ˜ μƒνƒœλ₯Ό μ΄μš©ν•΄ 각 점의 μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈ (ν•™μŠ΅) ν•˜κ³  λ§ˆμ§€λ§‰ μƒνƒœ (node embedding) λ₯Ό 톡해 예츑 업무λ₯Ό μˆ˜ν–‰

 

 

 

⭐ cnn, rnn, transformer 와 같은 신경망듀은 GNN 의 special μΌ€μ΄μŠ€λ‹€.

 

 

 

1️⃣  Idea for deep learning for graphs 


β‘   Graph 

 

πŸ”˜ Graph 

 

 

  • 관계성을 κ°€μ§€κ±°λ‚˜ μƒν˜Έμž‘μš©ν•˜λŠ” entity 듀을 ν‘œν˜„ν•˜κ³  뢄석할 수 μžˆλŠ” 일반적인 μ–Έμ–΄
  • GNN 은 Graph λ₯Ό input 으둜 λ°›λŠ” λ„€νŠΈμ›Œν¬μ΄λ‹€. 

 

 

πŸ”˜ Many type of Data are Graphs 

 

 

  • λ§Žμ€ 데이터듀은 κ·Έλž˜ν”„ ν˜•νƒœλ‘œ 이루어져 μžˆλ‹€ πŸ‘‰ λ„€νŠΈμ›Œν¬λ§, μ†Œμ…œλ„€νŠΈμ›Œν¬, computation graph, λΆ„μžμ‹
  • κ·Έλž˜ν”„ ν˜•μ‹μ„ 잘 λ‹€λ£° 수 μžˆλŠ” 인곡지λŠ₯이 μžˆλ‹€λ©΄ μœ μš©ν•œ 일듀을 μˆ˜ν–‰ν•  수 μžˆμ„ 것이닀.

 

πŸ”˜ Modern Deep learning 

 

 

  • cnn,rnn, transformer 듀은 κ°„λ‹¨ν•œ sequence μ²˜λ¦¬λ‚˜ grid μ²˜λ¦¬μ— μœ μš©ν•˜λ‹€.
  • κ·ΈλŸ¬λ‚˜ λͺ¨λ“  것듀이 grid λ‚˜ sequence ν˜•νƒœλ‘œ μ‘΄μž¬ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€ πŸ‘‰ GNN 의 μ€‘μš”μ„± λŒ€λ‘ 

 

 

πŸ”˜ Graphs

 

  • λ”₯λŸ¬λ‹ λΆ„μ•Όμ˜ μƒˆλ‘œμš΄ κ°œμ²™μžλ‘œ μ£Όλͺ©λ°›κ³  μžˆλ‹€. 
  • κ·Έλž˜ν”„λŠ” 무언가λ₯Ό μ—°κ²°ν•΄μ£ΌλŠ” ν˜•νƒœλ₯Ό 가진닀. 
  • ML μ—μ„œ κ°€μž₯ ν•«ν•œ μ†ŒλΆ„μ•Όμ΄λ‹€. 

 

 

 

πŸ”˜ Graph Deep Learning is Hard

 

  • graph λ₯Ό λ”₯λŸ¬λ‹μ— μ μš©ν•˜λŠ” 것은 맀우 μ–΄λ ΅λ‹€. μ§€κΈˆκΉŒμ§€ ν˜„μ‘΄ν•˜λŠ” λ”₯λŸ¬λ‹ λ„€νŠΈμ›Œν¬ ꡬ쑰둜 κ΅¬ν˜„ν•˜κΈ° μ–΄λ ΅λ‹€. 

 

πŸ’¨ κ΅¬ν˜„μ΄ μ–΄λ €μš΄ 이유 : Network are complex

 

  1. 크기가 μž„μ˜μ μ΄λ‹€. (Arbitrary size)
  2. ꡬ쑰가 λ³΅μž‘ν•˜λ‹€. (complex topological structure) 
  3. λ…Έλ“œμ˜ μˆœμ„œκ°€ κ³ μ •λ˜μ–΄ μžˆμ§€ μ•Šλ‹€. (No fixed node ordering)
  4. reference point 도 κ³ μ •λ˜μ–΄ μžˆμ§€ μ•Šλ‹€. (No fixed  reference point)
  5. μ‹œμ‹œκ°κ° λͺ¨μ–‘이 λ³€ν•˜λŠ” ꡬ쑰이닀. (dynamic)
  6. μ—¬λŸ¬ ν˜•νƒœμ˜ feature 듀이 ν•˜λ‚˜μ˜ λ„€νŠΈμ›Œν¬μ— λ‹€μˆ˜ μ‘΄μž¬ν•œλ‹€. (multimodal features) : κ°€λ Ή μ•„λž˜ κ·Έλž˜ν”„μ—μ„œ 빨간점은 item, νšŒμƒ‰μ μ€ μ‚¬λžŒ, λ…Έλž€ 점은 μ˜€λ Œμ§€ λ“±λ“± 으둜 κ΅¬μ„±λ˜μ–΄ μžˆμ„ 수 있음 

 

 

 

β‘‘ GNN 

 

πŸ”˜ Graph Neural Network 

 

 

  • Input : Network (graph) 
  • Node 듀이 Graph convolution layer 듀을 거쳐 prediction 을 μˆ˜ν–‰ν•œλ‹€. 
  • λ”₯λŸ¬λ‹μ²˜λŸΌ Activation function, Regularization 도 μˆ˜ν–‰ν•œλ‹€. 

 

 

πŸ’¨ Prediction

 

  • Node label : μƒˆλ‘œμš΄ μ—°κ²°λ…Έλ“œλ₯Ό 예츑 
  • New link : λ…Έλ“œ μ‚¬μ΄μ˜ μƒˆλ‘œμš΄ μ—°κ²° 
  • Graph : κ·Έλž˜ν”„ 자체λ₯Ό μƒˆλ‘œ λ§Œλ“€κ±°λ‚˜ subgraph λ₯Ό 생성 

 

 

 

πŸ”˜ Node embedding ⭐⭐

 

 

  • λ…Έλ“œλ₯Ό d μ°¨μ›μ˜ μž„λ² λ”© λ²‘ν„°λ‘œ 인코딩 πŸ‘‰ λΉ„μŠ·ν•œ λ…Έλ“œλŠ” μž„λ² λ”© λ˜μ—ˆμ„ λ•Œ μœ μ‚¬ν•œ λ²‘ν„°λ‘œ ν‘œν˜„λ  수 μžˆλ„λ‘ λ…Έλ“œλ₯Ό μž„λ² λ”© ν•œλ‹€. 

 

 

πŸ’¨ Node embedding 의 λͺ©μ  

 

  • Zu : u λ…Έλ“œλ₯Ό μž„λ² λ”©ν•œ 벑터 
  • Zv : v λ…Έλ“œλ₯Ό μž„λ² λ”©ν•œ 벑터 
  • u λ…Έλ“œμ™€ v λ…Έλ“œκ°€ μž„λ² λ”© λ˜μ—ˆμ„ λ•Œ, μœ μ‚¬λ„λ₯Ό dot product 둜 μΈ‘μ •ν•  수 μžˆκ²Œλ” λ§Œλ“ λ‹€. 
  • λΉ„μŠ·ν•œ λ…Έλ“œλ“€μ€ μœ μ‚¬λ„λ₯Ό λ†’μ΄λŠ” λ°©ν–₯으둜 μž„λ² λ”©μ„ μˆ˜ν–‰ν•œλ‹€. 
  • μš°λ¦¬κ°€ μ •μ˜ν•΄μ•Ό ν•˜λŠ”κ±΄ μœ μ‚¬λ„ν•¨μˆ˜μ™€ μž„λ² λ”© 인코더 

 

πŸ’¨ Encoder 

 

  • 각 λ…Έλ“œλ“€μ„ μ €μ°¨μ›μ˜ λ²‘ν„°λ‘œ λ§€ν•‘μ‹œμΌœμ£ΌλŠ” 것 
  • input graph μ—μ„œ node v κ°€ encoder λ₯Ό 거치면 d μ°¨μ›μ˜ μž„λ² λ”© 벑터가 λœλ‹€. 

 

 

πŸ’¨ Similarity function

 

  • 벑터 κ³΅κ°„μ—μ„œμ˜ 관계성이 original network 의 κ΄€κ³„μ„±μœΌλ‘œ mapping λ˜μ–΄μ•Ό ν•œλ‹€. 
  • original network 의 λ…Έλ“œ u,v 의 μœ μ‚¬λ„λŠ” μž„λ² λ”© 된 벑터 κ³΅κ°„μ—μ„œμ˜ 두 λ…Έλ“œλ²‘ν„°μ˜ dot product μ—°μ‚° 결과와 κ°™λ‹€.

 

 

 

 

πŸ”˜ Embedding Table for encoding 

 

πŸ’¨ κ°€μž₯ λ‹¨μˆœν•œ 인코딩 방법

 

 

  • embedding table Z λ§Œλ“€κΈ° πŸ‘‰ table 을 lookup ν•΄μ˜€λŠ” λ°©μ‹μœΌλ‘œ μž„λ² λ”© μž‘μ—…μ„ μˆ˜ν–‰ν•œλ‹€. 
  • row : μž„λ² λ”© λ²‘ν„°μ˜ 차원 (dimension of embeddings) 
  • column : node 의 총 개수 
  • μ–΄λ–€ λ…Έλ“œμ— λŒ€ν•œ μž„λ² λ”© 벑터λ₯Ό μ–»κ³ μ‹ΆμœΌλ©΄ κ·Έ λ…Έλ“œμ— ν•΄λ‹Ήν•œλŠ μΉΌλŸΌμ„ μ½μ–΄μ˜€κΈ°λ§Œ ν•˜λ©΄ λœλ‹€. 

 

πŸ’¨ ν•œκ³„점 

 

  • κ·ΈλŸ¬λ‚˜ μœ„μ™€ 같은 λ°©μ‹μœΌλ‘œ 인코딩을 ν•˜κ²Œ 되면, λ…Έλ“œκ°€ μ¦κ°€ν• μˆ˜λ‘ table 크기가 linear ν•˜κ²Œ μ¦κ°€ν•œλ‹€λŠ” 단점이 μ‘΄μž¬ν•œλ‹€.
  • λ˜ν•œ λ…Έλ“œ 간에 νŒŒλΌλ―Έν„°λ₯Ό κ³΅μœ ν•˜λŠ” 것이 μ—†μ–΄ , λ…Έλ“œ κ°œμˆ˜κ°€ μ¦κ°€ν•˜λ©΄ μ—°μ‚°λŸ‰μ΄ μ¦κ°€ν•˜κ²Œ λœλ‹€. CNN 의 κ²½μš°μ—” receptive field λ§ˆλ‹€ filter 의 weight νŒŒλΌλ―Έν„°λ₯Ό κ³΅μœ ν–ˆμŒ!
  • ν›ˆλ ¨ κ³Όμ • 쀑에 보지 λͺ»ν–ˆλ˜ λ…Έλ“œλ“€μ— λŒ€ν•œ μž„λ² λ”©μ„ 진행할 수 μ—†λ‹€ πŸ‘‰ 5λͺ…μ˜ κ°€μž…μžμ— λŒ€ν•œ λ…Έλ“œ μž„λ² λ”© 벑터가 μ‘΄μž¬ν–ˆλŠ”λ°, ν•œ λͺ…이 μ‹ κ·œκ°€μž…μ„ ν•˜λ©΄ κ·Έ μœ μ €μ— λŒ€ν•΄μ„œλŠ” λ…Έλ“œ 벑터가 μ‘΄μž¬ν•˜μ§€ μ•ŠμŒ. 즉, ν›ˆλ ¨ λ‹Ήμ‹œμ— μƒμ„±λœ μž„λ² λ”© ν…Œμ΄λΈ”μ—λŠ” μ‹ κ·œ λ…Έλ“œμ— λŒ€ν•œ 정보 μžμ²΄κ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ μž„λ² λ”©μ΄ λΆˆκ°€λŠ₯ν•˜λ‹€ πŸ‘‰ κ·ΈλŸ¬λ‚˜ network 의 κ°€μž₯ 큰 νŠΉμ§• 쀑 ν•˜λ‚˜κ°€ dynamic ν•˜λ‹€λŠ” 점인데 이와 상좩함 

 

 

 

πŸ”˜ Deep Graph Encoders 

 

  • μž„λ² λ”© ν…Œμ΄λΈ”μ„ κ΅¬μΆ•ν•˜λŠ” 방법 λŒ€μ‹ , λ”₯λŸ¬λ‹μ„ μ‚¬μš©ν•˜μ—¬ 인코딩을 μˆ˜ν–‰ν•œλ‹€. 
  • μ—¬λŸ¬κ°œμ˜ λ…Έλ“œλ“€μ΄ Neural network λ₯Ό 거쳐 node embedding 을 ν˜•μ„±ν•œλ‹€ πŸ‘‰ μž„λ² λ”© κ²°κ³Όλ₯Ό 가지고 μ—¬λŸ¬κ°€μ§€μ˜ task 듀을 μˆ˜ν–‰ν•œλ‹€. 

 

λ…Έλ“œ 뿐만 μ•„λ‹ˆλΌ κ·Έλž˜ν”„ μžμ²΄λ„ μž„λ² λ”©μ‹œν‚¬ 수 μžˆλ‹€.

 

 

πŸ”˜ Tasks on Networks 

 

  • Node classification : λ…Έλ“œμ˜ νƒ€μž…μ„ λΆ„λ₯˜(예츑)
  • Link prediction : μœ μ‚¬λ„κ°€ 높은 λ…Έλ“œλ“€μ€ μ—£μ§€λ‘œ μ—°κ²°λ˜μ–΄ μžˆμ„ κ°€λŠ₯성이 λ†’λ‹€λŠ” κ°€μ •ν•˜μ— 두 λ…Έλ“œ μ‚¬μ΄μ˜ 링크 연결성을 예츑
  • Community detection : κΈ΄λ°€ν•˜κ²Œ μ—°κ²°λœ λ…Έλ“œ 집단 node cluster κ°€ μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό 밝힘
  • Network similarity : 두 λ„€νŠΈμ›Œν¬μ˜ μœ μ‚¬λ„λ₯Ό μΈ‘μ • 

 

 

β‘’ deep learning for graphs 

 

πŸ”˜ Setup 

 

  • G : graph 
  • V : μ λ“€μ˜ 집합 
  • A : adjacency matrix πŸ‘‰ 두 λ…Έλ“œκ°€ μ—°κ²°λ˜μ–΄ μžˆλŠλƒλ₯Ό binary ν˜•νƒœλ‘œ μ•Œλ €μ£ΌλŠ” matrix 

 

 

  • X : matrix of node features (m x |V|) πŸ‘‰ m 은 node ν•˜λ‚˜μ— λ“€μ–΄μžˆλŠ” feature 개수λ₯Ό μ˜λ―Έν•œλ‹€. 
    • ex. user node → gender, age, height 
  • v : node in V 
  • N(v) : μ΄μ›ƒλ…Έλ“œ 집합 ex. N(A) = {C,D,B}
  • Node feature
    • social networks : user profile, user image 
    • Biological networks : gene functional information 

 

 

πŸ”˜ A Naive Approach 

 

  • adjacency matrix 와 feature λ₯Ό concatenation
  • concat ν•œ 행렬을 fully - connected network 에 μž…λ ₯ν•œλ‹€. 

 

πŸ‘‰ κ·ΈλŸ¬λ‚˜ μ΄λŸ¬ν•œ μ ‘κ·Όλ°©μ‹μ—λŠ” 문제점이 μ‘΄μž¬ν•œλ‹€. 

 

  • ά± O(|V|)  parameters : νŒŒλΌλ―Έν„° κ°œμˆ˜κ°€ λ…Έλ“œμ˜ κ°œμˆ˜κ°€ μ¦κ°€ν• μˆ˜λ‘ linear ν•˜κ²Œ μ¦κ°€ν•œλ‹€. 
  • κ·Έλž˜ν”„ μ‚¬μ΄μ¦ˆκ°€ λ‹€λ₯Έ κ²½μš°μ— 적용이 λΆˆκ°€λŠ₯ν•˜λ‹€ : λ§Œμ•½ 5개의 λ…Έλ“œλ‘œ ν›ˆλ ¨λœ λ„€νŠΈμ›Œν¬μ— 6개 λ…Έλ“œλ‘œ 이루어진 input 이 λ“€μ–΄μ˜€λ©΄ ν›ˆλ ¨μ΄ λΆˆκ°€λŠ₯ 
  • λ”₯λŸ¬λ‹μ€ node 의 μˆœμ„œμ— λ―Όκ°ν•˜λ‹€ : node κ°€ 그림처럼 A,B,C,D,E μˆœμ„œλ‘œ ν›ˆλ ¨λ˜λ©΄ κ·Έ 이후에 λ“€μ–΄μ˜€λŠ” input 도 같은 μˆœμ„œλ‘œ 듀어와야 ν•œλ‹€. λ”₯λŸ¬λ‹ λ„€νŠΈμ›Œν¬μ—μ„œλŠ” 같은 κ·Έλž˜ν”„λ”λΌλ„ λ“€μ–΄μ˜€λŠ” λ…Έλ“œ μˆœμ„œκ°€ λ‹€λ₯΄κ²Œ λ“€μ–΄μ˜€λ©΄ λ‹€λ₯Έ ν›ˆλ ¨ κ²°κ³Όλ₯Ό λ‚΄λ†“λŠ”λ‹€. 

 

 

 

κ·Έλž˜μ„œ 이런 λ‹¨μˆœν•œ μ ‘κ·Ό λ³΄λ‹€λŠ” μ•žμœΌλ‘œ μ‚΄νŽ΄λ³Ό GNNGCNGAT λ“±μ˜ λͺ¨λΈμ΄ λ“±μž₯ν–ˆλ‹€. 

 

 

 

2️⃣  Graph convolutional network 


 

핡심 Idea : node 의 이웃이 κ³„μ‚°λœ κ·Έλž˜ν”„λ₯Ό κ²°μ •ν•œλ‹€.

 

πŸ“Œ https://jxnjxn.tistory.com/77

 

[CS224W] 8. Graph Neural Networks

μ—…λ‘œλ“œκ°€ 쑰금 λŠ¦μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€. γ…Žγ…Ž 8강은 μ„±μ‹€ν•¨μ˜ λŒ€λͺ…사 μ΄μž¬λΉˆλ‹˜κ»˜μ„œ λ¦¬λ·°ν•˜μ…¨μŠ΅λ‹ˆλ‹€. Graph에 Neral Network, GNN을 μ μš©ν•˜λŠ” κ°•μ˜ μž…λ‹ˆλ‹€. 크게 Graph에 Deep learning을 μ μš©ν•˜λŠ” κ°œμš”μ™€, Neighborhood aggr

jxnjxn.tistory.com

 

 

β‘   generalize CNN 

 

πŸ”˜ CNN 

 

 

  • spatial featureλ₯Ό κ³„μ†ν•΄μ„œ layerλ§ˆλ‹€ κ³„μ†ν•΄μ„œ μΆ”μΆœν•΄ λ‚˜κ°€λ©΄μ„œ 고차원적인 νŠΉμ§•μ„ ν‘œν˜„
  • grid ꡬ쑰 외에 λ‹€λ₯Έ κ΅¬μ‘°μ—μ„œ CNN 을 μ μš©μ‹œμΌœλ³΄μž

 

 

πŸ’¨ ν•©μ„±κ³± μ—°μ‚°μ˜ 아이디어

 

  • local connectivity, shared weights, use of Multi-layer 
  • μ£Όλ³€ 정보λ₯Ό λ³€ν™˜ν•˜κ³  이λ₯Ό κ²°ν•©ν•œλ‹€ πŸ‘‰ Graph neural network 에 적용

 

 

 

 

πŸ”˜ Real-World Graphs 

 

  • κ·ΈλŸ¬λ‚˜ CNN 을 graph 에 μ μš©μ‹œν‚€κ³ μž ν•  λ•Œ, μ‹€μ œ λ‹€λ£¨λŠ” κ·Έλž˜ν”„ λͺ¨μŠ΅μ€ μ•„λž˜μ™€ κ°™κΈ° 떄문에 λͺ‡κ°€μ§€ κ³ λ €ν•΄μ•Όν•  사항이 μ‘΄μž¬ν•œλ‹€. (κ·Έλž˜ν”„μ˜ ꡬ쑰적 νŠΉμ„± λ•Œλ¬Έμ— 기쑴의 ν•©μ„±κ³± 연산을 μ μš©ν•˜λŠ”λ° 어렀움 쑴재)

 

 

  1. graphκ°€ dynamic + complex structure ν•œ νŠΉμ„±μ„ 가지고 있기 λ•Œλ¬Έμ— λ‹€μ–‘ν•œ size λ₯Ό 가진 sliding window λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€. 
  2. permutation invariant : κ·Έλž˜ν”„λŠ” μˆœμ„œμ— 영ν–₯을 받지 μ•ŠλŠ”λ‹€. (λͺ¨λΈ 좜λ ₯에 μž…λ ₯ λ²‘ν„°μ˜ μˆœμ„œκ°€ 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠλŠ” 데이터)

 

 

 

πŸ”˜ Permutation Invariance 

 

 

  • Graph λŠ” does not have a canonical order of node 즉, λ…Έλ“œ 사이에 정해진 μˆœμ„œκ°€ μ—†λŠ” ꡬ쑰λ₯Ό 가지고 μžˆλŠ”λ°, Neural Network 에 μž…λ ₯λ˜λŠ” ν–‰λ ¬ (feature matrix, adjacency matrix) 은 λ…Έλ“œμ˜ μˆœμ„œ 섀정에 따라 ν˜•νƒœκ°€ 달라진닀. 
  • ⭐ λ”°λΌμ„œ "Graph 의 λ…Έλ“œ κ°„ μˆœμ„œλŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€" λΌλŠ” νŠΉμ§•μ„ λ°˜μ˜ν•΄μ£ΌκΈ° μœ„ν•΄ μˆœμ„œμ— κ°•λ ₯ν•œ permutation invariant ν•¨μˆ˜ f λ₯Ό λ„μž…ν•œλ‹€.

 

 

  • f(A1, X1) = f(A2, X2) πŸ‘‰ 즉, λ…Έλ“œμ— A~F κΉŒμ§€ 이름 μˆœμ„œλ₯Ό λΆ€μ—¬ν•  λ•Œ μ™Όμͺ½ plan κ³Ό 였λ₯Έμͺ½ plan 처럼 λ‹€μ–‘ν•˜κ²Œ μ‘΄μž¬ν•  수 μžˆμ§€λ§Œ 그에 상관 없이 permutation invarianct ν•œ ν•¨μˆ˜ f λŠ” λ™μΌν•œ κ²°κ³Όλ₯Ό λ„μΆœν•΄λ‚Έλ‹€. 
  • ν˜Ήμ€ f(graph with permutation) = graph without permutation 이 μ„±λ¦½ν•˜λ©΄ λœλ‹€. f(p.G) = f(G)

 

 

 

πŸ”˜ Permutation Equivariance

 

  • graph 에 permutation 을 ν•œ ν›„ f λ₯Ό μ μš©ν•œ 것과 graph λ₯Ό f 에 λ„£κ³  이후에 permutation ν•œ 것이 κ°™μœΌλ©΄ permutation equivalent 라고 ν•œλ‹€. 
  • f(graph with permutation) = permutation * f(graph)

 

 

 

⭐ GNN 은 permutation invariant 와 equivalent λ‘˜ λ‹€ λͺ¨λ‘ λ§Œμ‘±ν•˜λŠ” function 으둜 이루어져 μžˆμ–΄μ•Ό ν•œλ‹€

 

 

β‘‘ GCN 

 

πŸ”˜ GNN Overview

 

  • GNN 은 λ‹€μˆ˜μ˜ permutation equivariant/invariant ν•¨μˆ˜λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€. 

 

 

  • λ‹€λ₯Έ neural network κ΅¬μ‘°λŠ” permutation invariant/equivariant ν•˜μ§€ μ•ŠλŠ”λ‹€. 

 

 

 

 

πŸ”˜ Graph Convolutional Networks 

 

⭐ Computation graph, information propagate and transform 

 

  • Idea : Node's neighborhood defines a computation graph πŸ‘‰ λ„€νŠΈμ›Œν¬ 이웃듀이 computation graphλ₯Ό μ •μ˜
  • Learn : how to propagate information across the graph to compute node features πŸ‘‰ node feature λ₯Ό κ³„μ‚°ν•˜κΈ° μœ„ν•΄ κ·Έλž˜ν”„ μ „λ°˜μ— 걸쳐 정보λ₯Ό μ „νŒŒν•˜λŠ” 방법을 λ°°μš΄λ‹€. 

 

 

  • 이웃 λ…Έλ“œλ“€μ˜ 정보λ₯Ό ν•©μ‚° : reference node 와 μ£Όλ³€ node 의 weighted sum
  • λͺ¨λ“  λ…Έλ“œλ“€μ€ λ…Έλ“œλ§ˆλ‹€ 인접 λ…Έλ“œλ“€μ— κΈ°λ°˜ν•˜μ—¬ computation graph λ₯Ό μ •μ˜ν•œλ‹€. 
  • λ…Έλ“œμ˜ μƒˆλ‘œμš΄ feature λ₯Ό κ³„μ‚°ν•˜κΈ° μœ„ν•΄ computation graph μ—μ„œ ν˜•μ„±λœ λ…Έλ“œλ“€λ‘œλΆ€ν„° 데이터λ₯Ό aggregation ν•œλ‹€.

 

 

 

πŸ”˜ Aggregation Neighbors 

 

  • Generate node embeddings based on local network neighborhoods πŸ‘‰ local λ²”μœ„μ˜ 이웃 λ…Έλ“œλ“€λ‘œλΆ€ν„° node μž„λ² λ”©μ„ μƒμ„±ν•œλ‹€. 
  • Nodes aggregate information their neighbors using neural networks πŸ‘‰ NN을 μ‚¬μš©ν•˜μ—¬ μ£Όλ³€ 이웃 λ…Έλ“œλ“€λ‘œλΆ€ν„° 정보λ₯Ό μ§‘κ³„ν•œλ‹€. 
  • λͺ¨λ“  λ…Έλ“œλ“€μ΄ μžκΈ°λ§Œμ˜ Neural Network Architectureλ₯Ό κ°–κ³  있으며, 각자의 neighborhood에 κ·Όκ±°ν•΄ computiation graphλ₯Ό μ •μ˜ 

 

πŸ‘‰ μ™Όμͺ½μ˜ input graph λ₯Ό 였λ₯Έμͺ½ 처럼 νŽΌμ²˜μ„œ A λ₯Ό μ˜ˆμΈ‘ν•˜λŠ” 2-layer NN 으둜 λ§Œλ“¦ 

πŸ‘‰ λ…Έλ“œ A에 λŒ€ν•œ featureλ₯Ό A의 이웃 λ…Έλ“œ 정보λ₯Ό NN으둜 μˆ˜μ§‘ν•΄μ„œ λ‚˜νƒ€λƒ„

 

  • Network neighborhood defines a computation graph πŸ‘‰ network 의 μ£Όλ³€λΆ€κ°€ computation graph λ₯Ό λ§Œλ“ λ‹€

 

 

⭐ λͺ¨λ“  λ…Έλ“œμ— λŒ€ν•΄ 각각 computation graphκ°€ μƒμ„±λœ λͺ¨μŠ΅ , λ„€λͺ¨ νšŒμƒ‰ λ°•μŠ€λ“€μ΄ Neural Network λ₯Ό μ˜λ―Έν•¨

 

⭐ permutation invariant/equivalent ν•¨μˆ˜λ‘œ μˆœμ„œμ— μƒκ΄€μ—†λŠ” μ§‘κ³„ν•¨μˆ˜μΈ '평균' 을 주둜 μ‚¬μš©ν•œλ‹€. 

 

 

 

πŸ”˜ Deep model : many layers

 

  • model 은 μž„μ˜μ˜ depth λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€ πŸ‘‰ graph μ—λŠ” hop μ΄λΌλŠ” λ‹¨μœ„κ°€ μžˆλ‹€
  • hop 크기와 layer κ°œμˆ˜κ°€ λΉ„λ‘€ 
  • λ…Έλ“œλ“€μ€ 각 layer λ§ˆλ‹€ μž„λ² λ”©μ„ 가진닀. 
  • Layer-0 embedding of node v  is its input feature Xv
  • Layer-k embedding gets information from nodes that are έ‡k hops away : node λ‘œλΆ€ν„° k hop 떨어진 κ³³μœΌλ‘œλΆ€ν„° 정보λ₯Ό λ°›μ•„ μž„λ² λ”©μ„ μˆ˜ν–‰ν•˜λŠ” μΈ΅ 

 

⭐ Layer-K λ₯Ό μ‚¬μš©ν•΄μ„œ μž„λ² λ”©μ„ μˆ˜ν–‰ = K-hop 만큼의 λ…Έλ“œμ •λ³΄λ₯Ό κ°€μ Έμ™”λ‹€λŠ” 의미 

 

 

 

πŸ”˜ Neighborhood aggregation 

 

  • μ΄μ›ƒμ—μ„œ 정보λ₯Ό 집계해 κ°€μ Έμ˜€λŠ” λ‹¨κ³„μ—μ„œ μ–΄λ–»κ²Œ ν•©μ‚°ν•΄μ˜€λŠλƒμ— 따라 λ„€νŠΈμ›Œν¬ μ’…λ₯˜κ°€ κ΅¬λΆ„λœλ‹€. 
  • μ΄λ•Œ μ§‘κ³„ν•˜λŠ” ν•¨μˆ˜λŠ” κ·Έλž˜ν”„μ˜ νŠΉμ„±μΈ permutation invariant λ₯Ό κ³ λ €ν•΄μ•Ό ν•œλ‹€. 
  • 기본적으둜 μ΄μ›ƒμ—μ„œ μ§‘κ³„ν•œ 정보λ₯Ό average (평균) ν•΄μ„œ NN에 μ μš©ν•˜λŠ” 방법을 많이 μ‚¬μš©ν•œλ‹€. 

 

 

 

πŸ”˜ Neighborhood aggregation : The math 

 

  • Encoderλ₯Ό μˆ˜μ‹μ μœΌλ‘œ λ‚˜νƒ€λ‚΄λ©΄ λ‹€μŒκ³Ό 같이 정리

 

 

 

 

  1. hv(0) = Xv : 0-th layer embedding 값은 node feature κ°’κ³Ό λ™μΌν•˜κ²Œ μ΄ˆκΈ°ν™”ν•œλ‹€. 
  2. hv(k) = k-th layer (k-hop) embedding πŸ‘‰ Wk 와 Bk λŠ” ν•™μŠ΅μ‹œν‚€λŠ” νŒŒλΌλ―Έν„° weight matrix 
  3. Zv : λ„€νŠΈμ›Œν¬μ˜ μ΅œμ’… κ³„μΈ΅μ—μ„œμ˜ embedding ν‘œν˜„μœΌλ‘œ 이웃에 λŒ€ν•œ 정보 집계λ₯Ό k-layer λ₯Ό ν†΅κ³Όν•œ ν›„μ˜ κ°’ 

 

⭐ λ„€νŠΈμ›Œν¬κ°€ κΉŠμ„μˆ˜λ‘ μ„±λŠ₯이 μ’‹λ‹€ → 더 큰 λ„€νŠΈμ›Œν¬μ—μ„œ 더 λ§Žμ€ 정보λ₯Ό 집계함

 

  • Wk,Bk : 같은 weight λ₯Ό κ³΅μœ ν•œλ‹€. 
  • Wk : μ΄μ›ƒλ…Έλ“œλ“€λ‘œλΆ€ν„° μ§‘κ³„ν•œ 정보에 λŒ€ν•œ κ°€μ€‘μΉ˜ 
  • Bk : μ§€κΈˆ 보고 μžˆλŠ” λ…Έλ“œμ˜ 이전 λ ˆμ΄μ–΄μ—μ„œμ˜ μž„λ² λ”© 정보에 λŒ€ν•œ κ°€μ€‘μΉ˜ (자기 μžμ‹ μ˜ λ³€ν™˜μ„ μœ„ν•œ κ°€μ€‘μΉ˜ ν–‰λ ¬)
  • 이웃정보에 집쀑할지, μžμ‹ μ˜ own property 에 집쀑할지 κ²°μ •ν•œλ‹€. 

 

⭐ μ΅œμ’… layer μ—μ„œμ˜ node embedding 을 loss function 에 λ„£κ³  SGD λ₯Ό μ΄μš©ν•΄ ν•™μŠ΅μ„ μ§„ν–‰ν•œλ‹€. 

 

 

πŸ”˜ Equivariant Property 

 

 

  • neighbor aggregation in graph convolutional networks is permutation equivariant

 

 

 

 

πŸ”˜ Inductive Capability 

 

⭐ Aggregation parameters듀이 λͺ¨λ“  λ…Έλ“œλ“€μ— λŒ€ν•΄ κ³΅μœ λœλ‹€. 같은 측의 신경망은 ν•™μŠ΅ κ°€μ€‘μΉ˜λ₯Ό κ³΅μœ ν•œλ‹€.

 

  • μƒˆλ‘œμš΄ λ…Έλ“œλ₯Ό λ§Œλ“€ 수 μžˆλŠ” λŠ₯λ ₯ : CNN의 νŠΉμ§•μ΄κΈ°λ„ ν•œ, μ΄λ ‡κ²Œ νŒŒλΌλ―Έν„°λ₯Ό κ³΅μœ ν•˜λŠ” νŠΉμ§•μ„ 가지고 있기 λ•Œλ¬Έμ—  unseen node 정보에 λŒ€ν•΄μ„œλ„ μ–΄λŠμ •λ„ μ•Œ 수 μžˆλ‹€. 
  • same aggregation parameters are shared for all nodes
  • ν•œκ°€μ§€ κ·Έλž˜ν”„μ— λŒ€ν•΄μ„œ ν•™μŠ΅μ„ ν•˜κ³ , node embeddingν•˜λŠ” 법을 λ°°μ›Œμ„œ μƒˆλ‘œμš΄ κ·Έλž˜ν”„μ— λŒ€ν•΄μ„œ μΌλ°˜ν™” ν•  수 μžˆλ‹€. 

 

 

 

 

3️⃣ Applications of GNNs 


β‘   Node-Level Application

 

πŸ”˜ Protein Floding 

 

 

 

  • λ…Έλ“œ : μ•„λ―Έλ…Έμ‚° μˆœμ„œ 
  • 엣지 : μ•„λ―Έλ…Έμ‚° μ‚¬μ΄μ˜ 거리 
  • 유기체 A의 λ‹¨λ°±μ§ˆ μƒν˜Έμž‘μš© κ·Έλž˜ν”„μ—μ„œ ν•™μŠ΅ν•œ λͺ¨λΈμ„ 톡해 μƒˆλ‘­κ²Œ μ·¨λ“λœ 데이터인 유기체 B의 μž„λ² λ”©μ„ 생성 

 

β‘‘ Edge-Level Application

 

πŸ”˜ RecSys

 

 

  • μƒˆλ‘œμš΄ edge λ₯Ό 예츑 πŸ‘‰ μœ μ €κ°€ μ’‹μ•„ν• λ§Œν•œ μ•„μ΄ν…œμ„ μΆ”μ²œ

 

β‘’ Graph-Level Application

 

πŸ”˜ Drug Discovery

 

 

 

  • μƒˆλ‘œμš΄ λΆ„μžκ΅¬μ‘° 생성

 

 

 

 

 

 

 

 

 

 

728x90

λŒ“κΈ€