๐ฏ ์ฐ๊ตฌ ๋๊ธฐ ๋ฐ ๋ฌธ์ ์ ์
๊ธฐ์กด ๋ฌธ์ ์ :
- ์ด์ปค๋จธ์ค ๊ฒ์์์ Semantic Retrieval์ ์ฃผ๋ก ํ ์คํธ ๊ธฐ๋ฐ์ผ๋ก๋ง ์ฐ๊ตฌ๋จ
- ์ํ ์ด๋ฏธ์ง๋ ๊ตฌ๋งค ๊ฒฐ์ ์ ์ค์ํ ์์์ธ๋ฐ, dense retrieval์์์ ์ํฅ์ด ์ฒด๊ณ์ ์ผ๋ก ์ฐ๊ตฌ๋์ง ์์
- ๊ธฐ์กด multimodal ์ฐ๊ตฌ๋ค์ ํ๊ณ:
- MaxSim ๊ฐ์ score function์ ๋๊ท๋ชจ ์ธ๋ฑ์ค์์ ํ์ฅ์ฑ ๋ฌธ์
- ๋ ๋ฆฝ์ ์ผ๋ก ํ์ต๋ text encoder์ visual encoder ๊ฐ misalignment ์ด์
์ฐ๊ตฌ ๋ชฉํ:
- Text-only vs Multimodal representation ๋น๊ต
- Cosine similarity ๊ธฐ๋ฐ์ ํ์ฅ ๊ฐ๋ฅํ(scalable) ์๋ฃจ์ ์ ์
- ์๋ฐฑ๋ง ๊ฐ ์ํ ์ธ๋ฑ์ค์์์ ์ค์ ์ฑ๋ฅ ๊ฒ์ฆ
B) ๐๏ธ ๋ชจ๋ธ ์ํคํ ์ฒ
B.1) Text-Only Baseline
- Query encoder + Product text encoder (2-tower)
- NT-Xent loss๋ก ํ์ต
B.2) 4-Tower Multimodal Model
Query Tower โ Query Embedding
Product Text Tower โ Text Embedding โโฌโ Fusion โ Product Embedding
Product Image Tower โ Image Embedding โโ
(+ Optional: Query Image Tower)- Text์ Image๋ฅผ ๋ณ๋ encoder๋ก ์ธ์ฝ๋ฉ
- Fusion module๋ก ๊ฒฐํฉ (Concatenation, MLP ๋ฑ)
- Pre-trained visual encoder ํ์ฉ ๊ฐ๋ฅ
B.3) 3-Tower Multimodal Model
Query Tower โ Query Embedding
Product Text Tower โ Text Embedding โโฌโ Fusion โ Product Embedding
Product Image Tower โ Image Embedding โโ- 4-tower์์ Query Image Tower ์ ๊ฑฐ
- ๋ ๊ฒฝ๋ํ๋ ๊ตฌ์กฐ
- Fine-tuning์ผ๋ก 4-tower์ ๊ทผ์ ํ ์ฑ๋ฅ ๋ฌ์ฑ ๊ฐ๋ฅ
C) ๐ฌ ์คํ ์ค์
๋ฐ์ดํฐ์ :
- ์ด์ปค๋จธ์ค ๋ฐ์ดํฐ์ (์๋ฐฑ๋ง ๊ฐ ์ํ)
- Query-Product positive pair๋ก ํ์ต
- In-batch negatives + ์ถ๊ฐ hard negatives (query๋น 3๊ฐ)
ํ๊ฐ ์งํ:
- Purchase Recall: ์ค์ ๊ตฌ๋งค๋ก ์ด์ด์ง ์ํ์ recall
- Relevance Accuracy: ๊ฒ์ ๊ด๋ จ์ฑ ์ ํ๋
- Exclusive match ๋ถ์ (Multimodal์์๋ง ๊ฒ์๋๋ ์ํ)
์ธํ๋ผ:
- Cosine similarity ๊ธฐ๋ฐ scoring (ANN indexer ํธํ)
- ๋๊ท๋ชจ ์ธ๋ฑ์ค(์๋ฐฑ๋ง ์ํ)์์ ํจ์จ์ ๊ฒ์
D) ๐ ์ฃผ์ ๊ฒฐ๊ณผ
D.1) ํต์ฌ ๋ฐ๊ฒฌ
-
Multimodal > Text-only
- Purchase recall ๋๋ Relevance accuracy์์ ๊ฐ์
-
4-tower ๋ชจ๋ธ์ ์ฅ์
- Pre-trained visual encoder ํตํฉ ์ relevance score ์ ์๋ฏธํ๊ฒ ํฅ์
-
3-tower ๋ชจ๋ธ์ ์ค์ฉ์ฑ
- Fine-tuning์ผ๋ก 4-tower์ ๊ทผ์ ํ ์ฑ๋ฅ ๋ฌ์ฑ
- ๋ ์ ์ ํ๋ผ๋ฏธํฐ๋ก ํจ์จ์
-
Exclusive Match ๋ถ์
- Multimodal ๋ชจ๋ธ์์๋ง ๊ฒ์๋๋ ์ํ๋ค ์กด์ฌ
- โ ์ด๋ฏธ์ง ์ ๋ณด๊ฐ ํ ์คํธ๋ก ํํ ๋ชปํ๋ ์ ๋ณด๋ฅผ ๋ณด์
E) ๐ก Contribution ์ ๋ฆฌ
- Text-only, 3-tower, 4-tower ๋ชจ๋ธ์ ์ฒด๊ณ์ ์ผ๋ก ๋น๊ต โ Language-Visual alignment ์ดํด
- Pre-trained visual encoder ํตํฉ์ด 4-tower์์ ํฐ ๊ธฐ์ฌ
- 3-tower๋ fine-tuning์ผ๋ก 4-tower์ ๊ทผ์ ๊ฐ๋ฅ (์ฝ๊ฐ์ ์ฑ๋ฅ ์ ํ)
- ๋๊ท๋ชจ ์ธ๋ฑ์ค(์๋ฐฑ๋ง) + Cosine similarity๋ก ์ค์ฉ์ ๊ฒ์ ๊ฐ๋ฅ
- Purchase recall๊ณผ relevance accuracy ๋ ์งํ ๋ชจ๋์์ ํจ๊ณผ ๊ฒ์ฆ
F) ์๋ฒ ๋ฉ ์ฐจ์
๋ ผ๋ฌธ์์ ๊ตฌ์ฒด์ ์ธ ์ฐจ์ ์์น๋ ๋ช ์ํ์ง ์์์ต๋๋ค. ๋ค๋ง ๋ชจ๋ธ ๊ตฌ์กฐ ์ ๋ณด๋ ๋์์์ด์:
- BiBERT (Text-only baseline): 2-layer Transformer, 4 attention heads
- CLIP ๋ชจ๋ธ์ text/image encoder ์ฌ์ฉ
- ์ต์ข embedding dimension์ โNโ์ผ๋ก๋ง ํ๊ธฐ
CLIP ๊ธฐ๋ฐ์ด๋๊น ์๋ง 512 ๋๋ 768์ฐจ์์ผ ๊ฒ์ผ๋ก ์ถ์ ๋๋๋ฐ, ์ ํํ ์์น๋ ๋ ผ๋ฌธ ๋ณธ๋ฌธ์ ๋ด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
G) Text-only Vs Multimodal ํจ๊ณผ ๋น๊ต
G.1) ์ฃผ์ ์์น
| ๋ชจ๋ธ | Relevance (Exact+Substitute) | Purchase Recall |
|---|---|---|
| CLIP alone | 71.9% | 46% (๋ฎ์) |
| BiBERT (Text-only) | baseline | baseline |
| 4-tower Multimodal | ๊ฐ์ | ๊ฐ์ |
G.2) Exclusive Match ๋ถ์ (Multimodal๋ง ๊ฒ์ํ ์ํ)
- Query๋น 60~80๊ฐ์ exclusive matches
- Ground-truth ๋๋น 10~20% recall ์ฐจ์ง
- Precision๋ ๋์: ~50% Exact match, ~30% Substitute match
H) ํต์ฌ ๋ฐ๊ฒฌ
- CLIP๋ง ์ฐ๋ฉด relevance๋ ๋์๋ฐ purchase recall์ด ๋ฎ์ (46%)
- โ ์ด๋ฏธ์ง ์ ์ฌ์ฑ โ ๊ตฌ๋งค ์๋
- Multimodal์ด Text-only๋ณด๋ค ๋์ ์ :
- Relevance accuracy ๋๋ Purchase recall ๊ฐ์
- ๋ ๋ค ๋์์ ์ต์ ํํ๊ธฐ๋ ์ด๋ ค์ (trade-off ์กด์ฌ)
- Fine-tuning + Hard negatives ์ถ๊ฐ ์:
- Relevance precision ํฌ๊ฒ ๊ฐ์ (irrelevant ๊ฐ์)
- ๋จ, recall์ ์ฝ๊ฐ ํ๋ฝ
I) ๐ ์๋ฒ ๋ฉ ์ฐจ์
๋ ผ๋ฌธ์์ ๊ตฌ์ฒด์ ์ธ ์ฐจ์ ์์น๋ ๋ช ์ํ์ง ์์์ต๋๋ค.
- ์์์์
N์ผ๋ก๋ง ํ๊ธฐ (q โ โแดบ, d โ โแดบ) - BiBERT: 2-layer Transformer, 4 attention heads
- CLIP: 50์ต ์ด๋ฏธ์ง๋ก pre-trained๋ ๋ชจ๋ธ ์ฌ์ฉ
Fusion ๋ฐฉ์์ ๋ฐ๋ผ ์ต์ข ์ฐจ์์ด ๋ฌ๋ผ์ง:
- Concatenation: BiBERT dim + CLIP dim
- MLP fusion: MLP output dim
J) ๐ Text-only Vs Multimodal ์ฑ๋ฅ ๋น๊ต (Table 2)
| Model | Recall@100 | Exact | Substitute | Irrelevant |
|---|---|---|---|---|
| BiBERT (Text-only) | 78.1% | 52.7% | 30.3% | 13.6% |
| CLIP alone | 46% | 45.4% | 26.5% | 25.4% |
| 4tMM cat | 78.6% | 52.5% | 31.1% | 14% |
| 4tMM ฮฑ-cat | 78.5% | 51.9% | 31.2% | 14.5% |
| 4tMM (BiBERT+MLP joint) | 73.3% | 54% | 26.8% | 11.9% |
| 3tMM (BiBERT+MLP joint) | 73.1% | 53.8% | 26.8% | 12.1% |
K) ๐ฏ ํต์ฌ ๊ฒฐ๊ณผ ์์ฝ
K.1) Concatenation๋ง ํ์ ๋
- Recall: 78.1% โ 78.6% (+0.5%p ๊ฐ์ )
- Relevance๋ ๋น์ทํ๊ฑฐ๋ ์ฝ๊ฐ ํผํฉ๋ ๊ฒฐ๊ณผ
K.2) Joint Training (BiBERT + MLP ๊ฐ์ด ํ์ต)
- Exact: 52.7% โ 54% (+1.3%p)
- Irrelevant: 13.6% โ 11.9% (-1.7%p) โ ์ด๊ฒ ํผ
- ๋์ Recall: 78.1% โ 73.3% (-4.8%p) ํ๋ฝ
K.3) Trade-off ์กด์ฌ
Recall โ Relevance Precision์ ๋ฐ๋น๋ก ๊ด๊ณ
L) ๐ Exclusive Match ๋ถ์ (Table 4) - Multimodal๋ง ์ฐพ์ ์ํ
| Model | Query๋น Exclusive ์ํ | Net Recall | Net Exact | Net Irrelevant |
|---|---|---|---|---|
| 4tMM (joint) | 60๊ฐ | 56.2% | 57.6% | 11.4% |
| 3tMM (joint) | 59๊ฐ | 56.2% | 57.6% | 11.5% |
โ Multimodal์์๋ง ๊ฒ์๋ ์ํ๋ค๋ ํ์ง์ด ๋์ (Exact 57.6%, Irrelevant 11.4%)
M) โ ๊ฒฐ๋ก : Text-only๋ณด๋ค ํจ๊ณผ์ ์ธ๊ฐ?
| ๊ด์ | ๊ฒฐ๊ณผ |
|---|---|
| Relevance Precision | โ Multimodal์ด ๋ ์ข์ (Exactโ, Irrelevantโ) |
| Purchase Recall | โ ์คํ๋ ค ํ๋ฝ (78.1% โ 73.3%) |
| Exclusive Match ํ์ง | โ ํ ์คํธ๋ก ๋ชป ์ฐพ๋ ๊ณ ํ์ง ์ํ ๋ฐ๊ฒฌ |
M.1) ๋ ผ๋ฌธ์ ๊ฒฐ๋ก
โMultimodal models show larger potential on improving relevance accuracy (higher exact, lower irrelevant) than purchase prediction.โ
์ฆ, ๊ตฌ๋งค ์์ธก๋ณด๋ค๋ ๊ด๋ จ์ฑ ์ ํ๋ ๊ฐ์ ์ ๋ ํจ๊ณผ์ ์ด๋ผ๋ ๊ฒ์ด ์ด ๋ ผ๋ฌธ์ ํต์ฌ ๋ฐ๊ฒฌ์ ๋๋ค.
N) ๐ ํ๊ฐ ์งํ ์ธก์ ๋ฐฉ๋ฒ
N.1) Recall@100
Recall@100 = (Top-100 ์์ธก ์ค ์ค์ ๊ตฌ๋งค๋ ์ํ ์) / (ํด๋น ์ฟผ๋ฆฌ์ ์ค์ ์ด ๊ตฌ๋งค ์)- ์ฟผ๋ฆฌ๋ณ๋ก ๊ณ์ฐ ํ ์ ์ฒด ํ๊ท
- Ground truth = ์ค์ ๊ตฌ๋งค ๊ธฐ๋ก
- ์ฆ, โ๊ตฌ๋งค๋ก ์ด์ด์ง ์ํ์ ์ผ๋ง๋ ์ ์ฐพ์๋โ
N.2) Exact / Substitute / Complement / Irrelevant
- ๋ณ๋์ Relevance Annotation ๋ชจ๋ธ๋ก ๋ผ๋ฒจ๋ง
- ๊ฐ query-product pair์ ๋ํด 4๊ฐ์ง ์ค ํ๋๋ก ๋ถ๋ฅ:
| ๋ผ๋ฒจ | ์๋ฏธ | ์์ (์ฟผ๋ฆฌ: โ์์ดํฐ 15 ์ผ์ด์คโ) |
|---|---|---|
| Exact | ์ ํํ ์ํ๋ ์ํ | ์์ดํฐ 15 ์ ์ฉ ์ผ์ด์ค |
| Substitute | ๋์ฒด ๊ฐ๋ฅํ ์ํ | ์์ดํฐ 14 ์ผ์ด์ค (ํธํ๋จ) |
| Complement | ๋ณด์์ฌ | ์์ดํฐ 15 ๊ฐํ์ ๋ฆฌ |
| Irrelevant | ๊ด๋ จ ์์ | ๊ฐค๋ญ์ ์ผ์ด์ค |
- Top-100 ์์ธก ๊ฒฐ๊ณผ์์ ๊ฐ ๋ผ๋ฒจ์ ๋น์จ(%) ์ ๊ณ์ฐ
- ์ข์ ๋ชจ๋ธ = Exactโ, Irrelevantโ
O) ๐ ฮ-cat (Alpha-weighted Concatenation)
๋ ผ๋ฌธ Eq.4์ ์ ์๋์ด ์์ด์:
f_ฮฑ-cat(vโ, vโ) = (ฮฑ ยท vโ) โ ((1-ฮฑ) ยท vโ), ฮฑ โ (0, 1)O.1) ์ผ๋ฐ Concatenation (cat)
[BiBERT_emb, CLIP_emb] โ ๊ทธ๋ฅ ์ด์ด๋ถ์ด๊ธฐO.2) ฮ-weighted Concatenation (ฮฑ-cat)
[ฮฑ ร BiBERT_emb, (1-ฮฑ) ร CLIP_emb] โ ๊ฐ์ค์น ๋ถ์ฌ ํ ์ด์ด๋ถ์ด๊ธฐ์๋: BiBERT์ CLIP ์๋ฒ ๋ฉ์ ์๋์ ์ค์๋๋ฅผ ์กฐ์
- ฮฑ = 0.7์ด๋ฉด ํ ์คํธ(BiBERT) ๋ ์ค์
- ฮฑ = 0.3์ด๋ฉด ์ด๋ฏธ์ง(CLIP) ๋ ์ค์
O.3) ์คํ ๊ฒฐ๊ณผ (Table 2)
| Fusion | Recall@100 | Exact |
|---|---|---|
| cat | 78.6% | 52.5% |
| ฮฑ-cat | 78.5% | 51.9% |
โ ํฐ ์ฐจ์ด ์์. ๋จ์ concat์ด๋ ๊ฑฐ์ ๋น์ทํ ์ฑ๋ฅ
P) ์ฆ, โSentinelโ์ด๋ผ๋ ๋ด๋ถ ๋ชจ๋ธ
- Amazon ๋ด๋ถ์์ ๋ง๋ Query-Product Relevance ๋ถ๋ฅ ๋ชจ๋ธ
- ์ ๋ ฅ: (query, product) pair
- ์ถ๋ ฅ: Exact / Substitute / Complement / Irrelevant ์ค ํ๋
Sentinel("์์ดํฐ 15 ์ผ์ด์ค", ์ํA) โ "Exact"
Sentinel("์์ดํฐ 15 ์ผ์ด์ค", ์ํB) โ "Irrelevant"Q) ์ ์ด๋ฐ ๋ชจ๋ธ์ ์ฐ๋?
Q.1) ๋ฌธ์
- 3.38M ์ํ ร 38K ์ฟผ๋ฆฌ = 1,280์ต ๊ฐ pair
- ์ฌ๋์ด ์ผ์ผ์ด ๋ผ๋ฒจ๋ง ๋ถ๊ฐ๋ฅ
Q.2) ํด๊ฒฐ
- ์ผ๋ถ ๋ฐ์ดํฐ์ ๋ํด ์ฌ๋์ด ๋ผ๋ฒจ๋ง โ Relevance ๋ถ๋ฅ ๋ชจ๋ธ ํ์ต
- ์ด ๋ชจ๋ธ๋ก ๋๋จธ์ง ์ ์ฒด ๋ฐ์ดํฐ ์๋ ๋ผ๋ฒจ๋ง
R) ์์ฝ
| ์ฉ์ด | ์ค๋ช |
|---|---|
| Recall@100 | ๊ตฌ๋งค ๊ธฐ๋ก ๊ธฐ๋ฐ, ์ค์ ๊ตฌ๋งค ์ํ์ Top-100์์ ์ผ๋ง๋ ์ฐพ์๋ |
| Exact/Substitute/โฆ | Annotation ๋ชจ๋ธ์ด ๋ถ๋ฅํ ๊ด๋ จ์ฑ ๋ผ๋ฒจ ๋น์จ |
| ฮฑ-cat | ๋ ์๋ฒ ๋ฉ์ ๊ฐ์ค์น ฮฑ, (1-ฮฑ) ๊ณฑํด์ concat |
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ๋ชจ๋ธ ์ด๋ฆ | Sentinel (Amazon ๋ด๋ถ ๋ชจ๋ธ) |
| ์ญํ | Query-Product pair์ ๊ด๋ จ์ฑ ์๋ ๋ถ๋ฅ |
| ์ถ๋ ฅ | 4-class (Exact/Substitute/Complement/Irrelevant) |
| ๊ตฌ์กฐ | ๋ ผ๋ฌธ์ ๋ฏธ๊ณต๊ฐ (์๋ง Cross-Encoder ๊ธฐ๋ฐ ์ถ์ ) |
๊ฒฐ๊ตญ ์ฌ๋ ๋ผ๋ฒจ๋ง์ ๋์ฒดํ๋ ์๋ํ๋ ํ๊ฐ ๋ชจ๋ธ
| Dataset | Distinct Products |
|---|---|
| Training | 581,158 (์ฝ 58๋ง) |
| Evaluation | 3,384,067 (์ฝ 338๋ง) |
โ ์ต ๋จ์ ์๋๊ณ ๋ฐฑ๋ง ๋จ์์ ๋๋ค.
R.1) ์ค์ Amazon ๊ท๋ชจ ์ฐธ๊ณ
- Amazon ์ ์ฒด ์ํ: 3์ต ๊ฐ ์ด์
- ์ด ๋ ผ๋ฌธ์ ํน์ ๋ง์ผ/์นดํ ๊ณ ๋ฆฌ ์ํ๋ก ์คํํ ๊ฒ์ผ๋ก ์ถ์
S) ANN (Approximate Nearest Neighbor)
S.1) ๋ ผ๋ฌธ Page 4
โusing KNN (k-nearest neighbors) algorithm in FAISS library for top-100 relevant products retrievalโ
S.2) ์ฌ์ฉํ ๊ฒ: FAISS (Facebook AI Similarity Search)
Query Embedding โ FAISS Index (338๋ง ์ํ) โ Top-100 ๊ฒ์S.3) FAISS ํน์ง
- Meta(Facebook)์์ ๋ง๋ ๋ฒกํฐ ๊ฒ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- GPU ๊ฐ์ ์ง์
- ๋ค์ํ ์ธ๋ฑ์ค ํ์ : IVF, HNSW, PQ ๋ฑ
๋ ผ๋ฌธ์์ ๊ตฌ์ฒด์ ์ธ ์ธ๋ฑ์ค ํ์ (IVF, HNSW ๋ฑ)์ ๋ช ์ ์ ํจโ์๋ง ๊ธฐ๋ณธ ์ค์ ์ด๋ IVF ๊ณ์ด ์ฌ์ฉ ์ถ์
T) ์์ฝ
| ์ง๋ฌธ | ๋ต๋ณ |
|---|---|
| ์ค์๋น์ค? | โ ์คํ๋ผ์ธ ์คํ๋ง (๋ฐฐํฌ ์ธ๊ธ ์์) |
| ์ํ ๊ฐ์ | 338๋ง ๊ฐ (์ต ๋จ์ ์๋) |
| ANN | FAISS ์ฌ์ฉ (๊ตฌ์ฒด์ ์ธ๋ฑ์ค ํ์ ๋ฏธ๋ช ์) |