Deep Learning/CS224W

[CS224W] Application of Graph ML

언킴 2022. 5. 16. 20:48
반응형

Contents

     

     

    이번 장에서는 그래프 관련 연구의 응용에 대해서 다룬다. 그래프를 사용하는 연구들의 종류는 다음과 같다. 

    • Node Classification : 노드의 속성을 예측하는 것 (Categorize online users / items
    • Link Prediction : 두 노드 사이에 놓친 링크가 존재하는지 예측하는 것 (Knowledge graph completion)
    • Graph Classification : 서로 다른 그래프를 분류하는 것 (Molecule property prediction)
    • Clustering : 노드 간의 관계를 Detect하는 것 (Social circle detection)

    추가로 새로운 원자 구조를 생성할 때 사용하는 Graph Generation과 물리적인 현상을 재현할 때 사용하는 Graph Evolution 등이 존재한다. 위와 같이 다양한 연구들이 진행되고 있으며, 다음의 예시와 같이 다양한 분야에 응용되고 있다. 

     

     

    Protein Folding (Node-Level)

    Protein Folding은 최근에 발표된 내용이다. Protein은 Amiono acids의 Sequence한 구조로 구성되어 있다. 그러나 magnetic과 force 때문에 매우 복잡한 형태로 접히거나 쇠사슬 구조를 가지게 된다. 

    이러한 복잡한 구조의 Amino acids의 Sequence가 주어졌을 때, 우리는 3차원 구조의 Sequence를 예측할 수 있을까? 2020년 12월에 DeepMind에서 AlpaFold의 성능을 30퍼센트 가량 개선에 성공했다고 발표했다. 이때의 핵심 아이디어가 바로 'Spatial graph'이다. Node는 Protein sequence 안의 Amino acids로 설정하고, Edges는 Residues로 설정했다. 

     

    Recommender Systems (Edge-Level)

    추천 시스템에서의 최종 목표는 사용자가 선호할 만한 아이템을 추천하는 것이다. 그래프를 추천 시스템에 적용하면 사용자와 아이템을 Nodes로 사용하고, User-Item Interaction을 Edge로 사용한다. 사용자와 사용자 사이와 아이템과 아이템 사이에는 Edge가 존재하지 않고 사용자와 아이템 간의 Edge만 존재하기 때문에 Bipartite Graph 문제로 접근할 수 있다. Pinterest, LinkedIn Facebook 과 같은 기업에서 그래프를 기반으로 추천 시스템을 구축했다. Pinterest를 예로 들자면, Pinterest는 이미지를 Node로 사용해서 이미지 간의 거리를 측정해 관련도를 계산했다. 

     

     

    Drug Side Effect (Edge-Level)

    많은 환자들이 Complex 하거나 coexsting하는 질병들을 치료하기 위해 사람의 46%가 70대까지 5종류 이상의 약물을 복용하고 있다. 심장병, 우울증, 불면증을 가진 사람들은 20 종류가 넘는 약을 봉용하기도 한다. 다양한 종류의 약을 복용할 때 같이 복용하면 안되는 약물이 존재할 수도 있다. 이때 그래프를 이용하여 서로 다른 약물을 복용했을 때의 부작용을 예측한다. 

     

    이때 약물과 프로틴 간의 interaction을 고려하고, 약물과 약물 간의 interaction을 통해 부작용(adverse side effect)을 찾아낼 수 있다. [논문] $C$와 $M$의 관계를 나타내는 $r_1$을 통해 두 가지 약물을 복용했을 때의 부작용을 찾는다. 

    Traffic Prediction (Subgraph-Level)

    Traffic Prediction은 도착 시간을 예측하는 Task를 의미한다. 예를 들어 동묘에서 서울역까지 차를 타고 가는 길을 구글맵에 입력했다고 하자. 그럼 구글맵은 동묘에서 서울역까지 걸리는 시간을 표시해줄 것이다. 그래프는 travel time을 예측하는 데에 사용된다. 이때 Node는 Road Segment를 사용하고, Edges는 Road Segment 간의 연결을 의미한다. 

     

    Predict via Graph Neural Networks (출처: 딥마인드)

    이를 통해 구글맵은 정확도를 최대 50%까지 향상시켰다. 

     

     

    Drug Discovery, Generating novel molecules (Graph-Level)

    항생제(Antibiotics)는 매우 작은 분자 그래프 형태를 가지고 있다. Nodes는 원자(Atoms), Edges는 화학적 결합(chemical Bonds)로 표현할 수 있다. 최근에는 이러한 구조를 가진 그래프를 통해서 새로운 약물과 새로운 항생제를 만들어 내고 있다. 이와 같은 형태로 새로운 구조를 가진 분자를 생성할 수도 있다. 

     

    Physical simulation (Graph-Level)

    그래프는 물리학에서도 사용된다... Node는 입자(Particles)로 구성하고 Edge는 입자 간의 상호작용으로 구성한다. 그런다음 물리적인 충격을 가해서 해당 입자들의 움직임을 통해 동적(dynamics) 정보를 수집하여 물체가 액체인지, 고체인지 등의 성질을 파악할 수 있다. 본 논문에서는 이를 Graph Network-based Simulator (GNS)이라 부른다. [논문]

     

     

     

    Summary

    • Application and use cases
    • Different types of tasks
      • Node Level
      • Edge Level
      • Subgraph Level
      • Graph Level