В прошлой статье были только опыты. Теперь давайте расскажу подробнее: это шаги к новой архитектуре — LANN-4 и что это такое?

Если коротко

В первой статье я показал несколько опытов с небольшой моделью (её размер влезает в обычную домашнюю видеокарту) вокруг одного вопроса: может ли такая модель становиться умнее со временем — не раздуваясь до огромных размеров, а за счёт памяти, аккуратного дообучения и проверки ответов. Но я тогда не сказал, ради чего всё это и что это вообще часть чего-то большего.

Теперь раскрою карты. Эти опыты — не сами по себе. Это шаги к новой архитектуре, над которой я работаю; я зову её LANN-4 (если расшифровать — нейросеть, которая учится всю «жизнь», с небольшим неизменным «мозгом» и вынесенной наружу памятью). И сразу честно: самой этой архитектуры ещё нет — она не выбрана и не построена. Небольшие модели в опытах — это подопытные инструменты, а не LANN-4. Готовую новую модель я не показываю. Я показываю исследование на пути к ней — и то, что получилось и что НЕ получилось.

А не получилось вот что. Мы проверили: если одну и ту же небольшую модель подучивать на примерах несколько раз подряд, будет ли она от раза к разу становиться всё лучше? Короткий ответ: нет. Первый раунд подучивания даёт заметный прирост, а дальше рост останавливается. Накопления не вышло.

И есть вопрос, в котором мне реально нужна ваша помощь: прежде чем тратить примерно сутки работы видеокарты на решающую проверку, я хочу, чтобы вы попробовали найти дыру в её устройстве.

Что мы вообще пытаемся сделать и зачем

Обычный путь в индустрии — делать модели всё больше: больше «нейронов», больше данных, больше вычислений. Нас занимает другое: сколько пользы можно выжать при жёстко ограниченном размере. Грубо говоря — пусть каждая следующая похожая задача даётся системе дешевле, потому что она уже решала похожие, и при этом она не тупеет на новом и не вылезает за отведённую ей память.

Чем мы при этом руководствуемся (это наши рабочие принципы, а не описание устройства):

  • система помнит прошлое между задачами, а не начинает каждый раз с чистого листа;

  • на каждую задачу тратится ровно столько сил, сколько она стоит, не больше;

  • знания и опыт лежат в отдельной памяти снаружи, а не «вплавлены» в саму модель;

  • она учится новому, не забывая старое;

  • ответ, догадка и проверенный факт — это три разные вещи, и честное «я не знаю» лучше красивой выдумки;

  • любое самоулучшение сначала проверяется в песочнице и внешним судьёй, модель не правит сама себя;

  • всё, что касается безопасности и разрешений, вынесено наружу и не зависит от «послушности» модели.

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

Как мы это проверяли, человеческим языком

Устроили честный опыт и заранее, ещё до запуска, записали все правила и сами наборы задач — с «отпечатками», чтобы потом нельзя было подогнать результат под желаемое. А после прогона пересчитали всё заново другим кодом, который писал не тот человек, что ставил опыт. Это защита от самообмана.

Дальше взяли один и тот же экзамен из 200 задач, одинаковый на всех этапах, и прогнали систему через четыре раунда подучивания. И сравнили три способа работать:

  • «копим» — модель подучивают, и каждый следующий раунд наслаивается на предыдущий;

  • «с нуля» — каждый раунд начинаем с чистой модели, без накопления;

  • «без обучения» — ничего не учим, просто пересдаём тот же экзамен (чтобы понять, как результат гуляет сам по себе от случайностей).

Главное, что мы мерили: идёт ли доля решённых задач вверх от раунда к раунду.

Что получилось

Доля правильно решённых задач по раундам у режима «копим» выглядела так: примерно 53% → 59%, а дальше топтание на месте, 54–57%, без набора высоты.

То есть почти весь прирост дал первый раунд. Второй, третий и четвёртый не добавили ничего. Режим «с нуля» вёл себя так же, как «копим» — накопленная подкрутка не давала преимущества над «начни заново каждый раз». А режим «без обучения» даже чуть сползал вниз, как и положено шуму.

Отдельно проверили: старые задачи от всего этого решаться хуже не стали, то есть ничего не сломали. И независимый пересчёт полностью совпал с первым — цифры не померещились.

Что это значит, и, что важнее, чего это НЕ значит

Что значит: один раунд подучивания на проверенных решениях реально добавляет около пяти процентных пунктов, и этот прирост держится все четыре раунда, не рассыпаясь. Разовое улучшение — есть, оно настоящее.

Чего это НЕ значит (и мы специально не смешиваем эти вещи):

  • это не доказательство, что знания накапливаются — за пределами первого раунда накопления мы не увидели;

  • это не вывод «модель слишком мала, чтобы учиться» — такого мы не проверяли и не заявляем;

  • «помогла память» и «система действительно научилась» — разные вещи, и наш опыт различает только часть из них.

Отрицательный результат для нас не провал. Он честно сужает круг: показывает, куда способность складывать бесполезно. Но прежде чем делать из этого серьёзный вывод, надо закрыть одну дыру — и вот тут я прошу помощи.

Развилка, которую не обойти

Прирост от первого раунда реальный. Но откуда он взялся? Есть два честных объяснения, и они ведут проект в разные стороны которые справедливо заметил один из пользователей в комментариях к первому посту:

  1. модель и правда усвоила содержание правильных решений — то есть чему-то научилась;

  2. модель просто поймала эффект самого факта подучивания на коде — приспособилась к формату, а не к сути.

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

Плацебо, в котором я прошу найти дыру

Приём тот же, что с плацебо-таблеткой в медицине. Там, чтобы понять, лечит ли лекарство само по себе, его сравнивают с пустышкой, которая выглядит и принимается точно так же. У нас так же: мы сравниваем подучивание на правильных парах «задача и её проверенное решение» с подучиванием на нарочно перепутанных парах, где решение не подходит к задаче (мы проверили: перепутанные пары действительно не решают задачу). Всё остальное делаем одинаково: столько же шагов, столько же примеров, тот же экзамен, те же условия.

Правило решили заранее. Если обучение на правильном содержании даёт заметно больше, чем на пустышке — значит, система училась содержанию. Если примерно одинаково — значит, это была просто подстройка под формат, и слово «обучение» надо понимать иначе.

Где я сам вижу слабое место и прошу добить: эта проверка разводит «обучение на коде вообще» и «обучение на правильном содержании», но только внутри одного типа задач. Она не ловит ситуацию «натаскалось на коде того же типа». Чтобы закрыть и это, нужен отдельный опыт на других типах задач — а это ещё сутки видеокарты.

Три вопроса, ради которых весь пост:

  1. Достаточно ли такой пустышки с равными затратами, чтобы честно назвать прирост первого раунда настоящим обучением? Что мы упускаем в списке «держим одинаковым»?

  2. Как закрыть дыру «внутри одного типа задач», не удваивая работу видеокарты?

  3. Встречал ли кто-нибудь такую же картину — «рывок на первом раунде, дальше потолок» — когда одну и ту же небольшую модель подучивают много раз на одном наборе? Это у вас тоже так, или это особенность нашего протокола?

Дельная критика по существу здесь ценнее похвалы. За ней и пришёл.

Чего я в этой статье НЕ рассказываю, и почему честно

Я делюсь вопросом, замерами, самой проверкой и дисциплиной. Я НЕ выкладываю, как мы собираемся строить «мозг» системы: на чём именно он будет основан, в чём, по нашей догадке, его главное отличие и как всё внутри соединяется. Причина не в напускной секретности. Просто доказанной новой конструкции у нас пока нет — выкладывать в открытый чертёж нечего, а сырую догадку легко испортить, выдав её за готовый результат. Когда созреет и проверится — расскажем, плюс работы по отдельности в этом направлении можно найти в интернете. Опять же это не последний пост, я хотел бы и дальше развивать проект если мы не упремся физически.

Про воспроизводимость

Как и в первой статье: все правила и наборы задач зафиксированы заранее с «отпечатками»; результаты пересчитаны независимо; отрицательные результаты и список собственных ошибок мы храним и не переписываем задним числом. Технический сбой — это не научный провал. Выросшая цифра — это ещё не доказанное обучение. А «я не знаю» — нормальный ответ.

Спасибо, что дочитали. Если какая-то из трёх дыр вам знакома по собственному опыту — напишите. Это ровно то, что двигает нас дальше. Важно я не являюсь каким то про разработчиком нейронок, я всему еще учусь, возможно я совершаю глупые ошибки, что наверное нормально для начинающего в этой отрасли человека.

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


  1. bkisonka
    11.10.2026 17:18

    Прочитал статью. Подозрения вполне обоснованны — автор действительно демонстрирует пробелы в базовой математике и теории машинного обучения, облекая стандартные (и давно известные) вещи в форму «открытий» и «загадок». Теперь по пунктам.

    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: \sqrt{0{,}56 \cdot 0{,}44 / 200} \approx 0{,}035, т. е. ±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. «Магия» вместо математики

    Вот что имеется в виду под «увлёкся магией»:

    • Автор приписывает процессу обучения мистическое свойство «накопления», как будто многократное повторение одних данных должно каким-то образом привести к «глубокому пониманию». В математике нет механизма, по которому f(x) + f(x) + f(x) даёт что-то качественно иное, чем f(x).

    • Автор строит нарратив вокруг «отрицательного результата» как чего-то глубокого, хотя этот результат предсказуем из первых принципов и не требует суток работы GPU для обнаружения.

    • Весь эксперимент можно было предсказать на бумаге до запуска, если знать базовую теорию оптимизации и информацию. Автор вместо этого тратит вычислительные ресурсы на обнаружение того, что следует из учебника.

    Резюме

    Что автор считает Что на самом деле «Накопление не работает — загадка!» Повторение одних данных ≠ накопление. Плато предсказуемо. «Прирост 6% — реальный и значимый» На n=200 это в пределах шума, без формального теста. «Плацебо-эксперимент — наша находка» Стандартный permutation test / negative control. «LANN-4 — новая архитектура» RAG + Memory-augmented NN + Continual Learning, известные с 2014+. «Нужна помощь сообщества, чтобы найти дыру» Дыра видна из базового курса ML: нет новых данных — нет нового обучения.

    Автор, вероятно, практик-программист, который искренне увлечён идеей, но не имеет достаточной математической подготовки, чтобы отличить тривиальный результат от нетривиального, а известный метод — от нового. Отсюда и «магия»: там, где математика даёт чёткий ответ до эксперимента, автор видит «загадку» после.


    1. Ejukk Автор
      11.10.2026 17:18

      Абсолютная прадва насчет вывода


    1. Ejukk Автор
      11.10.2026 17:18

      Посоветуйте какую литературу изучить, чтобы лучше продвигаться в вопросе разработке?


      1. bkisonka
        11.10.2026 17:18

        Базовую математику (не школьную) и теорию ML. Литературы полно, только изучайте, пожалуйста :)


        1. Ejukk Автор
          11.10.2026 17:18

          Понял вас, спасибо ушел копать литературу


    1. Ejukk Автор
      11.10.2026 17:18

      Спасибо за разбор, по делу. Сразу соглашусь с двумя вещами: формулировки «неожиданно/облом» я пересолил — плато было одним из заранее заложенных исходов, а не сюрпризом; и я зря выкинул из текста статистику и ссылки ради читабельности — для технического читателя это читается как их отсутствие. Виноват, поправлю в следующей.

      Теперь по фактам, где, кажется, вышло недоразумение из-за моего упрощения:

      1. Модель не обучается и не тестируется на одних и тех же 200 задачах. Обучение идёт на 80 решениях, экзамен — 200 отдельных отложенных задач, пересечение проверено (утечка = 0, это в открытом коде). Так что «нет новых данных — нет обучения» тут не про экзамен.

      2. Первичная метрика — не разность долей, а наклон по циклам с bootstrap-CI (ноль не включает), а прирост первого цикла проверялся парным тестом (McNemar, p≈0.011). «53→59» — грубый readout, зря вынес его вперёд. То есть парный тест, который вы советуете, мы и применяли.

      3. Сравнение «копим vs с нуля» не тривиально заранее: перенос состояния мог дать и интерференцию (забывание), и накопление. Равенство — это измеренный результат, а не следствие из определения.

      4. Да, плацебо — это стандартный negative control, я и не подавал его как находку, а просил раскритиковать дизайн. И ограничение «внутри одного типа задач» + нужду в кросс-доменной проверке я назвал сам — это ровно ваш пункт, спасибо, что подтвердили направление.

      5. Про RAG / Neural Turing Machines / DNC / continual learning — полностью согласен, это известная линия, и внешнюю память я своим изобретением не называю. Имя LANN-4 — это название исследовательской программы, а не заявка на новизну компонентов; ничего «доказанно нового» я не утверждаю и специально это оговорил.


  1. beatwad
    11.10.2026 17:18

    Автор, а какая нейронка помогала тебе писать эту статью? Я к тому, что разве ты у нее не спрашивал про похожие работы на эту тематику? Мне кажется, она бы тебе и про RAG рассказала, и про все остальное, если бы ты с ней заранее своими идеями поделился.

    Я просто всегда так делаю, когда мне очередная "гениальная" идея приходит, и в 99% случаев это оказывается либо мусор, либо про это уже пару сотен научных работ написали.


    1. Ejukk Автор
      11.10.2026 17:18

      То есть это на столько смешо и очевидно , что если бы был фундоментал то такая идея бы отпала на моменте придумывания? Вообще так то гпт 5.6 помогал в разработке


      1. beatwad
        11.10.2026 17:18

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


        1. Ejukk Автор
          11.10.2026 17:18

          Самое интересное, что когда я начинал, она находила работы, по отдельности но подобные типо не было еще , спасибо буду драконить больше


    1. Ejukk Автор
      11.10.2026 17:18

      Просто он наобарот посоветовал вырезать, чтобы проект типо не угнали в рамках безопасности