Сейчас на Хабре много пишут о галлюцинировании нейронных сетей и больших языковых моделей в частности. Хорошим введением в эту тему, написанным с философских позиций, мне представляется текст уважаемого Дэна Рычковского @DZRobo «Когда ИИ закрывает глаза: путешествие между воображением и галлюцинациями». Базовое техническое погружение в тему вы найдёте в статье уважаемой @toppal «Причины возникновения галлюцинаций LLM», это перевод академической статьи специалистов Харбинского технологического института, опубликованной в конце 2024 года. Действительно, в большинстве источников галлюцинации ИИ рассматривают либо в негативном ключе, либо как неизбежный побочный эффект, связанный с попытками «вшить» синтетический аналог воображения в вычислительную сеть.
Я же хочу остановиться на менее известном аспекте работы нейронок, в котором галлюцинации могут восприниматься как положительная и даже необходимая часть работы алгоритма. Речь пойдёт об искусственном повышении размерности данных, подаваемых на вход в нейросеть, и о том, к чему такая практика может приводить. Наиболее известное проявление такого эффекта известно в англоязычных источниках под названием «проклятие размерности» (curse of dimensionality).
Проклятие размерности: история феномена
Термин «проклятие размерности» предложил в 1961 году американский математик Ричард Беллман. Идея снижения размерности данных для упрощения их анализа восходит к концу XIX века, когда в 1884 году Эдвин Эббот выпустил фантастический роман «Флатландия», действие которого происходит на плоскости. Беллман решал задачу динамической оптимизации, но совершенно случайно сформулировал базовую концепцию, описывающую увеличение сложности в высших измерениях.
В настоящее время увеличение размерности давно вышло за пределы решения геометрических задач и в большей степени связано с упорядочиванием множеств данных (датасетов), в которых, как правило, содержится огромное количество признаков. Не все признаки и их соотношения можно выразить в виде групп столбцов и строк, поэтому для их описания наряду с реляционными базами данных всё активнее применяются графовые структуры данных. При этом описать многомерные структуры данных в терминах «трёхмерного мира», то есть, «обыденной реальности» практически невозможно. Приходится упрощать наборы данных либо до «теней» или «срезов», представимых в обычных декартовых координатах, либо доверять модели, работающей по принципу чёрного ящика, так как математический аппарат для поиска ближайших соседей и обобщения по смежности признаков уже существует. Например, на таком поиске построена работа RAG (генерация с дополненной выборкой). Для знакомства с феноменом RAG рекомендую переводную статью «Улучшаем RAG при помощи графов знаний» от уважаемого Романа Куцева @kucev.
При увеличении количества измерений в датасете и объём, занимаемый этим датасетом, также возрастает экспоненциально. На первый взгляд может показаться, что же в этом плохого — в имеющемся пространстве уместится больше данных для анализа. Но на самом деле расстояние между точками данных в таком датасете также экспоненциально увеличивается, так что задача их обобщения или кластеризации резко усложняется. Эти проблемы можно охарактеризовать как разреженность данных и необходимость пересчёта результатов для разного количества измерений.
Геометрическое глубокое обучение

Самая известная картинка с вычетом одного измерения — это картографическая проекция Меркатора. Герард Меркатор составил её в 1569 году, чтобы свести к минимуму искажение углов на шаре и, соответственно, правильно прокладывать путь корабля по азимуту. Этот феномен несоответствия реального и картографического размера стран описал на Хабре уважаемый @alizar в статье «Иллюзии мозга. Картографические проекции».
В 2015 году именно такое несоответствие плоских и неплоских данных подтолкнуло Майкла Бронстейна из Имперского колледжа Лондона к разработке «геометрического глубокого обучения». К тому времени нейронные сети уже довольно успешно применялись при распознавании образов (изображений), то есть, по определению плоских картинок. Геометрическое глубокое обучение основано на совершенствовании свёрточных нейронных сетей (CNN), где набор данных дробится на множество мелких фрагментов, каждый фрагмент изучается в отдельности, после чего данные обобщаются и передаются для анализа на более высокий уровень свёртки. Этот процесс очень точно соответствует работе с картографическими данными, так как при большом приближении они нанесены на плоскость, а в реальности — на сферу. Искажения при таком подходе также будут неизбежными и при этом единообразными: во-первых, приходится иметь дело с искажениями проекции Меркатора, во-вторых — с искажением планировки городов, так как города на карте представлены как круги и точки разных размеров и соединены транспортными магистралями практически как узлы графа — при этом, реальная форма городов и их географические размеры относительно количества жителей в конкретном городе сильно отличаются. При этом в данной картинке ещё и не учитывается физическая география (рельеф), то есть, снижение размерности даже сильнее, чем кажется на первый взгляд. Кстати, в одной из моих старых статей я рассказывал, как элементы физической географии удаётся демонстрировать на картах, выполненных в технике Брайля.
Таким образом, по метафорическому выражению Бронстейна, свёртка напоминает мутное плоское окошко, через которое нейросеть пытается рассмотреть детали рельефа, не только сведённого в плоскость (минус одно измерение), но и без учёта широкого контекста. Но это окошко служит фильтром, через который можно уловить паттерны, если сравнить достаточно много похожих участков поверхности. Высокоуровневые слои сети извлекают данные, выравнивают карту, устраняют возникающие при свёртке искажения, а также распознают и классифицируют данные из разных слоёв свёртки тем лучше, чем лучше эти данные размечены, и чем более качественный датасет нейронка получила при подготовительном обучении (training).
Искривлённая поверхность называется в топологии многообразием, и шар (или близкая к шару фигура «геоид») — это очень простое многообразие. Когда приходится изучать более искривлённые (и многомерные) многообразия, резко возрастает сложность вычислений и снижается точность работы каждого отдельного слоя свёртки, поэтому количество слоёв свёрточной сети приходится увеличивать. Даже бутылка или плод капусты романеско — гораздо более сложные фигуры, чем шар. Тем более сложным многообразием на их фоне является белковая молекула, все химические связи и свойства которой можно понять только в динамике.
Вычислительная мощность и описываемые измерения
В различных источниках приводится пример такого рода: допустим, одномерному ландшафтному дизайнеру нужно обустроить одномерную (линейную) клумбу, засадив её 100 цветами, так, чтобы расстояние между двумя соседними растениями составляло 1 метр. Для этого ему понадобится ровно 100 цветов.
Если же клумба будет из нашего мира, то пусть её размеры составят 100 x 100 метров. В таком случае, чтобы засадить её по периметру, понадобится уже 10 000 (100 x 100) растений, не говоря о том, сколько цветов может быть случайным образом посеяно внутри этого квадрата. Если же сад будет кубическим (висячим, либо напоминающим равностороннюю гидропонную установку) с ребром по 100 метров, то при сохранении описанных выше условий в этом объёме уместится уже 1 000 000 цветов. В то же время, если во всех трёх случаях мы не будем стремиться к равномерному заполнению всего доступного пространства, а оставим те же 100 цветов, что и в первом варианте мысленного эксперимента, то расстояние между цветами (точками данных) в последнем случае неимоверно увеличится. Поэтому даже в таком кубе, в котором нет лишних данных (колышков, камней, сорняков, грязи) найти нужный, да и вообще любой цветок будет очень сложно. Тем более сложно будет найти ведро, забытое где-то «на одном из уровней сада» между 78 и 92.
Именно так в упрощённом виде можно проиллюстрировать проклятие размерности. Пример помогает представить, как возрастает вычислительная мощность при усложнении многообразий и увеличении количества измерений, в которых записаны данные. Поэтому при обработке датасетов размерность множества желательно снижать, оставляя тот минимум измерений, где концентрация интересующих нас данных наиболее высока, и где лучше всего прослеживаются исследуемые паттерны.
Визуализация данных и оценка параметров
Объекты из более высоких измерений можно увидеть и в более низких измерениях как тени (то есть, отображения этих объектов на меньшее количество измерений). Способы и трудности визуализации многомерных объектов в низших измерениях (например, в компьютерных играх) рассматривает на Хабре уважаемый @Mrrl — особенно мне понравились статьи «Способы визуализации в многомерных играх» и «Гипербург — трёхмерный вариант игры Каркассон». Визуализация многомерных объектов привлекает художников-сюрреалистов, также затрагивается в классической книге Лизы Рэндалл «Закрученные пассажи». В трёх измерениях можно визуализировать тени четырёхмерных объектов, например, гиперкуба:

Притом, что «начертить» более многомерные тени в статике невозможно, свойства таких многомерных объектов и множеств данных можно спрогнозировать при помощи уравнений. Как отмечает один из пользователей форума MathExchange, под утверждением «многомерные объекты сложно визуализировать» понимается, что их «практически невозможно увидеть глазами» (либо их можно показать как набор проекций, например, продемонстрировать, как четырёхмерный объект выглядит с разных сторон). Тем не менее, можно концептуализировать как сами многомерные данные, так и возникающие между ними взаимосвязи.
В 2017 году Анил Анатхасвами из швейцарского нейрофизиологического института «Blue Brain» опубликовал в журнале «New Scientist» статью «Throwing Shapes», описав в ней, что нейроны человеческого мозга оперируют данными не менее чем в восьми измерениях. Команда под руководством Анатхасвами занималась цифровой симуляцией тканей мозга и нейронных связей. При этом модель основывалась на чистой алгебре и топологии — то есть, исследовались не реальные биологические структуры, а принципиально возможные варианты упорядочивания клеток в мозге.
Эта модель позволила выявить в мозге структуры, которые авторы сравнили с «кликами», то есть, такими подмножествами вершин в графе, где через все вершины одной клики проходит минимум одно общее ребро. Симуляция показала, что количество нейронов в клике показывает, сколько измерений данных может обрабатывать данная клика: 4 нейрона в клике оперируют тремя измерениями, 5 нейронов в клике — четырьмя измерениями и т.д.
Удалось обнаружить клики по 8 нейронов, которые, очевидно, обрабатывают по 7 измерений — и на момент проведения исследования смоделировать настолько сложный мыслительный процесс было невозможно. По-видимому, в человеческом мозге есть контуры, при помощи которых можно ускорять обработку информации на порядки, и эта обработка происходит неосознанно, а ощущается как интуитивное получение выводов.
Авторам удалось искусственно составлять такие клики на карте нейронов нематоды C. elegans (worm map). Эта нематода — известный модельный организм, первое живое существо, для которого удалось построить полную карту нейронных связей (коннектом). На основании этого исследования Анатхасвами приходит к выводу, что восемь узлов в клике — не предел, и некоторые люди, возможно, способны оперировать данными даже в 11 измерениях, а само сознание может быть тенью многомерного объекта.
Свойства, проявляемые данными в высоких измерениях, определённо актуальны при работе с искусственными нейронными сетями, а как показывает исследование Blue Brain – и для живого коннектома (мозга). Наиболее важными кажутся два свойства:
В высших измерениях доступные данные становятся очень разреженными, так как от измерения к измерению объём датасета растёт экспоненциально, и плотность данных падает так же быстро. Второе свойство, проистекающее из первого —
Относительная разница между «ближними» и «дальними» точками данных уменьшается.
Увеличение расстояния между точками данных и отказ кластеризации
Более того, там, где в низших измерениях пары точек данных группировались в кластер, в высших измерениях эти пары равномерно удаляются друг от друга, пока расстояния между ними не становятся практически равными. В основе этого явления лежит закон больших чисел. Это статистический принцип, согласно которому чем больше элементов в датасете, либо чем больше измерений он охватывает, тем ближе к ожидаемому значению будет среднее наблюдаемое значение.
Вот как это связано с расстояниями в пространствах с большим количеством измерений. Евклидово расстояние между двумя точками в n-мерном пространстве высчитывается как суммарная квадратичная разность по каждому из измерений. Каждое такое значение подобно случайной переменной, такой, как результат броска игральной кости. Чем больше измерений – тем больше таких переменных, а при увеличении количества бросков шестигранной кости средний результат приближается к 3,5 – именно он в данном случае является ожидаемым.
Таким образом, важнейшее проявление закона больших чисел — это независимость от случайных переменных. Геометрически в высших измерениях это выражается в том, что почти всегда любые два вектора будут ортогональны друг другу. Более того, понятия «далеко» и «близко» постепенно теряют смысл. Из-за этого перестают работать алгоритмы, основанные на сходстве или кластеризации.
Научная ценность галлюцинаций ИИ
Галлюцинации ИИ — известная проблема, иногда приводящая к выдаче совершенно бессмысленных результатов, но приведённые выше примеры подсказывают, что этот феномен можно научиться трактовать и даже обращать на пользу научному методу. По-видимому, логика ИИ при генерации результатов не изменяется при учёте любого количества измерений, нам всего лишь становится почти невозможно проследить эту логику как с позиций здравого смысла, так и при помощи имеющихся математических методов (прежде всего – статистики). Галлюцинации ИИ заслуживают особого внимания при обработке результатов, выдаваемых генеративными нейронными сетями (GAN), работа которых ближе всего к настоящему творчеству, то есть, заключается в создании чего-то нового. Ещё в феврале 2021 года я публиковал на Хабре перевод «FermiNet: квантовая физика и химия с азов». Суть описанной работы заключалась в том, что только искусственный интеллект может просчитать все нюансы атомных связей и химического сродства для получения современных белковых молекул с заданными свойствами. Это работа как раз для генеративных нейронных сетей, так как проектируемые вещества ранее не существовали (правда, могли существовать их более простые, менее эффективные или более вредные аналоги). Кроме того, такая работа прямо связана с геометрическим глубоким обучением, так как принципиально важна форма огромной молекулы, и молекула является топологическим многообразием, значительно более сложным, чем шар.
В 2024 году Нобелевскую премию по химии присудили за предсказание структуры белков — её разделили Дэвид Бейкер, Демис Хассабис и Джон Джампер. В наше время Нобелевскую премию часто присуждают спустя значительное время после совершения самого открытия, и в данном случае обращу ваше внимание на то, что Дэвид Бейкер, биоинформатик из Сиэтла, получил первые искусственные молекулы на основе аминокислот ещё в 2003 году, то есть, начинал работу над этой проблемой в обычной «мокрой» лаборатории. Хассабис и Джампер, в свою очередь — это сотрудники Google, которые с 2018 года научились решать аналогичные задачи при помощи нейросетей. К моменту вручения этой премии количество одобренных препаратов, полученных при помощи искусственного интеллекта, уже перевалило за сотню. Но проектирование препаратов – несколько более предсказуемая работа, чем осмысление любых порождений ИИ и отделение галлюцинаций от ценных результатов, поскольку молекула, в конечном итоге, является трёхмерной структурой, а выданные ИИ результаты поддаются проверке обычными химическими методами. Работа по обучению ИИ в высших измерениях продолжается, и здесь я вновь упомяну об исследованиях Бронстейна, а в особенности его коллеги Тако Коэна. С 2020 года Бронстейн, Коэн и коллеги разрабатывают калибровочные эквивариантные нейронные сети, учитывающие предыдущий опыт геометрического глубокого обучения. Такие сети выдают в качестве результата «тени» тех объектов, с которыми работают. Полностью исключить возникновение галлюцинаций в таких опытах невозможно, поэтому часть результатов приходится сразу отбраковывать. Более того, обостряется проблема не только галлюцинаций, но и «бреда» нейронных сетей, то есть, систематически неверных результатов, которые внутренне «кажутся» нейронке самосогласованными и непротиворечивыми. Оказывается, нейросети отлично справляются с выдачей шизофренического бреда, если настроить их соответствующим образом — если интересуетесь этой темой, рекомендую материал о нейронной сети DISCERN, подготовленный компанией Skillbox. Однако целенаправленное обучение нейронных сетей работе в высших измерениях и оперированию с проекциями (тенями) многомерных объектов представляет несомненный научный интерес, так как не только выдаёт неожиданные (непредсказуемые) результаты, но и приближает нас к пониманию природы биологического сознания. О том, бывает ли небиологическое сознание, и какой объём реакций на окружающую среду можно считать «сознанием», также напишу в одной из следующих статей.