[Graph] 3์žฅ. Graph Node Embedding Methods

Posted by Euisuk's Dev Log on July 18, 2024

[Graph] 3์žฅ. Graph Node Embedding Methods

์›๋ณธ ๊ฒŒ์‹œ๊ธ€: https://velog.io/@euisuk-chung/Graph-Node-Embedding-Methods

1. ๊ทธ๋ž˜ํ”„ ๋…ธ๋“œ ์ž„๋ฒ ๋”ฉ์˜ ํ•„์š”์„ฑ

  • ๊ทธ๋ž˜ํ”„ ๋…ธ๋“œ ์ž„๋ฒ ๋”ฉ์€ ๊ทธ๋ž˜ํ”„์˜ ๊ฐ ๋…ธ๋“œ๋ฅผ ์ €์ฐจ์› ๋ฒกํ„ฐ ๊ณต๊ฐ„์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
    • ์ด๋Š” ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๊ณ„ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.
  • ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์งˆ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    1. ์–ด๋–ค ์ •๋ณด(WHAT)๋ฅผ ์šฐ๋ฆฌ๋Š” ๋ณด์กด(preserve, embed)ํ•  ๊ฒƒ์ธ๊ฐ€?
    2. ์–ด๋–ป๊ฒŒ ์ •๋ณด(HOW)๋ฅผ ์ •๋ณด๋ฅผ ๋ณด์กดํ•  ๊ฒƒ์ธ๊ฐ€?
  • ์˜ˆ์‹œ:
    • ์†Œ์…œ ๋„คํŠธ์›Œํฌ์—์„œ ๊ฐ ์‚ฌ์šฉ์ž๋ฅผ 100์ฐจ์›์˜ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค.
    • ์ด ๋ฒกํ„ฐ๋Š” ์‚ฌ์šฉ์ž์˜ ํŠน์„ฑ(๋‚˜์ด, ๊ด€์‹ฌ์‚ฌ ๋“ฑ)๊ณผ ๋„คํŠธ์›Œํฌ ๋‚ด ์œ„์น˜(์นœ๊ตฌ ๊ด€๊ณ„, ์ปค๋ฎค๋‹ˆํ‹ฐ ๋“ฑ)๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ์ž„๋ฒ ๋”ฉ ๊ณผ์ •

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

3. ๋ณ€ํ™˜์ (Transductive) vs ๊ท€๋‚ฉ์ (Inductive) ๋ฐฉ๋ฒ•

  • ๋ณ€ํ™˜์ (Transductive) ๋ฐฉ๋ฒ•

    • ์ •์˜ :
      • ํŠน์ • ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•ด ์ง์ ‘์ ์œผ๋กœ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ผ๋ฐ˜ํ™”๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
      • ๋ณ€ํ™˜์  ๋ฐฉ๋ฒ•์€ ํ•™์Šต ์‹œ์ ์— ๊ทธ๋ž˜ํ”„์˜ ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ๋ชจ๋“  ๋…ธ๋“œ(ํ•™์Šต์— ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋…ธ๋“œ ํฌํ•จ)์— ๋Œ€ํ•œ ์ž„๋ฒ ๋”ฉ์„ ํ•œ ๋ฒˆ์— ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
    • ํŠน์ง•
      • ์ „์ฒด ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
      • ํ•™์Šต ์‹œ ๋ณด์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ๋…ธ๋“œ์— ๋Œ€ํ•ด ์ง์ ‘์ ์œผ๋กœ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
      • ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์ „์ฒด ๋ชจ๋ธ์„ ๋‹ค์‹œ ํ•™์Šตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ์‹œ
      • ์†Œ์…œ ๋„คํŠธ์›Œํฌ์—์„œ 1000๋ช…์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์นœ๊ตฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค.
        • ๋ณ€ํ™˜์  ๋ฐฉ๋ฒ•์€ 1000๋ช… ์ „์ฒด์˜ ๊ด€๊ณ„๋ฅผ ํ•œ ๋ฒˆ์— ํ•™์Šตํ•˜์—ฌ ๊ฐ ์‚ฌ์šฉ์ž์˜ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
        • ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ž…ํ•˜๋ฉด, 1001๋ช…์— ๋Œ€ํ•ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ํ•™์Šตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์žฅ๋‹จ์ 
      • ์žฅ์ : ์ „์ฒด ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜๋ฏ€๋กœ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ์ž˜ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ๋‹จ์ : ์ƒˆ๋กœ์šด ๋…ธ๋“œ ์ถ”๊ฐ€ ์‹œ ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋†’๊ณ , ๋™์  ๊ทธ๋ž˜ํ”„์— ์ ์šฉํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜:
      • DeepWalk, Node2Vec
  • ๊ท€๋‚ฉ์ (Inductive) ๋ฐฉ๋ฒ•

    • ์ •์˜
      • ์ผ๋ฐ˜์ ์ธ ๊ทœ์น™์ด๋‚˜ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜์—ฌ ์ƒˆ๋กœ์šด, ๋ณด์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
      • ๊ท€๋‚ฉ์  ๋ฐฉ๋ฒ•์€ ๋…ธ๋“œ์˜ ํŠน์„ฑ๊ณผ ์ง€์—ญ์  ์ด์›ƒ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๊ทœ์น™์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ทœ์น™์€ ์ƒˆ๋กœ์šด ๋…ธ๋“œ์—๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํŠน์ง•
      • ๋…ธ๋“œ์˜ ํŠน์„ฑ๊ณผ ์ง€์—ญ์  ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
      • ํ•™์Šต ์‹œ ๋ณด์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ๋…ธ๋“œ์— ๋Œ€ํ•ด์„œ๋„ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ๋ชจ๋ธ์„ ๋‹ค์‹œ ํ•™์Šตํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
    • ์˜ˆ์‹œ
      • ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์†Œ์…œ ๋„คํŠธ์›Œํฌ์—์„œ 1000๋ช…์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์นœ๊ตฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค.
        • ๊ท€๋‚ฉ์  ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœํ•„ ์ •๋ณด์™€ ์ง์ ‘์ ์ธ ์นœ๊ตฌ ๊ด€๊ณ„๋งŒ์„ ์ด์šฉํ•˜์—ฌ ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ ๊ทœ์น™์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
        • ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ž…ํ•˜๋ฉด, ํ•™์Šต๋œ ๊ทœ์น™์„ ์ ์šฉํ•˜์—ฌ ์ฆ‰์‹œ ์ƒˆ ์‚ฌ์šฉ์ž์˜ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์žฅ๋‹จ์ 
      • ์žฅ์ : ์ƒˆ๋กœ์šด ๋…ธ๋“œ์— ๋Œ€ํ•ด ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋™์  ๊ทธ๋ž˜ํ”„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
      • ๋‹จ์ : ์ „์ฒด ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋ฅผ ์™„์ „ํžˆ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์–ด, ์ผ๋ถ€ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ํฌ์ฐฉํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜:
      • GraphSAGE
  • ์ฐจ์ด์  (inductive vs transductive in graph learning)

    1. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ:
      • Transductive: ์ „์ฒด ๊ทธ๋ž˜ํ”„๋ฅผ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌ
      • Inductive: ๋…ธ๋“œ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
    2. ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ:
      • Transductive: ์ƒˆ ๋…ธ๋“œ ์ถ”๊ฐ€ ์‹œ ์žฌํ•™์Šต ํ•„์š”
      • Inductive: ์ƒˆ ๋…ธ๋“œ์— ๋ฐ”๋กœ ์ ์šฉ ๊ฐ€๋Šฅ
    3. ์ ์šฉ ๋ฒ”์œ„:
      • Transductive: ํ•™์Šต ์‹œ ๋ณธ ๊ทธ๋ž˜ํ”„์— ํ•œ์ •
      • Inductive: ์ƒˆ๋กœ์šด ๊ทธ๋ž˜ํ”„๋‚˜ ๋…ธ๋“œ์—๋„ ์ ์šฉ ๊ฐ€๋Šฅ

์ถœ์ฒ˜: https://data-science-notes.tistory.com/1

  • Transductive Learning (์™ผ์ชฝ ์ด๋ฏธ์ง€)

    1. ํ•™์Šต ๋‹จ๊ณ„:
      • ์ „์ฒด ๊ทธ๋ž˜ํ”„(๋ชจ๋“  ๋…ธ๋“œ์™€ ์—ฃ์ง€)๊ฐ€ ํ•™์Šต ์‹œ์ ์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
      • ์ผ๋ถ€ ๋…ธ๋“œ(ํŒŒ๋ž€์ƒ‰๊ณผ ์ฒญ๋ก์ƒ‰)์˜ ๋ ˆ์ด๋ธ”์€ ์•Œ๋ ค์ ธ ์žˆ๊ณ , ๋‹ค๋ฅธ ๋…ธ๋“œ(๋ฌผ์Œํ‘œ๋กœ ํ‘œ์‹œ)์˜ ๋ ˆ์ด๋ธ”์€ ์˜ˆ์ธกํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    2. ์˜ˆ์ธก ๋‹จ๊ณ„:
      • ํ•™์Šต๋œ ๋ชจ๋ธ์€ ํ•™์Šต ์‹œ ๋ณด์•˜๋˜ ๊ทธ๋ž˜ํ”„์˜ ๋ ˆ์ด๋ธ”์ด ์—†๋Š” ๋…ธ๋“œ(๋ฌผ์Œํ‘œ)์— ๋Œ€ํ•ด ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
      • ์ƒˆ๋กœ์šด ๋…ธ๋“œ๋‚˜ ์—ฃ์ง€๋Š” ๊ณ ๋ ค๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    3. ํŠน์ง•:
      • ์ „์ฒด ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
      • ํ•™์Šต ์‹œ ๋ณด์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ๋…ธ๋“œ์— ๋Œ€ํ•ด์„œ๋Š” ์ง์ ‘์ ์œผ๋กœ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • Inductive Learning (์˜ค๋ฅธ์ชฝ ์ด๋ฏธ์ง€)

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

        a) ๊ธฐ์กด ๊ทธ๋ž˜ํ”„์— ์ƒˆ๋กœ์šด ๋…ธ๋“œ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒฝ์šฐ

        b) ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๊ทธ๋ž˜ํ”„์— ์ ์šฉ๋˜๋Š” ๊ฒฝ์šฐ

    3. ํŠน์ง•:
      • ๋…ธ๋“œ์˜ ํŠน์„ฑ๊ณผ ์ง€์—ญ์  ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ผ๋ฐ˜ํ™”๋œ ๊ทœ์น™์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
      • ํ•™์Šต ์‹œ ๋ณด์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ๋…ธ๋“œ๋‚˜ ๊ทธ๋ž˜ํ”„์— ๋Œ€ํ•ด์„œ๋„ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

4. DeepWalk ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • DeepWalk ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ทธ๋ž˜ํ”„์˜ ๋…ธ๋“œ๋ฅผ ์ €์ฐจ์› ๋ฒกํ„ฐ ๊ณต๊ฐ„์œผ๋กœ ์ž„๋ฒ ๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ฃผ์š” ๋‹จ๊ณ„๋ฅผ ์Šˆ๋„ ์ฝ”๋“œ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:
    • DeepWalk ์•Œ๊ณ ๋ฆฌ์ฆ˜:
      1. ์ž…๋ ฅ: ๊ทธ๋ž˜ํ”„ G, ์›Œํฌ ๊ธธ์ด l, ์›Œํฌ ์ˆ˜ ฮณ, ์œˆ๋„์šฐ ํฌ๊ธฐ w, ์ž„๋ฒ ๋”ฉ ์ฐจ์› d
      2. ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ ฮฆ๋ฅผ ๋žœ๋ค์œผ๋กœ ์ดˆ๊ธฐํ™”
      3. ฮณ ๋ฒˆ ๋ฐ˜๋ณต:
        • ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ๋…ธ๋“œ v์— ๋Œ€ํ•ด:
          • RandomWalk(G, v, l)๋กœ ์›Œํฌ ์ƒ์„ฑ
          • SkipGram(ฮฆ, ์›Œํฌ, w)๋กœ ์ž„๋ฒ ๋”ฉ ์—…๋ฐ์ดํŠธ
      4. ์ตœ์ข… ์ž„๋ฒ ๋”ฉ ฮฆ ๋ฐ˜ํ™˜
  • DeepWalk๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค:
    • ๊ทธ๋ž˜ํ”„์˜ ๊ฐ ๋…ธ๋“œ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋žœ๋ค ์›Œํฌ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • ์ƒ์„ฑ๋œ ์›Œํฌ๋ฅผ ๋ฌธ์žฅ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ , Skip-gram ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋…ธ๋“œ ์ž„๋ฒ ๋”ฉ์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ณผ์ •์„ ํ†ตํ•ด ๊ทธ๋ž˜ํ”„์˜ ๊ตฌ์กฐ์  ์ •๋ณด๋ฅผ ๋ฒกํ„ฐ ๊ณต๊ฐ„์— ์ธ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค.

(์ฐธ๊ณ ) SKIP-GRAM

  • SKIPGRAM์€ Word2Vec์˜ ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ, ์ฃผ์–ด์ง„ ๋‹จ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฃผ๋ณ€ ๋‹จ์–ด๋“ค์„ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ž‘๋™ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

    1. ์ค‘์‹ฌ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค.
    2. ์€๋‹‰์ธต์„ ํ†ต๊ณผ์‹œ์ผœ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    3. ์ด ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์ฃผ๋ณ€ ๋‹จ์–ด๋“ค์„ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.
    4. ์‹ค์ œ ์ฃผ๋ณ€ ๋‹จ์–ด์™€ ์˜ˆ์ธก๋œ ๋‹จ์–ด ๊ฐ„์˜ ์˜ค์ฐจ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋„๋ก ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • DEEPWALK์™€ SKIPGRAM์˜ ์œ ์‚ฌ์ :

    1. ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ:
      • SKIPGRAM: ๋ฌธ์žฅ ๋‚ด ๋‹จ์–ด ์‹œํ€€์Šค
      • DEEPWALK: ๊ทธ๋ž˜ํ”„์—์„œ ์ƒ์„ฑ๋œ ๋žœ๋ค ์›Œํฌ ์‹œํ€€์Šค๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    2. ํ•™์Šต ๋ชฉํ‘œ:
      • SKIPGRAM: ์ค‘์‹ฌ ๋‹จ์–ด๋กœ ์ฃผ๋ณ€ ๋‹จ์–ด ์˜ˆ์ธก
      • DEEPWALK: ํ˜„์žฌ ๋…ธ๋“œ๋กœ ์ฃผ๋ณ€ ๋…ธ๋“œ ์˜ˆ์ธก๋‘˜ ๋‹ค ์ค‘์‹ฌ ์š”์†Œ๋ฅผ ํ†ตํ•ด ์ฃผ๋ณ€ ์š”์†Œ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
    3. ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ:
      • ๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ์ €์ฐจ์› ๋ฒกํ„ฐ ๊ณต๊ฐ„์— ์š”์†Œ(๋‹จ์–ด ๋˜๋Š” ๋…ธ๋“œ)๋ฅผ ์ž„๋ฒ ๋”ฉํ•ฉ๋‹ˆ๋‹ค.
    4. ์ปจํ…์ŠคํŠธ ํ™œ์šฉ:
      • SKIPGRAM: ๋‹จ์–ด์˜ ์ฃผ๋ณ€ ์ปจํ…์ŠคํŠธ ํ™œ์šฉ
      • DEEPWALK: ๋…ธ๋“œ์˜ ์ด์›ƒ ๊ด€๊ณ„(๋žœ๋ค ์›Œํฌ๋กœ ์ƒ์„ฑ๋œ) ํ™œ์šฉ
    5. ํ•™์Šต ๋ฐฉ์‹:
      • ๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ๋„ค๊ฑฐํ‹ฐ๋ธŒ ์ƒ˜ํ”Œ๋ง์ด๋‚˜ ๊ณ„์ธต์  ์†Œํ”„ํŠธ๋งฅ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. Node2Vec ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • Node2Vec์€ DeepWalk๋ฅผ ํ™•์žฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ๋” ์œ ์—ฐํ•œ ๋ฌด์ž‘์œ„ ๋ณดํ–‰ ์ „๋žต์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    • Node2Vec ์•Œ๊ณ ๋ฆฌ์ฆ˜:
      1. ์ž…๋ ฅ: ๊ทธ๋ž˜ํ”„ G, ์ฐจ์› d, ์›Œํฌ ๊ธธ์ด l, ์›Œํฌ ์ˆ˜ r, ์ปจํ…์ŠคํŠธ ํฌ๊ธฐ k, ํŒŒ๋ผ๋ฏธํ„ฐ p, q
      2. ๊ฐ ๋…ธ๋“œ u์— ๋Œ€ํ•œ ์ „์ด ํ™•๋ฅ  ฯ€ ๊ณ„์‚ฐ
      3. ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ f๋ฅผ ๋žœ๋ค์œผ๋กœ ์ดˆ๊ธฐํ™”
      4. r ๋ฒˆ ๋ฐ˜๋ณต:
        • ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ๋…ธ๋“œ u์— ๋Œ€ํ•ด:
          • ๋…ธ๋“œ u์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ธธ์ด l์˜ ํŽธํ–ฅ๋œ ๋žœ๋ค ์›Œํฌ ์ƒ์„ฑ (ฯ€ ์‚ฌ์šฉ)
      5. ์ƒ์„ฑ๋œ ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Skip-gram์œผ๋กœ f ์ตœ์ ํ™”
      6. ์ตœ์ข… ์ž„๋ฒ ๋”ฉ f ๋ฐ˜ํ™˜
  • Node2Vec์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค:

    • DeepWalk์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๋žœ๋ค ์›Œํฌ ์ „๋žต์ด ๋” ์œ ์—ฐํ•ฉ๋‹ˆ๋‹ค.
      • ํŒŒ๋ผ๋ฏธํ„ฐ p์™€ q๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS)๊ณผ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS) ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค.
      • p๋Š” ๋˜๋Œ์•„๊ฐˆ ํ™•๋ฅ ์„, q๋Š” ๋ฉ€๋ฆฌ ํƒ์ƒ‰ํ•  ํ™•๋ฅ ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ ๋ฐ ๊ธ€๋กœ๋ฒŒ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋ฅผ ๋” ์ž˜ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Node2Vec๊ณผ DeepWalk์˜ ์ฃผ์š” ์ฐจ์ด์ :

    • ๋žœ๋ค ์›Œํฌ ์ „๋žต:
      • DeepWalk: ๋‹จ์ˆœํ•œ ๋ฌด์ž‘์œ„ ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
      • Node2Vec: ํŽธํ–ฅ๋œ(biased) ๋žœ๋ค ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ p์™€ q๋ฅผ ๋„์ž…ํ•˜์—ฌ ์›Œํฌ์˜ ํŠน์„ฑ์„ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค.
    • ํŒŒ๋ผ๋ฏธํ„ฐ:
      • DeepWalk: ํŠน๋ณ„ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด ๊ท ์ผํ•œ ํ™•๋ฅ ๋กœ ์ด์›ƒ ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      • Node2Vec: p(๋Œ์•„์˜ฌ ํ™•๋ฅ )์™€ q(๋ฉ€์–ด์งˆ ํ™•๋ฅ )๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›Œํฌ์˜ ํŠน์„ฑ์„ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค.
    • ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ ํƒ์ƒ‰:
      • DeepWalk: ๋กœ์ปฌ๊ณผ ๊ธ€๋กœ๋ฒŒ ๊ตฌ์กฐ๋ฅผ ๊ท ํ˜• ์žˆ๊ฒŒ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
      • Node2Vec: p์™€ q ๊ฐ’์— ๋”ฐ๋ผ ๋กœ์ปฌ(BFS-like) ๋˜๋Š” ๊ธ€๋กœ๋ฒŒ(DFS-like) ๊ตฌ์กฐ ํƒ์ƒ‰์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Node2Vec๊ณผ DFS(BFS)
    • Node2Vec์—์„œ q ๊ฐ’์„ ๋‚ฎ๊ฒŒ ์„ค์ •ํ•˜๋ฉด(q < 1), ์›Œํฌ๊ฐ€ ์‹œ์ž‘ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๋ฉ€์–ด์ง€๋Š” ๊ฒฝํ–ฅ์ด ๊ฐ•ํ•ด์ง‘๋‹ˆ๋‹ค. ์ด๋Š” DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)์™€ ์œ ์‚ฌํ•œ ๋™์ž‘์„ ๋ณด์ž…๋‹ˆ๋‹ค.
    • DFS๋Š” ํ•œ ๊ฒฝ๋กœ๋ฅผ ๊นŠ๊ฒŒ ํƒ์ƒ‰ํ•˜๋‹ค๊ฐ€ ๋ง‰ํžˆ๋ฉด ๋ฐฑํŠธ๋ž˜ํ‚นํ•˜์—ฌ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. Node2Vec์—์„œ q๋ฅผ ๋‚ฎ๊ฒŒ ์„ค์ •ํ•˜๋ฉด ํ˜„์žฌ ๋…ธ๋“œ์—์„œ ๋ฉ€๋ฆฌ ์žˆ๋Š” ๋…ธ๋“œ๋กœ ์ด๋™ํ•  ํ™•๋ฅ ์ด ๋†’์•„์ ธ, DFS์™€ ์œ ์‚ฌํ•œ ๊นŠ์ด ์žˆ๋Š” ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.
    • ๋ฐ˜๋ฉด, q ๊ฐ’์„ ๋†’๊ฒŒ ์„ค์ •ํ•˜๋ฉด(q > 1) BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)์™€ ์œ ์‚ฌํ•œ ๋™์ž‘์„ ๋ณด์ž…๋‹ˆ๋‹ค.

6. GraphSAGE ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • GraphSAGE ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์Šˆ๋„์ฝ”๋“œ์™€ ์ž‘๋™ ๋ฐฉ์‹์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
    1. ์ž…๋ ฅ:
      • ๊ทธ๋ž˜ํ”„ G, ๋…ธ๋“œ ํŠน์„ฑ X, ๊นŠ์ด K, ์ด์›ƒ ์ƒ˜ํ”Œ ํฌ๊ธฐ S, ๊ฐ€์ค‘์น˜ ๋งคํŠธ๋ฆญ์Šค W, ์ง‘๊ณ„ ํ•จ์ˆ˜ AGGREGATE
    2. ๊ฐ ๋…ธ๋“œ v์— ๋Œ€ํ•ด:
      • hv0=Xvh^0_v = X_vhv0โ€‹=Xvโ€‹ (์ดˆ๊ธฐ ๋…ธ๋“œ ํŠน์„ฑ)
    3. For k = 1 to K:
      • ๊ฐ ๋…ธ๋“œ v์— ๋Œ€ํ•ด:

        a. Nv=SampleNeighbors(v,S)N_v = SampleNeighbors(v, S)Nvโ€‹=SampleNeighbors(v,S) (v์˜ ์ด์›ƒ ์ค‘ S๊ฐœ ์ƒ˜ํ”Œ๋ง)

        b. hNk=AGGREGATE({hukโˆ’1ย forย uโˆˆNv})h^k_N = AGGREGATE({h^{k-1}_u \text{ for } u \in N_v})hNkโ€‹=AGGREGATE({hukโˆ’1โ€‹ย forย uโˆˆNvโ€‹}) (์ด์›ƒ ํŠน์„ฑ ์ง‘๊ณ„)

        c. hvk=ฯƒ(Wkโ‹…CONCAT(hvkโˆ’1,hNk))h^k_v = \sigma(W_k \cdot CONCAT(h^{k-1}_v, h^k_N))hvkโ€‹=ฯƒ(Wkโ€‹โ‹…CONCAT(hvkโˆ’1โ€‹,hNkโ€‹)) (์ž์‹ ๊ณผ ์ด์›ƒ ํŠน์„ฑ ๊ฒฐํ•ฉ ํ›„ ๋ณ€ํ™˜)

    4. ์ตœ์ข… ๋…ธ๋“œ ์ž„๋ฒ ๋”ฉ ๋ฐ˜ํ™˜:
      • zv=hvKz_v = h^K_vzvโ€‹=hvKโ€‹
  • GraphSAGE์˜ ์ž‘๋™ ๋ฐฉ์‹:
    1. ์ดˆ๊ธฐํ™”: ๊ฐ ๋…ธ๋“œ์˜ ์ดˆ๊ธฐ ํŠน์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    2. ์ด์›ƒ ์ƒ˜ํ”Œ๋ง: ๊ฐ ๋…ธ๋“œ์— ๋Œ€ํ•ด ๊ณ ์ •๋œ ์ˆ˜(S)์˜ ์ด์›ƒ์„ ๋ฌด์ž‘์œ„๋กœ ์ƒ˜ํ”Œ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€๊ทœ๋ชจ ๊ทธ๋ž˜ํ”„์—์„œ์˜ ๊ณ„์‚ฐ ํšจ์œจ์„ฑ์„ ์œ„ํ•œ ํ•ต์‹ฌ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.
    3. ์ •๋ณด ์ง‘๊ณ„: ์ƒ˜ํ”Œ๋ง๋œ ์ด์›ƒ์˜ ํŠน์„ฑ์„ AGGREGATE ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง‘๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ํ‰๊ท , ์ตœ๋Œ€๊ฐ’, LSTM ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    4. ํŠน์„ฑ ์—…๋ฐ์ดํŠธ: ํ˜„์žฌ ๋…ธ๋“œ์˜ ํŠน์„ฑ๊ณผ ์ง‘๊ณ„๋œ ์ด์›ƒ ํŠน์„ฑ์„ ๊ฒฐํ•ฉํ•˜๊ณ , ๊ฐ€์ค‘์น˜ ๋งคํŠธ๋ฆญ์Šค๋ฅผ ํ†ตํ•ด ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋น„์„ ํ˜• ํ™œ์„ฑํ™” ํ•จ์ˆ˜(ฯƒ)๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    5. ๋ฐ˜๋ณต: ์œ„ ๊ณผ์ •์„ K๋ฒˆ ๋ฐ˜๋ณตํ•˜์—ฌ ๋” ๋„“์€ ๋ฒ”์œ„์˜ ์ด์›ƒ ์ •๋ณด๋ฅผ ํฌํ•จ์‹œํ‚ต๋‹ˆ๋‹ค.
    6. ์ตœ์ข… ์ž„๋ฒ ๋”ฉ: K๋ฒˆ์˜ ๋ฐ˜๋ณต ํ›„, ๊ฐ ๋…ธ๋“œ์˜ ์ตœ์ข… ์ž„๋ฒ ๋”ฉ์„ ์–ป์Šต๋‹ˆ๋‹ค.
  • GraphSAGE์˜ ํ•ต์‹ฌ์€ ์ด์›ƒ ์ƒ˜ํ”Œ๋ง๊ณผ ์ง‘๊ณ„ ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ๋Œ€๊ทœ๋ชจ ๊ทธ๋ž˜ํ”„์—์„œ๋„ ํšจ์œจ์ ์œผ๋กœ ๋…ธ๋“œ ์ž„๋ฒ ๋”ฉ์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ƒˆ๋กœ์šด ๋…ธ๋“œ์— ๋Œ€ํ•ด์„œ๋„ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ท€๋‚ฉ์  ํ•™์Šต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


-->