Инструмент «что, если»: тестируйте модели машинного обучения без написания кода

Google машинное обучение искусственный интеллект открытый источник

Автор: Джеймс Векслер, инженер-программист Google AI

Источник | Публичный аккаунт TensorFlow

Создание эффективной системы машинного обучения (ML) требует ответа на множество вопросов. Просто обучить модель и отпустить ее недостаточно. А хорошие разработчики, как детективы, всегда исследуют, пытаясь лучше понять свои модели: как изменения в точках данных влияют на прогнозы модели? Работает ли модель по-разному для разных групп, например, для тех, кто исторически был маргинализован? Насколько разнообразен набор данных, используемый для тестирования модели?

Ответить на вопросы такого типа непросто. Изучение сценариев «что, если» часто означает написание одноразового пользовательского кода для анализа конкретной модели. Этот процесс не только неэффективен, но и непрограммистам сложно участвовать в процессе формирования и улучшения моделей машинного обучения. Программа Google AI PAIR направлена ​​на то, чтобы упростить для широкого круга пользователей проверку, оценку и отладку систем машинного обучения.

Мы выпустили инструмент «Что, если» (отправить код людей.GitHub.IO/что-если-тоже…Новая функция веб-приложения TensorBoard, которая позволяет пользователям анализировать модели машинного обучения без написания кода. Инструмент «Что, если» предоставляет интерактивный визуальный интерфейс для исследования результатов модели с учетом модели TensorFlow и указателя на набор данных.

Инструмент «Что, если»: показывает набор из 250 изображений лиц и результаты модели обнаружения улыбки.

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

Исследуйте сценарии «что, если» на точках данных

контрфактический

Одним нажатием кнопки точку данных можно сравнить с наиболее похожей точкой, в которой модель предсказывает разные результаты. Мы называем эти точки «контрфактуальными», и они ясно показывают границу решения модели. Кроме того, вы можете вручную отредактировать точку данных и изучить, как изменились прогнозы модели. На скриншоте ниже мы используем инструмент для модели бинарной классификации. Эта модель предсказывает, зарабатывает ли кто-то более 50 000 долларов, на основе общедоступных данных переписи из набора данных переписи UCI. Это часто используемая задача прогнозирования бенчмарков исследователями машинного обучения, и она особенно полезна в ситуациях, когда анализируется алгоритмическая справедливость — тема, к которой мы вскоре вернемся. В этом случае для выбранных точек данных модель предсказывает, что человек заработает более 50 000 долларов США с уровнем достоверности 73%. Инструмент автоматически находит наиболее похожего человека в наборе данных (чей доход, по прогнозам модели, составляет менее 50 000 долларов США) и сравнивает их бок о бок. В этом случае прогнозы модели резко изменились лишь с небольшими изменениями возраста и рода занятий.

контрфактическое сравнение

Анализ производительности и алгоритмической справедливости

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

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

демо

Чтобы проиллюстрировать возможности инструмента «Что, если», мы публикуем набор демонстраций с использованием предварительно обученных моделей:

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

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

Изучите производительность модели для разных подгрупп: это регрессионная модель, которая прогнозирует возраст субъекта на основе данных переписи. Этот инструмент помогает показать относительную эффективность модели в разных подгруппах и то, как различные характеристики соответственно влияют на результаты прогнозирования. Модель была обучена с использованием набора данных UCI Census.

Практическое применение «что, если»

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

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

Спасибо

What-If — это совместная работа, и ее успех основан на пользовательском опыте, разработанном Махимой Пушкарной, обновлениях Facets Джимбо Уилсоном и вкладе многих других. Мы хотели бы поблагодарить команду Google, которая протестировала этот инструмент и предоставила ценные отзывы, а также команду TensorBoard за всю их помощь.