Когда вы проектируете архитектуру своей нейросети и у вас есть фиксированный бюджет параметров (допустим, 1 гигабайт видеопамяти под веса), перед вами всегда встает выбор: сделать сеть толстой (увеличить размерность скрытого слоя / d_model) или глубокой (увеличить num_layers).

Если мы откроем учебник по математике, мы увидим знаменитую универсальную теорему об аппроксимации. Она математически доказывает, что сеть с одним единственным скрытым слоем способна с любой точностью описать любую непрерывную функцию. Кажется, вывод очевиден: наращивай ширину, и сеть выучит всё.

Но если мы посмотрим на реальные SOTA модели, мы увидим одержимость глубиной. Почему индустрия игнорирует теорему об аппроксимации? Потому что теорема ничего не говорит о том, как именно сеть выучивает данные.

Давайте спустимся на уровень геометрии латентного пространства и посмотрим, как физически работают ширина и глубина.

Ширина: Идеальная зубрежка и плоский мир

Что такое широкий слой нейросети? Представьте себе огромную матрицу весов. Когда сигнал проходит через широкий слой, он раскладывается на десятки тысяч независимых признаков (фичей).

Широкая нейросеть работает как гигантский набор шаблонов. Если вы покажете ей миллион фотографий кошек, широкий слой выделит отдельный нейрон для рыжего кота в профиль, отдельный нейрон для черного кота анфас, и еще один для кота, спящего на батарее.

Геометрия ширины:
Функции активации (например, ReLU) проводят гиперплоскости, разрезая пространство входных данных на куски. Количество таких областей, на которые один слой может разбить пространство, растет полиномиально  ≈O(WD) от ширины слоя. Широкая сеть это отличный зубрила. Она обладает феноменальной емкостью памяти. Она может запомнить каждый пример из обучающей выборки в лицо. Но как только вы покажете ей рыжего кота, спящего на батарее (комбинация признаков, которой не было в датасете), она растеряется. У неё нет механизма, чтобы объединить концепции.

Глубина: Оригами и экспоненциальное складывание пространства

А теперь посмотрим на глубокую сеть. Каждый слой в нейросети делает две вещи: он линейно вращает/сдвигает пространство (через веса W) и сгибает его (через нелинейную активацию).

Представьте лист бумаги с нарисованными на нем синими и красными точками, перемешанными в виде спирали. Ваша задача провести одну прямую линию так, чтобы разделить цвета. На плоском листе это сделать невозможно.
Широкая сеть с одним слоем попытается вырезать красные точки тысячами маленьких ножниц (полиномиальное разбиение).
Что делает глубокая сеть? Каждый её слой это один сгиб листа бумаги. Она складывает лист пополам, потом еще раз, и еще раз (как оригами). Через 10 сгибов синие и красные точки оказываются строго друг над другом в трехмерном пространстве. Теперь последний слой может просто "отрезать" макушку бумажного кома одной прямой линией.

Геометрия глубины: Количество линейных областей, которые может смоделировать глубокая сеть, растет экспоненциально от количества слоев  ≈O(2L). Глубина позволяет создавать невообразимо сложные границы принятия решений, используя в миллионы раз меньше параметров, чем потребовалось бы широкой сети.

Логика требует времени (Почему трансформерам нужна глубина)

В контексте языковых моделей разница между шириной и глубиной приобретает физический смысл времени.

Генерация и понимание текста это процесс иерархического синтеза:

  • Слой 1-5: Понимание букв, морфологии и синтаксиса (Где подлежащее? Где сказуемое?).

  • Слой 10-20: Понимание семантики (Это слово в переносном смысле или прямом?).

  • Слой 30-40: Формирование логического вывода (Если А больше Б, а Б больше В...).

Ширина слоя (d_model и количество голов внимания) определяет пропускную способность. Это то, сколько концепций модель может держать в голове одновременно на одном шаге мыслей.

Глубина (num_layers) определяет количество шагов логического вывода.
Представьте задачу: "У Пети 2 яблока, он отдал половину Маше, сколько у него осталось?".
Чтобы решить её, нужно последовательно выполнить операции:

  1. Понять начальное состояние (Петя = 2).

  2. Вычислить операцию (2 / 2 = 1).

  3. Обновить стейт (2 - 1 = 1).

  4. Сгенерировать ответ.

Вы математически не можете распараллелить логический вывод. Шаг 3 не может начаться, пока не завершен шаг 2. Как бы сильно вы ни раздували ширину слоя (даже если у вас 100 000 нейронов), один слой выполнит только одну матричную трансформацию. Глубина сети это время, которое вы даете градиентам и активациям на то, чтобы подумать.

Почему мы не строим сети из 10 000 слоев?

Если глубина это интеллект, почему размерность d_model в LLaMA-3 все еще равна 8192, а слоев всего 80? Почему не сделать d_model = 256 и 10 000 слоев?

Здесь математика сталкивается с инженерией:

  1. Затухание градиентов: Протолкнуть сигнал через 10 000 слоев без искажений это адская задача (вспомните про токсичность Residual связей и необходимость таких хаков, как LayerScale, о которых мы говорили ранее).

  2. Параллелизм: Широкие матрицы идеально "режутся" на куски и параллелятся между несколькими видеокартами внутри одного узла без задержек сети. А вот глубину распараллелить невозможно (Pipeline Parallelism требует синхронизации и создает пузыри ожидания).

  3. Информационное бутылочное горлышко: Если слой слишком узкий, он просто не сможет пропихнуть через себя информацию о 100 000 токенов контекста. Узкий слой это труба с маленьким диаметром: вода течет быстро, но объема не хватает.

Заключение

Теорема об универсальной аппроксимации не лжет математически, она лжет концептуально. Да, плоская и бесконечно широкая сеть может выучить всё. Но она сделает это через тупую зубрежку.

Истинный интеллект, абстракция и способность к обобщению рождаются из композиции признаков. Пиксели складываются в грани, грани в формы, формы в объекты. Буквы складываются в слова, слова в смыслы. Композиция требует иерархии, а иерархия требует глубины.

Ширина нейросети определяет то, как много она может знать. Глубина определяет то, насколько глубоко она может об этом думать. И в мире, где данных становится слишком много, выживают не те модели, которые пытаются всё запомнить, а те, которые умеют складывать пространство.

Комментарии (4)


  1. alexhu
    19.05.2026 18:19

    Позволю себе немного добавить цитатой;

    Сомнения относительно возможностей персептронов развеяли советские математики — академик А.Н. Колмогоров (1903–1987) и академик В.И. Арнольд (род. в 1937). Им удалось доказать, что любая непрерывная функция n переменных f(x1, x2, ... xn) всегда может быть представлена в виде суммы непрерывных функций одного переменного f1(x1) + f2(x1) + ... + fn(xn), гипотеза Гильберта была опровергнута, и нейроинформатике, таким образом, был открыт “зеленый свет”.

    В 1987–1991 гг. профессором Калифорнийского университета (США) Р.Хехт-Нильсеном теоремы Арнольда – Колмогорова были переработаны применительно к нейронным сетям. Было доказано, что для любого множества непротиворечивых между собой пар произвольной размерности (Xq, Dq), q = 1, ..., Q, существует двухслойный персептрон с сигмоидными активационными функциями и с конечным числом нейронов, который для каждого входного вектора Xq формирует соответствующий ему выходной вектор Dq.

    Таким образом, была доказана принципиальная возможность построения нейронной сети, выполняющей преобразование, заданное любым множеством различающихся между собой обучающих примеров, и установлено, что такой универсальной нейронной сетью является двухслойный персептрон, т.е. персептрон с одним скрытым слоем, причем активационные функции его нейронов должны быть сигмоидными.

    То же самое подаётся как теорема Джорджа Цибенко от 1989 года - не знаю чей приоритет правильный.

    У вас получаются великолепные статьи.


    1. TimurZhoraev
      19.05.2026 18:19

      там проблема в том что сигмоид - это тёплый ламповый метод когда можно практически без усилий реализовать конечно-разностный метод обратного распространения за счёт свойств функции. Однако, ReLU проигрывает по количеству но легко обходит простотой. Тогда это было актуально когда DRAM была в прямом смысле на вес золота за сотню нейронов. Сейчас же хоть под триллион полновесных весов - не проблема. Там не нужно считать нелинейности а только фактически переключения (знак градиента), по сути некий аналог метода половинного сечения. Есть ещё дополнение в виде аппаратной реализации barrel shifter но там нужны принципиально другой метод обучения когда запоминается несколько состояний градиентов, как в методе Ньютона-Рафсона, последовательными итерациями приближаясь с сигмоиду. Но зачем плодить нелинейности когда есть СЛАУ, собственно и тензорные ядра на этот счёт молотить обратные матрицы. Вообщем от этих моделей уже давным давно отказались в пользу фактически виртуальных машин на 1 байт (256 значений).


  1. Dartzod
    19.05.2026 18:19

    • Этот базис про склажывание, как ты выразился основа для самой сути принадлежности ии, и геометрия и объем не могут быть аспектом генерации, это проицииование на интеллект через крайне примитивные инструменты только для объект в зайти замысла и корявые рамки. И пользы для развития и понимания несёт лишь отрицательный эффект. Этот тезис был полезен на заре и то в концепции выбора.


  1. Flokis_guy
    19.05.2026 18:19

    Теорема об универсальной аппроксимации не лжет математически, она лжет концептуально. Да, плоская и бесконечно широкая сеть может выучить всё. Но она сделает это через тупую зубрежку.

    С чего бы это? Если истинная функция, которая обобщает информацию и дает модели "интеллект", находится в пространстве непрерывных функций, то UAT нормально работает. То, что это теорема существования, факт, но при такой общности невозможно фундаментально требовать большего, чем теорему существования.