В нашем предыдущем сообщении в блоге мы исследовали общую идею объяснимого искусственного интеллекта (XAI) [1], зачем он нам нужен, какие проблемы могут возникнуть у нас при разработке таких систем и, наконец, что делает текущий (ЕС () Закон говорит о требованиях XAI.

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

Подходы к конкретной модели

Многие из так называемых «интерпретируемых» [5] моделей имеют специфичные для модели методы для оценки важности каждой функции. Многие из этих методов основаны на анализе внутренней структуры и оценке достоверности тех же структур. Обсуждение того, почему они являются наиболее интерпретируемыми, можно найти в [1]. Давайте рассмотрим некоторые из них.

Обобщенные линейные модели

В обобщенных линейных моделях можно

  • оценить, насколько функция изменяет вывод. Для линейной регрессии, если все объекты правильно масштабированы и отсутствует коллинеарность, вклад каждой функции в выходные данные будет равен соответствующему коэффициенту;
  • ранжируйте признаки по величине их коэффициента;
  • оцените достоверность коэффициента: даже если у вас коэффициент, отличный от 0, это не означает, что связанная функция имеет значение. В [6] есть хороший пример, показывающий это явление;
  • оценить выходную неопределенность на произвольных входных интервалах.

Деревья решений (DT)

С помощью DT мы можем:

  1. извлекать путь решения для каждого отдельного прогноза;
  2. извлечь все доступные пути решения;
  3. вычислять метрики на основе энтропии и количества сокращений для каждой функции [6, раздел 8.1].

Нечеткие логические модели

Нечеткая логика - это супернабор (но есть еще…) булевой логики.

Модели с нечеткой логикой обычно состоят из набора нечетких правил, каждое из которых использует несколько нечетких наборов. В отличие от правил, основанных на логической логике, где предшествующие и последующие значения правила могут иметь только 0 (Ложь) или 1 (Истина), предшествующие и последующие значения нечетких правил могут находиться в диапазоне от 0 до 1. В нечетких моделях,

  • если мы используем 1D и 2D нечеткие множества, мы можем визуализировать функциональную поверхность для каждого нечеткого множества (см. рисунок выше);
  • мы можем оценить, какие правила более актуальны для одного прогноза;
  • мы можем (легко?) оценить, как изменение нечеткого набора или правила меняет прогноз;
  • мы можем видеть, насколько наблюдение принадлежит каждому нечеткому множеству, используемому в правилах.

отличный учебник по нечеткой логике и нечетким моделям см. В [4].

Как мы видели, существует множество методов проверки моделей машинного обучения! Многие из них исследуют (1) структуру модели или (2) взаимодействие между наблюдением и структурой модели.

Но…

все подходы к конкретной модели создают следующие проблемы:

  • Как вы можете оценить, имеют ли две модели (например, логистическая регрессия и дерево решений) схожую поверхность принятия решений? Другими словами, как проверить, принимают ли обе модели одинаковые решения?
  • Как вы можете сравнить важность функций? Метод вычисления важности признаков в дереве решений сильно отличается от метода, используемого в линейной регрессии.
  • Сложно автоматизировать добавление новых типов моделей в вашу систему, потому что вам необходимо разработать визуализации для конкретных моделей.

Мышление черного ящика

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

Даже если мы не знаем, что происходит внутри нашего черного ящика, мы, вероятно, знаем о нашем ящике следующие вещи:

  • Входы: количество входов, (структурная) входная зависимость, типы данных, домены.
  • Выходы: количество выходов, (структурная) зависимость, типы данных, диапазоны.

Два примера:

  • Если мы создадим классификатор изображений, вполне разумным будет предположение, что смежные пиксели связаны (например, CNN).
  • Если мы создаем модель последовательности, разумно предположить некую связь между смежными элементами выходной последовательности (например, ARIMA).

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

Пытаемся ли мы увидеть, насколько отклонение вывода можно отнести к каждой функции? Мы ищем взаимодействия функций? Мы ищем бесполезные функции? Пытаемся ли мы раскрыть (или приблизиться) структуру / процедуру принятия решения для модели? Вот несколько интересных вопросов, связанных с бизнесом, которые могут нас заинтересовать:

  • Почему мы отказали в ссуде?
  • Как превратить проигранную сделку в продажу?
  • Какие вопросы мне нужно задать своему потенциальному клиенту в форме заявки?
  • Могу ли я улучшить качество предложения по кредиту?
  • Как модель «смотрит» на особенности?
  • Нарушает ли моя модель какие-либо правила?
  • Предлагаю ли я худшие ссуды защищенным группам?

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

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

Одна действительно хорошая вещь в моделировании выходных данных вашей модели заключается в том, что вы можете иметь все необходимые данные! Это означает, что мы можем получить действительно точную суррогатную модель (в зависимости от объема анализа) [2, 3]. Мы рассмотрим это в будущих публикациях в блоге.

Что нам дает объяснимость модели машинного обучения?

Есть, по крайней мере, 3 места, где объяснимость машинного обучения может нам напрямую помочь: построение модели, проверка модели и бизнес-действия. Далее мы приводим несколько примеров.

Построение модели / проверка

  • удалить / добавить функции;
  • использовать ограничения в функциях;
  • упорядочить процедуру обучения;
  • синтезировать данные;
  • рекомендовать (небольшие) изменения атрибутов, чтобы получить желаемый результат;
  • обнаруживать странные взаимодействия в прогностических системах;
  • оцените справедливость.

Бизнес

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

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

Что дальше?

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

  1. оценка взаимодействия функций;
  2. измерение важности функции;
  3. аппроксимация общих структур решений;
  4. поиск набора входов, которые подчиняются произвольному набору ограничений.

Пища для размышлений…

Что происходит, когда машины способны обнаруживать закономерности, работать лучше, чем человек, и строить теории, которые нам недоступны? Мы бросаем их, потому что не понимаем их?

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

[1] Объясняемый искусственный интеллект (XAI), DARPA-BAA-16–53, Объявление DARPA Broad Agency, 2016

[2] Неоправданная эффективность данных, Алон Халеви, Питер Норвиг и Фернандо Перейра, Интеллектуальные системы IEEE, выпуск 2, том. 24 марта / апреля 2009 г.

[3] Пересмотр необоснованной эффективности данных в эпоху глубокого обучения, Чен Сун, Абхинав Шривастава, Саураб Сингх, Абхинав Гупта, Труды ICCV 2017

[4] Нейро-нечеткие и мягкие вычисления: вычислительный подход к обучению и машинному интеллекту, Джих-Шинг Роджер Джанг, Чуен-Цай Сун, Эйдзи Мизутани, Прентис Холл, 1997 г.

[5] Мифы интерпретируемости моделей, Захари К. Липтон и др., Семинар ICML по интерпретируемости человеком в машинном обучении (WHI 2016), Нью-Йорк, Нью-Йорк.

[6] Введение в статистическое обучение с приложениями в R, Гарет Джеймс, Даниэла Виттен, Тревор Виттен, Тревор Хасти, Роберт Тибширани, Springer Texts in Statistics, 2013