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

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

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

Используя классификацию узлов со сверточными сетями графов (GCN) в качестве примера, мы рассмотрим, как измерить важность конкретных узлов и ребер графа в прогнозах модели. Это будет включать изучение использования карт значимости, чтобы посмотреть, изменится ли прогноз модели, если мы удалим или добавим определенное ребро или изменим характеристики узла.

Определение интерпретируемости

Несмотря на большой интерес к интерпретации моделей нейронных сетей, не существует установленного определения интерпретируемости. Miller et al. определить интерпретируемость как степень, в которой человек может понять причину решения [1]. Kim et al. говорят, что интерпретируемость - это степень, в которой люди могут последовательно предсказать решение модели [2]. Текущее исследование по этой теме обычно связывает интерпретируемость со многими другими целями, такими как доверие, прозрачность, причинность, информативность и справедливость [3].

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

Применяя GCN к задачам классификации узлов, модель предсказывает метку для данного целевого узла на основе как характеристик узлов (включая сам целевой узел), так и структуры графа. Проблема интерпретируемости, которую мы хотим решить, заключается в следующем: какие узлы, ребра и особенности привели к этому прогнозу? И аналогично, что бы произошло, если бы определенных ребер не существовало или если бы характеристики узлов были другими?

Такие интерпретации потенциально могут дать представление о механизме рассуждений, лежащем в основе моделей GCN.

Карты значимости

Картирование значимости - это метод, берущий свое начало в литературе по компьютерному зрению [4], используемый для изменения или упрощения изображения до чего-то, что имеет значение для людей, что упрощает анализ.

В качестве примера возьмем следующее изображение: инструмент интерпретируемости на основе карты значимости [5] выделил велосипед в качестве объяснения прогнозируемого ярлыка «велосипед».

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

Учитывая изображение велосипеда, классификация ConvNet принимает изображение в качестве входных данных и дает оценку, указывающую вероятность того, что изображение классифицируется как велосипед. Чтобы быть точным, классификатор дает вектор баллов, по одному баллу на класс. Например, [0,01, 0,001,…, 0,8,…, 0,005] будет вектором оценок для классов [«цветок», «человек»,…, «велосипед»,…, «кошка»]. Окончательный прогноз - это класс с наивысшим баллом; в данном случае «велосипед».

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

Поскольку карта значимости имеет ту же форму, что и входное изображение, карту значимости можно использовать в качестве маски сверху, чтобы выделить важную часть входного изображения относительно прогнозируемой метки. Согласно определению градиентов, эта карта значимости сообщает нам, насколько изменится оценка прогноза для класса c, если интенсивность пикселей RGB в выделенной области изображения будет s слегка увеличился.

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

Применение карт значимости в сетях GCN

С этого момента все становится немного более техническим.

В задаче классификации узлов, учитывая матрицу признаков X и матрицу смежности A графа, двухуровневая модель GCN определяется как:

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

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

На примере важности ребер карту значимости для класса c можно описать следующим образом:

Здесь fc - прогнозируемая оценка для класса c модели GCN, которая принимает матрицу смежности A и матрица функций X в качестве входных данных. Поскольку fc (X, A) не является линейной функцией X и A, стандартные градиенты могут не дать точной важности из-за дискретности данных графа.

Возьмем для примера простую сеть ReLU, f (x) = ReLU (x - 0,5). Когда x увеличивается с 0 до 1, значение функции увеличивается на 0,5. Однако вычисление градиента при x = 0 дает 0, что неточно отражает поведение модели.

По дискретности весов ребер можно рассмотреть следующее:

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

Чтобы устранить ограничения подхода с использованием ванильных карт значимости и непрерывно решить проблему дискретности данных графа, мы предлагаем использовать идею интегрированных градиентов [6]. Интегрированные градиенты - это интеграл по траектории градиента вдоль пути от базовой линии до входа. Чтобы вычислить его, мы можем вычислить градиент для m раз вдоль пути и получить среднее значение.

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

Давайте снова применим пример f (x) = ReLU (x - 0,5). В отличие от подхода стандартной карты значимости, который вычисляет градиент только при x = 0 или x = 1, интегрированные градиенты принимают значения градиента между x = 0 на x = 1. Очевидно, что вычисление интегрированных градиентов даст нам положительное значение, а не 0. Кроме того, поскольку операции градиента хорошо оптимизированы во множестве фреймворков, этот метод может использовать высокий параллелизм графического процессора.

Библиотека Python с открытым исходным кодом StellarGraph предлагает поддержку для расчета интегрированных градиентов для моделей GCN. Здесь мы используем классификацию узлов в наборе сетевых данных цитирования (CORA-ML) на примере GCN.

Набор данных CORA-ML состоит из 2708 научных публикаций, разделенных на один из семи классов. Сеть цитирования состоит из 5 429 ссылок, соответствующих цитированию статей. Каждая публикация в наборе данных описывается вектором ключевого слова со значением 0/1, указывающим на отсутствие / присутствие соответствующих ключевых слов из словаря. Словарь состоит из 1433 уникальных слов.

Сначала мы строим модель GCN и обучаем ее:

Для заданного целевого узла (например, target_idx = 7) мы затем вычисляем интегрированные градиенты для измерения важности узлов и ребер графа с учетом прогнозируемого моделью 'class_of_interest' для целевого узла (' class_of_interest 'обычно является классом с наивысшим прогнозируемым баллом):

Чтобы сделать оценки важности более интуитивно понятными, мы строим двухэтапный эго-график целевого узла. На рисунках ниже красные края указывают на положительную важность, а синие грани - на отрицательную важность. Ширина краев измеряет абсолютное значение важности. Между тем круглые узлы указывают на положительную важность, а звездочки указывают на отрицательную важность. Опять же, размер узлов измеряет абсолютное значение важности узла. Наконец, полоса классов справа показывает метки узлов, причем цвета узлов указывают на истинные метки классов узлов:

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

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

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

Набор данных CORA-ML используется с информацией о точных словах для функций набора слов. Затем мы оцениваем важность прогноза для целевого узла № 2741, который имеет метку «вероятностные методы». Топ-50 важных характеристик среди узлов:

И наоборот, в топ-50 отрицательных характеристик входят:

Основные положительные характеристики узла, такие как байесовский, условный, вероятностный, плотность и т. Д., Имеют смысл, потому что класс наземной истинности - это «вероятностные методы». Такие слова, как «компьютер», «Калифорния», «Ирвин» и т. Д., Как правило, встречаются в названиях авторов и в описаниях наборов данных (т. Е. Набор данных UCI, широко используемый в исследованиях машинного обучения, взят из UC Irvine).

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

Если установить для пяти самых важных функций значение 0, а для пяти наименее важных функций значение 1, оценка прогноза для класса 3 снизится с 0,956. до 0,321. Победивший класс становится классом 1. Это дополнительно подтверждает правильность оценок важности.

В заключение

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

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

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

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

Эта работа проводится при поддержке CSIRO’s Data61, ведущей австралийской сети цифровых исследований.

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

  1. Миллер, Тим. «Объяснение в искусственном интеллекте: выводы из социальных наук». arXiv Препринт arXiv: 1706.07269. (2017).
  2. Ким, Бин, Раджив Кханна и Олувасанми О. Койеджо. «Примеров мало, научись критиковать! Критика интерпретируемости ». Достижения в системах обработки нейронной информации (2016).
  3. Липтон, З. К. (2018). Мифы интерпретируемости моделей. Сообщения ACM, 61 (10), 36–43.
  4. Симонян К., Ведальди А., Зиссерман А. (2013). Глубоко внутри сверточные сети: визуализация моделей классификации изображений и карт значимости. Препринт arXiv arXiv: 1312.6034.
  5. Ян Дж. И Ян М. Х. (2016). Визуальная заметность сверху вниз через совместное изучение CRF и словаря. Транзакции IEEE по анализу образов и машинному интеллекту, 39 (3), 576–588.
  6. Сундарараджан М., Тали А. и Ян К. (2017, август). Аксиоматическая атрибуция для глубоких сетей. В материалах 34-й Международной конференции по машинному обучению, том 70 (стр. 3319–3328). JMLR. орг.
  7. Мольнар, К. (2018). Интерпретируемое машинное обучение. Руководство по объяснению моделей черного ящика.
  8. Даниэль Цугнер, Амир Акбарнеджад и Стефан Гуннеманн. Состязательные атаки на нейронные сети для данных графа. В материалах 24-й Международной конференции ACM SIGKDD по открытию знаний и интеллектуальному анализу данных, страницы 2847–2856. ACM, 2018.