Разработка обучающей интеллектуальной аналитической системы с использованием технологии XAI

Обложка

Цитировать

Полный текст

Аннотация

Интеллектуальный анализ данных является востребованной услугой. Многие отечественные вузы занимаются подготовкой специалистов в этой области. Однако запросы потребителей возрастают, что ведет к повышению требований к формируемым математическими моделями результатам. Клиент хочет быть уверенным в качестве получаемых рекомендаций. Один из способов достичь этого – использовать технологию объяснимого искусственного интеллекта (XAI). Сложившаяся в мире ситуация накладывает серьезные ограничения на использование зарубежного программного обеспечения, а отечественные аналитические системы, потенциально доступные для вузов, не содержат среди имеющихся в них функций модуля XAI. Выходом является самостоятельная разработка такой системы. Авторами создан программный продукт, позволяющий обучать математические модели трех видов, для прогнозов каждой из которых может быть сгенерировано объяснение в текстовом формате. Была проведена серия экспериментов, подтвердивших работоспособность всех элементов созданного продукта, а также возможность его применения в учебном процессе вуза.

Полный текст

Введение

Направление, связанное с применением методов искусственного интеллекта (ИИ), в настоящее время является очень актуальным. Как следствие, в подавляющем большинстве вузов РФ преподаются дисциплины, связанные с упомянутой областью. При этом для студентов часто используют готовые программные решения, реализующие «умные» алгоритмы, а не разрабатывают последние самостоятельно. В условиях ограничений на использование зарубежных аналитических систем, встает вопрос об импортозамещении. Существующие отечественные продукты способны закрыть потребности, но только до определенной степени (таблица 1). С развитием возможностей указанных методов, возрастают требования к навыкам студентов. Уже недостаточно просто уметь строить математические модели, посредством которых выполняется обработка данных. Требуются компетенции, позволяющие создавать приложения, поясняющие пользователю (лицу, принимающему решения) сформированные результаты. Технология, отвечающая за нахождение подобных решений, называется XAI (объяснимый искусственный интеллект) [6]. Если изучить упомянутые выше отечественные разработки с данной точки зрения, то невозможность их применения для решения озвученной задачи станет очевидной: ни одна из них не реализует объяснимый ИИ, а, кроме этого, все наиболее совершенные продукты являются проприетарными и предназначены для крупного и среднего бизнеса.

 

Таблица 1. Примеры и краткая характеристика отечественных аналитических платформ

Название продукта

Особенности

Loginom [1]

Бесплатная версия есть, XAI отсутствует

PolyAnalyst [2]

Бесплатной версии нет, XAI отсутствует

Deductor [3]

Бесплатная версия есть, XAI отсутствует, устаревшая

Data Plexus [4]

Бесплатной версии нет, XAI отсутствует

Polymatica [5]

Бесплатной версии нет, XAI отсутствует, ориентирована на крупный и средний бизнес

 

Предлагаемое решение

Выход заключается в самостоятельной разработке программного обеспечения (ПО) с XAI.

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

Система была написана на языке Python, что позволяет запускать программу на разных операционных системах, в том числе семейства Linux; это важно в контексте реализации мероприятий по импортозамещению.

XAI может быть реализован разными способами. В данной работе использовалась библиотека LIME [7].

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

В программе доступно создание классификаторов на базе следующих алгоритмов (применена библиотека scikit-learn): опорных векторов (SVM) [8], стохастического градиентного спуска (SGD) [9] и гауссовского процесса [10].

Описание созданного программного продукта

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

 

Рисунок 1. Вкладка для настройки гиперпараметров SGD

 

Рисунок 2. Вкладка для настройки гиперпараметров GPC

 

Рисунок 3. Вкладка для настройки гиперпараметров SVM

 

Таблица 2. Элементы интерфейса. SVM

Название

Пояснения

Регуляризация

Параметр регуляризации. Чем значение выше, тем меньше штраф

Ядро

Задает тип ядерной функции

Степень

Определяет степень в случае использования полиномиальной («poly») ядерной функции

Гамма

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

coef0

Независимый член ядерной функции (для случаев «poly» и «sigmoid»)

Сжатие

Если активно, игнорирует часть опорных векторов, находящихся на достаточно большом расстоянии от гиперплоскости; сокращает время обучения модели, сохраняя высокий уровень качества

Вероятность

Позволяет учесть неопределенность в данных и более точно оценить вероятность принятия правильного решения

Останов

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

Макс. число итераций

«-1» – число итераций без ограничений

Форма решающей функции

Позволяет задать форму решающей функции

 

Таблица 3. Элементы интерфейса. SGD

Название

Пояснения

Функция потерь

Используется для оценки качества обучаемой модели

Штраф

Способ расчета штрафа модели

Альфа

Параметр регуляризации

L1-коэффициент

Управляет регуляризацией модели (для ситуации «Штраф» = «elasticnet»)

y-перехват

Определяет, будет ли автоматически добавляться («Да») дополнительный признак к данным перед обучением; это сделает возможным учесть сдвиг (bias) в модели. Он позволяет учитывать среднее значение целевой переменной («y»), не зависящее от входных признаков. Другими словами, включение сдвига в модель позволяет принимать во внимание возможное отклонение прогнозов от реальных значений на константное значение

Макс. количество итераций

Предельное число циклов обучения модели

Останов

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

Перемешать

Включает перемешивание тренировочных данных для каждого цикла обучения модели

Выводить подробную статистику

Настройка уровня журналирования

Эпсилон

Используется для предотвращения деления на ноль, или очень малое число в процессе вычисления градиента; повышает устойчивость алгоритма, особенно при вычислении шага обновления весов модели

Рандомизировать

Настройка начального значения генератора случайных чисел при обучении модели

Скорость обучения

Задает частоту обновления весовых коэффициентов

Начальная скорость обучения

Позволяет задать значение начальной скорости обучения

Показатель для скорости обучения

Степень, с которой динамически изменяется скорость обучения в процессе оптимизации; влияет на стабильность сходимости

Ранняя остановка

Используется для предотвращения переобучения модели; останавливает процесс при выполнении некоторого условия

Набор для ранней остановки

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

Число итераций без изменений

При активной ранней остановке завершает процесс обучения через указанное число шагов, если качество модели не увеличивается

Вычислять средние веса

Позволяет задать веса классов

 

Таблица 4. Элементы интерфейса. Гауссовский процесс

Название

Пояснения

Ковариационная функция

Задает тип используемой в модели ковариационной функции

Оптимизатор

Определяет инструмент для оптимизации параметров ковариационной функции

Число перезапусков оптимизатора

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

Макс. число итераций

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

Хранить копию данных

Позволяет ускорить построение модели для схожих задач

Рандомизировать

Настройка начального значения генератора случайных чисел при обучении модели

Обработка мультиклассовости

Определяет, как обрабатываются задачи многоклассовой классификации

Параллельность

Задает число используемых процессорных ядер.

 

Также присутствует два меню (рисунок 4, 5). Первое позволяет загрузить данные для обучения, создать соответствующий классификатор, сохранить (или загрузить существующий из файла) и применить классификатор. Второе предназначено для формирования объяснений посредством построения определенной математической модели.

 

Рисунок 4. Главное меню

 

Рисунок 5. Меню «Объяснения»

 

Исследование возможностей разработанного программного обеспечения

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

Первый эксперимент

На основе набора «ирисы Фишера» создано десять (D1 ÷ D10) датасетов (150 объектов в каждом); использовалась случайная выборка с замещением. D1 – обучающее множество, остальные – тестовые. Был выполнен прогон по всем моделям, построенным при стандартных (рисунок 1–3) значениях гиперпараметров. Результаты (средние вероятности корректного распознавания объектов) представлены в таблице 5.

 

Таблица 5. Результаты для SGD, GPC и SVM

Набор

 
 

SGD

GPC

SVM

D2 ÷ D10

0.673

0.973

 

Второй эксперимент

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

В результате было установлено, что достаточно изменить значения «Штраф» на «l1», а «Макс. кол-во итераций» и «Число итераций без изменений» на «1000», чтобы достичь значения = 0.98.

Третий эксперимент

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

 

Таблица 6. «Объясняемые» объекты

sepal length

sepal width

petal length

petal width

class

7.2

3.2

6.0

1.8

2

4.9

3.0

1.4

0.2

0

5.6

3.0

4.5

1.5

1

 

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

Объяснение SGD для объекта (7.2,3.2,6.0,1.8):

(‘sepal length > 6.40’, 0.159),

(‘1.30 < petal width <= 1.80’, -0.140),

(‘petal length > 5.10’, 0.046),

(‘3.00 < sepal width <= 3.30’, -0.030)

Объект принадлежит к классу: 2

Вероятность принадлежности объекта к определённому классу:

[1.2 · 10-66, 7.83 · 10-36, 1.0]

Поясним структуру выведенного результата.

Моделью был сформирован прогноз значения целевого показателя для первого объекта из таблицы 6. Он оказался верным («2»). В качестве пояснения указанного результата предлагается логическое правило. Представим его в более наглядном виде: ЕСЛИ ‘sepal length > 6.40’ И ‘1.30 < petal width <= 1.80’ И ‘petal length > 5.10’ И ‘3.00 < sepal width <= 3.30’ ТО ‘class = 2’.

Если изучить данное правило, то второй и четвертый его элементы не будут соответствовать значениям независимой переменной объекта. Они демонстрируют, что запись может принадлежать другим классам. На это указывают отрицательные веса («-0.140» и «-0.030») соответствующих элементов правила. Учитывая низкие вероятности принадлежности объекта к другим классам, второй и четвертый элементы приведенного правила можно, в данном случае, исключить из рассмотрения. Таким образом, значимыми при определении классовой принадлежности первой записи из указанной таблицы являются только две переменные: «sepal length» и «petal length».

Выводы

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

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

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

×

Об авторах

Сергей Вадимович Пальмов

Поволжский государственный университет телекоммуникаций и информатики; Самарский государственный технический университет

Автор, ответственный за переписку.
Email: s.palmov@psuti.ru

к.т.н., доцент, доцент кафедры информационных систем и технологий (ИСТ); доцент кафедры информационных технологий

Россия, Самара; Самара

Альфия Асхатовна Диязитдинова

Поволжский государственный университет телекоммуникаций и информатики

Email: a.diyazitdinova@psuti.ru

ст. преподаватель кафедры ИСТ

Россия, Самара

Список литературы

  1. Loginom. Возможности. URL: https://loginom.ru/ platform#components (дата обращения: 23.03.2024).
  2. Система self service аналитики данных PolyAnalyst. URL: https://www.megaputer.ru/produkti (дата обращения: 23.03.2024).
  3. Deductor. URL: https://basegroup.ru/deductor/description (дата обращения: 23.03.2024).
  4. Data Plexus. URL: https://data-plexus.ru/ (дата обращения: 23.03.2024).
  5. Машинное обучение как часть корпоративной ДНК. URL: https://www.polymatica.ru/polymatica-ml/ (дата обращения: 23.03.2024).
  6. Пальмов С.В. Повышение эффективности методов искусственного интеллекта посредством технологии XAI // Наука, инновации, образование: актуальные вопросы XXI века: материалы IX Международной научно-практической конференции. Пенза, 2024. С. 31–34.
  7. Local Interpretable Model-agnostic Explanations (LIME). URL: https://ema.drwhy.ai/LIME.html (дата обращения: 23.03.2024).
  8. Theodoros E., Massimiliano P. Support Vector Machines: Theory and Applications // Machine Learning and Its Applications. 2001. Vol. 2049. P. 249–257. doi: 10.1007/3-540-44673-7_12
  9. Tian Y., Zhang Y., Zhang H. Recent Advances in Stochastic Gradient Descent in Deep Learning // Mathematics. 2023. Vol. 11, no. 3. P. 682.
  10. Ebden M. Gaussian Processes for Regression and Classification: A Quick Introduction. 2015. URL: https://www.researchgate.net/publication/276296816_Gaussian_Processes_for_Regression_and_Classification_A_Quick_Introduction (дата обращения: 21.03.2024).

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рисунок 1. Вкладка для настройки гиперпараметров SGD

Скачать (628KB)
3. Рисунок 2. Вкладка для настройки гиперпараметров GPC

Скачать (405KB)
4. Рисунок 3. Вкладка для настройки гиперпараметров SVM

Скачать (318KB)
5. Рисунок 4. Главное меню

Скачать (165KB)
6. Рисунок 5. Меню «Объяснения»

Скачать (56KB)

© Пальмов С.В., Диязитдинова А.А., 2024

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.