๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

AI ๊ฐœ๋ฐœ

๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ์ด๋ž€?

๋ฐ˜์‘ํ˜•

๐Ÿ“ฆ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ์ด๋ž€?

ํด๋ฆญ๋ฅ ์„ ๋„˜์–ด์„  ์ง„์งœ ์ทจํ–ฅ ์˜ˆ์ธก, AI๊ฐ€ “๋ˆˆ์น˜”๊นŒ์ง€ ๋ณด๋Š” ์‹œ๋Œ€


๐Ÿง  ์ถ”์ฒœ ์‹œ์Šคํ…œ, ์™œ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ์ด ํ•„์š”ํ• ๊นŒ?

๊ธฐ์กด์˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ์€ ๋ณดํ†ต ์‚ฌ์šฉ์ž์˜ ํด๋ฆญ ์ด๋ ฅ์ด๋‚˜ ๊ตฌ๋งค ๋กœ๊ทธ๋งŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ์ œํ’ˆ์„ ์™œ ํด๋ฆญํ–ˆ๋Š”์ง€๋Š” ๋กœ๊ทธ๋งŒ์œผ๋กœ ์•Œ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

  • ์ƒํ’ˆ์˜ ์ธ๋„ค์ผ ์ด๋ฏธ์ง€ ๋•Œ๋ฌธ์ผ๊นŒ์š”?
  • ์•„๋‹ˆ๋ฉด ๋ฆฌ๋ทฐ ํ…์ŠคํŠธ, ํ• ์ธ ๋ฐฐ๋„ˆ, ๋ธŒ๋žœ๋“œ๋ช… ๋•Œ๋ฌธ์ผ๊นŒ์š”?

์ด์ฒ˜๋Ÿผ ์ถ”์ฒœ ์ •ํ™•๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” **์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ(=๋ชจ๋‹ฌ)**๋ฅผ ํ•จ๊ป˜ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ **๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ(Multimodal Recommendation System)**์ž…๋‹ˆ๋‹ค.

 


๐Ÿ“ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์ดํ•ดํ•˜๊ธฐ

๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ์€ ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋‹ค์–‘ํ•œ ์ž…๋ ฅ ์ •๋ณด๋ฅผ ๊ฐ๊ฐ ์ธ์ฝ”๋”ฉ → ์œตํ•ฉ → ์˜ˆ์ธกํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

[User Info]     [Text Info]     [Image Info]     [Behavior]
   ↓               ↓                ↓                ↓
 User Embedding   Text Embedding  Image Embedding  History Embedding
             โ†˜       โ†˜        โ†˜       โ†˜
               โ–ถ Fusion Layer (๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์œตํ•ฉ)
                           ↓
                  Scoring Layer (์˜ˆ์ธก)

๐Ÿ“ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

โœ… ์ „์ฒด ํ๋ฆ„ ์š”์•ฝ

[User Modality]       [Item Modality]
   (๋‚˜์ด, ์„ฑ๋ณ„, ์œ„์น˜)     (์ด๋ฏธ์ง€, ํ…์ŠคํŠธ, ํƒœ๊ทธ ๋“ฑ)
         โ”‚                      โ”‚
   User Embedding         Item Embedding
         โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜
              โ”‚     Fusion (๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์œตํ•ฉ)
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ
               Scoring Layer (์˜ˆ์ธก)

๐Ÿ”ง ๊ตฌ์„ฑ ์š”์†Œ๋ณ„ ์„ค๋ช…

1. Input Modalities (์ž…๋ ฅ ๋ชจ๋‹ฌ๋“ค)

์ž…๋ ฅ ์ข…๋ฅ˜ ์˜ˆ์‹œ ์ฒ˜๋ฆฌ ๊ธฐ์ˆ 
ํ…์ŠคํŠธ ์ƒํ’ˆ ์„ค๋ช…, ๋ฆฌ๋ทฐ, ํ‚ค์›Œ๋“œ BERT, FastText, LSTM
์ด๋ฏธ์ง€ ์ธ๋„ค์ผ, ์ œํ’ˆ ์‚ฌ์ง„ CNN (ResNet, ViT)
์˜ค๋””์˜ค ์Œ์„ฑ, ์Œ์•… Spectrogram → CNN
๋™์˜์ƒ ์‡ผ์ธ , ํด๋ฆฝ 3D CNN, ViViT
์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ๋‚˜์ด, ์„ฑ๋ณ„, ์œ„์น˜ Embedding ๋˜๋Š” One-hot
ํ–‰๋™ ๋กœ๊ทธ ํด๋ฆญ, ๊ตฌ๋งค, ์Šคํฌ๋กค ๋“ฑ Collaborative Filtering ๊ธฐ๋ฐ˜ ์ธ์ฝ”๋”ฉ

2. Embedding Layer (๋ชจ๋‹ฌ๋ณ„ ์ธ์ฝ”๋”ฉ)

  • ๊ฐ modality๋ณ„๋กœ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฒกํ„ฐ๋กœ ์ž„๋ฒ ๋”ฉ
  • ์˜ˆ:
    • ํ…์ŠคํŠธ → 768์ฐจ์› (BERT)
    • ์ด๋ฏธ์ง€ → 512์ฐจ์› (ResNet50)
    • ์œ„์น˜ → 2์ฐจ์› or geohash ์ž„๋ฒ ๋”ฉ

3. Fusion Layer (๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์œตํ•ฉ ๋ฐฉ์‹)

๋ฐฉ์‹ ์„ค๋ช…
Concat ๋ชจ๋“  modality๋ฅผ ๊ทธ๋ƒฅ ์ด์–ด๋ถ™์ž„
Attention ๊ฐ modality์˜ ์ค‘์š”๋„๋ฅผ ํ•™์Šตํ•˜์—ฌ ๊ฐ€์ค‘ํ•ฉ
Gated Mechanism modality๋งˆ๋‹ค gate๋ฅผ ๋‘์–ด ์ค‘์š”ํ•œ ๊ฒƒ๋งŒ ํ†ต๊ณผ
Cross-modal Transformer modality ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ๊นŒ์ง€ ํ•™์Šต (ex. CLIP, MMRec)

4. Scoring/Prediction Layer

  • ์‚ฌ์šฉ์ž ๋ฒกํ„ฐ์™€ ์•„์ดํ…œ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‰๊ฐ€
  • ์˜ˆ์ธก ๋Œ€์ƒ: ๊ตฌ๋งค ํ™•๋ฅ , ํด๋ฆญ๋ฅ , ์ข‹์•„์š” ํ™•๋ฅ  ๋“ฑ
score = Dot(User_Embedding, Item_Embedding)  
# ๋˜๋Š” FFN(User || Item)

๐Ÿง  ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š” ๊ธฐ์ˆ 

๊ธฐ์ˆ  ์„ค๋ช… ์‹ค๋ฌด ํ™œ์šฉ
CLIP (OpenAI) ์ด๋ฏธ์ง€ + ํ…์ŠคํŠธ ์ž„๋ฒ ๋”ฉ ๊ณต๋™ ํ•™์Šต ์‹œ๊ฐ ์ •๋ณด ๊ธฐ๋ฐ˜ ์ถ”์ฒœ
BERT4Rec ํ…์ŠคํŠธ + ์‹œํ€€์Šค ํ–‰๋™ ๋ชจ๋ธ๋ง ๋ฆฌ๋ทฐ/์„ค๋ช… + ํ–‰๋™ ์˜ˆ์ธก
MMRec ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ถ”์ฒœ ํŠนํ™” ๊ตฌ์กฐ ๋„ค์ด๋ฒ„, ์‡ผํ”ผ, ์•„๋งˆ์กด ๋“ฑ ์‚ฌ์šฉ
Cross-modal Attention ๋‹ค์–‘ํ•œ ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ์˜ ์—ฐ๊ด€๋„ ํ•™์Šต ์ด๋ฏธ์ง€ ๋ณด๊ณ  ์ƒํ’ˆ ์ถ”์ฒœ ๋“ฑ
Knowledge Distillation Modal ๊ฐ„ ์ง€์‹ ์ด์ „ ํ…์ŠคํŠธ→์ด๋ฏธ์ง€ ์„ฑ๋Šฅ ์ „์ด ๋“ฑ

๐Ÿข ์‹ค์ œ ์ ์šฉ ์‚ฌ๋ก€

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

๐Ÿงฉ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ์ด ์ถ”์ฒœ ์ •ํ™•๋„์— ๊ธฐ์—ฌํ•˜๋Š” ๋ฐฉ์‹

  1. Cold Start ๋ฌธ์ œ ํ•ด๊ฒฐ
    • ์‹ ๊ทœ ์•„์ดํ…œ๋„ ์„ค๋ช…, ์ด๋ฏธ์ง€๋งŒ์œผ๋กœ ์ถ”์ฒœ ๊ฐ€๋Šฅ
  2. ์ƒํ™ฉ ์ดํ•ด๋ ฅ ํ–ฅ์ƒ
    • "๋น„ ์˜ค๋Š” ๋‚ ", "์˜์ƒ์ด ๋ฐ์€ ํ†ค" ๋“ฑ ๋งฅ๋ฝ ๋ฐ˜์˜ ๊ฐ€๋Šฅ
  3. ์ •ํ™•๋„ + ๋‹ค์–‘์„ฑ ๊ท ํ˜•
    • ๋‹จ์ˆœ ์œ ์‚ฌ๋„ ๋Œ€์‹  ๋‹ค์–‘ํ•œ ๊ธฐ์ค€์—์„œ ์œ ์˜๋ฏธํ•œ ์ถ”์ฒœ ๊ฐ€๋Šฅ

๋ฐ˜์‘ํ˜•