[Graph] CS224W: Machine learning for Graphs (2)

Immanuel·2023년 10월 6일
0

CS224W

목록 보기
2/5
post-thumbnail

위 강의는 Stanford CS224W(* 21/W season)를 이해한 내용을 적었습니다.
따라서, 의역이나 오역이 있을 수 있습니다.

강의 요약
1. GraphML은 다양한 분야에서 활용되며, 노드 분류, 링크 예측, 그래프 자체의 분류, 군집화 등 다양한 사례에 적용할 수 있습니다. 이번 강의에서는 GraphML의 적용 사례와, 대략적인 원리를 알 수 있습니다.
2. GraphML의 발전의 key idea는 Spatial graph 입니다. spatial graph는 노드들이 특정 지표를 갖춘 공간에 위치하는 개념입니다. 강의에서는 단백질 구조를 예시로 들었는데요, 교통 및 이동경로 또한 네트워크로 나타낼 수 있습니다. 즉, 특정 Topic에 대해, 그래프로 추상화한 개념으로 이해하였습니다.
(도시 공간의 경우, 교차점을 노드로, 거리를 링크로 추상화할 수 있기 때문입니다)
3. 그래프를 표현하는 방법에는 여러 가지가 있으며, 방향성, 가중치 다중성, 이분성이 있습니다. 표현 방법에 따라, 그래프 구조와 통계적 특성이 변할 수 있으므로, 적절한 방법을 선택하는 것이 중요합니다.


Lecture 1.2 - Applications of GraphML

GraphML 활용 예제

그래프는 다양한 분야에서 활용됩니다. 이전에 먼저 그래프 구조와 어떻게 머신러닝에 활용하는지 알아보겠습니다. 이미지로 먼저 확인해 보겠습니다.

Graph의 구조는 위 이미지와 같으며, Node, Community(노드의 집단), Edge-level(Link) 그리고 그래프 전체 구조에 대한 머신러닝을 적용할 수 있습니다.

그리고 아래와 같이 활용할 수 있습니다.

1. Node Classification(노드 분류)

  • 각 노드에 레이블을 할당하는 작업으로, Users와 Items간의 그래프 분석을 통해, 추천 시스템에 활용할 수 있습니다. (아래 예시)
  • 이 때, Users<->Items 간 관련된 노드는 서로 더 가깝게 임베딩해야 합니다. (아래 예시)

2. Link Prediction(링크 예측)

  • 노드간의 관계를 예측하기 위한 작업으로, 약물 조합의 부작용을 예측 수 있습니다. (아래 예시)

    위 사례에서는 다양한 질병을 치료하기 위해, 여러 약물을 동시에 복용하는 상황을 정의하였습니다. (실제로 미국에서는 20개 이상의 약물을 복용하는 환자들도 많다고 합니다)
    이는, 서로 다른 약물간의 조합으로인해, 새로운 부작용을 일으킬 수 있으며, 조합 수가 너무 많기 때문에 임상 시험에서 모든 조합을 테스트할 수 없습니다.
  • 하지만, 이는 그래프 문제로 해결할 수 있습니다. (아래 예시)

    우선, 약물이 작용하는 방식은 단백질을 표적으로 삼는 것입니다. 이러한 단백질-약물간의 관계는 Edges로 나타냈습니다. 그리고, 단백질간의 상호관계는 실험에 의해 이미 알고 있는 상태입니다. 도메인 지식의 중요성을 다시 한 번 느끼게 되는군요. 그리고 약물-약물 관계는 이미 알려진 부작용입니다. 노드 C와 M을 함께 복용하면 r1의 부작용이 생기는군요. (위장출혈? 이라고 합니다)
    따라서, 우리가 해야 할 작업은, 노드간 누락된 edges를 예측할 수 있어야 합니다. 그리고 이 작업은 실제로 과거에 알려지지 않았던 새로운 부작용을 많이 발견할 수 있었다고 합니다.

3. 그래프 학습

  • 반가운 예시입니다. 그래프 자체의 학습은 강의 요약에도 명시했듯이, 추상화를 기반으로 학습하는 것입니다. 강의 예제에도 구글 맵스가 나오는군요.

카카오맵에서 판교역-넥슨코리아 대중교통 경로를 검색했습니다. 이는 GraphML을 사용하여, 이동 시간을 예측할 수 있습니다.
그래프가 생성되는 방식은 노드가 도로구간을 나타내고, 도로 구간 사이의 연결성은 edges로 표현됩니다.

그리고 우리는 각 도로 구간의 교통 패턴, 출발지와 목적지 사이의 경로 등 feature를 포함하여, 도착 시간 추정치를 예측하도록 훈련할 수 있습니다. (아래 예시: 구글Maps 적용 사례)

4. 그 외, Molecule Generation / Optimization

  • 위 사례에서는 그래프 구조인 분자 형태를 활용하여, 새로운 분자를 생성한 사례를 설명했습니다. 특정 약물의 분자구조식에서 일부 구조를 변형하면, 독성을 줄일 수 있다고 합니다. 시각 > 청각 > TTS에 이은 후각을 인공지능에게 학습할 수 있다고 하던데, 이것도 Graph 학습의 일환이겠습니다.
profile
Data Scientist, Machine Learning

0개의 댓글