| μΌ | μ | ν | μ | λͺ© | κΈ | ν |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- heterogeneous graph neural network
- GenAI
- Neo4j
- Factorization Machine
- food recommender system
- mature-food
- μΆμ² μμ€ν
- graph
- food recommendation system
- heterogeneous graph
- retrieval-augmented generation
- Machine Learning
- nlp
- heterogeneous graph attention network
- digital health
- graphrag
- hin
- DeepFM
- μΆμ²μμ€ν
- Rag
- gat
- retrieval augmented generation
- yum-me
- fooddist
- Today
- Total
π μνμμ AI 곡λΆνκΈ°
κ·Έλν κΈ°λ° μΆμ² μμ€ν : GraphSAGEμ μ리μ νμ© λ³Έλ¬Έ
κ·Έλν κΈ°λ° μΆμ² μμ€ν : GraphSAGEμ μ리μ νμ©
FoodAI 2025. 4. 3. 19:40π‘λ€μ΄κ°λ©°
μ€λλ μ°λ¦¬κ° μ¬μ©νλ λ€μν μλΉμ€λ€μ κ°μΈνλ μΆμ² μμ€ν μ νμ©νμ¬ μ¬μ©μ λ§μ‘±λλ₯Ό λμ΄κ³ μμ΅λλ€. λ·νλ¦μ€μ μν μΆμ², μ νλΈμ λμμ μΆμ², κ·Έλ¦¬κ³ μμ λ°°λ¬ μ±μ λ©λ΄ μΆμ²κΉμ§ - μ΄ λͺ¨λ μλΉμ€μ ν΅μ¬μλ ν¨μ¨μ μΈ μΆμ² μκ³ λ¦¬μ¦μ΄ μμ΅λλ€.
νΉν μ΅κ·Όμλ κ·Έλν ꡬ쑰λ₯Ό νμ©ν μΆμ² μμ€ν μ΄ μ£Όλͺ©λ°κ³ μλλ°μ. μ€λμ κ·Έ μ€μμλ νμ₯μ±(Scalability)κ³Ό ν¨μ¨μ± μΈ‘λ©΄μμ νμν μ±λ₯μ 보μ΄λ GraphSAGE(Graph SAmple and aggreGatE)μ λν΄ μμλ³΄κ² μ΅λλ€. μμ μΆμ² μμ€ν μμ μ΄λ»κ² μ μ©λ μ μλμ§ μ€μ μ¬λ‘μ ν¨κ» μ΄ν΄λ΄ μλ€.
I. κ·Έλν κΈ°λ° μΆμ² μμ€ν μ κΈ°μ΄
μΆμ² μμ€ν μμ κ·Έλνλ 무μμΌκΉμ? κ°λ¨ν λ§ν΄, μ¬μ©μμ μν(λλ μ½ν μΈ ) κ°μ κ΄κ³λ₯Ό λ Έλ(μ )μ μ£μ§(μ )λ‘ ννν ꡬ쑰μ λλ€. μλ₯Ό λ€μ΄, 'μ¬μ©μ Aκ° μν Bλ₯Ό ꡬ맀νλ€'λ μ 보λ μ¬μ©μ Aμ μν Bλ₯Ό μ°κ²°νλ μ£μ§λ‘ ννλ©λλ€.
GCN(Graph Convolutional Network)μ μ΄ν΄
κ·Έλν λ°μ΄ν°λ₯Ό λ₯λ¬λμ νμ©νκΈ° μν΄ λ±μ₯ν κ²μ΄ GCNμ λλ€. GCNμ λ€μκ³Ό κ°μ νΉμ§μ κ°μ§λλ€:
- λ Έλ μλ² λ©(Node Embedding)μ νμ΅νκΈ° μν λ°©λ²λ‘
- μ΄μ λ Έλμ νΉμ±(feature)μ λ©μμ§ ν¨μ±(message passing)μΌλ‘ μ λ¬λ°μ μ λ°μ΄νΈ
- νμ₯μ±(Scalability)κ³Ό λ Έλ νΉμ± νμ©μ΄ κ°λ₯ν΄ μ°μ μμ€μ μΆμ² μμ€ν ꡬν κ°λ₯
- κ·Έλ¬λ μ 체 κ·Έλν ꡬ쑰 μ λ³΄κ° νμν Transductiveν λ°©λ²λ‘ μ΄λΌλ νκ³ μ‘΄μ¬
GCNμ ν΅μ¬μ μ΄μ λ Έλμ μ 보λ₯Ό ν©μ³ μ€μ¬ λ Έλμ νν(representation)μ κ°±μ νλ κ³Όμ μ μμ΅λλ€. μ΄ κ³Όμ μ λ€μκ³Ό κ°μ μμμΌλ‘ ννλ©λλ€:
$$f(π»^{π}, π΄) = π(π΄π»^ππ^π)$$
μ¬κΈ°μ π»^πμ lλ²μ§Έ μΈ΅μ λ Έλ νν, π΄λ μΈμ νλ ¬, π^πμ κ°μ€μΉ νλ ¬μ μλ―Έν©λλ€.

II. GraphSAGE: νμ₯ κ°λ₯ν κ·Έλν νμ΅
GCNμ νκ³λ₯Ό 극볡νκΈ° μν΄ λ±μ₯ν GraphSAGEλ "SAmpling and agGrEgation"μ μ½μλ‘, μ΄λ¦μμ μ μ μλ―μ΄ 'μνλ§'κ³Ό 'μ§κ³'κ° ν΅μ¬ κ°λ μ λλ€.

GraphSAGEμ μ£Όμ νΉμ§
- μ 체 μΈμ νλ ¬μ μ¬μ©νμ§ μκ³ μ΄μ λ Έλλ₯Ό μνλ§νμ¬ κ³μ° ν¨μ¨μ± ν₯μ
- μλ‘μ΄ λ Έλκ° μΆκ°λμ΄λ μ 체 κ·Έλνλ₯Ό μ¬νμ΅ν νμ μμ΄ μλ² λ© μμ± κ°λ₯(Inductive learning)
- λ€μν μ§κ³ ν¨μ(Mean, LSTM, Pooling Aggregator λ±) μ μ© κ°λ₯
GraphSAGEμ μλ μ리

GraphSAGEλ λ€μ μΈ λ¨κ³λ‘ μλν©λλ€:
1. μ΄μ μνλ§(Sampling)
κ° λ Έλμ λν΄ μΌμ μμ μ΄μ λ Έλλ₯Ό κ· λ± λΆν¬(uniform distribution)λ‘ μνλ§ν©λλ€. μ΄λ μ 체 κ·Έλνλ₯Ό λͺ¨λ κ³ λ €νμ§ μκ³ λΆλΆ κ·Έλν(subgraph)λ§μΌλ‘ νμ΅ν μ μκ² ν΄μ€λλ€.
2. μ 보 μ§κ³(Aggregation)
μνλ§λ μ΄μ λ Έλμ μ 보λ₯Ό μ§κ³ν©λλ€. μ¬λ¬ μ§κ³ ν¨μλ₯Ό μ¬μ©ν μ μμΌλ©°, κ°μ₯ κ°λ¨ν κ²μ νκ· (Mean)μ λλ€.
3. λ Έλ νν κ°±μ (Update)
μ§κ³λ μ 보λ₯Ό λ°νμΌλ‘ μ€μ¬ λ Έλμ ννμ κ°±μ ν©λλ€.
μ΄λ¬ν κ³Όμ μ μμμΌλ‘ νννλ©΄ λ€μκ³Ό κ°μ΅λλ€:
# 1. μ΄μ λ
Έλ μ§κ³
h_N^k = AGGREGATE_k({h_u^(k-1) : u ∈ N(v)})
# 2. μμ μ ννκ³Ό μ§κ³λ μ΄μ μ 보 κ²°ν©
h_v^k = σ(W^k · CONCAT(h_v^(k-1), h_N^k))
III. μ€μ μ¬λ‘: Uber Eatsμ λ©λ΄ μΆμ² μμ€ν
μ΄λ‘ μ μΈ λ΄μ©μ μ΄ν΄λ΄€μΌλ, μ΄μ μ€μ μ°μ μμ GraphSAGEκ° μ΄λ»κ² νμ©λλμ§ μμλ³΄κ² μ΅λλ€. λνμ μΈ μ¬λ‘λ‘ Uber Eatsμ μμ μΆμ² μμ€ν μ λ€ μ μμ΅λλ€.

Uber Eatsμ GraphSAGE μ μ© μ¬λ‘
2019λ λ§μ 곡κ°λ μλ£μ λ°λ₯΄λ©΄, Uber Eatsλ GraphSAGEλ₯Ό νμ©νμ¬ μ¬μ©μμκ² κ°μΈνλ λ©λ΄(dish) μΆμ² μλΉμ€λ₯Ό μ 곡νμ΅λλ€. κ·Έ κ²°κ³Όλ λλΌμ μ΅λλ€:
- κΈ°μ‘΄ μΆμ² λͺ¨λΈ λλΉ 12%μ AUC(Area Under Curve) μ±λ₯ ν₯μ
- μ¬μ©μ λ§μ‘±λμ μ£Όλ¬Έ μ νμ¨ μ¦κ°
- λ€μν μμ μΉ΄ν κ³ λ¦¬μ λν μΆμ² μ νλ ν₯μ
μ΄λ»κ² μμ μΆμ²μ νμ©λμμκΉ?
Uber Eatsμ μΆμ² μμ€ν μμλ λ€μκ³Ό κ°μ κ·Έλν ꡬ쑰λ₯Ό νμ©νμ κ²μΌλ‘ μΆμ λ©λλ€:
- λ Έλ: μ¬μ©μ, λ©λ΄, μμμ λ±
- μ£μ§: μ£Όλ¬Έ λ΄μ, μ‘°ν κΈ°λ‘, νμ λ±
- λ Έλ νΉμ±: λ©λ΄μ κ°κ²©, μΉ΄ν κ³ λ¦¬, μΈκΈ°λ, λ©λ΄λͺ μ word2vec κ° λ±
GraphSAGEλ₯Ό ν΅ν΄ κ° λ Έλμ μλ² λ©μ ν¨μ¨μ μΌλ‘ νμ΅ν ν, μ΄λ₯Ό λ°νμΌλ‘ κ°μΈνλ λνΉ(personalized ranking)μ μ 곡νμ΅λλ€. μ¬μ©μκ° Appμ μ΄λ©΄ κ·Έ μ¬μ©μμ μ μ¬ν μ·¨ν₯μ κ°μ§ λ€λ₯Έ μ¬μ©μλ€μ΄ μ νΈν λ©λ΄λ₯Ό μΆμ²νλ λ°©μμ λλ€.
IV. μμνμ κ΄μ μμμ μν μΆμ² μμ€ν
μμ μΆμ²μ λ¨μν μ·¨ν₯λ§μ κ³ λ €νλ κ²μ΄ μλλΌ, μμνμ μΈ‘λ©΄λ μ€μν©λλ€. GraphSAGEμ κ°μ κ·Έλν κΈ°λ° μΆμ² μμ€ν μ λ€μκ³Ό κ°μ μμ κ΄λ ¨ μμλ κ³ λ €ν μ μμ΅λλ€:
μμ κ· νμ κ³ λ €ν μΆμ²
κ·Έλν λ Έλμ μμμ μ 보(λ¨λ°±μ§, μ§λ°©, νμνλ¬Ό, λΉνλ―Ό λ±)λ₯Ό νΉμ±μΌλ‘ μΆκ°νλ©΄, μ¬μ©μμ μμ κ· νμ κ³ λ €ν μΆμ²μ΄ κ°λ₯ν©λλ€. μλ₯Ό λ€μ΄:
- μ¬μ©μκ° λ¨λ°±μ§μ΄ λΆμ‘±ν μλ¨μ μ£Όλ‘ μμ·¨νλ€λ©΄, λ¨λ°±μ§μ΄ νλΆν λ©λ΄ μΆμ²
- νΉμ λΉνλ―Όμ΄ νλΆν μνκ³Ό λΆμ‘±ν μν κ°μ κ΄κ³λ₯Ό κ·Έλνλ‘ λͺ¨λΈλ§νμ¬ κ· ν μ‘ν μμμ μμ·¨ μ λ
κ±΄κ° μνλ₯Ό κ³ λ €ν λ§μΆ€ν μΆμ²
μ¬μ©μμ κ±΄κ° μν(λΉλ¨, κ³ νμ, μλ λ₯΄κΈ° λ±)λ₯Ό λ Έλλ‘ νννκ³ , μ΄λ₯Ό μν λ Έλμ μ°κ²°νλ©΄ κ±΄κ° μνμ λ§λ μΆμ²μ΄ κ°λ₯ν©λλ€:
- λΉλ¨νμμκ²λ μ λΉ μν μ°μ μΆμ²
- μλ λ₯΄κΈ°κ° μλ μ¬μ©μμκ²λ ν΄λΉ μλ λ₯΄κΈ° μ λ° μ±λΆμ΄ μλ λ©λ΄ μΆμ²
V. κ²°λ‘ π―
GraphSAGEλ κ·Έλν ꡬ쑰μ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ νμ΅ν μ μλ μκ³ λ¦¬μ¦μΌλ‘, νΉν νμ₯μ±(Scalability) μΈ‘λ©΄μμ ν° μ₯μ μ κ°μ§λλ€. μ΄λ λκ·λͺ¨ μ¬μ©μμ μν λ°μ΄ν°λ₯Ό λ€λ£¨λ νλ μΆμ² μμ€ν μ λ§€μ° μ ν©ν©λλ€.
μμκ³Ό μμ λΆμΌμμλ GraphSAGEμ κ°μ κ·Έλν κΈ°λ° μκ³ λ¦¬μ¦μ λ¨μν μΈκΈ°λλ μ μ¬μ±μ λμ΄, μμ κ· νκ³Ό κ±΄κ° μνλ₯Ό κ³ λ €ν μ§λ₯μ μΈ μΆμ²μ κ°λ₯νκ² ν©λλ€. μ°λ²μ΄μΈ μ¬λ‘μμ 보λ―μ΄, μ΄λ¬ν κΈ°μ μ μ΄λ―Έ μμ©νλμ΄ μ°λ¦¬μ μμνμ μν₯μ λ―ΈμΉκ³ μμ΅λλ€.
μΆμ² μμ€ν μ΄ λμ± λ°μ νλ©΄ λ¨μν '무μμ λ¨Ήμμ§'λ₯Ό μΆμ²νλ κ²μ λμ΄, '건κ°ν μμ΅κ΄'μ νμ±νλ λ° λμμ μ£Όλ λ°©ν₯μΌλ‘ λμκ° κ²μ λλ€. κ°μΈμ μ·¨ν₯, μμ μꡬμ¬ν, κ±΄κ° μνλ₯Ό μ’ ν©μ μΌλ‘ κ³ λ €ν λ§μΆ€ν μν μΆμ²μ λ―Έλ ν¬μ€μΌμ΄μ μ€μν ν μΆμ΄ λ κ²μ λλ€.
μ°Έκ³ λ¬Έν:
- Hamilton, W. L., Ying, R., & Leskovec, J. (2017). Inductive representation learning on large graphs. NIPS 2017.
- Ying, R., He, R., Chen, K., Eksombatchai, P., Hamilton, W. L., & Leskovec, J. (2018). Graph convolutional neural networks for web-scale recommender systems. KDD 2018.
- Uber Engineering. (2019). Food Discovery with Uber Eats: Using Graph Learning to Power Recommendations.
'Food_Health_AI > μΆμ² μμ€ν ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| Heterogeneous Graph Attention Networkμ μ΄ν΄μ νμ© (0) | 2025.04.07 |
|---|---|
| κ·Έλν κΈ°λ° μΆμ² μμ€ν (1) | 2025.04.03 |
| DeepFM (0) | 2025.03.30 |
| Factorization Machine (FM) (2) | 2025.03.30 |