Инструмент с открытым исходным кодом от Google для простого анализа моделей машинного обучения без необходимости программирования.

Хорошие практики действуют как детективы, пытаясь лучше понять их модель¹

В эту эпоху объяснимого и интерпретируемого машинного обучения просто невозможно довольствоваться простым обучением модели и получением на ее основе прогнозов. Чтобы иметь возможность действительно оказать влияние и получить хорошие результаты, мы также должны иметь возможность исследовать и исследовать наши модели. Кроме того, прежде чем переходить к модели, следует четко помнить об ограничениях алгоритмической справедливости и предвзятости.

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

Что если инструмент (WIT)

Инструмент Что-если - это интерактивный визуальный инструмент, предназначенный для исследования моделей машинного обучения. Сокращенно WIT, он позволяет понять модель классификации или регрессии, позволяя людям изучать, оценивать и сравнивать модели машинного обучения. Благодаря удобному интерфейсу и меньшей зависимости от сложного кодирования, любой разработчик, менеджер по продукту, исследователь или студент может использовать его для своих целей.

WIT - это инструмент визуализации с открытым исходным кодом, выпущенный Google в рамках инициативы PAIR (People + AI Research). PAIR объединяет исследователей из Google для изучения и изменения способов взаимодействия людей с системами искусственного интеллекта.

Доступ к инструменту можно получить через TensorBoard или как расширение в блокноте Jupyter или Colab.

Преимущества

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

Мы рассмотрим все вышеперечисленные моменты во время прохождения примера с использованием этого инструмента.

Демо

Чтобы проиллюстрировать возможности инструмента What-If Tool, команда PAIR выпустила набор демонстраций с использованием предварительно обученных моделей. Вы можете запускать демонстрации в записной книжке или напрямую через Интернет.

использование

WIT можно использовать внутри записной книжки Jupyter или Colab или внутри веб-приложения TensorBoard. Это было красиво и ясно объяснено в документации, и я настоятельно рекомендую вам пройти через это, поскольку в этой короткой статье невозможно объяснить весь процесс.

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

Использование WIT с Tensorboard

Чтобы использовать WIT в TensorBoard, ваша модель должна обслуживаться через Сервер моделей TensorFlow, а анализируемые данные должны быть доступны на диске в виде файла TFRecords. Для получения более подробной информации обратитесь к документации по использованию WIT в TensorBoard.

Использование WIT с ноутбуками

Чтобы иметь доступ к WIT в записных книжках, вам понадобится объект WitConfigBuilder, который определяет данные и модель для анализа. Эта документация содержит пошаговое описание использования WIT в ноутбуке.

Вы также можете использовать демонстрационную записную книжку и отредактировать код, включив в него свои наборы данных, чтобы начать работу.

Прохождение

Давайте теперь исследуем возможности инструмента WIT на примере. Пример взят из демонстрационных материалов, представленных на веб-сайте, и называется Классификация доходов, в которой нам нужно предсказать, зарабатывает ли человек более 50 тысяч долларов в год, на основе данных переписи. Набор данных принадлежит к набору данных переписи UCI, состоящему из ряда атрибутов, таких как возраст, семейное положение и уровень образования.

Обзор

Начнем с исследования набора данных. Вот ссылка на веб-демонстрацию, по которой можно следить.

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

В этом случае синие точки - это люди, для которых модель выявила доход менее 50 тыс., а красные точки - те, для которых предполагаемая модель заработка более 50к. По умолчанию WIT использует положительный порог классификации 0,5. Это означает, что если оценка логического вывода составляет 0,5 или более, точка данных считается положительным классом, то есть высоким доходом.

Интересно отметить, что набор данных визуализируется в Facets Dive. Facets Dive является частью инструмента FACETS ’, вновь разработанного командой PAIR, и помогает нам понять различные особенности данных и изучить их. Если вы не знакомы с этим инструментом, вы можете обратиться к этой статье о возможностях FACETS, которую я написал некоторое время назад.



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

Левая панель содержит три вкладки, которые называются Datapoint Editor, Performance & Fairness; и Features.

1. Вкладка «Редактор точек данных»

Редактор Datapoint помогает выполнять анализ данных с помощью:

  • Просмотр и редактирование сведений о точках данных

Это позволяет погрузиться в выбранную точку данных, которая выделяется желтым на правой панели. Давайте попробуем изменить возраст с 53 на 58 и нажать кнопку «Выполнить вывод», чтобы посмотреть, как это повлияет на производительность модели.

Просто изменив возраст этого человека, модель теперь предсказывает, что человек принадлежит к категории лиц с высоким доходом. Для этой точки данных ранее оценка для положительного (с высоким доходом) класса составляла 0,473, а для отрицательного (с низким доходом) класса - 0,529. Однако при изменении возраста положительный результат в классе стал 0,503.

  • Поиск ближайших контрфактов

Другой способ понять поведение модели - посмотреть, какой небольшой набор изменений может заставить модель изменить свое решение, что называется контрфактическим. Одним щелчком мыши мы можем увидеть наиболее похожий контрфактический момент, выделенный зеленым цветом, для выбранной нами точки данных. На вкладке редактора точек данных теперь мы также видим значения функций для контрфактических данных рядом со значениями функций для нашей исходной точки данных. Зеленый текст представляет объекты, в которых две точки данных различаются. WIT использует расстояния L1 и L2 для вычисления сходства между точками данных.

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

Мы также можем увидеть сходство между выбранными точками и другими, используя кнопку «показать сходство с выбранной точкой данных». WIT измеряет расстояние от выбранной точки до каждой другой точки данных. Давайте изменим разброс по оси X, чтобы показать расстояние L1 до выбранной точки данных.

  • Анализ графиков частичной зависимости

График частичной зависимости (короткий график PDP или PD) показывает предельное влияние одной или двух характеристик на прогнозируемый результат модели машинного обучения (J. H. Friedman, 2001).

PDP для возраста и образования для точки данных следующие:

График выше показывает, что:

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

2. Вкладка "Эффективность и справедливость"

Эта вкладка позволяет нам посмотреть на общую производительность модели с использованием матриц неточности и кривых ROC.

  • Анализ эффективности модели

Чтобы измерить производительность модели, нам нужно сообщить инструменту, что является основным признаком, т. Е. Признаком, который модель пытается предсказать, который в данном случае имеет значение «Более 50 КБ».

Мы видим, что при пороговом уровне по умолчанию 0,5 наша модель неверна примерно в 15% случаев, причем примерно в 5% случаев это ложные срабатывания, а в 10% - ложноотрицательные. Измените пороговые значения, чтобы увидеть их влияние на точность модели.

Также есть настройка «соотношение затрат» и кнопка «Оптимизировать порог», которые также можно настроить.

  • Справедливость машинного обучения

Справедливость в машинном обучении так же важна, как построение модели и прогнозирование результата. Любое смещение в обучающих данных будет отражено в обученной модели, и если такая модель будет развернута, результирующие выходные данные также будут смещены. WIT может помочь исследовать проблемы справедливости несколькими способами. Мы можем установить функцию ввода (или набор функций), с помощью которой можно нарезать данные. Например, давайте посмотрим, как пол влияет на эффективность модели.

Мы видим, что модель более точна для женщин, чем для мужчин. Кроме того, модель предсказывает высокий доход для женщин намного меньше, чем для мужчин (9,3% времени для женщин против 28,6% для мужчин). Одна из вероятных причин может быть связана с недостаточной представленностью женщин в наборе данных, который мы рассмотрим в следующем разделе.

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

3. Вкладка "Характеристики"

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

Мы предполагаем, что этот capital gain очень неоднороден, поскольку для большинства точек данных установлено значение 0.

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

Заключение

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

Использованная литература:

  1. Инструмент« Что, если : тестирование моделей машинного обучения без кода»
  2. Https://pair-code.github.io/what-if-tool/walkthrough.html
  3. Https://github.com/tensorflow/tensorboard/tree/master/tensorboard/plugins/interactive_inference