[Graph] 2μž₯. Graph Neural Networks

Posted by Euisuk's Dev Log on July 17, 2024

[Graph] 2μž₯. Graph Neural Networks

원본 κ²Œμ‹œκΈ€: https://velog.io/@euisuk-chung/2μž₯.-Graph-Neural-Networks

1. GNN κ°œμš”

GNN(Graph Neural Networks)은 κ·Έλž˜ν”„ ꡬ쑰의 데이터λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ 개발된 λ”₯λŸ¬λ‹ λ°©λ²•μž…λ‹ˆλ‹€. μ‹€μ œ μ„Έκ³„μ˜ λ§Žμ€ 데이터가 κ·Έλž˜ν”„ ν˜•νƒœλ‘œ ν‘œν˜„λ  수 μžˆμŠ΅λ‹ˆλ‹€:

  • μ†Œμ…œ λ„€νŠΈμ›Œν¬: μ‚¬μš©μžλŠ” λ…Έλ“œ, 친ꡬ κ΄€κ³„λŠ” μ—£μ§€
  • λΆ„μž ꡬ쑰: μ›μžλŠ” λ…Έλ“œ, ν™”ν•™ 결합은 μ—£μ§€
  • ꡐ톡 λ„€νŠΈμ›Œν¬: κ΅μ°¨λ‘œλŠ” λ…Έλ“œ, λ„λ‘œλŠ” μ—£μ§€
  • λ‹¨λ°±μ§ˆ μƒν˜Έμž‘μš© λ„€νŠΈμ›Œν¬: λ‹¨λ°±μ§ˆμ€ λ…Έλ“œ, μƒν˜Έμž‘μš©μ€ μ—£μ§€
  • 인용 λ„€νŠΈμ›Œν¬: ν•™μˆ  논문은 λ…Έλ“œ, 인용 κ΄€κ³„λŠ” μ—£μ§€
  • μΆ”μ²œ μ‹œμŠ€ν…œ: μ‚¬μš©μžμ™€ μƒν’ˆμ΄ λ…Έλ“œ, ꡬ맀 이λ ₯이 μ—£μ§€

2. GNN의 μ£Όμš” λͺ©ν‘œ

GNN의 μ£Όμš” λͺ©ν‘œλŠ” 각 λ…Έλ“œμ˜ μ£Όλ³€ 정보(이웃 λ…Έλ“œ)λ₯Ό μΈμ½”λ”©ν•˜λŠ” μž„λ² λ”©μ„ ν•™μŠ΅ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

이 μž„λ² λ”©μ€ λ…Έλ“œ λΆ„λ₯˜, 링크 예츑, κ·Έλž˜ν”„ λΆ„λ₯˜ λ“± λ‹€μ–‘ν•œ μž‘μ—…μ— μ‚¬μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.

  • μ˜ˆμ‹œ: μ†Œμ…œ λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©μž A의 μž„λ² λ”©μ„ ν•™μŠ΅ν•œλ‹€κ³  κ°€μ •ν•΄λ΄…μ‹œλ‹€.
    • 이 μž„λ² λ”©μ€ λ‹€μŒκ³Ό 같은 정보λ₯Ό 포함할 수 μžˆμŠ΅λ‹ˆλ‹€:
      • A의 개인 정보 (λ‚˜μ΄, 성별, 관심사 λ“±)
      • A의 μΉœκ΅¬λ“€μ˜ νŠΉμ„±
      • A의 λ„€νŠΈμ›Œν¬ ꡬ쑰 (친ꡬ 수, μΉœκ΅¬λ“€ κ°„μ˜ μ—°κ²° λ“±)

3. GNN의 μ£Όμš” μ—°μ‚°

Graph Filtering Operationκ³Ό Graph Pooling Operation은 Graph Neural Networks (GNNs)μ—μ„œ μ‚¬μš©λ˜λŠ” 두 κ°€μ§€ μ€‘μš”ν•œ μ—°μ‚°μœΌλ‘œ, λ‹€μŒκ³Ό 같은 μ£Όμš” 차이점이 μžˆμŠ΅λ‹ˆλ‹€:

Graph Filtering Operation:

  1. λͺ©μ : λ…Έλ“œμ˜ νŠΉμ§•μ„ μ—…λ°μ΄νŠΈν•˜κ³  이웃 λ…Έλ“œμ˜ 정보λ₯Ό μ§‘κ³„ν•©λ‹ˆλ‹€.

    (λ…Έλ“œμ˜ νŠΉμ„±κ³Ό κ·Έλž˜ν”„ ꡬ쑰λ₯Ό λ°”νƒ•μœΌλ‘œ λ…Έλ“œμ˜ μƒˆλ‘œμš΄ νŠΉμ„±μ„ ν•™μŠ΅ν•©λ‹ˆλ‹€.)

  2. κ·Έλž˜ν”„ ꡬ쑰: μ›λž˜ κ·Έλž˜ν”„μ˜ ꡬ쑰λ₯Ό μœ μ§€ν•©λ‹ˆλ‹€.
  3. 좜λ ₯: 각 λ…Έλ“œμ— λŒ€ν•΄ μƒˆλ‘œμš΄ νŠΉμ§• 벑터λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  4. μ£Όμš” κΈ°λŠ₯: λ…Έλ“œ κ°„μ˜ 관계λ₯Ό κ³ λ €ν•˜μ—¬ 정보λ₯Ό μ „νŒŒν•©λ‹ˆλ‹€.

    (주둜 이웃 λ…Έλ“œμ˜ 정보λ₯Ό μ§‘κ³„ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.)

  5. μ˜ˆμ‹œ: μ†Œμ…œ λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©μž A의 νŠΉμ„±μ„ μ—…λ°μ΄νŠΈν•œλ‹€κ³  κ°€μ •ν•΄λ΄…μ‹œλ‹€.
    1. A의 λͺ¨λ“  μΉœκ΅¬λ“€μ˜ νŠΉμ„±μ„ μˆ˜μ§‘ν•©λ‹ˆλ‹€.
    2. 이 νŠΉμ„±λ“€μ„ ν‰κ· λ‚΄κ±°λ‚˜, κ°€μ€‘μΉ˜λ₯Ό λΆ€μ—¬ν•˜μ—¬ ν•©μΉ©λ‹ˆλ‹€.
    3. 이 μ§‘κ³„λœ 정보λ₯Ό A의 μ›λž˜ νŠΉμ„±κ³Ό κ²°ν•©ν•˜μ—¬ μƒˆλ‘œμš΄ νŠΉμ„±μ„ λ§Œλ“­λ‹ˆλ‹€.

Key Idea: Generate the node embeddings using not only the features of the node, but also the surrounding neighbors

Graph Pooling Operation:

  1. λͺ©μ : κ·Έλž˜ν”„μ˜ 크기λ₯Ό 쀄이고 계측적 ν‘œν˜„μ„ μƒμ„±ν•©λ‹ˆλ‹€.

    (λ…Έλ“œ μˆ˜μ€€μ˜ νŠΉμ„±μ„ κ·Έλž˜ν”„ μˆ˜μ€€μ˜ νŠΉμ„±μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.)

  2. κ·Έλž˜ν”„ ꡬ쑰: κ·Έλž˜ν”„μ˜ ꡬ쑰λ₯Ό λ³€κ²½ν•˜μ—¬ 더 μž‘μ€ κ·Έλž˜ν”„λ‘œ λ§Œλ“­λ‹ˆλ‹€.
  3. 좜λ ₯: λ…Έλ“œ μˆ˜κ°€ 쀄어든 μƒˆλ‘œμš΄ κ·Έλž˜ν”„λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  4. μ£Όμš” κΈ°λŠ₯: κ·Έλž˜ν”„μ˜ μ€‘μš”ν•œ 정보λ₯Ό μš”μ•½ν•˜κ³  계산 νš¨μœ¨μ„±μ„ ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.

    (전체 κ·Έλž˜ν”„μ˜ ν‘œν˜„μ„ ν•™μŠ΅ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.)

  5. μ˜ˆμ‹œ: λΆ„μž ꡬ쑰의 νŠΉμ„±μ„ νŒŒμ•…ν•˜λŠ” μž‘μ—…μ„ μƒκ°ν•΄λ΄…μ‹œλ‹€.
    1. 각 μ›μž(λ…Έλ“œ)의 νŠΉμ„±μ„ ν•™μŠ΅ν•©λ‹ˆλ‹€.
    2. 이 μ›μžλ“€μ˜ νŠΉμ„±μ„ μ§‘κ³„ν•˜μ—¬ 전체 λΆ„μžμ˜ ν‘œν˜„μ„ λ§Œλ“­λ‹ˆλ‹€.
    3. 이 ν‘œν˜„μ„ μ‚¬μš©ν•˜μ—¬ λΆ„μžμ˜ νŠΉμ„±(예: μš©ν•΄λ„, 독성 λ“±)을 μ˜ˆμΈ‘ν•©λ‹ˆλ‹€.

Key Idea: Generally speaking graph pooling can be seeing as an operation that given an initial graph as input, generates a coarsened graph with fewer nodes

차이점 (Graph Filtering vs Graph Pooling):

  1. μ—°μ‚° κ²°κ³Ό: Filtering은 λ…Έλ“œ νŠΉμ§•μ„ μ—…λ°μ΄νŠΈν•˜μ§€λ§Œ, Pooling은 κ·Έλž˜ν”„ ꡬ쑰 자체λ₯Ό λ³€κ²½ν•©λ‹ˆλ‹€.
  2. 정보 처리: Filtering은 이웃 λ…Έλ“œμ˜ 정보λ₯Ό μ§‘κ³„ν•˜λŠ” 반면, Pooling은 κ·Έλž˜ν”„ μ „μ²΄μ˜ 정보λ₯Ό μ••μΆ•ν•©λ‹ˆλ‹€.
  3. 적용 λͺ©μ : Filtering은 주둜 λ…Έλ“œ 쀑심 μž‘μ—…μ— μ‚¬μš©λ˜κ³ , Pooling은 κ·Έλž˜ν”„ μˆ˜μ€€μ˜ μž‘μ—…μ— 더 μ ν•©ν•©λ‹ˆλ‹€.
  4. 계산 λ³΅μž‘μ„±: Pooling은 κ·Έλž˜ν”„ 크기λ₯Ό 쀄여 계산 νš¨μœ¨μ„±μ„ λ†’μ΄λŠ” 데 도움이 λ©λ‹ˆλ‹€.

Graph Filtering은 λ…Έλ“œ κ°„μ˜ 관계λ₯Ό κ³ λ €ν•˜μ—¬ 정보λ₯Ό μ „νŒŒν•˜λŠ” 데 쀑점을 λ‘λŠ” 반면, Graph Pooling은 κ·Έλž˜ν”„μ˜ 전체적인 ꡬ쑰λ₯Ό μ••μΆ•ν•˜κ³  μš”μ•½ν•˜λŠ” 데 μ΄ˆμ μ„ 맞μΆ₯λ‹ˆλ‹€.

두 연산은 GNNμ—μ„œ μƒν˜Έ λ³΄μ™„μ μœΌλ‘œ μ‚¬μš©λ˜μ–΄ 효과적인 κ·Έλž˜ν”„ ν‘œν˜„ ν•™μŠ΅μ„ κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.

4. κ·Έλž˜ν”„ 필터링 방법

κ·Έλž˜ν”„ ν•„ν„°λ§μ—λŠ” 주둜 Convolutional Operaion이 μˆ˜ν–‰λ˜λ©°, λŒ€ν‘œμ μœΌλ‘œ spectral-based 기법과 spatial-based 기법이 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“Œ μŠ€νŽ™νŠΈλŸ΄ 기반(Spectral-based) 방법:

  1. κ°œλ…: κ·Έλž˜ν”„μ˜ μŠ€νŽ™νŠΈλŸ΄ λ„λ©”μΈμ—μ„œ 필터링을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

    (κ·Έλž˜ν”„μ˜ λΌν”ŒλΌμ‹œμ•ˆ 행렬을 μ΄μš©ν•œ μˆ˜ν•™μ  μ ‘κ·Ό)

  2. μž‘λ™ 원리:

    • κ·Έλž˜ν”„ λΌν”ŒλΌμ‹œμ•ˆ(Laplacian)의 κ³ μœ λ²‘ν„°μ™€ κ³ μœ κ°’μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.
    • κ·Έλž˜ν”„ 푸리에 λ³€ν™˜(Graph Fourier Transform, GFT)을 톡해 μ‹ ν˜Έλ₯Ό 주파수 λ„λ©”μΈμœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
    • 주파수 λ„λ©”μΈμ—μ„œ 필터링을 μˆ˜ν–‰ν•œ ν›„ μ—­λ³€ν™˜ν•©λ‹ˆλ‹€.
  3. νŠΉμ§•:

    • 전체 κ·Έλž˜ν”„ ꡬ쑰λ₯Ό κ³ λ €ν•œ κΈ€λ‘œλ²Œ μ ‘κ·Ό λ°©μ‹μž…λ‹ˆλ‹€.
    • μˆ˜ν•™μ μœΌλ‘œ 잘 μ •μ˜λ˜μ–΄ 있고 이둠적 뢄석이 μš©μ΄ν•©λ‹ˆλ‹€.
    • 계산 λ³΅μž‘λ„κ°€ 높을 수 μžˆμŠ΅λ‹ˆλ‹€. (특히 λŒ€κ·œλͺ¨ κ·Έλž˜ν”„μ—μ„œ μ ν•©ν•˜μ§€ μ•ŠμŒ )
  4. μ˜ˆμ‹œ: 5개의 λ…Έλ“œλ‘œ 이루어진 κ°„λ‹¨ν•œ κ·Έλž˜ν”„κ°€ μžˆλ‹€κ³  κ°€μ •ν•΄λ΄…μ‹œλ‹€.

    1. 이 κ·Έλž˜ν”„μ˜ λΌν”ŒλΌμ‹œμ•ˆ 행렬을 κ³„μ‚°ν•˜κ³ , 이λ₯Ό μ΄μš©ν•΄ λ…Έλ“œ νŠΉμ„±μ„ λ³€ν™˜ν•©λ‹ˆλ‹€.
    2. 이 과정은 푸리에 λ³€ν™˜κ³Ό μœ μ‚¬ν•˜λ©°, κ·Έλž˜ν”„μ˜ 전역적 ꡬ쑰λ₯Ό κ³ λ €ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  5. (심화) μŠ€νŽ™νŠΈλŸ΄ 기반 κ·Έλž˜ν”„ ν•„ν„° 기법듀

    In general, spectral graph filtering is focused on modulate the graph signals by amplifying some and remove others before reconstructing the graph signals (using Graph Fourier Transform)

    1. Poly-filter:
      • 닀항식 ν•„ν„° 연산을 μ‚¬μš©ν•˜μ—¬ 계산 λΉ„μš©μ„ μ€„μž…λ‹ˆλ‹€.
      • k-홉 μ΄μ›ƒλ§Œμ„ μ‚¬μš©ν•˜μ—¬ 좜λ ₯ μ‹ ν˜Έλ₯Ό κ³„μ‚°ν•©λ‹ˆλ‹€.
      • 단점: 닀항식 κΈ°μ €κ°€ μ§κ΅ν•˜μ§€ μ•Šμ•„ ν•™μŠ΅ κ³Όμ •μ—μ„œ λΆˆμ•ˆμ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    2. Cheby-filter:
      • Chebyshev 닀항식을 μ‚¬μš©ν•˜μ—¬ Poly-filter의 μž₯점을 μœ μ§€ν•˜λ©΄μ„œ 더 μ•ˆμ •μ μž…λ‹ˆλ‹€.
      • 직ꡐ κΈ°μ €λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅ κ³Όμ •μ˜ μ•ˆμ •μ„±μ„ κ°œμ„ ν•©λ‹ˆλ‹€.
      • k-홉 μ΄μ›ƒλ§Œμ„ μ‚¬μš©ν•˜μ—¬ 좜λ ₯ μ‹ ν˜Έλ₯Ό κ³„μ‚°ν•©λ‹ˆλ‹€.
    3. GCN-filter:
      • Cheby-filterλ₯Ό κ°„μ†Œν™”ν•œ λ²„μ „μœΌλ‘œ, 1-홉 μ΄μ›ƒλ§Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
      • 곡간 기반 ν•„ν„°λ‘œλ„ λ³Ό 수 μžˆμ–΄, μŠ€νŽ™νŠΈλŸ΄κ³Ό 곡간 기반 λ°©λ²•μ˜ 쀑간 지점에 μœ„μΉ˜ν•©λ‹ˆλ‹€.

πŸ“Œ 곡간 기반(Spatial-based) 방법:

  1. κ°œλ…: λ…Έλ“œμ˜ 둜컬 이웃을 직접 ν™œμš©ν•˜μ—¬ 필터링을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

    (λ…Έλ“œμ˜ 지역적 이웃 정보λ₯Ό 직접 집계)

  2. μž‘λ™ 원리:
    • 각 λ…Έλ“œμ˜ νŠΉμ§•μ„ 이웃 λ…Έλ“œλ“€μ˜ νŠΉμ§•κ³Ό κ²°ν•©ν•˜μ—¬ μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€.
    • 주둜 κ°€μ€‘μΉ˜ ν•© λ˜λŠ” 집계 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
  3. νŠΉμ§•:
    • 둜컬 κ·Έλž˜ν”„ ꡬ쑰에 μ΄ˆμ μ„ 맞μΆ₯λ‹ˆλ‹€.
    • 계산 νš¨μœ¨μ„±μ΄ λ†’κ³  λŒ€κ·œλͺ¨ κ·Έλž˜ν”„μ— μ μš©ν•˜κΈ° μ‰½μŠ΅λ‹ˆλ‹€.

      (더 효율적이고 μœ μ—°ν•˜λ©°, λŒ€κ·œλͺ¨ κ·Έλž˜ν”„μ— 적합함)

    • 직관적이고 κ΅¬ν˜„μ΄ μƒλŒ€μ μœΌλ‘œ κ°„λ‹¨ν•©λ‹ˆλ‹€.
  4. μ˜ˆμ‹œ: μ†Œμ…œ λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©μž A의 νŠΉμ„±μ„ μ—…λ°μ΄νŠΈν•˜λŠ” 과정을 μƒκ°ν•΄λ΄…μ‹œλ‹€:
    1. A의 직접적인 μΉœκ΅¬λ“€μ˜ νŠΉμ„±μ„ μˆ˜μ§‘ν•©λ‹ˆλ‹€.
    2. 이 νŠΉμ„±λ“€μ„ ν‰κ· λ‚΄κ±°λ‚˜ 가쀑합을 κ³„μ‚°ν•©λ‹ˆλ‹€.
    3. 이 정보λ₯Ό A의 ν˜„μž¬ νŠΉμ„±κ³Ό κ²°ν•©ν•˜μ—¬ μƒˆλ‘œμš΄ νŠΉμ„±μ„ λ§Œλ“­λ‹ˆλ‹€.
  5. (심화) 곡간 기반 κ·Έλž˜ν”„ ν•„ν„° 기법듀
    1. 초기 곡간 기반 ν•„ν„°(2005λ…„ Scarselli 등이 μ œμ•ˆ):
      • 1-홉 μ΄μ›ƒλ§Œ μ‚¬μš©ν•˜μ—¬ λ…Έλ“œ νŠΉμ„±μ„ μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€.
      • μ§€μ—­ 전이 ν•¨μˆ˜(local transition function)λ₯Ό μ‚¬μš©ν•˜μ—¬ 필터링을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.
    2. GraphSAGE-filter:
      • 이웃 λ…Έλ“œμ—μ„œ 정보λ₯Ό μ§‘κ³„ν•˜λŠ” 방식을 μ‚¬μš©ν•©λ‹ˆλ‹€.
      • μƒ˜ν”Œλ§, 집계, κ²°ν•©μ˜ 3λ‹¨κ³„λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€.
        • μƒ˜ν”Œλ§: λ…Έλ“œμ˜ 이웃 쀑 일뢀λ₯Ό μƒ˜ν”Œλ§ν•©λ‹ˆλ‹€.
        • 집계: μƒ˜ν”Œλ§λœ μ΄μ›ƒλ“€μ˜ 정보λ₯Ό μ§‘κ³„ν•©λ‹ˆλ‹€.
        • κ²°ν•©: μ§‘κ³„λœ 이웃 정보와 λ…Έλ“œ 자체의 정보λ₯Ό κ²°ν•©ν•˜μ—¬ μƒˆλ‘œμš΄ νŠΉμ„±μ„ μƒμ„±ν•©λ‹ˆλ‹€.
      • λ‹€μ–‘ν•œ 집계 ν•¨μˆ˜(평균, LSTM, 풀링 λ“±)λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    3. GAT-filter (Graph Attention Filter):
      • self-attention λ©”μ»€λ‹ˆμ¦˜μ„ λ„μž…ν•˜μ—¬ 이웃 λ…Έλ“œμ˜ μ€‘μš”λ„λ₯Ό ν•™μŠ΅ν•©λ‹ˆλ‹€.
      • 이웃 λ…Έλ“œλ“€μ— λ‹€λ₯Έ κ°€μ€‘μΉ˜λ₯Ό λΆ€μ—¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    4. EC-filter (Edge-Conditioned filter):
      • 엣지에 μ—°κ΄€λœ 정보λ₯Ό ν™œμš©ν•˜μ—¬ κ·Έλž˜ν”„ ν•„ν„°λ₯Ό κ΅¬ν˜„ν•©λ‹ˆλ‹€.
      • λ‹€μ–‘ν•œ μœ ν˜•μ˜ μ—£μ§€κ°€ μžˆλŠ” κ·Έλž˜ν”„μ— μ ν•©ν•©λ‹ˆλ‹€.
    5. GGNN-filter (Gated Graph Neural Network filter):
      • GRU(Gated Recurrent Unit)λ₯Ό κ·Έλž˜ν”„μ— μ μš©ν•©λ‹ˆλ‹€.
      • λ°©ν–₯μ„± κ·Έλž˜ν”„μ™€ λ‹€μ–‘ν•œ μ—£μ§€ μœ ν˜•μ— νŠΉν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” 차이점 (Spatial vs Spectral) :

  1. μ ‘κ·Ό 방식: μŠ€νŽ™νŠΈλŸ΄ 방법은 κ·Έλž˜ν”„ μ „μ²΄μ˜ ꡬ쑰λ₯Ό κ³ λ €ν•˜λŠ” 반면, 곡간 방법은 둜컬 이웃 관계에 μ§‘μ€‘ν•©λ‹ˆλ‹€.
  2. 계산 λ³΅μž‘λ„: μŠ€νŽ™νŠΈλŸ΄ 방법은 일반적으둜 계산 λΉ„μš©μ΄ λ†’μ§€λ§Œ, 곡간 방법은 더 νš¨μœ¨μ μž…λ‹ˆλ‹€.
  3. ν™•μž₯μ„±: 곡간 방법은 λŒ€κ·œλͺ¨ κ·Έλž˜ν”„μ— 더 μ ν•©ν•œ 반면, μŠ€νŽ™νŠΈλŸ΄ 방법은 μž‘μ€ κ·Έλž˜ν”„μ— 더 적합할 수 μžˆμŠ΅λ‹ˆλ‹€.
  4. 이둠적 기반: μŠ€νŽ™νŠΈλŸ΄ 방법은 μˆ˜ν•™μ μœΌλ‘œ 더 잘 μ •μ˜λ˜μ–΄ μžˆμ§€λ§Œ, 곡간 방법은 더 직관적이고 μœ μ—°ν•©λ‹ˆλ‹€.
  5. ν•„ν„° 섀계: μŠ€νŽ™νŠΈλŸ΄ λ°©λ²•μ—μ„œλŠ” 주파수 응닡을 직접 섀계할 수 μžˆμ§€λ§Œ, 곡간 λ°©λ²•μ—μ„œλŠ” 이웃 집계 ν•¨μˆ˜λ₯Ό 톡해 κ°„μ ‘μ μœΌλ‘œ ν•„ν„°λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
  • 졜근 μ—°κ΅¬μ—μ„œλŠ” 두 λ°©λ²•μ˜ μž₯점을 κ²°ν•©ν•˜λ €λŠ” μ‹œλ„κ°€ 있으며, λ…Έλ“œ μ€‘μ‹¬μ˜ μŠ€νŽ™νŠΈλŸ΄ 필터링과 같은 ν•˜μ΄λΈŒλ¦¬λ“œ μ ‘κ·Ό 방식도 μ œμ•ˆλ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

5. κ·Έλž˜ν”„ 풀링 방법

풀링은 μ•„λž˜ 6. GNN FrameworkκΈ°μ€€μœΌλ‘œ GRAPH-FOCUSED TASKSμ—μ„œ 많이 μ‚¬μš©λ˜λ©°, κ·Έλž˜ν”„μ˜ 정보λ₯Ό μΆ•μ•½ν•˜λŠ” 것을 λͺ©μ μœΌλ‘œ ν•©λ‹ˆλ‹€.

평면 κ·Έλž˜ν”„ 풀링 (Flat Graph Pooling)

  • νŠΉμ§•: λ…Έλ“œ νŠΉμ„±(Node features)을 μ§μ ‘μ μœΌλ‘œ μ΄μš©ν•˜μ—¬ ν•œ λ²ˆμ— κ·Έλž˜ν”„ ν‘œν˜„μ„ μƒμ„±ν•©λ‹ˆλ‹€.
  • 방법: λͺ¨λ“  λ…Έλ“œμ˜ νŠΉμ„±μ„ 평균, μ΅œλŒ€κ°’ λ“±μ˜ λ°©λ²•μœΌλ‘œ μ§‘κ³„ν•©λ‹ˆλ‹€.
  • κ²°κ³Ό: 전체 κ·Έλž˜ν”„λ₯Ό μš”μ•½ν•˜λŠ” 단일 λ…Έλ“œ(λ˜λŠ” 벑터)λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  • μž₯단점:
    • μž₯점: 계산이 κ°„λ‹¨ν•˜κ³  λΉ λ¦…λ‹ˆλ‹€.
    • 단점: κ·Έλž˜ν”„μ˜ ꡬ쑰적 정보λ₯Ό 상당 λΆ€λΆ„ λ¬΄μ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ’…λ₯˜
    1. 평균 풀링: λͺ¨λ“  λ…Έλ“œμ˜ νŠΉμ„±μ„ ν‰κ· λƒ…λ‹ˆλ‹€.
      • μ˜ˆμ‹œ : μ†Œμ…œ λ„€νŠΈμ›Œν¬μ˜ μ „λ°˜μ μΈ νŠΉμ„±μ„ νŒŒμ•…ν•˜κΈ° μœ„ν•΄ λͺ¨λ“  μ‚¬μš©μžμ˜ λ‚˜μ΄λ₯Ό 평균낼 수 μžˆμŠ΅λ‹ˆλ‹€.
    2. μ΅œλŒ€ 풀링: 각 νŠΉμ„±μ˜ μ΅œλŒ€κ°’μ„ μ„ νƒν•©λ‹ˆλ‹€.
      • μ˜ˆμ‹œ : λ‹¨λ°±μ§ˆ λ„€νŠΈμ›Œν¬μ—μ„œ κ°€μž₯ 높은 μƒν˜Έμž‘μš© 강도λ₯Ό κ°€μ§„ 연결을 μ„ νƒν•˜μ—¬ λ„€νŠΈμ›Œν¬μ˜ μ£Όμš” νŠΉμ„±μ„ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    3. 주의 기반 풀링: 각 λ…Έλ“œμ— κ°€μ€‘μΉ˜λ₯Ό λΆ€μ—¬ν•˜μ—¬ μ€‘μš”λ„μ— 따라 μ§‘κ³„ν•©λ‹ˆλ‹€.
      • μ˜ˆμ‹œ : μΆ”μ²œ μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©μžμ˜ 졜근 행동에 더 높은 κ°€μ€‘μΉ˜λ₯Ό λΆ€μ—¬ν•˜μ—¬ ν˜„μž¬ 관심사λ₯Ό 더 잘 λ°˜μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

계측적 κ·Έλž˜ν”„ 풀링 (Hierarchical Graph Pooling)

  • νŠΉμ§•: κ·Έλž˜ν”„ ꡬ쑰(Graph structure)λ₯Ό λ³΄μ‘΄ν•˜λ©΄μ„œ μ μ§„μ μœΌλ‘œ κ·Έλž˜ν”„λ₯Ό μΆ•μ†Œν•©λ‹ˆλ‹€.
  • 방법: μ—¬λŸ¬ 단계에 걸쳐 λ…Έλ“œλ“€μ„ κ·Έλ£Ήν™”ν•˜κ³ , 각 그룹을 μƒˆλ‘œμš΄ λ…Έλ“œλ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€.
  • κ²°κ³Ό: μ›λž˜ κ·Έλž˜ν”„μ˜ 계측적 ꡬ쑰λ₯Ό λ°˜μ˜ν•˜λŠ” μΆ•μ†Œλœ κ·Έλž˜ν”„λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  • μž₯단점:
    • μž₯점: κ·Έλž˜ν”„μ˜ ꡬ쑰적 정보λ₯Ό 더 잘 λ³΄μ‘΄ν•©λ‹ˆλ‹€.
    • 단점: FLAT GRAPH POOLING에 λΉ„ν•΄ 계산이 λ³΅μž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ’…λ₯˜
    1. λ‹€μš΄μƒ˜ν”Œλ§ 기반 풀링:

      • μ˜ˆμ‹œ : μ€‘μš”ν•œ λ…Έλ“œλ₯Ό μ„ νƒν•˜μ—¬ μΆ•μ†Œλœ κ·Έλž˜ν”„λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

      b. 슈퍼 λ…Έλ“œ 기반 계측적 κ·Έλž˜ν”„ 풀링: + μ˜ˆμ‹œ : μž…λ ₯ κ·Έλž˜ν”„μ˜ λ…Έλ“œλ“€μ„ κ²°ν•©ν•˜μ—¬ β€œμŠˆνΌ λ…Έλ“œβ€λ₯Ό λ§Œλ“€κ³ , 이λ₯Ό μΆ•μ†Œλœ κ·Έλž˜ν”„μ˜ λ…Έλ“œλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€.

FLAT GRAPH POOLING은 주둜 λ…Έλ“œ νŠΉμ„±μ— μ§‘μ€‘ν•˜μ—¬ λΉ λ₯΄κ²Œ 전체 κ·Έλž˜ν”„λ₯Ό μš”μ•½ν•˜λŠ” 반면, HIERARCHICAL GRAPH POOLING은 κ·Έλž˜ν”„μ˜ ꡬ쑰적 νŠΉμ„±μ„ 더 잘 λ³΄μ‘΄ν•˜λ©΄μ„œ μ μ§„μ μœΌλ‘œ κ·Έλž˜ν”„λ₯Ό μΆ•μ†Œν•©λ‹ˆλ‹€.

6. GNN Framework

Graph Neural Networks (GNNs)μ—μ„œ μ„œλ‘œ λ‹€λ₯Έ μœ ν˜•μ˜ μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ 2κ°€μ§€ ν”„λ ˆμž„μ›Œν¬ ꡬ쑰가 μ‘΄μž¬ν•©λ‹ˆλ‹€: NODE-FOCUSED TASKS, GRAPH-FOCUSED TASKS

  1. NODE-FOCUSED TASKS:
    • λͺ©μ : κ°œλ³„ λ…Έλ“œμ˜ νŠΉμ„±μ΄λ‚˜ λ ˆμ΄λΈ”μ„ μ˜ˆμΈ‘ν•˜λŠ” μž‘μ—…
    • ꡬ쑰: κ·Έλž˜ν”„ 필터링 λ ˆμ΄μ–΄μ™€ λΉ„μ„ ν˜• ν™œμ„±ν™” ν•¨μˆ˜μ˜ μ‘°ν•©
    • κ΄€λ ¨ μš”μ†Œ: 주둜 κ·Έλž˜ν”„ 필터링(Graph Filtering)에 쀑점
    • 예: μ†Œμ…œ λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©μžμ˜ 관심사 예츑
  2. GRAPH-FOCUSED TASKS:
    • λͺ©μ : κ·Έλž˜ν”„ μ „μ²΄μ˜ νŠΉμ„±μ΄λ‚˜ λΆ„λ₯˜λ₯Ό μ˜ˆμΈ‘ν•˜λŠ” μž‘μ—…
    • ꡬ쑰: κ·Έλž˜ν”„ 필터링 λ ˆμ΄μ–΄, λΉ„μ„ ν˜• ν™œμ„±ν™” ν•¨μˆ˜, 그리고 풀링 λ ˆμ΄μ–΄μ˜ μ‘°ν•©
    • κ΄€λ ¨ μš”μ†Œ: κ·Έλž˜ν”„ 필터링(Graph Filtering)κ³Ό 풀링(Pooling) λͺ¨λ‘ μ€‘μš”
    • 예: λΆ„μž ꡬ쑰의 νŠΉμ„± 예츑

μ£Όμš” 차이점 (NODE-FOCUSED vs GRAPH-FOCUSED):

  • NODE-FOCUSED TASKSλŠ” κ°œλ³„ λ…Έλ“œμ— μ§‘μ€‘ν•˜λ―€λ‘œ 풀링 λ ˆμ΄μ–΄κ°€ ν•„μš” μ—†μŠ΅λ‹ˆλ‹€.
  • GRAPH-FOCUSED TASKSλŠ” κ·Έλž˜ν”„ 전체 정보λ₯Ό μ§‘μ•½ν•΄μ•Ό ν•˜λ―€λ‘œ 풀링 λ ˆμ΄μ–΄κ°€ ν•„μˆ˜μ μž…λ‹ˆλ‹€.

두 ν”„λ ˆμž„μ›Œν¬ λͺ¨λ‘ κ·Έλž˜ν”„ 필터링을 μ‚¬μš©ν•˜μ§€λ§Œ, GRAPH-FOCUSED TASKSμ—μ„œλŠ” μΆ”κ°€λ‘œ 풀링 단계λ₯Ό 톡해 λ…Έλ“œ μˆ˜μ€€μ˜ 정보λ₯Ό κ·Έλž˜ν”„ μˆ˜μ€€μœΌλ‘œ μ§‘μ•½ν•©λ‹ˆλ‹€.



-->