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

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

Допустим, вы разрабатываете глубокую нейронную сеть для обнаружения меланомы, которая является злокачественным типом рака кожи. Ваша команда собирает данные изображений от добровольцев. Вы обучаете современную модель на обучающих данных, и когда вы оцениваете производительность модели, вы видите впечатляющую точность 99,98%. Вы чувствуете восторг. А теперь, не могли бы вы применить свою модель в больничных исследованиях для скрининга меланомы? Может, и не стоит, по крайней мере, пока.

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

1. Вы не использовали правильные показатели производительности; обычно это частая проблема со стартером. Вы должны знать свои показатели наизусть! Не имеет смысла вычислять среднюю абсолютную ошибку для ошибки классификации, и не помогает вычислять только точность для модели классификации рака. Не так катастрофично, если ваша модель предсказывает некоторые доброкачественные случаи как злокачественные; однако, если ваша модель классифицирует много злокачественных образцов как доброкачественные, это может привести к катастрофе.

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

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

В этом уроке я покажу вам инструмент, который я активно использовал для многих своих моделей машинного обучения. Инструмент What If — это интерактивный подключаемый модуль, разработанный в рамках инициативы People + AI Research (PAIR) Google. Инструмент «Что, если» (WIT) предлагает простой пользовательский интерфейс для лучшего понимания регрессионных моделей и моделей машинного обучения с классификацией черного ящика. Плагин позволяет вам выполнять вывод на большой коллекции образцов и сразу же просматривать результаты несколькими различными способами. Чтобы увидеть результаты модификаций, примеры также можно изменить вручную или программно, а затем повторно запустить модель. Он включает в себя инструменты для анализа достоверности и производительности модели в подмножествах наборов данных.

Цель инструмента — предоставить пользователям быстрый, простой и эффективный подход к изучению и исследованию обученных моделей машинного обучения с использованием визуального интерфейса без какого-либо программирования. Доступ к инструменту можно получить непосредственно в блокноте Jupyter или Colab или через TensorBoard. WIT также легко доступен в управляемых пользователями ноутбуках Vertex AI (Google Cloud).

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

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

Здесь я продемонстрирую использование WIT для модели LightGBM, обученной на наборе данных классификации рака молочной железы.

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

  1. Более высокая эффективность и скорость обучения. LightGBM использует алгоритм на основе гистограмм, т. е. он группирует непрерывные значения признаков в дискретные ячейки, что ускоряет процедуру обучения.
  2. Больше точности при меньшем объеме памяти. Использование стратегии разделения по листам, а не подхода разделения по уровням, который является основным элементом в достижении более высокой точности, дает гораздо более сложные деревья. Установка параметра максимальной глубины предотвратит переоснащение, которое может иногда возникать из-за этого.
  3. Поддержка распределенного, параллельного и графического обучения.
  4. Возможность управлять большими объемами данных. Он заменяет непрерывные значения дискретными ячейками, что приводит к меньшему использованию памяти.

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

Читать часть 2 здесь!

Код, используемый в этой статье, можно найти здесь: https://github.com/zabir-nabil/What-If-Explainability.