What types of problems have graph structured data?
μμμ Part 1μμλ κ·Έλνμ λͺλͺ μ¬λ‘λ₯Ό μ€λͺ νμ΅λλ€. μ΄λ° λ°μ΄ν°λ₯Ό νμ©ν΄μ μ΄λ€ μμ μ μνν μ μμκΉμ? κ·Έλνμ λν μμΈ‘ μμ μ ν¬κ² 3κ°μ§ λ λ²¨λ‘ λλ μ μμ΅λλ€. κ·Έλν μμ€, Node μμ€, Edge μμ€ μ΄λ κ² λ§μ΄μ£ .
κ·Έλν μμ€μμλ μ 체 κ·Έλνμ λν΄μ λ¨μΌ μμ±μ μμΈ‘ν©λλ€. Node μμ€μμλ κ° Nodeκ° κ°μ§κ³ μλ μΌλΆ μμ±μ μμΈ‘ν©λλ€. Edge μμ€μμλ κ·Έλνμμ Edge μμ±μ μ΄λ νμ§, λλ Edgeκ° μ‘΄μ¬νλμ§ μ¬λΆλ₯Ό μμΈ‘ν©λλ€. μ΄ μΈ κ°μ§ μμ€μ μμΈ‘ λ¬Έμ λ λ¨μΌ λͺ¨λΈ ν΄λμ€μΈ GNNμΌλ‘ λ€ ν΄κ²°ν μ μμ΅λλ€. λ¨Όμ μΈ κ°μ§ μμ€ λ³λ‘ ꡬ체μ μΈ μμλ₯Ό ν΅ν΄ μ‘°κΈ λ μμΈν μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
Graph-level task
κ·Έλν μμ€μμμ λͺ©νλ μ 체 κ·Έλνμ μμ±μ μμΈ‘νλ κ²μ λλ€. μλ₯Ό λ€λ©΄ λΆμμμ κ·Έλνλ‘ ννν κ²½μ°μ, λΆμκ° μ΄λ€ λμλ₯Ό νκΈ°λμ§ νΉμ μ§λ³κ³Ό κ΄λ ¨λ μμ©μ²΄μ κ²°ν©ν μ§λ₯Ό μμΈ‘ν μ μμ£ .
μ΄λ¬ν μ κ·Όλ°©μμ λΌλ²¨μ μ΄λ―Έμ§μ μ°κ²°νλ MNIST, CIFARμ μ΄λ―Έμ§ λΆλ₯ λ¬Έμ μ λΉμ·ν©λλ€. ν μ€νΈ λ°μ΄ν°λ‘ 보μλ©΄, μ 체 λ¬Έμ₯μ λΆμκΈ°λ κ°μ μ νμ νλ μ΄λ₯Έλ° κ°μ λΆμμ΄ λΉμ·ν μ κ·Όμ΄λΌκ³ ν μ μμ κ²λλ€.
Node-level task
Node μμ€μ μμΈ‘ μμ μ νλμ κ·Έλν μμμ κ° Nodeμ νΉμ±μ΄λ μν μ μμΈ‘νλ κ² μ£Όλͺ©μ μ λλ€.
Node μμ€ μμΈ‘ λ¬Έμ μ λνμ μΈ μλ βμ¬μ»€λ¦¬ κ°λΌν ν΄λ½ λ°μ΄ν°βμ λλ€. μ 컀리 κ°λΌν ν΄λ½ λ°μ΄ν°λ ν΄λ½ λ΄ μ μΉμ λΆνλ‘ ν΄λ½μ΄ λλ‘ κ°λΌμ§λ©΄μ, ν κ³³μλ§ μΆ©μ±μ λ§ΉμΈν μ¬λλ€λ‘ ꡬμ±λ μμ λ€νΈμν¬ κ·Έλνμ λλ€. μ‘°κΈ λ μ€ν 리λ₯Ό μ€λͺ νμλ©΄ κ°λΌν κ°μ¬ Mr. Hiμ κ΄λ¦¬μ John A μ¬μ΄μ λΆνκ° μ겨 κ°λΌν ν΄λ½μ΄ λΆμ΄λ©λλ€. νμμ μ λ° κ°λμ΄ Mr. Hiλ₯Ό μ€μ¬μΌλ‘ μλ‘μ΄ κ°λΌν ν΄λ½μ κ²°μ±νκ² λμ£ .
μ¬νΌ κ·Έλνμμ Nodeλ κ°λ³ κ°λΌν μλ ¨μμ λνλ΄κ³ , Edgeλ κ°λΌν ν΄λ½ λ°μμμ νμλ€ κ°μ μνΈ μμ©μ λνλ λλ€. μ¬κΈ°μ μμΈ‘λ¬Έμ λ λΆν μ΄ν νΉμ νμμ΄ Mr. Hiμ John A μ€ μ΄λ μͺ½μ μΆ©μ±νκ² λ μ§ λΆλ₯νλ κ±°μ£ . μ΄ κ²½μ° νΉμ Nodeμ Mr. Hiμμ 거리, νΉμ John Aμμ 거리λ μΆ©μ±λμ λμ μκ΄κ΄κ³κ° μμ΅λλ€.
μ΄λ―Έμ§ λΆμμ λΉμ λ₯Ό ν΄λ³΄μλ©΄, Node μμ€μ μμΈ‘ λ¬Έμ λ μ΄λ―Έμ§ μμμ κ° ν½μ μ μν μ λ μ΄λΈμ μ§μ νλ μ΄λ―Έμ§ λΆν (image segmentation)κ³Ό μ μ¬ν μ κ·Όμ λλ€. ν μ€νΈ λΆμμμλ λ¬Έμ₯ μμμ κ° λ¨μ΄μ νμ¬λ₯Ό μμΈ‘νλ κ²κ³Ό λΉμ·νμ£ .
Edge-level task
λ§μ§λ§μΌλ‘ λ¨μ μμΈ‘ λ¬Έμ λ Edge μμΈ‘μ λλ€.
Edge μμ€μ μμΈ‘μ ν κ°μ§ μλ μ΄λ―Έμ§ μ₯λ©΄ μ΄ν΄(Image scene understanding)μ λλ€. λ₯λ¬λ λͺ¨λΈμ μ΄λ―Έμ§μμ κ°μ²΄λ₯Ό μλ³νλ κ² μΈμλ κ°μ²΄ κ°μ κ΄κ³λ₯Ό μμΈ‘νλ λ° μ¬μ©ν μ μμ΅λλ€. μ΄λ₯Ό Edge μμ€ λΆλ₯λΌκ³ ννν μ μμ£ . μ΄λ―Έμ§μ κ°μ²΄(Node)λ€μ΄ μ£Όμ΄μ§λ©΄ Node κ°μ΄λ° μ΄λ€ Nodeκ° Edgeλ₯Ό μλ‘ κ³΅μ νλμ§, νΉμ κ·Έ Edgeμ κ°μ΄ 무μμΈμ§ μμΈ‘ν©λλ€. κ° κ°μ²΄ κ°μ μ°κ²°μ λ°κ²¬νκΈ° μν΄μ κ·Έλνλ₯Ό μμ κ·Έλν(Complete graph, λͺ¨λ Nodeκ°μ Edgeκ° μ‘΄μ¬νλ κ·Έλν)λ‘ μ€μ ν λ€ μμΈ‘λ κ°μ λ°λΌ Edgeλ₯Ό μλΌλ΄λ©΄μ ν¬μ κ·Έλν(Sparse graph, Node κ°μλ³΄λ€ Edge κ°μκ° μ μ κ·Έλν)μ λλ¬ν μ μμ΅λλ€.
The challenges of using graphs in machine learning
κ·Έλ λ€λ©΄ μ κ²½λ§μ ν΅ν΄ μμμ μ΄ν΄λ³Έ λ€μν κ·Έλν μμ μ ν΄κ²°νλ €λ©΄ μ΄λ»κ² ν΄μΌ ν κΉμ? κ°μ₯ λ¨Όμ ν΄μΌ ν 건 μ κ²½λ§κ³Ό νΈνλλλ‘ κ·Έλνλ₯Ό μ΄λ»κ² ννν μ§ μκ°νλ κ²λλ€.
λ¨Έμ λ¬λ λͺ¨λΈμ μΌλ°μ μΌλ‘ μ§μ¬κ°νμ΄λ 격μλͺ¨μμ λ°°μ΄μ input κ°μΌλ‘ λ°μ΅λλ€. λ°λΌμ μ΄λ₯Ό λ₯λ¬λκ³Ό νΈνλλ νμμΌλ‘ νννλ λ°©λ²μ μ§κ΄μ μ΄μ§ μμ μ μμ΅λλ€. κ·Έλνμλ Node, Edge, κΈλ‘λ² μ»¨ν μ€νΈ, μ°κ²°μ± λ± μμΈ‘μ μ μ¬μ μΌλ‘ μ¬μ©ν μ μλ 4κ°μ μ λ³΄κ° μμ΅λλ€. μμ 3κ°λ λΉκ΅μ κ°λ¨ν©λλ€. μλ₯Ό λ€μ΄μ Nodeμ κ²½μ° κ°κ°μ Nodeμ μΈλ±μ€ \(i\)λ₯Ό ν λΉνκ³ \(node_i\)μ νΉμ§μ Node νΉμ§ νλ ¬(Node feature matrix) \(N\)μ λ£μ μ μμ κ²λλ€. μ΄λ¬ν νλ ¬μλ λ€μν μκ° μμ§λ§ νΉλ³ν κΈ°μ μ΄ λ€μ΄κ° νμ μμ΄ μ²λ¦¬ν μ μμ΅λλ€.
νμ§λ§ κ·Έλνμ μ°κ²°μ±μ νννλ 건 볡μ‘ν©λλ€. μλ§λ κ°μ₯ νμ€ν λ°©λ²μ μ½κ² ν μν(Tensorisable)ν μ μλ μΈμ νλ ¬μ μ¬μ©νλ κ²μΌ κ²λλ€. νμ§λ§ μ΄ λ°©λ²μ λͺ κ°μ§ λ¨μ μ΄ μμ΅λλ€. μ΄λ€ κ·Έλνμ Node μλ μλ°±λ§ κ°μ λ¬ν μ μμ΅λλ€. κ·Έλ¦¬κ³ Nodeλ³ Edge μλ λ§€μ° κ°λ³μ μ΄μ£ . μ΄λ‘ μΈν΄ μΈμ νλ ¬μ ν¬μ νλ ¬(Sparse matrix)μ΄ λ κ°λ₯μ±μ΄ λμ 곡κ°μ΄ λΉν¨μ¨μ μΈ κ²½μ°κ° λ§μ΅λλ€.
λ λ€λ₯Έ λ¬Έμ λ λμΌν μ°κ²°μ±μ μΈμ½λ©ν μ μλ μΈμ νλ ¬μ΄ λ§λ€λ κ²λλ€. λμΌν μ°κ²°μ±μ λνλ΄μ§λ§ λ€λ₯Έ λͺ¨μμ μΈμ νλ ¬μ΄ μ¬μΈ΅ μ κ²½λ§μμ λμΌν κ²°κ³Όλ₯Ό μμ±νλ€λ 보μ₯μ΄ μμ£ . μ¦ λ€μ λ§ν΄ μμ΄ λΆλ³(Permutation invariance, μ λ ₯ λ²‘ν° μμμ μμμ μκ΄μμ΄ κ°μ μΆλ ₯μ μμ±νλ νΉμ±)μ΄ μλλΌλ κ²λλ€. μλ₯Ό λ€μ΄μ μμ μ€λͺ ν μ€μ λ‘ κ·Έλνλ μλ λ μΈμ νλ ¬λ‘ ννν μ μμ΅λλ€.
μλ μλ 4κ°μ Nodeλ‘ κ΅¬μ±λ μμ κ·Έλνλ₯Ό ννν μ μλ λͺ¨λ μΈμ νλ ¬μ λνλΈ κ²λλ€. μΈμ νλ ¬μ κ°μλ \(4! = 24\)κ°λ‘, μλΉν μκ° λμ΅λλ€. μ€μ λ‘ κ·Έλνμ κ°μ΄ λ ν° λ°μ΄ν°μμλ μΈμ νλ ¬μ μλ μμ²λκ² λμ΄λ κ²λλ€.
λ©λͺ¨λ¦¬ ν¨μ¨μ κ³ λ €νλ€λ©΄ μΈμ μ± λͺ©λ‘μΌλ‘ ν¬μ νλ ¬(sparse matrices)μ ννν μλ μμ΅λλ€. μΈμ μ± λͺ©λ‘μ kλ²μ§Έ νλͺ©μλ Node \(n_i\)μ Node \(n_j\) μ¬μ΄μ Edge \(e_k\)μ μ°κ²°μ±μ λνλ λλ€. ν¬μ νλ ¬μ΄λλ§νΌ Edge μκ° νλ ¬μ νλͺ© μ \(n^2_{nodes}\)) λ³΄λ€ ν¨μ¬ μ μ ν κ³ , κ·Έλ§νΌ κ·Έλνμμ μ°κ²°λμ΄ μμ§ μλ λΆλΆμ λν κ³μ°κ³Ό μ μ₯μ νΌν μ μμ΅λλ€. μμμμ λ³Έ κ·Έλ¦Όμμλ Node, Edge, Globalμ μ€μΉΌλΌ κ°μ μ¬μ©νμ§λ§, λλΆλΆμ μ€μ ν μ ννμμλ κ·Έλνμ κ° μμ±λΉ 벑ν°λ₯Ό μ¬μ©ν©λλ€.