Мой блог
Как методичка 1990-х годов объясняет векторные представления в нейросетях
Векторная алгебра из 1990-х как основа AI-моделей
Перебирая на днях архивные учебно-методические материалы по математике, я наткнулся на занятный фрагмент из пособия 1990-х годов для химических факультетов. Автор работы — Р. А. Симоненко («Методическая разработка для студентов химического факультета. Часть 1. Векторы, матрицы и определители»). В разделе, посвященном линейной зависимости, он между делом предлагает трактовать химические вещества как математические векторы. По его логике, молекулу воды можно представить в виде кортежа (2, 0, 1), а молекулу метана — как вектор (4, 1, 0).
В первый момент подобная трактовка кажется искусственным упущением ради учебного упражнения. Однако, если вдуматься в суть этого математического приема, становится очевидно: автор пособия тридцатилетней давности простыми словами сформулировал фундаментальный принцип, на котором держится все современное машинное обучение — представление объектов реального мира в векторном пространстве (representation learning).



Химия для тех, кто не любит химию
В основе этой логики лежит предельно прозрачная идея. Возьмем базовый набор химических элементов из трех атомов: водород, углерод и кислород. Назначим каждому из них базисный вектор в трехмерном пространстве, где единицей отмечена позиция соответствующего элемента, а остальные координаты равны нулю:
b1 = (1, 0, 0)— водород (H)b2 = (0, 1, 0)— углерод (C)b3 = (0, 0, 1)— кислород (O)
Специалисты по анализу данных сразу узнают в этой записи классический one-hot encoding — прямой способ кодирования категориальных признаков. В 1990-х годах в химической методичке такого термина, конечно, не употребляли, но фактически была использована именно эта методика.
Любая молекула в такой системе становится линейной комбинацией указанных базисных векторов, где коэффициентами выступает количество атомов каждого вида в брутто-формуле:
- Вода (H₂O):
2·b1 + 0·b2 + 1·b3 = (2, 0, 1) - Углекислый газ (CO₂):
0·b1 + 1·b2 + 2·b3 = (0, 1, 2) - Метан (CH₄):
4·b1 + 1·b2 + 0·b3 = (4, 1, 0)
В обработке естественного языка аналогичный подход называют «мешком слов» (bag of words). Здесь же мы получаем «мешок атомов» (bag of atoms). Мы полностью теряем информацию о геометрии и порядке связей, но сохраняем точный точечный учет каждого компонента.
Молекула воды предсказывает саму себя
Я решил проверить этот подход на практике. Если молекулярная формула — это вектор, а атомная масса каждого элемента — постоянный скаляр, то итоговая молярная масса соединения представляет собой обычную линейную функцию от вектора молекулы. Математически это вычисляется как скалярное произведение вектора состава на вектор атомных масс.
Зафиксируем справочные значения атомных масс (в а. е. м.): водород — 1,008, углерод — 12,011, кислород — 15,999. Рассчитаем молярные массы веществ как взвешенные суммы:

- m(H₂O) = 2 × 1,008 + 0 × 12,011 + 1 × 15,999 = 18,015
- m(CO₂) = 0 × 1,008 + 1 × 12,011 + 2 × 15,999 = 44,009
- m(C₂H₂) = 2 × 1,008 + 2 × 12,011 + 0 × 15,999 = 26,038
- m(CH₄) = 4 × 1,008 + 1 × 12,011 + 0 × 15,999 = 16,043
Сверяя полученные результаты со справочниками, мы видим идеальное совпадение. С точки зрения искусственного интеллекта перед нами простейший искусственный нейрон без функции активации и с единственным выходом. Входными данными выступает вектор состава молекулы, а весами модели — физические массы атомов. Нам не нужно было обучать эту сеть, поскольку веса известны из таблицы Менделеева. Но если бы массы атомов были неизвестны, обычная линейная регрессия на наборе из нескольких десятков молекул восстановила бы эти веса с высокой точностью. Именно так работают современные алгоритмы материаловедения: они выявляют закономерности в векторных представлениях, не опираясь на явные физические законы.
Почему векторное представление работает для любых данных
Из этого наблюдения можно вывести фундаментальное правило работы нейронных сетей. В своей основе любая нейросеть — это цепочка простых операций: умножение вектора признаков на матрицу весов, прибавление вектора смещения и прохождение через функцию активации.

Единственным обязательным требованием к исходным данным является их представимость в виде вектора — элемента векторного пространства, где валидны операции сложения и умножения на скаляр. Как только вы находите способ перевести объекты своей предметной области в векторную форму, к ним становится применим весь математический аппарат линейной алгебры:
- При обработке текста (NLP) слова превращаются в векторы через Word2Vec или токенизаторы.
- При работе с графикой изображение раскладывается на вектор значений яркости пикселей.
- В рекомендательных системах пользователь кодируется вектором своей истории просмотров и покупок.
- В химии и физике вещества представляются векторами состава или координат.
Смысловое происхождение этих чисел алгоритму неважно — модель оперирует исключительно матрицами. На самом деле около 90% успеха при создании систем машинного обучения заключается именно в построении качественного векторного пространства для конкретной предметной области.
Где концепция «мешка атомов» перестает работать
Несмотря на изящество подхода, у простых векторных представлений состава есть существенное ограничение, известное химии и обработке текстов. Возьмем для примера этиловый спирт (C₂H₆O) и диметиловый эфир (C₂H₆O). С химической точки зрения это абсолютно разные вещества с отличающейся температурой кипения, реакционной способностью и физическими свойствами. Однако их вектор состава в базисе элементов абсолютно идентичен — (2, 6, 1).
Метод «мешка атомов» не различает структурные изомеры, поскольку игнорирует топологию химических связей. В обработке естественного языка с аналогичным барьером сталкивался «мешок слов», не видящий разницы между фразами «собака укусила человека» и «человек укусил собаку».

Решение этой проблемы в компьютерных науках оказалось схожим. В NLP для учета порядка слов внедрили позиционное кодирование и механизм внимания (Attention). В химии же перешли к графовым нейронным сетям (GNN). Молекулу представляют не плоским вектором состава, а графом, где вершины — это атомы со своими исходными векторами признаков, а ребра — химические связи.
В графовых сетях применяется механизм передачи сообщений (Message Passing): вершины итеративно обмениваются векторами с соседями по связям, обновляя свое внутреннее состояние. В результате за несколько шагов каждый атом аккумулирует пространственный контекст всего окружения. На популярном бенчмарке QM9, включающем более 100 тысяч молекул, GNN-модели предсказывают квантовохимические свойства веществ с точностью, сопоставимой со сложнейшими физическими расчетами.

От простых молекул к аминокислотам и сворачиванию белков
Те же принципы векторного кодирования легли в основу современнейших биологических нейросетей, предсказывающих трехмерную структуру белков. В белковых молекулах вместо трех базовых атомов используется алфавит из 20 основных аминокислот (плюс селеноцистеин).
Простейшим способом описать аминокислотную последовательность остается One-Hot кодирование вектором размерности 21. Однако такой метод уступает современным архитектурам. Причина заключается в том, что One-Hot представление не отражает биохимическое сходство элементов: лейцин и изолейцин в нем выглядят равноудаленными друг от друга и от совершенно несхожих аминокислот.
Чтобы преодолеть это ограничение, разработчики перешли к обучаемым эмбеддингам. В языковых моделях семейства ESM белок рассматривается как текст, а аминокислота — как отдельный токен. Модель обучается по принципу маскированного языкового моделирования (как BERT), предсказывая пропущенные аминокислоты по контексту. В результате сеть формирует контекстный вектор для каждой позиции, содержащий информацию об эволюционных связях.
Архитектура AlphaFold 2 идет дальше, одновременно поддерживая два уровня представления:
- Множественное выравнивание последовательностей (MSA), отражающее эволюционные изменения схожих белков у разных организмов;
- Парные представления (Pair representation), определяющие вероятности пространственного контакта аминокислотных остатков друг с другом.
Блок Evoformer обменивается информацией между этими представлениями, обновляя пространственные координаты. А более свежая модель ESMFold показала, что при достаточном масштабе языковой модели можно отказаться от дорогостоящего поиска MSA и предсказывать 3D-структуру напрямую из векторов признаков с высочайшей скоростью.
Фундаментальные выводы и взгляд на методичку
Разумеется, методическое пособие 1990-х годов не открывало новых разделов математики — линейная алгебра была сформирована задолго до этого. Но эта работа наглядно демонстрирует фундаментальное правило: как только объект любой природы корректно преобразован в вектор, к нему подключается мощный аппарат абстрактных векторных пространств.
Дистанция между вектором из трех атомов в советской методичке и многомерными эмбеддингами в AlphaFold 2 или GPT оказывается не такой уж и большой. Разница состоит преимущественно в размерности пространств и вычислениях: в одном случае расчеты проводил студент с карандашом, а в другом — кластеры видеокарт. Нейросети выполняют то же математическое скалярное произведение, но в пространствах высокой размерности и с добавлением нелинейных функций. Векторные пространства остаются универсальным языком современного ИИ.
Источник: habr.com
