๊ทธ๋ž˜ํ”„๋Š” ์„ธ์ƒ ์–ด๋””์—๋‚˜ ์žˆ๋‹ค

[๋ฒˆ์—ญ] A Gentle Introduction to Graph Neural Networks โ‘ 
GNN
GRAPH
TRANSLATION
Author

chichead

Published

March 16, 2023

GNN Publication

GNN ๊ด€๋ จ ๋‚ด์šฉ์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ฐพ๊ฒŒ ๋œ ์ข‹์€ ๊ฐ„ํ–‰๋ฌผ์ด๋‚˜ ๋…ผ๋ฌธ ๋“ฑ์„ ๋ฒˆ์—ญ ๋ฐ ์ •๋ฆฌํ•ด์„œ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ฒซ ๋ฒˆ์งธ ์ˆœ์„œ๋กœ ์ง€๋‚œ 2021๋…„ 9์›” 2์ผ Distill์—์„œ ๋ฐœํ–‰๋œ < A Gentle Introduction to Graph Neural Networks >์ž…๋‹ˆ๋‹ค. ๋‹น์‹œ Google Research ์†Œ์†์˜ ๋‹ค์„ฏ ์—ฐ๊ตฌ์›์ด ์ž‘์„ฑํ•œ ๊ธ€์ธ๋ฐ์š”, GNN ์ž…๋ฌธ์ž์—๊ฒŒ ์ ๋‹นํ•œ ์„ค๋ช…์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.


์ž ๊น! Distill

Distill์€ 2016๋…„๋ถ€ํ„ฐ 2021๋…„๊นŒ์ง€ ์šด์˜๋œ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ด€๋ จ ๊ณผํ•™ ์ €๋„์ž…๋‹ˆ๋‹ค. Explanation, Interactive Articles, Visualization ๋“ฑ ๊ธฐ์กด์˜ ๊ณผํ•™ ์ €๋„์—์„œ ํ‘œํ˜„ํ•˜์ง€ ์•Š๋˜ ์Šคํ† ๋ฆฌํ…”๋ง์„ ๋‹ด์•„ ์ƒˆ๋กœ์šด ๊ณผํ•™ ์ถœํŒ๋ฌผ์„ ์ œ์ž‘ํ–ˆ์ฃ . ์ €๋„์ด๋‹ˆ๋งŒํผ ํˆฌ๊ณ ๋„ ๊ฐ€๋Šฅํ–ˆ์ง€๋งŒ ๊ทธ๋Ÿฌ๋ ค๋ฉด Distill Template์— ๋งž์ถฐ์„œ ์ œ์ž‘ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ „ํ†ต์ ์ธ ๊ณผํ•™ ์ €์ž‘๋ฌผ์„ ๋„˜์–ด์„ , ์ƒˆ๋กœ์šด ๊ณผํ•™ ์ €๋„์„ ๊ฟˆ๊พธ์—ˆ๋˜ Distill์˜ ์‹œ๋„๋Š” ์„ฑ๊ณต์œผ๋กœ ์ด์–ด์ง€์ง„ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์ €๋„์—์„œ๋„ ํฐ ๋ฐ˜ํ–ฅ์„ ์ผ์œผํ‚ค์ง„ ๋ชปํ–ˆ๊ณ , ๋…ผ๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด Interactive ์š”์†Œ๋ฅผ ๋‹ด์•„์„œ Distill์˜ Template์„ ๋งž์ถ”๊ธฐ๋„ ์–ด๋ ค์› ์ฃ . ๊ฒฐ๊ตญ 2021๋…„ ์ดํ›„ Distill์€ ๋ฌด๊ธฐํ•œ ์ค‘๋‹จ ์ค‘์ž…๋‹ˆ๋‹ค.


๊ทธ๋ ‡๋‹ค๊ณ  Distill์ด ์‚ฌ๋ผ์ง„ ๊ฑด ์•„๋‹™๋‹ˆ๋‹ค. R์—์„œ ์ด Distill Template์„ ์ฐธ์กฐํ•ด ๊ณผํ•™ ๋ฐ ๊ธฐ์ˆ  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์šฉ Markdown์„ ๋งŒ๋“ค์—ˆ๊ฑฐ๋“ ์š”. ์ด๋ฆ„ํ•˜์—ฌ Distill for R Markdown, Distill package์˜€์ฃ . ๊ณผํ•™, ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์„ ์ค€ Distill package๋Š” ์ง€๊ธˆ์€ Quarto์˜ Blog, Website Format์œผ๋กœ ํก์ˆ˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๊ณผํ•™ ์•„ํ‹ฐํด์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•˜๋ ค ํ–ˆ๋˜ Distill์˜ ๋…ธ๋ ฅ์€ ์ง€๊ธˆ ์ด Quarto ๋ธ”๋กœ๊ทธ์— ๋‚จ์•„์žˆ๋Š” ๊ฑฐ์ฃ .

ํ—ค์–ด์กŒ๋˜ Distill์„ ๋‹ค์‹œ ๋งŒ๋‚˜๊ฒŒ ๋˜์–ด ์ด์ƒํ•œ ๊ธฐ๋ถ„์ด ๋“ค์—ˆ๋Š”์ง€ ์„œ๋‘๊ฐ€ ๊ธธ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณธ๊ฒฉ์ ์œผ๋กœ < A Gentle Introduction to Graph Neural Networks >๋ฅผ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Distill์˜ ์› ๊ฒŒ์‹œ๊ธ€์€ D3๋ฅผ ํ™œ์šฉํ•œ Interacitve ์š”์†Œ๊ฐ€ ํ’๋ถ€ํ•˜๊ฒŒ ๋‹ด๊ฒจ์žˆ์œผ๋‹ˆ ๊ผญ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์„ธ์š”.


Getting started

๊ทธ๋ž˜ํ”„๋Š” ์šฐ๋ฆฌ ์ฃผ๋ณ€์—์„œ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์‹ค์— ์žˆ๋Š” ์‚ฌ๋ฌผ์€ ๋‹ค๋ฅธ ์‚ฌ๋ฌผ๊ณผ์˜ ์—ฐ๊ฒฐ๋กœ ์ •์˜๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ฃ . ์ผ๋ จ์˜ ์‚ฌ๋ฌผ๋“ค๊ณผ ์‚ฌ๋ฌผ๋“ค ๊ฐ„์˜ ์—ฐ๊ฒฐ์€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„ ์—ฐ๊ตฌ์ž๋“ค์€ GNN(Graph neural networks, ๊ทธ๋ž˜ํ”„ ์‹ ๊ฒฝ๋ง)์„ 10๋…„ ์ด์ƒ ๊ฐœ๋ฐœํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ์—” ๊ธฐ์ˆ  ๋ฐœ์ „์œผ๋กœ ๊ทธ ๊ธฐ๋Šฅ๊ณผ ํ‘œํ˜„๋ ฅ์ด ๋”์šฑ ํ–ฅ์ƒ๋˜์—ˆ์ฃ . GNN์€ ํ•ญ๊ท  ๋ฌผ์งˆ์˜ ๋ฐœ๊ฒฌ, ๋ฌผ๋ฆฌํ•™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๊ฐ€์งœ ๋‰ด์Šค ํƒ์ง€, ๊ตํ†ต ์˜ˆ์ธก ๋ฐ ์ถ”์ฒœ ์‹œ์Šคํ…œ ๋“ฑโ€ฆ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์ ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ตœ์‹ 1 ๊ทธ๋ž˜ํ”„ ์‹ ๊ฒฝ๋ง์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ณ  ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค ์ด ๊ธ€์€ ํฌ๊ฒŒ ๋„ค ํŒŒํŠธ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

1.์ฒซ ๋ฒˆ์งธ ํŒŒํŠธ์—์„œ๋Š” ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„๋˜๋Š”์ง€, ์ผ๋ฐ˜์ ์ธ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

2.๋‘ ๋ฒˆ์งธ ํŒŒํŠธ์—์„œ๋Š” ๊ทธ๋ž˜ํ”„๊ฐ€ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ์™€๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€, ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ์ง€์ ์— ๋Œ€ํ•ด ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

3.์„ธ ๋ฒˆ์งธ ํŒŒํŠธ์—์„œ๋Š” ๊ทธ๋ž˜ํ”„ ๋ถ„์•ผ์˜ ์—ญ์‚ฌ์ ์ธ ๋ชจ๋ธ๋ง ํ˜์‹ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ชจ๋ธ์˜ ๊ฐ ๋ถ€๋ถ„์„ ์‚ดํŽด๋ณด๋ฉด์„œ ์ตœ์‹  GNN ๋ชจ๋ธ์„ ์„ค๊ณ„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

4.๋„ค ๋ฒˆ์งธ ํŒŒํŠธ์—์„œ๋Š” ์‹ค์ œ ์ž‘์—…๊ณผ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ ์šฉํ•˜๋ฉด์„œ GNN ๋ชจ๋ธ์˜ ๊ฐ ์š”์†Œ๊ฐ€ ์˜ˆ์ธก์— ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌํ•˜๋Š”์ง€ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

๋จผ์ € ๊ทธ๋ž˜ํ”„๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ถ€ํ„ฐ ์•Œ์•„๋ด…์‹œ๋‹ค. ๊ทธ๋ž˜ํ”„๋Š” ์—”ํ‹ฐํ‹ฐ(Nodes)๋“ค์˜ ๊ด€๊ณ„(Edges)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„์—๋Š” ์„ธ ํƒ€์ž…์˜ ์†์„ฑ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

V : Vertex(or Node) attributes, ์ •์  ํ˜น์€ Node ์†์„ฑ

E : Edge(or Link) attributes and directions, Edge ํ˜น์€ Link ์†์„ฑ

U : Global (or Master node) attributes, ์ „์—ญ ํ˜น์€ Master Node ์†์„ฑ


๊ฐ๊ฐ์˜ Node, Edge, ์ „์ฒด ๊ทธ๋ž˜ํ”„๋ฅผ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ Edge์— ๋ฐฉํ–ฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋Š” ๋งค์šฐ ์šฐ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์•„์ง๊นŒ์ง€๋Š” ๊ทธ๋ž˜ํ”„๊ฐ€ ์•ฝ๊ฐ„์€ ์ถ”์ƒ์ ์œผ๋กœ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค์Œ ์„น์…˜๋ถ€ํ„ฐ๋Š” ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


Part 1. Graphs and where to find them

๊ทธ๋ž˜ํ”„์˜ ํ˜•ํƒœ๋ผ๊ณ  ํ•˜๋ฉด ์•„๋งˆ๋„ SNS์˜ ์†Œ์…œ ๋„คํŠธ์›Œํฌ๋ฅผ ๋– ์˜ฌ๋ฆฌ๋Š” ๋ถ„์ด ๊ณ„์‹ค์ง€ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ž˜ํ”„๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ ํ‘œํ˜„์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ๊ทธ๋ž˜ํ”„๋กœ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์™€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์ด์•ผ๊ธฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ๋ฅผ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋กœ ๋ณด๋ฉด ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ์˜ ๋Œ€์นญ์„ฑ๊ณผ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋‚˜์ค‘์— ์„ค๋ช…ํ•  ๋‹ค๋ฅธ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ์—๋„ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์–ด์š”.


Image as graphs

์ผ๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ด๋ฏธ์ง€ ์ฑ„๋„2์ด ์žˆ๋Š” ์ง์‚ฌ๊ฐํ˜• ๊ฒฉ์ž๋กœ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  244 X 244 X 3๊ณผ ๊ฐ™์ด ๋ฐฐ์—ด(array)๋กœ ํ‘œํ˜„ํ•˜์ฃ . ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ๊ฐ๊ฐ์˜ ํ”ฝ์…€์„ Node๋กœ ์ƒ๊ฐํ•˜๊ณ  ์ธ์ ‘ํ•œ ํ”ฝ์…€ ์‚ฌ์ด๋ฅผ Edge๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ์ฃ . ์ด๋ฅผํ…Œ๋ฉด ๊ฐ€์žฅ์ž๋ฆฌ์— ์œ„์น˜ํ•˜์ง€ ์•Š์€ ํ”ฝ์…€์€ 8๊ฐœ์˜ ์ด์›ƒ ํ”ฝ์…€์„ ๊ฐ€์งˆ ๊ฒ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”ฝ์…€์˜ RGB ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” 3์ฐจ์› vector๋Š” ๊ฐ๊ฐ์˜ Node์— ์ €์žฅ๋  ๊ฑฐ๊ณ ์š”.

๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ์„ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ์ธ์ ‘ ํ–‰๋ ฌ์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์—์„œ๋Š” ์›ƒ๋Š” ์–ผ๊ตด์˜ ํ”ฝ์…€ ์ด๋ฏธ์ง€(5X5)๋ฅผ ๊ฐ€์ง€๊ณ  ์ธ์ ‘ ํ–‰๋ ฌ์„ ๋งŒ๋“ค์–ด๋ดค์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ 25ํ”ฝ์…€์”ฉ Node๋ฅผ ์ •๋ ฌ(0-0๋ถ€ํ„ฐ 4-4๊นŒ์ง€)ํ•˜๊ณ , ๋‘ Node๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ธ์ ‘ ํ–‰๋ ฌ์˜ ์นธ์„ ์ฑ„์› ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์„ธ ํ‘œํ˜„ ๋ฐฉ์‹์€ ๋ชจ๋‘ ๋™์ผํ•œ ์ด๋ฏธ์ง€๋ฅผ ํ‘œํ˜„ํ•œ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.


Text as graphs

ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์—์„œ๋Š” ๊ฐ๊ฐ์˜ ๋‹จ์–ด, ๋ฌธ์ž, ํ† ํฐ3์„ Node ์‚ผ์•„ ์—ฐ๊ฒฐํ•ด์„œ ๊ทธ๋ž˜ํ”„ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์ž๊ฐ€ Node๊ฐ€ ๋˜๊ณ  Edge๋ฅผ ํ†ตํ•ด ๊ทธ๋‹ค์Œ Node๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๋ฐฉํ–ฅ์„ฑ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ฃ .

์ฐธ๊ณ ๋กœ ์ด๋ ‡๊ฒŒ ๋ฌธ์ž ํ† ํฐ์˜ ์‹œํ€€์Šค๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ RNN์—์„œ ํ…์ŠคํŠธ๋ฅผ ํฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํŠธ๋žœ์Šคํฌ๋จธ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ชจ๋ธ์—์„œ๋Š” ํ…์ŠคํŠธ๋ฅผ ์™„์ „ํžˆ ์—ฐ๊ฒฐ๋œ ๊ทธ๋ž˜ํ”„๋กœ ๋ณด๊ณ  ํ† ํฐ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์œ„์—์„œ ์ด์•ผ๊ธฐํ•œ ๋ฐฉ์‹์ด ์‹ค์ œ๋กœ ํ…์ŠคํŠธ์™€ ์ด๋ฏธ์ง€๊ฐ€ ์ธ์ฝ”๋”ฉ ๋˜๋Š” ๋ฐฉ์‹์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ชจ๋“  ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋“ค์€ ๋งค์šฐ ๊ทœ์น™์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์— ์œ„์™€ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„ ํ‘œํ˜„์€ ๋ถˆํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด ์ด๋ฏธ์ง€๋Š” ๋ชจ๋“  ํ”ฝ์…€๋“ค์ด ์„œ๋กœ ์ด์›ƒํ•ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ ‘ ํ–‰๋ ฌ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋  ๋ชจ์–‘์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ์ผ๋ฐฉํ–ฅ์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ ‘ ํ–‰๋ ฌ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋Œ€๊ฐ์„ ์œผ๋กœ๋งŒ ๋‚˜์˜ค์ฃ .


Graph-valued data in the wild

๊ทธ๋ž˜ํ”„๋Š” ์ต์ˆ™ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์ฐธ์œผ๋กœ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ์กฐ๊ธˆ ๋” ์ด์งˆ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋กœ ๋„˜์–ด๊ฐ€ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ๋ถ€ํ„ฐ ๋‚˜์˜ฌ ๋ฐ์ดํ„ฐ๋“ค์€ ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ์ฒ˜๋Ÿผ ์ด์›ƒ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ณ ์ •๋˜์–ด์žˆ์ง€ ์•Š๊ณ  ๊ฐ Node๋ณ„๋กœ ์ด์›ƒ ์ˆ˜๊ฐ€ ๊ฐ€๋ณ€์ ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฐ์ดํ„ฐ๋“ค์€ ๊ทธ๋ž˜ํ”„ ๋ง๊ณ  ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.


  1. ๊ทธ๋ž˜ํ”„๋กœ ๋ณด๋Š” ๋ถ„์ž

๋ถ„์ž๋Š” ์›์ž์™€ ์ „์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ๋ฌผ์งˆ์˜ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์ž…์ž๋Š” ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€๋งŒ ํ•œ ์Œ์˜ ์›์ž๊ฐ€ ์„œ๋กœ ์•ˆ์ •๋œ ๊ฑฐ๋ฆฌ์— ๋ถ™์–ด ์žˆ์œผ๋ฉด ์šฐ๋ฆฌ๋Š” ๊ณต์œ  ๊ฒฐํ•ฉ์„ ํ˜•์„ฑํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ ๊ฒฐํ•ฉ์€ ๋‘ ์›์ž ์‚ฌ์ด์— ๊ณต์œ ํ•˜๋Š” ์ „์ž ์Œ์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด ๋‹จ์ผ๊ฒฐํ•ฉ์€ ํ•œ ์Œ, ์ด์ค‘๊ฒฐํ•ฉ์€ ๋‘ ์Œ, ์‚ผ์ค‘๊ฒฐํ•ฉ์€ ์„ธ ์Œ์˜ ์ „์ž๋ฅผ ๊ณต์œ ํ•˜์ฃ . ๊ฒฐํ•ฉ์˜ ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๊ฒฐํ•ฉ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ์งง์•„์ง€๊ณ  ๊ทธ ์„ธ๊ธฐ๋Š” ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 3D๋กœ ํ‘œํ˜„๋œ ๋ถ„์ž ๊ฐœ์ฒด๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ์„ค๋ช…ํ•˜๋Š” ๊ฑด ๋งค์šฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์ž ๊ทธ๋ž˜ํ”„์—์„œ Node๋Š” ์›์ž์ด๊ณ  Edge๋Š” ๊ฒฐํ•ฉ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์œ„์—๋Š” ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ๋ถ„์ž4๋ฅผ ๊ฐ€์ง€๊ณ  ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•œ ์ž๋ฃŒ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


  1. ๊ทธ๋ž˜ํ”„๋กœ ๋ณด๋Š” ์†Œ์…œ ๋„คํŠธ์›Œํฌ

์†Œ์…œ ๋„คํŠธ์›Œํฌ๋Š” ์‚ฌ๋žŒ๊ณผ ๊ธฐ๊ด€, ๊ทธ๋ฆฌ๊ณ  ์กฐ์ง์˜ ์ง‘๋‹จํ–‰๋™ ํŒจํ„ด์„ ์—ฐ๊ตฌํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ์„ Node๋กœ, ๊ด€๊ณ„๋ฅผ Edge๋กœ ๋ชจ๋ธ๋งํ•˜๋ฉด ์‚ฌ๋žŒ๋“ค์˜ ๊ทธ๋ฃน์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์ด๋ฏธ์ง€๋Š” ์—ฐ๊ทน ์˜ค๋ธ๋กœ์˜ ์บ๋ฆญํ„ฐ ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ์„ ์ธ์ ‘ ํ–‰๋ ฌ๊ณผ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•œ ๊ฒ๋‹ˆ๋‹ค.


  1. ๊ทธ๋ž˜ํ”„๋กœ ๋ณด๋Š” ์ธ์šฉ ๋„คํŠธ์›Œํฌ

๊ณผํ•™์ž๋“ค์€ ๋…ผ๋ฌธ์„ ๋ฐœํ‘œํ•  ๋•Œ ๋‹ค๋ฅธ ๊ณผํ•™์ž์˜ ์—ฐ๊ตฌ๋ฅผ ์ผ์ƒ์ ์œผ๋กœ ์ธ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ธ์šฉ ๋„คํŠธ์›Œํฌ ์—ญ์‹œ ๊ทธ๋ž˜ํ”„๋กœ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋…ผ๋ฌธ์€ Node๋กœ ํ‘œํ˜„ํ•˜๊ณ , Node์™€ Node๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” Edge๋Š” ํ•œ ๋…ผ๋ฌธ๊ณผ ๋‹ค๋ฅธ ๋…ผ๋ฌธ ์‚ฌ์ด์˜ ์ธ์šฉ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์ฃ . ๋˜ํ•œ ๊ฐ Node์— ์ดˆ๋ก์˜ ๋‹จ์–ด๋ฅผ ์ž„๋ฒ ๋”ฉํ•˜๋Š” ๋“ฑ ๊ฐ ๋…ผ๋ฌธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.


  1. ๊ทธ ์™ธ

์ปดํ“จํ„ฐ ๋น„์ „(CV, Computer Vision)์—์„œ๋Š” ์‹œ๊ฐ์  ์žฅ๋ฉด์— ํฌํ•จ๋œ ๊ฐ์ฒด์— ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๊ฐ์ฒด๋ฅผ Node๋กœ, ๊ฐ์ฒด ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ Edge๋กœ ์ฒ˜๋ฆฌํ•ด์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ, ์ˆ˜์‹ ์—ญ์‹œ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—” ๋ณ€์ˆ˜๋ฅผ Node๋กœ ์—ฐ์‚ฐ์„ Edge๋กœ ๋ณด๋ฉด ๋˜์ฃ . Tensorflow ๋“ฑ์—์„œ ๋“ฑ์žฅํ•˜๋Š” Dataflow graph(๋ฐ์ดํ„ฐ ํ๋ฆ„๋„)๊ฐ€ ๋ฐ”๋กœ ๊ทธ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

ํ˜„์‹ค ์„ธ๊ณ„์— ์กด์žฌํ•˜๋Š” ๊ทธ๋ž˜ํ”„๋“ค์˜ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ์–ด๋–ค ๊ทธ๋ž˜ํ”„์—์„  Node๊ฐ€ ๋งŽ์ง€๋งŒ ์„œ๋กœ ์—ฐ๊ฒฐ์ด ์ ์„ ์ˆ˜๋„ ์žˆ๊ณ , ๋˜ ์–ด๋–ค ๊ทธ๋ž˜ํ”„์—์„  Node๋Š” ์ ์ง€๋งŒ ์—ฐ๊ฒฐ์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์„ ์ˆ˜๋„ ์žˆ์ฃ . ๊ทธ๋ž˜์„œ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ์…‹์€ Node, Edge, Node์˜ ์—ฐ๊ฒฐ์„ฑ ๋“ฑ์˜ ์ธก๋ฉด์„ ๊ณ ๋ คํ–ˆ์„ ๋•Œ ๋งค์šฐ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Footnotes

  1. ์ด ๊ธ€์€ 2021๋…„ 9์›” 2์ผ์— ์ถœ๊ฐ„๋˜์—ˆ์Šต๋‹ˆ๋‹คโ†ฉ๏ธŽ

  2. ํ”ฝ์…€์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ƒ‰์ƒ ์ •๋ณดโ†ฉ๏ธŽ

  3. ๋ฌธ๋ฒ•์ ์œผ๋กœ ๋” ์ด์ƒ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋Š” ์–ธ์–ด์š”์†Œโ†ฉ๏ธŽ

  4. Citronellal ๋ถ„์žโ†ฉ๏ธŽ