
Разбирал старые методички по линейной алгебре (да, у меня правда есть такая привычка, не спрашивайте) и наткнулся на отрывок про химию. Автор пишет: «Молекула воды — это вектор (2, 0, 1). Молекула метана — вектор (4, 1, 0)». И дальше без смущения переходит к линейной зависимости векторов, как будто написанное выше — самая естественная вещь на свете.
Сначала я подумал, что это методическая вольность ради упражнения. Потом посидел с этим с полчаса и понял, что автор-то прав, а заодно и случайно объяснил, почему вообще из любой предметной области можно слепить нейросеть. Просто в 1990-х это называлось линейной алгеброй, а не representation learning.
Химия для тех, кто не любит химию
Идея простая. Берем набор из n атомов (водород, углерод, кислород, и т. д). Каждому атому сопоставляем вектор, у которого на своем месте единица, а на остальных — нули:
b1 = (1, 0, ..., 0) — водород,
b2 = (0, 1, ..., 0) — углерод,
b3 = (0, 0, 1, ..., 0) — кислород.
Если этот набор координат вам знаком, поздравляю, вы только что вспомнили one-hot encoding. Тот самый, которым кодируют категориальные признаки перед тем, как отправить их в модель. Автор методички 1990-х годов, конечно, не использовал этот термин, но по факту описал именно его, только вместо токенов взял атомы.
Идем дальше. Молекула — это просто линейная комбинация этих базисных векторов с целыми неотрицательными коэффициентами. Сколько атомов каждого сорта содержится в веществе, столько векторов и берем.
Вот вектор молекулы воды в базисе (H, C, O): H2O = 2·b1 + 0·b2 + 1·b3 = (2, 0, 1). А вот вектор молекулы углекислого газа: CO2 = 0·b1 + 1·b2 + 2·b3 = (0, 1, 2).

Формально это называется «bag of atoms» (по аналогии с «bag of words»). Порядок атомов теряется, и остается только их количество. Собственно, брутто-формула в химии — это и есть такой «bag» с самого начала, структурную формулу с этой информацией не спутаешь, но об этом чуть ниже.
Молекула воды предсказывает саму себя
Вот тут я решил не верить на слово и все перепроверить. Если молекула — это вектор, а атомная масса — это просто число, то молярная масса вещества — это линейная функция от вектора молекулы. Обычное скалярное произведение.
Берем веса: масса водорода 1.008, углерода 12.011, кислорода 15.999 (в атомных единицах массы). И считаем молярную массу, как взвешенную сумму:
m(H2O) = 2·1.008 + 0·12.011 + 1·15.999 = 18.015,
m(CO2) = 0·1.008 + 1·12.011 + 2·15.999 = 44.009,
m(C2H2) = 2·1.008 + 2·12.011 + 0·15.999 = 26.038,
m(CH4) = 4·1.008 + 1·12.011 + 0·15.999 = 16.043.
Теперь сверяемся. У воды — 18.015, у углекислого газа — 44.01, у ацетилена — 26.04, у метана 16.04. Совпадение верное с точностью до округления справочных констант.
Что мы только что получили? По сути, простейшую нейросеть без скрытых слоев, без функции активации и с одним нейроном на выходе. На входе у нас вектор молекулы, а весами служат атомные массы. Обучать такую сеть не требуется, так как оптимальные веса нам уже известны из таблицы Менделеева. Однако, если бы мы не знали атомные массы, а только располагали бы парами «вектор молекулы — молярная масса» для сотни соединений, обычная линейная регрессия восстановила бы эти веса сама (и это без единой строчки химических формул). Именно так, к слову, работают современные модели для предсказания свойств материалов: они не знают законов физики, но отлично находят статистические закономерности в векторах состава.

ИИ‑роутер — доступ к 300+ моделям из одной панели
Подключите OpenAI‑совместимый шлюз по единому API‑ключу. Настраивайте сквозную аналитику, отслеживайте лимиты и квотируйте ресурсы.
Почему это работает вообще для чего угодно
Предлагаю сформулировать из вышесказанного общий принцип.
Нейросеть в базовом виде — это последовательность операций вида: вектор умножить на матрицу, прибавить вектор, пропустить через нелинейность, повторить. Единственное жесткое требование ко входу заключается в том, что он должен быть вектором, то есть элементом векторного пространства, где определены сложение и умножение на число.
И как только вы придумали способ превратить объекты своей области в векторы, да так, чтобы сложение и умножение на число имели смысл, то вся машинерия линейной алгебры немедленно становится применимой. Дальше не важно, векторизуете вы слова (word2vec, эмбеддинги токенов), пиксели (каждая картинка — это вектор из значений яркости), пользователей интернет-магазина (вектор из истории покупок) или атомы. Сетке совершенно все равно, откуда взялся вектор. Она видит числа и матрицы.
Собственно, в этом и заключается главный козырь современного AI: 90% работы в любой задаче машинного обучения — это создание качественного отображения предметной области в векторное пространство. А сам процесс обучения библиотека потом выполнит автоматически.
Где мешок с атомами ломается
Автор методички предупреждал, что реальным молекулам соответствует не любой вектор, а только подмножество с целыми неотрицательными координатами. Но существует, кстати говоря, проблема попроще, о которой в методичке не сказано, а вот химикам она хорошо знакома.
Возьмем, к примеру, этанол C2H6O и диметиловый эфир C2H6O. Это два разных вещества с разной температурой кипения, разной токсичностью и вообще разным поведением. Тем не менее они имеют абсолютно одинаковый вектор состава (2, 6, 1) в любом стандартном базисе атомов. Bag of atoms не различает изомеры, потому что полностью игнорирует единственную и самую важную вещь, которая делает их разными — порядок связей между атомами.

Это та же проблема, с которой сталкивался подход «мешка слов» в обработке естественного языка (NLP) до эпохи трансформеров: фразы «собака укусила почтальона» и «почтальон укусил собаку» для него были неотличимы, так как порядок слов не сохранялся.
Тут все лечится похожим образом. Если в NLP проблему решили с помощью позиционных эмбеддингов и механизмов внимания (attention), то в химии для этого используют графовые нейронные сети (GNN). В таком подходе молекула представляется не плоским вектором количества атомов, а графом со связями, и сеть учится агрегировать информацию о топологии этого графа.
Работает это следующим образом: каждый атом в молекуле по-прежнему описывается вектором (прямо как в методичке), но теперь это характеристика конкретной вершины графа, а тип атома выступает частью исходного признака. Затем вершины по очереди «перешептываются» с соседями по химическим связям, каждый атом собирает векторы соседних узлов, обновляет собственное представление, и за несколько итераций информация о пространственной структуре распространяется по всему графу.
На датасете QM9, который содержит более 100 000 небольших органических молекул с рассчитанными квантовыми свойствами, такая сеть предсказывает 11 из 13 целевых величин с точностью на уровне дорогих квантовохимических расчетов. Разница с брутто-формулой только в том, что граф не выбрасывает связи, поэтому этанол и диметиловый эфир для него — два совершенно разных объекта.
От трех атомов к двадцати аминокислотам
Та же самая идея, только с несравнимо большим бюджетом, работает в моделях предсказания структуры белков. Разница с методичкой, конечно, есть: вместо трех типов атомов здесь фигурируют 20 аминокислот, а вместо одной короткой молекулы — цепочка из сотен звеньев.
Белок — это последовательность аминокислот из своего алфавита: к 20 основным прибавляем редкий селеноцистеин, итого у нас получается, условно, 21 буква. Самый простой способ закодировать одну аминокислоту почти дословно повторяет b_k из методического пособия: вектор длиной 21, единица на своем месте, нули на остальных. Именно one-hot encoding до сих пор используют как основу в статьях про белковые эмбеддинги — тот самый простейший ориентир, с которым сравнивают все новые модели, и он неизменно проигрывает.
Проигрывает, кстати, по той же причине, что и брутто-формула проигрывает графу. One-hot не знает, что лейцин и изолейцин близнецы (ну почти) по физическим и химическим свойствам. Для вектора это два разных индекса, одинаково далеких друг от друга, как и от всех остальных восемнадцати. Поэтому здесь снова делают то же самое, что с word2vec: вместо жесткого one-hot аминокислоте сопоставляют обучаемый эмбеддинг. Он сам подстраивается таким образом, чтобы похожие по свойствам аминокислоты оказались рядом в векторном пространстве, а не были разбросаны как попало.

Модели вроде ESM устроены буквально по этому принципу. Белок — это предложение, аминокислота — токен, а сама сеть — это трансформер, который обучен решать ту же задачу, что и модель BERT в NLP: предсказывать замаскированный токен по контексту. Только вместо «он пошел в [MASK]» модель угадывает пропущенную аминокислоту, опираясь на эволюционный контекст миллионов реальных белковых последовательностей. На выходе каждая аминокислота внутри конкретного белка получает свой контекстный вектор. Он в разы информативнее исходного вектора one-hot, потому что в него неявно зашита эволюционная и структурная логика, которую сеть выучила сама, без жестко заданных вручную правил.
AlphaFold2 идет еще на шаг дальше. Модель «держит в голове» не один вектор на аминокислоту, а сразу два слоя представления одновременно: множественное выравнивание последовательностей (MSA, Multiple Sequence Alignment), где строки отражают схожие последовательности одного белка у разных видов, и парное представление (pair) — вектор для каждой пары аминокислот в цепочке (грубо говоря, «насколько вероятно, что эти двое физически соприкасаются в свернутом белке»).
Ядро сети (Evoformer, несколько десятков повторяющихся блоков) распределяет внимание по строкам и столбцам этой MSA-матрицы и обновляет парное представление до тех пор, пока из статистики совместной эволюции белков не проступит пространственная структура. Финальный структурный модуль просто-напросто преобразует эти векторы в пространственные XYZ-координаты атомов.
Важно, что в основе всего этого чуда лежит абсолютно тот же примитив, что в методичке: аминокислота — это координата в векторном пространстве. Только пространство теперь включает не три измерения (H, C, O), а более тысячи обучаемых параметров, а правила сложения этих координат выводятся в процессе обучения модели на миллионах белков с помощью методов маскированного языкового моделирования (MLM).
Более поздняя модель ESMFold вообще полностью отказалась от использования MSA. Оказалось, что если языковая модель достаточно большая, она самостоятельно усваивает нужную эволюционную статистику по сырым последовательностям, и структуру можно предсказывать прямо из ее эмбеддингов, без поиска гомологичных последовательностей. Это происходит в разы быстрее, чем в AlphaFold 2, хотя и ценой незначительного снижения точности.
Возвращаясь к методичке
Конечно, автор той методички в 1990-е годы не совершал революционных открытий — линейная алгебра к тому моменту существовала уже многие десятилетия. Однако он наглядно продемонстрировал ключевой принцип: как только объект преобразуется в вектор, к нему становится применим весь мощный математический аппарат абстрактных векторных пространств. И здесь совершенно не важно, что скрывается за координатами — атом водорода, аминокислота в белковой цепи или эмбеддинг токена в большой языковой модели.
Путь от трех типов атомов в старой методичке до 20 аминокислот в моделях ESMFold или AlphaFold 2 на самом деле короче, чем кажется. Разница кроется лишь в размерности векторного пространства и в том, кто именно вычисляет коэффициенты — студент с тетрадкой или кластер высокопроизводительных видеокарт, выполняющий расчеты неделями.
Нейронные сети просто выполняют то же самое скалярное произведение, но с большими вычислительными затратами, в пространствах сверхвысокой размерности и с добавлением нелинейных функций активации между слоями. Где-то на пожелтевшей странице старой методички полвека назад уже были описаны принципы, которые сегодня объясняют, почему AlphaFold 2 предсказывает структуру белка, а модели GPT понимают человеческий текст. Все дело в векторах, остальное — дело техники.
P.S.: сама методичка автора Р. А. Симоненко, «Методическая разработка для студентов химического факультета. Часть 1. Векторы, матрицы и определители». Она досталась мне от знакомого в виде ксерокопий, в открытом доступе в сети, к сожалению, не видел.
Комментарии (44)

VAF34
15.09.2026 13:14Дочитав до "Затем вершины по очереди «перешептываются» с соседями по химическим связям, каждый атом собирает векторы соседних узлов, обновляет собственное представление, и за несколько итераций информация о пространственной структуре распространяется по всему графу. " Ничего не понял и бросил читать!

p0isk
15.09.2026 13:14Оказалось, что если языковая модель достаточно большая, она самостоятельно усваивает нужную эволюционную статистику по сырым последовательностям, и структуру можно предсказывать прямо из ее эмбеддингов, без поиска гомологичных последовательностей.
Прямо как у естественного интеллекта, в смысле, у детей, которые растут в семьях, где разговаривают на более чем одном языке, появляются слова, отсутствующие в каждом из них, но очень хорошо вписывающиеся в формально незнакомые, но уже усвоенные им правила лексики и грамматики.

lazarus_net
15.09.2026 13:14И откуда же у вас такие знания? Если ловко в языке отсутствует то оно либо заменяется иностранным аналогом, либо подбирается аналог боле менее похожий. Новое слово не возникает.
Тут у пол Европы родители на разных языках говорят а зачастую ребёнок ещё и на третьем может, но что-то про такие феномены не славно и не видно

Wesha
15.09.2026 13:14Если ловко в языке отсутствует то оно либо заменяется иностранным аналогом, либо подбирается аналог боле менее похожий.
Флешка с мобилой смотрят на Вас в задумчивости.

frt123
15.09.2026 13:14скорее возникают всякие неестественные для носителей языка склонения/спряжения, в общем производные от знакомых слов.
У меня ребенок не имеет опыта общения на русском помимо семьи, но новых слов я не слышал.

U235U235
15.09.2026 13:14По некотором признакам рис.4.12 выглядит как сгенерированный нейросетью. В первую очередь бросается в глаза безграмотность химических формул. Скорее всего и вся история с методичкой выдумана.

mckeenly15
15.09.2026 13:14Ну да, трудно поверить и в историю, что у автора сохранились ксерокопии методички их 90-х, которые достались ему от знакомого (кто будет 30 лет хранить ксерокопии от какой-то методички?!), в 2026 году он решил перечитать их и о чудо - в методичке описывалось устройство нейросети.
Скорее всего, все выдумано LLM (они неплохо это умеют делать). Как совпадение, в статье рекламируется ИИ-роутер.

engine9
15.09.2026 13:14Хлам отлично копится и находится, тут поверю охотно. Гораздо хуже, что автор сознательно пошел на обман, выдавая нейрослоп за факты, такое точно прощать нельзя.

edogs
15.09.2026 13:14трудно поверить и в историю, что у автора сохранились ксерокопии методички их 90-х, которые достались ему от знакомого (кто будет 30 лет хранить ксерокопии от какой-то методички?!),
Вы должно быть еще очень молоды:) Или очень организованы. У нас, например, совершенно точно, где-то хранятся ксерокопии, конспекты, методички и не только свои из 90-тых годов. Специально не храним, просто где-то в коробках, но и выкинуть жалко, а разбирать лениво.
Кстати, в то время отчетливо помнится что нейросети уже активно обсуждались.

eximus
15.09.2026 13:14У нас, например, совершенно точно, где-то хранятся ксерокопии, конспекты, методички и не только свои из 90-тых годов. Специально не храним, просто где-то в коробках, но и выкинуть жалко, а разбирать лениво.
Да, да! Есть такое слово "антресоли", там чего только нет!
И подборка журналов "Наука и Жизнь" и "Юный техник", раньше были "Моделист-Конструктор" и прекраснейшие приложения к ним, реализующие принцип "DIY", и "Радио", и "Советская милиция", затем "Милиция" и многое другое (например, незабываемый журнал "Юный Натуралист") за годы, предшествующие закату СССР. Прекрасные журналы, выкинуть рука не поднималась, раздаривал, кому мог.

engine9
15.09.2026 13:14
Фрагмент схемы. Горизонтальная связь которая ни к чему не ведёт. Точки слева без подписей. Я не химик, но формулы выглядят подозрительно. 
Chemist_modeler
15.09.2026 13:14Формулы совершенно нормальные, атомы углерода в узлах принято не указывать, онитам подразумеваются по умолчанию, примерно как повторяющийся индекс подразумевает сумму по оному.
А схема приведена "для чайников", разбирающихся в алгебре примерно как Вы в химии, ибо нахимфаке алгебру обычно учат... хм... немного, ну как и химию на физ-мат-мехах.
В статье, возможно, и есть немного слопа, но мне (как химику, с учетом аудитории) это глаз не режет. В "причесывании" статьи нейросетью я большой беды не вижу, хоть сами не пользуюсь. В общем, по-моему, статья как статья. Не выдающаяся, но и не дурацкая.

trinxery
15.09.2026 13:14

↑ Здесь у правого нижнего углерода по 5 связей

↑ Здесь непонятно, что вообще пытались начертить
Есть минимум 3 обрывающихся ребра между узлами. Текст с другой стороны страницы под диаграммой выглядит существенно более жирным и мыльным. Попытка отразить диаграмму по вертикали и прочитать текст с другой стороны страницы ни к чему не привела (а я пытался).
jobless
А где то хранятся 3 тома "методичек" из 80х
MasterMentor
вместо “где-то” лучше было бы: “ссылка на”.
jobless
Я сам бы был рад такой ссылке. Единственное что встречалось в сети, это информация о 3-х томах материалов конференции. Я на ней присутствовал в качестве слушателя. В основном всё крутилось вокруг "баз знаний" и "экспертным системам".
antonk42
Было там что-то сказано о нейросетях?
jobless
В моей памяти отложилось только активное обсуждение методик извлечения и формализации знаний и навыков "кожаных" экспертов. В том числе анекдот. Мастер производственного обучения дядя Ваня с помощью трёх подзатыльников и какой то матери способен обучить держать в руках напильник. А теперь формализуйте его экспертные знания.
jobless
Ещё вспомнил, и уже писал на хабре про обсуждение "мордографии", но оказалось это каламбур на тему https://ru.wikipedia.org/wiki/Лица_Чернова (DeepSeek помог найти)
И в моей памяти почему то был не Герман а Иван :)
muxa_ru
В литературе конца 1980-х было обсуждение о том, будут ли это базы знаний или же искусственные нейроны.