- BrainTools - https://www.braintools.ru -
Большинство нейросетей работают с числами и читать как человек они не умеют, поэтому инженерами были придуманы способы помочь нейросети уловить не только смысл конкретного слова, но и всего предложения. Для достижения такой цели используется positional encoding, то есть помимо отдельных слов нейросети дают их порядок в тексте. В данной статье приведен сравнительный анализ чисто смысловых векторов, линейного базиса (порядковый номер слова), базиса Фурье (синусы и косинусы), комплексного (экспоненты) и полиномы Чебышева для кодирования двух английских фраз.
Архитектура Transformer (на которой работают нейросети от GPT-4 до LLaMA) обрабатывает все слова одновременно, следовательно, два предложения вида: “Cat eats mouse” и “Mouse eats cat” для нее равнозначны. Вот тут и приходит на помощь позиционное кодирование. В статье “Attention Is All You Need” (2017) исследователи из команды Google предложили использовать знаменитую тригонометрическую систему для кодирования положения слов. В своей работе я протестировала данную концепцию на других базисах и проанализировала результаты.
Методы исследования:
Только контент: модель не видит порядок слов;
Контент + линейный базис: модель видит только порядковый номер слова;
Контент + Фурье: волновые колебания, значения меняются плавно;
Контент + комплексные экспоненты: кодирование слова углом поворота вектора, чем дальше слово в предложении, тем сильнее повернут вектор;
Контент + полиномы Чебышева: ортогональные полиномы, часто используемые в теории приближений .
Все вычисления и графики делались на языке Python (PyTorch + matplotlib).
Первая тестовая фраза, вынесенная в заголовок, знаменательна тем, что это палиндром и слово “fall” здесь встречается как существительное и как глагол. Это делает проверку интереснее: как поможет позиционное кодирование отличить эти слова?
На картинке ниже изображены тепловые карты косинусного сходства между эмбеддингами слов с добавлением позиционного кодирования.
Расшифровка цветов:
Ярко-красный (1.0) — Точное совпадение. Векторы идентичны. Означает сравнение слова самого с собой в одной и той же позиции (главная диагональ).
Оранжевый / Розовый (0.3 – 0.7) — Связь через смысл. Модель распознает одинаковые слова (например, первое и последнее “fall”), но позиционный базис развел их векторы в пространстве из-за разных мест в тексте.
Бежевый / Белый (0.0) — Нейтральность. Векторы ортогональны. Между словами нет ни лексической, ни позиционной связи, они независимы друг от друга.
Голубой / Синий (-0.2 – -0.5) — Отторжение. Позиционное кодирование активно расталкивает векторы в противоположные стороны, изолируя слова (например, отделяя центральное “soon” от краев предложения).
Проведем небольшой анализ и сделаем пару замечаний.
Первый график получился полностью симметричным (осевая и центральная симметрии [1]), так как модель воспринимала все слова одинаково уникальными. Одинаковые в написании, но разные по смыслу слова “fall” не различимы.
На втором графике видно, как убывает цвет от красного к синему (что означает уменьшение схожести векторов) при удалении положения слова от начала. Снова слова “fall” в начале и конце фразы одинаковы.
Третий график имеет более стабильное и плавное изменение цвета. Модель уловила некоторую связь между словами “fall” и “leaves”, но интересующая нас пара (два “fall” ) так и осталась неразличимой.
Базис из комплексных экспонент изолировал слово “fall” от “leaves”, а также не стал считать нашу пару (сущ. и глагол “fall”) полностью идентичными.
Полиномы Чебышева тоже уловили несовпадение между этими словами. Заметим, что первое “fall” и “leaves” связаны меньше, чем последнее “fall” и “leaves”. Это можно объяснить устойчивостью грамматической конструкции “leaves fall” (подлежащее + сказуемое). Отсутствие симметрии говорит о направленности базиса Чебышева: он отличает начало предложения и его конец.
Здесь нас, помимо палиндрома, будет интересовать связь слов “odd” (нечетный) и “even” (четный). Базисы и цвета аналогичны предыдущему примеру. Результат изображен на картинке ниже.
Перейдем к анализу результатов.
На первом графике слова “odd” и “even” моделью были распознаны как нейтральные (то есть связи нет). Но она нашла такие артефакты как “or” и “odd”, а также развела по разные стороны “never” и “odd”.
При добавлении линейного базиса появился градиент цветов от начала фразы к ее концу, зато модель распознала разницу между “odd” и “even”.
Появление синусов и косинусов укрепило уверенность в связи “or” и “odd”, а также добавила “or” и “never”. Но, увы, разница между “odd” и “even” была утеряна.
Базис из комплексных экспонент “остудил” нашу карту (тепловая карта стала преимущественно синей, что говорит о более сильном взаимном отталкивании векторов), но ничего значимого, к сожалению, не вышло.
И вот наконец-таки были разделены слова “odd” и “even” полиномами Чебышева. Также модель увидела сходство, вероятно из-за одинаковых букв, слов “never” и “even”.
Также сравнение было запущено на фразе: “Are we not pure? No, sir! Panama’s moody Noriega brags. It is garbage! Irony dooms a man—a prisoner up to new era”, которая интересна как длинный палиндром. Полный анализ этой фразы выходит за рамки статьи и остается для самостоятельного изучения, но сама карта наглядно демонстрирует, как позиционное кодирование распределяет векторы в пространстве на длинных предложениях.

На примере двух интересных фраз была показана работа разных моделей и их сравнение. Можно заметить, что некоторые свойства базиса “передаются” тепловой карте скалярного произведения (например, базис Фурье и плавность цветов; линейный базис и “убывание”). Любопытные результаты продемонстрировало применение полиномов Чебышева: они превзошли синусы/ косинусы по разделению антонимов. Насколько известно автору, базисы Фурье и экспонент превалируют в современных моделях из-за их бесконечной периодичности. Это делает их удобнее на “длинных дистанциях” (см., напр., On the Interchangeability of Positional Embeddings in Multilingual Neural Machine Translation Models [2]), но на коротких многочлены Чебышева показали себя лучше (см., напр., Kolmogorov-Arnold Networks: A Critical Assessment of Claims, Performance, and Practical Viability [3]).
Автор: Ir1na
Источник [4]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/34663
URLs in this post:
[1] симметрии: http://www.braintools.ru/article/3088
[2] On the Interchangeability of Positional Embeddings in Multilingual Neural Machine Translation Models: https://doi.org/10.48550/arXiv.2408.11382
[3] Kolmogorov-Arnold Networks: A Critical Assessment of Claims, Performance, and Practical Viability: https://arxiv.org/abs/2407.11075
[4] Источник: https://habr.com/ru/articles/1072510/?utm_campaign=1072510&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.