Embedding alignment на собеседовании Data Scientist
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем разбирать на собесе
Cross-modal alignment — основа multimodal apps. На собесе DS: «как соединить text + image embeddings», «multilingual».
Зачем alignment
У нас два embedding spaces (e.g., English vs Russian, или text vs image). Хотим — same concept одинаково represented в обоих spaces.
Без alignment. Cosine similarity между cross-space embeddings — рандом.
С alignment. «Cat» (English) ≈ «Кошка» (Russian) ≈ image of cat.
Procrustes
Найти orthogonal transformation W, минимизирующую ||X·W - Y||.
from scipy.linalg import orthogonal_procrustes
W, _ = orthogonal_procrustes(X, Y)
X_aligned = X @ WПрименение. Multilingual word embeddings (Mikolov 2013). Pair («cat», «кошка») → train Procrustes на known pairs → transform unseen.
Pros: simple, no learning. Cons: linear только.
CCA
Canonical Correlation Analysis. Найти projections X, Y maximize correlation.
W_x, W_y = argmax corr(X·W_x, Y·W_y)X и Y — different feature spaces (text vs image vectors). После CCA — embeddings comparable в shared space.
Variants: Kernel CCA (non-linear), Deep CCA (NN).
Contrastive learning
Современный подход. Учим embeddings так, чтобы paired samples close, non-paired far.
InfoNCE loss:
L = -log( exp(sim(x, y+)/τ) / Σ exp(sim(x, y_j)/τ) )Используется в CLIP (image-text), sentence-transformers (paraphrase pairs), multilingual models.
Pros: non-linear, scalable, learnable.
Cons: требует pairs — labeled data.
Применения
Multilingual. Same word multiple languages → close embeddings. Cross-lingual retrieval, transfer learning.
Cross-modal. CLIP — text ↔ image. ALIGN — text ↔ image на noisy data.
Domain adaptation. Source / target embeddings aligned для transfer.
Recsys. User space ↔ item space через two-tower (alignment by contrastive).
Связанные темы
- CLIP multimodal на собесе DS
- Embeddings на собесе DS
- Two-tower DSSM для DS
- Cosine vs Euclidean для DS
- Подготовка к собесу Data Scientist
FAQ
Это официальная информация?
Нет. Статья основана на работах Mikolov 2013, Radford 2021 (CLIP).
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.