스탠포드 강의를 듣고 정리한 내용입니다.
왜 그래프인가?
그래프는 일반적으로 엔티티들의 관계 또는 상호작용을 설명하고 분석하는 "언어"입니다.
따라서 위와 같이 데이터를 하나의 독립적인 포인트로 보기 보다는
이렇게 관계, 네트워크 측면에서 생각하자는 것이죠!
왜냐하면!!!
위와 같이 우리의 주변에는 정말 다양한 네트워크/그래프 형태의 데이터가 있기 때문이죠.
따라서 그래프 형태의 데이터를 잘 사용할 수 있다면, 위의 데이터들도 자동적으로 잘 활용될 수 있겠죠?
그럼 그래프의 종류에 대해서 잠깐 정리를 하고 가겠습니다. 그래프의 종류는 natural graph로 잘 알려진 networks와 representation인 graph으로 나뉩니다.
Network(also known as Natural Graphs) | Graphs(as a representation) |
Social Network Communication, Transactions Biomedicine Brain connections |
Information, Knowledge Software Similarity Network Relational Structure |
네트워크와 그래프는 결국 의미하는 바는 같지만 네트워크는 조금 더 자연적인 것에 가깝고, 그래프는 조금더 데이터 표현쪽에 가깝습니다.
이해가 잘 되지 않는다면 위에 있는 예시 그림들을 보시면 이해가 되실겁니다!
결국 이 데이터들의 공통점은 서로 다른 엔티티의 관계성이 있기 때문에, 관계 그래프로 표현할 수 있다는 특징이 있습니다.
그렇다면 그래프 데이터를 어떻게 사용해야할까요?
이 부분에 대한 고민이 아주 많이 필요합니다.
왜냐하면!!
그래프 데이터는 음성/텍스트 또는 이미지와 다르게 우리가 본 적이 없는 '새로운 형태'의 데이터이기 때문이죠.
음성/텍스트 같은 경우에는 시퀀셜한 데이터로 이루어져있고, 이미지 같은 경우에는 그리드한 데이터로 이루어져있습니다.
그 특성에 맞게 CNN, RNN 등등의 모델이 제안되었습니다.
그렇다면 그래프 데이터의 특징은 무엇일까요?
총 3가지로 요약될 수 있을 것 같습니다.
1. 그래프 데이터의 사이즈는 매번 바뀌며, 복잡한 토폴로지를 가집니다.
위의 데이터를 잠깐 살펴보면, 이미지와 텍스트 데이터는 상하 또는 좌우 데이터가 연결되어있습니다. 일종의 그리드를 이루고있죠.
하지만 우리의 네트워크는 어떻습니까! 형태가 없어요~~
같은 노드에만 연결되어있다면 노드들이 어디에 위치하든 상관없이 같은 그래프입니다.
2. 순서도, 고정 포인트도 없습니다.
위와 같은 맥락이죠. 그래프는 연결성이 중요하기 때문에, 순서나 고정 포인트는 고려하지 않습니다.
3. 동적이며 multimodal feature를 가질 수 있습니다.
multimodal이란 서로 다른 영역의 데이터를 뜻합니다. 하나의 그래프에 있는 노드가 모두 텍스트이거나 이미지인 것이 아니라, 서로 다른 데이터가 섞여있을 수 있다는 소리입니다.
딥러닝에서의 그래프 사용(Graph Neural Network, GNN)
그래프 데이터를 왜 사용하는지도, 왜 다루기가 어려운지도 알게 되었습니다.
이번 강의에서는 이러한 그래프 데이터를 이용하여 딥러닝 모델의 입력으로 넣고, 여러가지 예측 문제를 풀어볼것입니다.
위의 그림은 그 예시인데요. 하나의 그래프를 딥러닝 모델에 넣으면 딥러닝 모델은 여러가지 예측을 수행할 수 있습니다.
뒤에서도 자세히 나오겠지만, 대략적으로 설명드리면 노드의 라벨, 노드 간의 관계 예측 또는 그래프나 서브그래프 생성 등의 문제를 풀 수 있습니다.
생각보다 많은 문제를 해결할 수 있죠?
그리고 또한가지! 전통적인 머신 러닝과 약간 다른점이 있습니다.
바로 라이프 사이클인데요.
기존의 머신 러닝은 raw data에서 feature engineering 과정을 수행합니다. 하지만 GNN은 Representation Learning을 이용하여 자동적으로 feature를 학습합니다. 따라서 기존에 비해 손이 덜 갈수 있겠죠!
※ Representation Learning이 뭔가요?
그래프 데이터를 d차원의 벡터로 임베딩 하는 것을 뜻합니다.
representation learning의 학습 목표는 그래프내에 있는 노드들을 하나의 공간에 잘 표현시키는 것입니다.
ex) 더 가까운 노드들을 더 가까운 공간에 임베딩시킴
수업 개요
'인공지능공부 > 그래프' 카테고리의 다른 글
[Stanford/CS224W] 2. tradition-ml(2) : 전통적인 링크 레벨 작업과 피쳐 (0) | 2023.02.28 |
---|---|
[Stanford/CS224W] 2. tradition-ml(1) : 전통적인 노드 레벨 작업과 피쳐 (0) | 2023.02.25 |
[Stanford/CS224W] 1. intro(3) : 그래프 표현의 선택 (0) | 2023.02.25 |
[Stanford/CS224W] 1. intro(2) : 그래프 ML의 응용 (1) | 2023.02.24 |
그래프의 정의 (1) | 2023.02.17 |