Этот репозиторий содержит библиотеку eXplain-NNs — библиотеку с открытым исходным кодом с методами объяснимого ИИ (XAI) для анализа нейронных сетей. Эта библиотека предоставляет несколько методов XAI для анализа латентных пространств и оценки неопределенности.
Методы XAI, реализованные в библиотеке
- визуализация латентных пространств
- гомологический анализ латентных пространств
- оценка неопределенности с помощью байесианизации
Таким образом, по сравнению с другими библиотеками объяснимого ИИ библиотека eXplain-NNs:
- Обеспечивает анализ гомологий латентных пространств
- Внедряет новый метод оценки неопределенности с помощью байесианизации XAI для анализа латентных пространств и оценки неопределенности.
Детали реализации методов.
- The library supports only models that are:
- fully connected or convolutional
- designed for classification task
Требования: Python 3.8
- [optional] создайте среду окружения Python, e.g.
$ conda create -n eXNN python=3.8 $ conda activate eXNN
- установите зависимости из requirements.txt
$ pip install -r requirements.txt
- установите библиотеку как пакет
$ python -m pip install git+ssh://git@github.com/Med-AI-Lab/eXplain-NNs
Видео с процессом установки можно посмотреть здесь.
Требования: Python 3.8
- [optional] создайте среды окружения Python, e.g.
$ conda create -n eXNN python=3.8 $ conda activate eXNN
- клонируйте репозиторий и установите зависимости
$ git clone git@github.com:Med-AI-Lab/eXplain-NNs.git $ cd eXplain-NNs $ pip install -r requirements.txt
- запуск тестов
$ pytest tests/tests.py
- приведение стиля кода в соотвествие с PEP8 автоматически
$ make format
- проверка стиля кода на соотвествие с PEP8
$ make check
- создание PyPi пакета локально
$ python3 -m pip install --upgrade build $ python3 -m build
Мы предоставляем примеры разного уровня сложности:
- [минимальные] минималистичные примеры, представляющие наш API
- [базовые] применение eXNN для простых задач, таких как классификация MNIST
- [сценарии использования] демонстрация использования eXplain-NN для решения различных проблем, возникающих в промышленных задачах.
Этот колаб содержит минималистическую демонстрацию нашего API на фиктивных объектах:
Вот колабы, демонстрирующие, как работать с разными модулями нашего API на простых задачах:
Colab Link | Module |
---|---|
bayes | |
topology | |
visualization |
В этом блоке представлены примеры использования eXplain-NN для решения различных вариантов использования в промышленных задачах. Для демонстрационных целей используются 3 задачи:
- [спутник] классификация ландшафтов по спутниковым снимкам.
- [электроника] классификация электронных компонентов и устройств
- [ЭКГ] диагностика ЭКГ
Исследование проводится при поддержке Исследовательского центра сильного искусственного интеллекта в промышленности Университета ИТМО в рамках мероприятия программы центра: Разработка и испытания экспериментального образца библиотеки алгоритмов сильного ИИ в части алгоритмов объяснения результатов моделирования на данных с использованием семантики и терминологии предметной и проблемной областей в задачах с высокой неопределенностью, включая оценку неопределенности предсказаний моделей нейронных сетей, а также анализ и визуализацию межслойных трансформаций входного многообразия внутри нейронных сетей.
- А. Ватьян - тим лид
- Н. Гусарова - научный руководитель
- И. Томилов
- Т. Полевая
- К. Никулина
- Александра Ватьян alexvatyan@gmail.com по вопросам сотрудничества
- Татьяна Полевая tpolevaya@itmo.ru по техническим вопросам