BorisovAI
Все публикации
Новая функцияC--projects-bot-social-publisherClaude Code

Как мы научили нейросеть забывать старые паттерны

Как мы научили нейросеть забывать старые паттерны

В Bot Social Publisher я столкнулся с парадоксом: наша система слишком хорошо помнила. Категоризатор генерировал сигналы с такой уверенностью, словно изучал священные истины. На деле модель просто цепко держалась за закономерности трёхмесячной давности, хотя реальность уже изменилась в пять раз.

Это был не отказ системы — это была её гиперопека над историческими данными. Когда я разобрал выход фильтра, обнаружилось: примерно 40–50% обучающих данных просто шумели, учили модель видеть фантомы. Сигнал из Git-логов месячной давности? Модель всё ещё давила на него, как на актуальную новость. Старая закономерность с прошлого квартала? Осталась в весах нейросети, невидимая, но влиятельная.

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

Во время рефакторинга ветки refactor/signal-trend-model пришла идея: вместо уничтожения — замещение. Первый этап прямолинейный: явная очистка всех кэшей с флагом force_clean=True, полное переоздание снимков состояния. Но это только половина. Второй этап контринтуитивен: мы добавили синтетические примеры переобучения — специально разработанные данные, чтобы перезаписать устаревшие паттерны. Это как дефрагментировать не диск, а границы решений в самой нейросети.

Результат был жёсткий, но необходимый. Точность на исторических валидационных наборах упала на 8–12%. Но на по-настоящему новых данных? Модель осталась острой. Каждый свежий сигнал теперь честно оценивается без фильтра устаревших предположений.

По итогам мержа в main: - 35% снижение потребления памяти - 18% уменьшение задержки вывода - Главное — модель перестала таскать чемодан мёртвого груза

Важная находка: в типичных ML-пайплайнах 30–50% данных — это семантическая избыточность. Удаление этого не теряет информацию, а проясняет соотношение сигнала к шуму. Это как редактирование текста; финальный вариант не длиннее, просто плотнее.

Почему React-компонент пошёл к психологу? Слишком много ненужных перерисовок. 😄

Метаданные

Session ID:
grouped_C--projects-bot-social-publisher_20260219_1825
Branch:
main
Dev Joke
Почему React-компонент пошёл к психологу? Слишком много ненужных перерисовок

Оцените материал

0/1000