Эндрю Ын: «Если метрика не работает, смените её»

DeepLearning.AI 23,2 тыс. 11 мин 4 мин 25.08.2017
Главное

В сфере машинного обучения выбор метрик оценки и формирование проверочных (dev) и тестовых (test) наборов данных подобны установке мишени, в которую должна целиться команда разработчиков. Однако в процессе работы может выясниться, что мишень установлена не в том месте. Основатель DeepLearning.AI Эндрю Ын объясняет, почему умение вовремя изменить критерии оценки важнее, чем строгое следование первоначальному плану, и как это влияет на успех продукта в реальных условиях.

🎯 Когда мишень стоит не на месте: проблема неадекватных метрик 0:00

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

В качестве примера Ын приводит разработку классификатора кошачьих изображений:

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

🛠 Математическая корректировка: введение весовых коэффициентов 2:12

Стандартная формула ошибки классификации обычно рассматривает все ошибки как равнозначные. Она подсчитывает количество неверно предсказанных меток и делит их на общее количество примеров в наборе .

Чтобы решить проблему «неприемлемого контента», Ын предлагает модифицировать метрику, добавив весовой коэффициент $W_i$ для каждого примера:

  1. Если изображение не является порнографическим, вес $W_i$ принимается равным 1 .
  2. Если изображение содержит порнографию, вес $W_i$ может составлять 10, 100 или даже больше .

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

🏹 Философия двух шагов: разделение «мишени» и «стрельбы» 5:48

Эндрю Ын предлагает разделять решение любой задачи машинного обучения на два независимых этапа. Он называет это метафорой «двух ручек настройки»:

По мнению Ына, смешивание этих задач затрудняет процесс разработки . Сначала нужно понять, где должна стоять мишень (метрика), и только потом думать о том, как в неё попасть (оптимизация стоимости/функции потерь) .

📱 Проблема несоответствия данных: интернет против реальности 8:00

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

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

Если алгоритм А лучше работает на студийных фото, а алгоритм B — на реальных снимках пользователей, то более высокая точность на старом тестовом наборе становится бессмысленной . Рекомендация Эндрю Ына однозначна: если текущие метрики и данные не предсказывают успех приложения в реальной эксплуатации, необходимо менять проверочные и тестовые наборы так, чтобы они отражали реальные данные, с которыми столкнется алгоритм .

🚀 Скорость итераций важнее совершенства на старте 9:55

В завершение Эндрю Ын дает практический совет по управлению командами. Наличие четкой метрики и проверочного набора критически важно для скорости разработки, так как позволяет быстро принимать решения в стиле «какой алгоритм лучше — А или B?» .

Основные тезисы его стратегии:

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

💬 Цитаты

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

«Думайте об определении метрики как о первом шаге, и вы делаете что-то другое для шага номер два (оптимизации).»

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

👥 Спикер
📖 Термины
Dev set (Development set)
Проверочный набор данных, используемый для настройки гиперпараметров и выбора лучшего алгоритма в процессе разработки.
Test set
Тестовый набор данных, используемый для финальной оценки качества уже обученной модели.
Indicator function (Индикаторная функция)
Математическая функция, которая принимает значение 1, если условие верно, и 0 в противном случае.
Cost function (Функция потерь/стоимости)
Математическая функция, которую алгоритм минимизирует в процессе обучения для достижения наилучшего результата.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Andrew Ng DeepLearning.AI Machine Learning Dev sets Classification error