Как ошибки в датасетах могут оказаться полезными - Академия Selectel

Как ошибки в датасетах могут оказаться полезными

Тирекс
Тирекс Самый зубастый автор
2 сентября 2026

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

Изображение записи

Представьте себе грустного школьника, которому приходится решать тысячи задач по математике. Учебник в целом хороший, но примерно в одном проценте случаев в нем напечатаны неправильные ответы. Ученик все равно занимается по этому учебнику и в конце концов начинает решать все новые и новые задачи.

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

Звучит парадоксально: если учиться на неправильных ответах, откуда вообще может взяться улучшение? Об этом и поговорим.

Нейросеть не учится как школьник

Чтобы как следует разобраться во влиянии датасета на обучение моделей, сначала немного поговорим о том, как нейросети в принципе учатся. Если вы и так это знаете, то смело пропускайте. 

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

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

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

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

Что делает одна ошибка

Допустим, мы показываем модели 1 000 фотографий собак и кошек. В 990 случаях разметка правильная, а в десяти ее случайно перепутали. Для модели это не обязательно означает катастрофу.

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

Это можно представить на простом примере с квартирами. Если почти все данные показывают, что с увеличением площади растет цена, одна странная запись вроде «70 м² — 3 млн рублей» еще не заставит модель сделать вывод, что большие квартиры внезапно дешевле маленьких.

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

Схема извлечения правила нейросетью из датасета с ошибками разметки.

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

Переобучение: когда модель слишком хорошо учится

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

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

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

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

Иногда ошибка мешает модели выбрать слишком легкий путь

Вернемся к кошкам и собакам. Пусть модель обнаружила простое правило: «собака обычно находится на улице». Оно отлично работает, пока данные устроены именно так. Но вдруг в обучающей выборке появляются фотографии собак в квартирах и кошек на улице. Эти примеры ломают простое правило.

Модель уже не может надежно решить задачу по одному фону. Ей приходится искать другие признаки, которые сохраняются в разных условиях. В результате она может начать учитывать внешний вид самого животного.

Схема обучения модели на датасете с ложными подсказками.

Это важная идея: дополнительное разнообразие в данных иногда заставляет модель отказаться от случайной подсказки и искать более устойчивую закономерность.

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

Есть большая разница между случайной и систематической ошибкой

Теперь другой случай: все черные кошки по какой-то причине помечены как собаки. Для модели это уже совсем другая ситуация. Она может обнаружить закономерность: черный цвет шерсти связан с классом «собака». Если такая зависимость достаточно сильна, модель начнет использовать ее при классификации.

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

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

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

Почему модель вообще способна игнорировать шум

Здесь позволю себе чуть более техническую часть, без нее парадокс до конца не объяснить. Не секрет, что современные нейросети имеют огромное количество параметров. В некоторых режимах модель способна запомнить обучающую выборку практически целиком, включая неправильные метки. Однако способность запомнить данные не означает, что модель делает это сразу.

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

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

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

Какой процесс окажется сильнее, зависит от множества факторов: архитектуры, размера модели и датасета, оптимизатора, скорости обучения, регуляризации и характера самого шума. Поэтому нельзя сформулировать универсальное правило вроде «1% ошибок полезен» или «ошибки всегда вредны». Все зависит от конкретной задачи.

Что тогда означает «модель стала лучше»

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

Шум мог сделать некоторые слишком простые стратегии менее выгодными. Он мог заставить модель опираться на более устойчивые признаки. В результате найденное решение оказалось лучше не на обучающих примерах, а на новых данных.

И это принципиальная разница. Мы оцениваем именно то, насколько хорошо модель работает с задачами, которых в учебнике не было.

Идеальный датасет — не обязательно датасет без шума

Здесь стоит сделать одну оговорку. В реальной работе с машинным обучением никто не стремится специально добавлять ошибки в данные. Качественная разметка по-прежнему чрезвычайно важна, но «хорошие данные» — это не просто данные без опечаток.

Вернемся к старому примеру, но добавим одну деталь: все фотографии кошек в датасете сняты дома на одну камеру, а все фотографии собак — на улице и на другую камеру. Метки абсолютно правильные, ошибок нет вообще.

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

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

И все-таки: может ли шум сделать нейросеть умнее?

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

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

Нейросеть не знает, что именно мы хотели в нее вложить. Она видит данные и пытается найти закономерности, которые позволяют минимизировать ошибку. Если в данных есть сильный устойчивый сигнал и немного случайного шума, модель иногда способна отделить одно от другого.

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

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