[딥러닝]DL with Graph

Date:     Updated:

카테고리:

1. Graph란?

1) 그래프와 네트워크

그래프는 노드(Node)와 엣지(Edge)의 형태로 구성되어 있다. 이와 같은 구조는 개체와 개체 사이에 상호작용을 묘사하고 분석하는데 효과적이다.

1

작게는 원자와 원자사이의 상호작용을 통한 분자부터, 크게는 태양계 내부의 상호작용까지 모두 그래프로 나타낼 수 있다. 가장 친숙한 예시는 바로 소셜 네트워크이다.
그래프는 크게 두 가지 형태로 표현될 수 있습니다.

  • 네트워크(Network)
    • ex)사회는 70억 이상의 개개인들의 집합이다.
    • ex) 전자 장치를 연결하는 통신망
  • 정보 그래프(Information Graph)로 표현 지어진 것들
    • ex) Knowledge Graph, 3D shape
    • 유사성 네트워크라고도 불리며 둘의 개념의 경계는 모호하다.
    • 유사성 네트워크 : 데이터 수집, 유사 데이터(포인트) 연결

[그래프를 이용한 다양한 시스템]

1

2) 그래프 모델의 장점

여기서 한가지 질문이 나올 수 있다.

더 나은 예측을 위해 Relational Structure을 어떻게 이용할까?

이를 위해 나온것이 결국 Graph Maching Learning인 셈이다. 복잡한 도메인(지식, 텍스트, 이미지 등)은 관계형 그래프로 표현할 수 있는 구조를 가진다.

  • 관계(Relation)를 명시적으로 모델링해 더 나은 성능을 달성

그래프 구조를 바탕으로 학습을 진행했을 때 가장 큰 이점은 관계가 명시적으로 드러나 있기 때문에 모델의 성능을 더욱 높일 수 있다는 것이다.

  • Pros
    • 관계를 명시적으로 모델링해 성능을 끌어올릴 수 있다.
  • Cons
    • 기존 딥러닝에서 잘 처리하던 이미지나 텍스처를 학습하는데 효과적이지 않다.

왜 기존 딥러닝에서 학습이 잘되는 이미지나 텍스처를 잘 처리하지 못할까? 바로, 텍스트의 경우는 많은 모델들이 Sequence 형태로 입력을 받기에 단어의 위치가 중요하다. 그리고 이미지의 경우도 이미지를 추출한 행렬에서 주변 요소와의 관계가 중요하다. 즉, 둘의 공통점은 바로 위치 정보(Position Information)을 가지고 있다는 것이다.

  • 그래프는 크기와 위상이 모호하며 공간적 지역성이 없기 때문에 딥러닝 모델에 바로 학습시키기 어렵다.

3) Application of Graph ML

머신 러닝은 무언가를 예측하는 확률기반의 시스템이다. 마찬가지로 Graph ML도 다양한 범위의 것들은 예측한다. 노드 혹은 엣지, 나아가 노드 쌍, 부그래프(Subgraph) 그리고 전체 모델 수준의 예측이나 생성(Generation)을 하기도 한다.

  • Node-level Tasks 노드 레벨 태스크 중 가장 주목할 사례는 단백질의 3D 구조를 예측하는 것이다. 단백질은 아미노산의 상호결합으로 만들어지며 1차, 2차, 3차 그리고 4차구조까지의 구조가 모두 특정한 규칙에 의해 만들어진다. 즉, Relation이 존재한다.

1

  • Edge-Level Tasks 추천 시스템을 만들 때 특정 사용자가 아직 접하지 못한 특정 상품에 대해 어떤 반응을 보일지 예측하는 것이 핵심이다. 예를 들어 의류 추천 시스템을 예로들면, 고객은 평소 목폴라를 선호하고 여러 번 구매하였음에도, 추천 시스템이 브이넥 티셔츠를 추천한다면 잘못된 모델인 것이다. 즉, 모델이 고객-상품 간의 관계를 제대로 예측하지 못한것이다.

이러한 문제점을 해결하기 위해 나온것이 바로 엣지 레벨 태스크이다. 고객이라는 노드와 상품이라는 노드를 있는 엣지를 예측하는 태스크이다.

  • Subgraph-level, Graph Level Tasks
    고속도로의 교통 체증을 예측하는 태스크는 서브 그래프 수준의 예측을 수행한다. 도로 사이의 특정 지점을 노드로 설정(교차로 등) 설정한 뒤에 해당 지점 사이의 도로를 링크로 연결한다. 그리고 어떤 부분에서 정체가 발생할 지, 추후 교통 상황이 어떻게 변할지를 서브 그래프 수준에서 예측한다.

신약 개발을 진행할때, 새로운 분자구조를 만들어야하고 이 분자구조를 예측하는데 그래스 수준의 태스크가 사용된다.

Reference

Data Science by Yngie
단백질 사진
Stanford Lecture: CS224W

DeepLearning 카테고리 내 다른 글 보러가기

댓글 남기기