В прошлой статье были только опыты. Теперь давайте расскажу подробнее: это шаги к новой архитектуре — LANN-4 и что это такое?
Если коротко
В первой статье я показал несколько опытов с небольшой моделью (её размер влезает в обычную домашнюю видеокарту) вокруг одного вопроса: может ли такая модель становиться умнее со временем — не раздуваясь до огромных размеров, а за счёт памяти, аккуратного дообучения и проверки ответов. Но я тогда не сказал, ради чего всё это и что это вообще часть чего-то большего.
Теперь раскрою карты. Эти опыты — не сами по себе. Это шаги к новой архитектуре, над которой я работаю; я зову её LANN-4 (если расшифровать — нейросеть, которая учится всю «жизнь», с небольшим неизменным «мозгом» и вынесенной наружу памятью). И сразу честно: самой этой архитектуры ещё нет — она не выбрана и не построена. Небольшие модели в опытах — это подопытные инструменты, а не LANN-4. Готовую новую модель я не показываю. Я показываю исследование на пути к ней — и то, что получилось и что НЕ получилось.
А не получилось вот что. Мы проверили: если одну и ту же небольшую модель подучивать на примерах несколько раз подряд, будет ли она от раза к разу становиться всё лучше? Короткий ответ: нет. Первый раунд подучивания даёт заметный прирост, а дальше рост останавливается. Накопления не вышло.
И есть вопрос, в котором мне реально нужна ваша помощь: прежде чем тратить примерно сутки работы видеокарты на решающую проверку, я хочу, чтобы вы попробовали найти дыру в её устройстве.
Что мы вообще пытаемся сделать и зачем
Обычный путь в индустрии — делать модели всё больше: больше «нейронов», больше данных, больше вычислений. Нас занимает другое: сколько пользы можно выжать при жёстко ограниченном размере. Грубо говоря — пусть каждая следующая похожая задача даётся системе дешевле, потому что она уже решала похожие, и при этом она не тупеет на новом и не вылезает за отведённую ей память.
Чем мы при этом руководствуемся (это наши рабочие принципы, а не описание устройства):
система помнит прошлое между задачами, а не начинает каждый раз с чистого листа;
на каждую задачу тратится ровно столько сил, сколько она стоит, не больше;
знания и опыт лежат в отдельной памяти снаружи, а не «вплавлены» в саму модель;
она учится новому, не забывая старое;
ответ, догадка и проверенный факт — это три разные вещи, и честное «я не знаю» лучше красивой выдумки;
любое самоулучшение сначала проверяется в песочнице и внешним судьёй, модель не правит сама себя;
всё, что касается безопасности и разрешений, вынесено наружу и не зависит от «послушности» модели.
Мозг для нас — источник идей о том, как вообще можно устроить вычисление и память, а не образец для копирования.
Как мы это проверяли, человеческим языком
Устроили честный опыт и заранее, ещё до запуска, записали все правила и сами наборы задач — с «отпечатками», чтобы потом нельзя было подогнать результат под желаемое. А после прогона пересчитали всё заново другим кодом, который писал не тот человек, что ставил опыт. Это защита от самообмана.
Дальше взяли один и тот же экзамен из 200 задач, одинаковый на всех этапах, и прогнали систему через четыре раунда подучивания. И сравнили три способа работать:
«копим» — модель подучивают, и каждый следующий раунд наслаивается на предыдущий;
«с нуля» — каждый раунд начинаем с чистой модели, без накопления;
«без обучения» — ничего не учим, просто пересдаём тот же экзамен (чтобы понять, как результат гуляет сам по себе от случайностей).
Главное, что мы мерили: идёт ли доля решённых задач вверх от раунда к раунду.
Что получилось
Доля правильно решённых задач по раундам у режима «копим» выглядела так: примерно 53% → 59%, а дальше топтание на месте, 54–57%, без набора высоты.
То есть почти весь прирост дал первый раунд. Второй, третий и четвёртый не добавили ничего. Режим «с нуля» вёл себя так же, как «копим» — накопленная подкрутка не давала преимущества над «начни заново каждый раз». А режим «без обучения» даже чуть сползал вниз, как и положено шуму.
Отдельно проверили: старые задачи от всего этого решаться хуже не стали, то есть ничего не сломали. И независимый пересчёт полностью совпал с первым — цифры не померещились.
Что это значит, и, что важнее, чего это НЕ значит
Что значит: один раунд подучивания на проверенных решениях реально добавляет около пяти процентных пунктов, и этот прирост держится все четыре раунда, не рассыпаясь. Разовое улучшение — есть, оно настоящее.
Чего это НЕ значит (и мы специально не смешиваем эти вещи):
это не доказательство, что знания накапливаются — за пределами первого раунда накопления мы не увидели;
это не вывод «модель слишком мала, чтобы учиться» — такого мы не проверяли и не заявляем;
«помогла память» и «система действительно научилась» — разные вещи, и наш опыт различает только часть из них.
Отрицательный результат для нас не провал. Он честно сужает круг: показывает, куда способность складывать бесполезно. Но прежде чем делать из этого серьёзный вывод, надо закрыть одну дыру — и вот тут я прошу помощи.
Развилка, которую не обойти
Прирост от первого раунда реальный. Но откуда он взялся? Есть два честных объяснения, и они ведут проект в разные стороны которые справедливо заметил один из пользователей в комментариях к первому посту:
модель и правда усвоила содержание правильных решений — то есть чему-то научилась;
модель просто поймала эффект самого факта подучивания на коде — приспособилась к формату, а не к сути.
На экзамене обе версии дают одну и ту же цифру. Пока мы их не разведём, толковать любой следующий опыт нельзя.
Плацебо, в котором я прошу найти дыру
Приём тот же, что с плацебо-таблеткой в медицине. Там, чтобы понять, лечит ли лекарство само по себе, его сравнивают с пустышкой, которая выглядит и принимается точно так же. У нас так же: мы сравниваем подучивание на правильных парах «задача и её проверенное решение» с подучиванием на нарочно перепутанных парах, где решение не подходит к задаче (мы проверили: перепутанные пары действительно не решают задачу). Всё остальное делаем одинаково: столько же шагов, столько же примеров, тот же экзамен, те же условия.
Правило решили заранее. Если обучение на правильном содержании даёт заметно больше, чем на пустышке — значит, система училась содержанию. Если примерно одинаково — значит, это была просто подстройка под формат, и слово «обучение» надо понимать иначе.
Где я сам вижу слабое место и прошу добить: эта проверка разводит «обучение на коде вообще» и «обучение на правильном содержании», но только внутри одного типа задач. Она не ловит ситуацию «натаскалось на коде того же типа». Чтобы закрыть и это, нужен отдельный опыт на других типах задач — а это ещё сутки видеокарты.
Три вопроса, ради которых весь пост:
Достаточно ли такой пустышки с равными затратами, чтобы честно назвать прирост первого раунда настоящим обучением? Что мы упускаем в списке «держим одинаковым»?
Как закрыть дыру «внутри одного типа задач», не удваивая работу видеокарты?
Встречал ли кто-нибудь такую же картину — «рывок на первом раунде, дальше потолок» — когда одну и ту же небольшую модель подучивают много раз на одном наборе? Это у вас тоже так, или это особенность нашего протокола?
Дельная критика по существу здесь ценнее похвалы. За ней и пришёл.
Чего я в этой статье НЕ рассказываю, и почему честно
Я делюсь вопросом, замерами, самой проверкой и дисциплиной. Я НЕ выкладываю, как мы собираемся строить «мозг» системы: на чём именно он будет основан, в чём, по нашей догадке, его главное отличие и как всё внутри соединяется. Причина не в напускной секретности. Просто доказанной новой конструкции у нас пока нет — выкладывать в открытый чертёж нечего, а сырую догадку легко испортить, выдав её за готовый результат. Когда созреет и проверится — расскажем, плюс работы по отдельности в этом направлении можно найти в интернете. Опять же это не последний пост, я хотел бы и дальше развивать проект если мы не упремся физически.
Про воспроизводимость
Как и в первой статье: все правила и наборы задач зафиксированы заранее с «отпечатками»; результаты пересчитаны независимо; отрицательные результаты и список собственных ошибок мы храним и не переписываем задним числом. Технический сбой — это не научный провал. Выросшая цифра — это ещё не доказанное обучение. А «я не знаю» — нормальный ответ.
Спасибо, что дочитали. Если какая-то из трёх дыр вам знакома по собственному опыту — напишите. Это ровно то, что двигает нас дальше. Важно я не являюсь каким то про разработчиком нейронок, я всему еще учусь, возможно я совершаю глупые ошибки, что наверное нормально для начинающего в этой отрасли человека.
Комментарии (20)

beatwad
11.10.2026 17:18Автор, а какая нейронка помогала тебе писать эту статью? Я к тому, что разве ты у нее не спрашивал про похожие работы на эту тематику? Мне кажется, она бы тебе и про RAG рассказала, и про все остальное, если бы ты с ней заранее своими идеями поделился.
Я просто всегда так делаю, когда мне очередная "гениальная" идея приходит, и в 99% случаев это оказывается либо мусор, либо про это уже пару сотен научных работ написали.
Ejukk Автор
11.10.2026 17:18То есть это на столько смешо и очевидно , что если бы был фундоментал то такая идея бы отпала на моменте придумывания? Вообще так то гпт 5.6 помогал в разработке

beatwad
11.10.2026 17:18Да не то чтобы смешно, просто странно, что нейронка не посоветовала никаких похожих работ по этой теме. Это бы сэкономило кучу времени, и помогло бы улучшить решение, если бы оно действительно оказалось уникальным. Рекомендую всегда начинать с этого в общем.

Ejukk Автор
11.10.2026 17:18Самое интересное, что когда я начинал, она находила работы, по отдельности но подобные типо не было еще , спасибо буду драконить больше

Ejukk Автор
11.10.2026 17:18Просто он наобарот посоветовал вырезать, чтобы проект типо не угнали в рамках безопасности
bkisonka
Прочитал статью. Подозрения вполне обоснованны — автор действительно демонстрирует пробелы в базовой математике и теории машинного обучения, облекая стандартные (и давно известные) вещи в форму «открытий» и «загадок». Теперь по пунктам.
1. Главная ошибка: «накопление» = повторение одних и тех же данных
Это ядро статьи и главная причина, по которой результат выглядит для автора «неожиданным».
Автор берёт один и тот же набор из 200 задач и прогоняет модель через 4 раунда обучения на этих же данных. Потом удивляется: «Почему после первого раунда роста нет? Накопления не вышло!»
С точки зрения теории информации это полностью предсказуемо:
В данных раунда 2, 3 и 4 нет новой информации. Это те же 200 примеров. Модель уже извлекла из них всё, что способна извлечь, за первый проход.
С точки зрения оптимизации: после первого раунда модель уже находится в (или около) локального минимума функции потерь на этом наборе. Дальнейшие проходы — это просто дополнительные эпохи обучения на том же датасете. Любой, кто обучал нейросети, знает: дополнительные эпохи на одних данных дают убывающий прирост и быстро выходят на плато.
Настоящее «накопление» выглядело бы так: раунд 1 — задачи 1–50, раунд 2 — задачи 51–100, и т. д. Тогда в каждом раунде поступает новая информация. У автора же это просто повторение, названное «накоплением».
Автор путает количество проходов по данным с количеством данных. Это фундаментальное непонимание того, как работает обучение.
2. Сравнение «копим» vs «с нуля» бессмысленно по построению
Автор сравнивает:
«копим»: обучили 4 раза подряд на одном наборе;
«с нуля»: каждый раз сбросили и обучили 1 раз.
И «удивляется», что результат одинаковый. Но это тривиально: если весь полезный сигнал извлекается за один проход (что и показывает результат), то многократное повторение не даёт ничего сверх первого раза. Это не «загадка», а прямое следствие того факта, что модель уже сошлась. Сравнивать эти два режима и делать из этого «вывод» — это как удивляться, что «прочитать страницу 5 раз» даёт то же понимание, что и «прочитать 1 раз».
3. Статистическая значимость: 6% на 200 задачах — это шум
Переход с 53% до 59% на выборке из 200 задач:
53% = 106 правильных, 59% = 118 правильных. Разница: 12 задач.
Стандартная ошибка доли при p ≈ 0,56, n = 200:
, т. е. ±3,5%.
Разница в 6% — это менее двух стандартных ошибок. На уровне значимости α = 0,05 это пограничный результат, который вполне может объясниться случайностью.
Автор заявляет: «прирост реальный, он настоящий», — но при n = 200 это утверждение без серьёзной оговорки некорректно. Нужен хотя бы тест Макнемара (парное сравнение одних и тех же задач до/после), а не просто сравнение долей. Автор упоминает «режим без обучения» как контроль шума, но не приводит доверительных интервалов и не проводит формального теста.
4. «Плацебо» — это стандартный permutation test, поданный как открытие
Автор с гордостью описывает «плацебо-эксперимент»: обучать на перепутанных парах (задача + чужое решение) и сравнить с обучением на правильных.
Это стандартный приём в машинном обучении и статистике, называемый permutation test или negative control. Он используется десятилетиями. Подавать его как оригинальную методологическую находку и просить сообщество «найти дыру» — значит не знать базовую литературу по экспериментальному дизайну в ML.
Более того, сам автор признаёт, что этот тест не закрывает ключевую дыру («натаскивание на формат внутри одного типа задач»), и просит помощи. Это честно, но одновременно показывает, что автор не знаком с кросс-доменной валидацией (cross-domain transfer) — стандартным способом проверить, выучила ли модель содержание или формат.
5. «Новая архитектура LANN-4» — это переизобретение известных вещей
Автор описывает принципы:
маленький неизменный «мозг» + внешняя память;
знания хранятся снаружи, а не в весах;
модель не забывает старое.
Это не новая архитектура. Это:
RAG (Retrieval-Augmented Generation) — внешняя память + генерация;
Memory-augmented neural networks — Neural Turing Machines (Graves et al., 2014), Differentiable Neural Computers (Graves et al., 2016);
Continual / lifelong learning — целая подобласть ML, где проблема catastrophic forgetting изучается более 20 лет.
Автор подаёт это как нечто принципиально новое («я зову её LANN-4»), но не ссылается ни на одну из этих работ. Это не «ошибка» в строгом смысле, но это диагноз: человек не знает литературу и принимает известное за своё.
6. «Магия» вместо математики
Вот что имеется в виду под «увлёкся магией»:
Автор приписывает процессу обучения мистическое свойство «накопления», как будто многократное повторение одних данных должно каким-то образом привести к «глубокому пониманию». В математике нет механизма, по которому
даёт что-то качественно иное, чем
.
Автор строит нарратив вокруг «отрицательного результата» как чего-то глубокого, хотя этот результат предсказуем из первых принципов и не требует суток работы GPU для обнаружения.
Весь эксперимент можно было предсказать на бумаге до запуска, если знать базовую теорию оптимизации и информацию. Автор вместо этого тратит вычислительные ресурсы на обнаружение того, что следует из учебника.
Резюме
Что автор считает Что на самом деле «Накопление не работает — загадка!» Повторение одних данных ≠ накопление. Плато предсказуемо. «Прирост 6% — реальный и значимый» На n=200 это в пределах шума, без формального теста. «Плацебо-эксперимент — наша находка» Стандартный permutation test / negative control. «LANN-4 — новая архитектура» RAG + Memory-augmented NN + Continual Learning, известные с 2014+. «Нужна помощь сообщества, чтобы найти дыру» Дыра видна из базового курса ML: нет новых данных — нет нового обучения.
Автор, вероятно, практик-программист, который искренне увлечён идеей, но не имеет достаточной математической подготовки, чтобы отличить тривиальный результат от нетривиального, а известный метод — от нового. Отсюда и «магия»: там, где математика даёт чёткий ответ до эксперимента, автор видит «загадку» после.
Ejukk Автор
Абсолютная прадва насчет вывода
Ejukk Автор
Посоветуйте какую литературу изучить, чтобы лучше продвигаться в вопросе разработке?
bkisonka
Базовую математику (не школьную) и теорию ML. Литературы полно, только изучайте, пожалуйста :)
Ejukk Автор
Понял вас, спасибо ушел копать литературу
Ejukk Автор
Спасибо за разбор, по делу. Сразу соглашусь с двумя вещами: формулировки «неожиданно/облом» я пересолил — плато было одним из заранее заложенных исходов, а не сюрпризом; и я зря выкинул из текста статистику и ссылки ради читабельности — для технического читателя это читается как их отсутствие. Виноват, поправлю в следующей.
Теперь по фактам, где, кажется, вышло недоразумение из-за моего упрощения:
Модель не обучается и не тестируется на одних и тех же 200 задачах. Обучение идёт на 80 решениях, экзамен — 200 отдельных отложенных задач, пересечение проверено (утечка = 0, это в открытом коде). Так что «нет новых данных — нет обучения» тут не про экзамен.
Первичная метрика — не разность долей, а наклон по циклам с bootstrap-CI (ноль не включает), а прирост первого цикла проверялся парным тестом (McNemar, p≈0.011). «53→59» — грубый readout, зря вынес его вперёд. То есть парный тест, который вы советуете, мы и применяли.
Сравнение «копим vs с нуля» не тривиально заранее: перенос состояния мог дать и интерференцию (забывание), и накопление. Равенство — это измеренный результат, а не следствие из определения.
Да, плацебо — это стандартный negative control, я и не подавал его как находку, а просил раскритиковать дизайн. И ограничение «внутри одного типа задач» + нужду в кросс-доменной проверке я назвал сам — это ровно ваш пункт, спасибо, что подтвердили направление.
Про RAG / Neural Turing Machines / DNC / continual learning — полностью согласен, это известная линия, и внешнюю память я своим изобретением не называю. Имя LANN-4 — это название исследовательской программы, а не заявка на новизну компонентов; ничего «доказанно нового» я не утверждаю и специально это оговорил.