C26 · Нейросетевые методы
Патчи, внимание и представления
Проследим реальные веса и вклады шестнадцати патчей, не загружая трансформер.
Если нужны основы
Теория
Запрос задаёт, что смешивать
Разрежем изображение на патчи. Из каждого можно получить вектор — токен. Query (запрос) сравнивается с key (ключом) каждого токена скалярным произведением. Деление на учитывает размерность ключа; softmax превращает числа в неотрицательные веса с суммой 1. Этими весами складываются value-векторы, а не обязательно сами пиксели.
В демонстрации среднее патча играет роль содержимого, проекции заданы вручную. Multi-head attention делает несколько таких смешиваний с разными проекциями и объединяет результат. Большой вес показывает вклад в эту операцию, но не является доказательством причинного объяснения окончательного ответа модели.
Кто сколько добавил к ответу
Нажми на участок исходного изображения: рамка закрепит запрос Q. Затем нажми другой участок на карте весов — это проверяемый ключ K. Пройди три видимых этапа: сходство, нормированные веса, один ответ. В центре каждого этапа видно фактический расчёт. При меньшей температуре T вес сильнее сосредоточится на похожих ключах.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
- Q · K
- Масштабировать сходство
- Экспонента после общего сдвига
- Разделить на сумму 16 экспонент
Точные значения — в разборе точки
Серая шкала 0…0.25: от чёрного к белому.
Разобрать выбранный патч
Что показывает график
Веса неотрицательны и дают сумму 1. Маленькая температура концентрирует их сильнее. Температура — учебное расширение, а не обязательная ручка каждого ViT.
- Токенов
- 16
- Пар запрос–ключ в полном слое
- 256
- Ответ выбранного запроса
- 0.555
Параметры и подробности
Точная учебная attention-операция: Q=K=[2·(среднее−0,5), позиция x, позиция y], V=среднее патча. Тёмные и светлые патчи имеют разные знаки первого компонента, поэтому сходство различает их. Проекции не обучались. У весов фиксированная шкала 0…0,25: значения выше белого порога не обрезаются в расчёте и доступны числом. Ответ — одна взвешенная сумма, не класс и не восстановленное изображение.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Где расположен патч и кто с кем связан
Одного содержимого недостаточно, чтобы различить два одинаковых патча в разных местах. Позиционное представление сообщает порядок или геометрию. Без него само-внимание одинаково обрабатывает перестановку токенов вместе с соответствующим выходом; оно не получает расположение пикселей автоматически.
У глобального внимания N² пар запрос–ключ. У 16 токенов это 256; если вдвое уменьшить сторону патча при том же изображении, токенов станет вчетверо больше, а пар — в шестнадцать раз. ViT использует патчи; Swin ограничивает общение окнами и сдвигает окна между слоями. Локальность экономит вычисления, но связь далёких областей тогда строится через несколько шагов.
Похожее содержимое в разных местах
Закрепи запрос на левом верхнем тёмном патче. При вкладе координат 0 сравни его вес с таким же тёмным патчем через один справа: содержимое и веса совпадают. Верни вклад координат в 1, не меняя запрос. Теперь расстояние различает эти два места — картинка осталась прежней.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
- Q · K
- Масштабировать сходство
- Экспонента после общего сдвига
- Разделить на сумму 16 экспонент
Точные значения — в разборе точки
Серая шкала 0…0.25: от чёрного к белому.
Разобрать выбранный патч
Что показывает график
Без координат одинаковые яркости дают одинаковые ключи. С координатами пример различает место; это простое авторское кодирование, не конкретная обученная позиционная таблица.
- Токенов
- 16
- Пар запрос–ключ в полном слое
- 256
- Ответ выбранного запроса
- 0.4052
Параметры и подробности
Точная учебная attention-операция: Q=K=[2·(среднее−0,5), позиция x, позиция y], V=среднее патча. Тёмные и светлые патчи имеют разные знаки первого компонента, поэтому сходство различает их. Проекции не обучались. У весов фиксированная шкала 0…0,25: значения выше белого порога не обрезаются в расчёте и доступны числом. Ответ — одна взвешенная сумма, не класс и не восстановленное изображение.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Один вектор может учиться разными способами
Справка и следующие методы
Классификационное обучение различает заданные классы. Контрастивное сближает связанные примеры и разделяет другие; CLIP сопоставляет изображения и тексты. Masked autoencoding восстанавливает скрытые части изображения. Это разные задания обучения, а не взаимозаменяемые названия одной архитектуры.
Близость в embedding-пространстве зависит от данных, нормировки и функции сходства: она не гарантирует одинаковый физический объект. У SAM изображение и пользовательская подсказка идут к декодеру маски; точка или рамка уточняет запрос, но не обещает правильное распознавание любого класса. Для настоящих embeddings и результатов нужны имя модели, версия, предобработка и исходные данные; здесь они не подменяются ручными числами.
Практика
Проверь идею на другом условии. Следуй задаче над изображениями; разбор точки поможет объяснить результат. Эта практика не оценивается.
Раздели влияние содержимого и позиции
Закреплён запрос в углу, температура 0,3, координаты выключены. Выбери на карте весов далёкий патч и запомни его вклад. Включи координаты, не меняя запроса. Стало ли соседство важным именно в этом объявленном правиле? Затем повтори с другим запросом; не называй полученную карту объяснением семантики.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
- Q · K
- Масштабировать сходство
- Экспонента после общего сдвига
- Разделить на сумму 16 экспонент
Точные значения — в разборе точки
Серая шкала 0…0.25: от чёрного к белому.
Разобрать выбранный патч
Что показывает график
Без координат одинаковые яркости дают одинаковые ключи. С координатами пример различает место; это простое авторское кодирование, не конкретная обученная позиционная таблица.
- Токенов
- 16
- Пар запрос–ключ в полном слое
- 256
- Ответ выбранного запроса
- 0.3193
Параметры и подробности
Точная учебная attention-операция: Q=K=[2·(среднее−0,5), позиция x, позиция y], V=среднее патча. Тёмные и светлые патчи имеют разные знаки первого компонента, поэтому сходство различает их. Проекции не обучались. У весов фиксированная шкала 0…0,25: значения выше белого порога не обрезаются в расчёте и доступны числом. Ответ — одна взвешенная сумма, не класс и не восстановленное изображение.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Игры
Проверь объяснение
Вопрос 1 из 5
Чему равна сумма весов softmax по всем доступным ключам?
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…0.25: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Выбери один ответ. Он проверится сразу.
Ограничения и материалы
Границы этого примера
Выполняем одну маленькую attention-операцию с открытыми ручными проекциями, не ViT, CLIP или SAM. Нет семантических embeddings, текстовых запросов и инференса больших моделей.