alterna ai
ALTERNA AI / ГЛАВА 19 · 06

19.6 Изображение и звук тоже становятся представлениями

На предыдущей странице: разные нейронные участки для разных токенов.

Отдельный обработчик получает числовые признаки изображения или звука. Перед общей моделью их приводят к подходящей ширине и учитывают в контексте.

Можно делить данные, таблицы или этапы. Частичные результаты надо соединять. Разные modality сначала превращаются в вектора подходящей ширины, а эксперты выбираются по ограниченному маршруту.

Разные encoders встречаются в согласованном пространстве

Contrastive image-text training строит representations и повышает similarity совпадающих pairs относительно остальных batch pairs. CLIP использует такой подход для transferable visual representations. F19. При L2 normalization dot product равен cosine; temperature/logit scale управляет резкостью contrastive distribution.

sij=viTuj∥vi∥∥uj∥,L=12(CE(s,y)+CE(sT,y)),yi=i.s_{ij}=\frac{v_i^Tu_j}{\|v_i\|\|u_j\|},\qquad L=\frac12(CE(s,y)+CE(s^T,y)),\quad y_i=i.

Generative VLM может передавать visual features через projection в language model и обучаться на multimodal instructions, как класс систем, исследуемый visual instruction tuning. F20. Projection совместимых shapes не означает, что модель уже научилась связывать pixels и language.

Что показывает модель. Matrix view связывает diagonal pairs и обе retrieval directions: image→text и text→image. Для generative path отдельно показываются image preprocessing, encoder, projector, inserted embeddings и causal decoder. Image resolution/patch count расходуют context/compute и являются частью contract.

Граница применимости. Две ручные vectors не являются обученной vision-language model. Dataset captions содержат культурные и selection biases. Высокая embedding similarity не доказывает детальное spatial reasoning, OCR или безопасность; каждую capability оценивают отдельными наборами и failure analysis.

from math import sqrt
images_19f=[[1.0,0.0],[0.0,1.0]]; texts_19f=[[0.9,0.1],[0.1,0.9]]
def cosine_19f(a_19f,b_19f):
    return sum(x*y for x,y in zip(a_19f,b_19f))/sqrt(sum(x*x for x in a_19f)*sum(y*y for y in b_19f))
similarity_19f=[[cosine_19f(image_19f,text_19f) for text_19f in texts_19f] for image_19f in images_19f]
assert similarity_19f[0][0]>similarity_19f[0][1] and similarity_19f[1][1]>similarity_19f[1][0]

Код повторяет только что разобранные операции. Полный проверяемыйPython-пример главы доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.

Modality rows после projection занимают тот же context budget, что и text rows.

Как убедиться, что собранные знакомые части действительно совместимы?

Python-примеры главы 19 Академическая база →