Neural GPU: почему модель, которая учит сложение, не масштабируется
Neural GPU обучали умножать многозначные числа без единой заложенной формулы. Модель осваивала алгоритм по примерам — и на этом же спотыкалась. Разбираем, что она умеет и где ломается.

В 2015 году исследователи из Google Brain показали архитектуру Neural GPU: рекуррентную сеть, которая училась складывать и умножать двоичные числа не по заранее заданной формуле, а по парам «вход — ответ». Модель, обученная на числах длиной до 20 бит, обобщалась на 200 бит и давала точный результат. Это выглядело как прорыв: нейросеть, которая выучила настоящий алгоритм, а не запомнила таблицу. Спустя несколько лет стало ясно, где проходит граница — и она гораздо ближе, чем обещал первый результат.
Что такое Neural GPU и почему она называется так
Neural GPU — это разновидность рекуррентной свёрточной сети, построенной вокруг convolutional GRU*. Ключевая идея: сеть применяет одну и ту же свёрточную операцию к решётке скрытых состояний много раз подряд, и все шаги параллельны по ширине входа. Отсюда и название — по духу вычисления она ближе к графическому процессору, где тысячи операций идут одновременно, чем к последовательному RNN, читающему вход символ за символом.
В отличие от классической Neural Turing Machine, у Neural GPU нет отдельной внешней памяти и механизма адресации. Вся память — это те же скрытые состояния решётки, которые перезаписываются на каждом из фиксированного числа шагов. Число шагов обычно привязано к длине входа, что и позволяет модели «прокатываться» по более длинным примерам без переобучения.
Что она реально освоила
Две задачи, на которых Neural GPU показала обобщение по длине:
- Двоичное сложение — вход из двух чисел, обучение на коротких, точность на длинных близка к 100%.
- Двоичное умножение — задача заметно тяжелее, но при аккуратном обучении модель тоже обобщалась с 20 на 200 бит.
Важно: речь именно о двоичной записи. Это не мелочь, а часть истории провала, к которой мы вернёмся.
Где Neural GPU ломается
Первые же попытки воспроизвести и расширить результат вскрыли хрупкость. Модель, идеально работавшая на 200-битных примерах в одной конфигурации, при другой инициализации весов или другом порядке батчей давала заметно худшее обобщение. То есть «алгоритм» выучивался не всегда, а его качество зависело от случайности обучения — плохой признак для системы, которая претендует на выучивание точной процедуры.
Проблема разрядности и оснований счисления
Обобщение на длинные двоичные числа не переносилось на десятичные. Модель, обученная складывать в основании 2, не умела складывать в основании 10 без переобучения — хотя человек воспринимает это как ту же операцию. Это указывает, что сеть выучивает не абстрактное «сложение», а конкретный паттерн переноса разрядов в конкретном основании.
Neural GPU не выучила арифметику. Она выучила очень длинный, очень специфичный шаблон, который случайно совпадает с арифметикой на том распределении, на котором её тренировали.
Структурированные входы
Отдельные расширения пробовали учить Neural GPU задачам вроде вычисления выражений со скобками, копирования с трансформацией, декодирования. Здесь картина хуже: чем больше в задаче ветвлений и «if-подобной» логики, тем менее охотно модель обобщается на входы, длиннее обучающих. Плоская свёрточная решётка без явной адресации памяти плохо изображает вложенность.
Расширения: что пробовали и что дало эффект
Исследования после 2016 года двигались в нескольких направлениях, с разным успехом.
| Расширение | Идея | Эффект |
|---|---|---|
| Curriculum learning | Постепенное увеличение длины примеров при обучении | Стабильнее сходимость, но обобщение всё ещё зависит от запуска |
| Регуляризация шума в градиенте | Добавление шума, чтобы уйти от хрупких минимумов | Заметно чаще получается «правильный» алгоритм |
| Расширение числа фильтров/глубины | Больше ёмкости решётки | Помогает умножению, но повышает риск переобучить шаблон |
| Явные механизмы памяти | Гибрид с адресуемой памятью в духе NTM | Лучше на структурированных задачах, дороже в обучении |
Общий вывод у большинства работ похожий: локальными трюками можно повысить надёжность сходимости, но нельзя починить фундаментальное свойство — модель обобщает по длине, а не по смыслу операции.
Почему это оказалось тупиком для практики
К 2017–2018 годам центр тяжести в задачах «нейросеть учится алгоритмам» сместился к трансформерам и моделям с вниманием. Внимание дало то, чего не было у плоской свёрточной решётки: способность адресовать произвольные позиции входа напрямую. Именно поэтому современные разговоры о «reasoning» в больших языковых моделях почти не ссылаются на Neural GPU — она осталась важным, но узким экспериментом.
Что из этого стоит забрать разработчику
Если вы сегодня проектируете модель, которая должна выучить процедуру, а не запомнить ответы, уроки Neural GPU остаются актуальными:
- Проверяйте обобщение по длине отдельно. Хорошая точность на тестовой выборке той же длины ничего не говорит о том, выучен ли алгоритм.
- Меняйте основание, формат, порядок. Если модель ломается при смене представления той же операции, она выучила шаблон, а не смысл.
- Гоняйте несколько запусков с разными сидами. Хрупкость к инициализации — прямой сигнал, что «правильное» решение неустойчиво.
- Не переоценивайте один эффектный график. Результат «с 20 до 200 бит» впечатляет, но без воспроизводимости он не свойство архитектуры, а свойство удачного запуска.
* Convolutional GRU — вариант gated recurrent unit, где вместо полносвязных преобразований используются свёртки. Позволяет обрабатывать вход как пространственную решётку и делить веса между позициями.
Prompt-инженер: Идеальные запросы для Midjourney, ChatGPT и других моделей.
Спросить за 15 ₽Источники: Kaiser, Sutskever — Neural GPUs Learn Algorithms (arXiv), Price, Zaremba, Sutskever — Extensions and Limitations of the Neural GPU (arXiv)
Частые вопросы
Neural GPU всё ещё используют в новых проектах?
Почему обобщение с 20 на 200 бит — это мало?
Чем Neural GPU отличается от Neural Turing Machine?
Что значит «обобщение по длине»?
Можно ли починить хрупкость Neural GPU трюками обучения?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.