Эндрю Ын: «Несоответствие данных — третья большая проблема после смещения и дисперсии»

DeepLearning.AI 22,6 тыс. 18 мин 4 мин 25.08.2017
Главное

В современном машинном обучении часто возникают ситуации, когда данные для обучения и данные для реального использования распределены по-разному. Эндрю Ын, основатель 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 .

Процесс формирования выборок выглядит следующим образом:

  1. Берется исходный обучающий набор и случайно перемешивается.
  2. Из него выделяется небольшая часть, которая становится набором training-dev .
  3. Нейросеть обучается только на оставшейся части основного обучающего набора.

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

🧪 Четыре сценария анализа ошибок 3:55

Эндрю Ын выделяет несколько типичных ситуаций, основанных на разнице показателей ошибок (при условии, что ошибка человека — 0%):

1. Проблема высокой дисперсии (Variance)

2. Проблема несоответствия данных (Data Mismatch)

3. Высокое смещение (Avoidable Bias)

4. Комбинированные проблемы (Bias + Mismatch)

📊 Матрица общего анализа и аномалии 8:02

Для систематизации анализа Эндрю Ын предлагает рассматривать пять ключевых показателей:

Разница между dev и test-наборами показывает степень «переобучения под проверочный набор». Если этот разрыв велик, автору кажется разумным увеличить размер проверочного набора .

Ын также упоминает парадоксальные случаи, с которыми он сталкивался в задачах по распознаванию речи . Иногда ошибка на проверочном наборе оказывается ниже, чем на обучающем (например, 7% на обучении и 6% на проверке) . Это происходит, если обучающие данные объективно сложнее (например, записи с сильным шумом), чем данные в проверочном наборе .

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

Такой детальный анализ позволяет увидеть, например, что для людей данные из автомобиля (6% ошибки) сложнее, чем обычная речь (4% ошибки) . По мнению Ына, заполнение всей таблицы полезно не всегда, но часто дает дополнительные инсайты в сложных проектах .

🚀 Как бороться с несоответствием данных? 17:16

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

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

💬 Цитаты

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

«Буду честен: не существует очень систематических способов борьбы с несоответствием данных.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Training-Dev set
Новый тип выборки: подмножество обучающих данных с тем же распределением, которое не используется для обучения, чтобы измерить дисперсию.
Avoidable Bias
Разница между ошибкой алгоритма на обучающем наборе и уровнем ошибки человека (прокси для ошибки Байеса).
Data Mismatch
Ситуация, когда алгоритм хорошо работает на обучающем распределении, но плохо на проверочном из-за разной природы данных.
Bayes error
Минимально возможный уровень ошибки для любой функции, отображающей входные данные в выходные.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Эндрю Ын DeepLearning.AI Training-Dev set Data Mismatch Bias and Variance