В современном машинном обучении часто возникают ситуации, когда данные для обучения и данные для реального использования распределены по-разному. Эндрю Ын, основатель DeepLearning.AI, объясняет, как адаптировать классический анализ смещения (bias) и дисперсии (variance) к условиям несоответствия данных. Ключевым инструментом в этом процессе становится введение нового проверочного набора — training-dev set.
📉 Проблема смешивания двух факторов ошибки 0:00
Традиционный анализ смещения и дисперсии позволяет разработчику расставить приоритеты в работе над алгоритмом. Однако, как отмечает Эндрю Ын, привычные методы перестают работать, если обучающая выборка (training set) и проверочная выборка (dev set) взяты из разных распределений .
В качестве примера Ын приводит классификатор кошек, где уровень ошибки человека близок к 0%, что принимается за прокси для ошибки Байеса . В классическом сценарии, если ошибка на обучении составляет 1%, а на проверочном наборе — 10%, диагноз однозначен: алгоритм страдает от высокой дисперсии и плохо обобщает данные .
Однако в условиях несоответствия данных (mismatched data) этот вывод может быть ошибочным. По мнению автора, разрыв в 9% может объясняться не плохой работой алгоритма, а тем, что проверочный набор просто намного сложнее для классификации . Например, обучающие изображения могут быть четкими и в высоком разрешении, а проверочные — размытыми снимками с мобильных телефонов .
Основная сложность анализа заключается в том, что при переходе от обучения к проверке меняются сразу два фактора:
- Алгоритм сталкивается с данными, которые он не видел в процессе обучения .
- Распределение самих данных становится иным .
Из-за этого невозможно сразу определить, какая часть из 9% ошибки вызвана неспособностью нейросети обобщать знания (дисперсия), а какая — объективными различиями в типах данных .
🛠️ Введение Training-Dev набора 2:15
Для того чтобы разделить эффекты дисперсии и несоответствия данных, Эндрю Ын предлагает использовать новый инструмент — training-dev set .
Процесс формирования выборок выглядит следующим образом:
- Берется исходный обучающий набор и случайно перемешивается.
- Из него выделяется небольшая часть, которая становится набором training-dev .
- Нейросеть обучается только на оставшейся части основного обучающего набора.
Важнейшее условие: наборы training и training-dev имеют одинаковое распределение, но нейросеть «не видит» training-dev в процессе обучения (метод обратного распространения ошибки на нем не запускается) . Теперь, имея показатели на обучении, на training-dev и на dev-наборе, можно точно диагностировать проблему .
🧪 Четыре сценария анализа ошибок 3:55
Эндрю Ын выделяет несколько типичных ситуаций, основанных на разнице показателей ошибок (при условии, что ошибка человека — 0%):
1. Проблема высокой дисперсии (Variance)
- Ошибка обучения: 1%
- Ошибка на training-dev: 9%
- Ошибка на dev-наборе: 10% В этом случае алгоритм плохо работает даже на данных из того же распределения, которые он просто не видел раньше . Это классическая проблема переобучения .
2. Проблема несоответствия данных (Data Mismatch)
- Ошибка обучения: 1%
- Ошибка на training-dev: 1.5%
- Ошибка на dev-наборе: 10% Здесь алгоритм отлично справляется с новыми данными из того же распределения (разрыв всего 0.5%), но резко теряет в качестве на проверочном наборе. По словам Ына, это означает, что модель научилась хорошо распознавать специфическое распределение обучающих данных, но оно не соответствует тому, что действительно важно для финальной задачи .
3. Высокое смещение (Avoidable Bias)
- Ошибка обучения: 10%
- Ошибка на training-dev: 11%
- Ошибка на dev-наборе: 12% Если ошибка на обучении значительно выше человеческого уровня (в примере — 10% против 0%), это свидетельствует о проблеме «избегаемого смещения» (avoidable bias) . Алгоритм в принципе не справляется с задачей распознавания .
4. Комбинированные проблемы (Bias + Mismatch)
- Ошибка обучения: 10%
- Ошибка на training-dev: 11%
- Ошибка на dev-наборе: 20% В данном примере присутствуют сразу две беды: высокое смещение (разрыв между 0% и 10% на обучении) и серьезное несоответствие данных (скачок с 11% до 20% при переходе к dev-набору) .
📊 Матрица общего анализа и аномалии 8:02
Для систематизации анализа Эндрю Ын предлагает рассматривать пять ключевых показателей:
- Human level error (уровень человека).
- Training set error (ошибка на обучении).
- Training-dev set error (ошибка на новых данных из того же распределения).
- Dev set error (ошибка на проверочном наборе).
- Test set error (ошибка на тестовом наборе) .
Разница между dev и test-наборами показывает степень «переобучения под проверочный набор». Если этот разрыв велик, автору кажется разумным увеличить размер проверочного набора .
Ын также упоминает парадоксальные случаи, с которыми он сталкивался в задачах по распознаванию речи . Иногда ошибка на проверочном наборе оказывается ниже, чем на обучающем (например, 7% на обучении и 6% на проверке) . Это происходит, если обучающие данные объективно сложнее (например, записи с сильным шумом), чем данные в проверочном наборе .
Чтобы визуализировать это, можно построить таблицу, где по одной оси будут типы данных (общие задачи распознавания речи и специфические данные, например, из зеркала заднего вида автомобиля), а по другой — способы оценки (человек, модель на обученных данных, модель на новых данных) .
Такой детальный анализ позволяет увидеть, например, что для людей данные из автомобиля (6% ошибки) сложнее, чем обычная речь (4% ошибки) . По мнению Ына, заполнение всей таблицы полезно не всегда, но часто дает дополнительные инсайты в сложных проектах .
🚀 Как бороться с несоответствием данных? 17:16
В завершение лекции Эндрю Ын признает, что использование данных из разных распределений — это мощный способ увеличить обучающую выборку и повысить общую производительность системы . Однако это создает новую проблему, отличную от смещения и дисперсии.
«Буду честен: на данный момент не существует очень систематических способов борьбы с несоответствием данных», — констатирует автор . Тем не менее, есть определенные техники и подходы, которые могут помочь минимизировать этот эффект, и их обсуждению Ын обещает посвятить следующее видео .