Skip to content
This repository has been archived by the owner on Feb 19, 2025. It is now read-only.

Latest commit

 

History

History
144 lines (116 loc) · 9.29 KB

README.md

File metadata and controls

144 lines (116 loc) · 9.29 KB

SAI ITMO

Documentation license Eng Mirror

eXplain-NNs

Этот репозиторий содержит библиотеку eXplain-NNs — библиотеку с открытым исходным кодом с методами объяснимого ИИ (XAI) для анализа нейронных сетей. Эта библиотека предоставляет несколько методов XAI для анализа латентных пространств и оценки неопределенности.

Описание проекта

Методы

Методы XAI, реализованные в библиотеке

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

Таким образом, по сравнению с другими библиотеками объяснимого ИИ библиотека eXplain-NNs:

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

Детали реализации методов.

Data Requirement

  • The library supports only models that are:
    • fully connected or convolutional
    • designed for classification task

Installation

Требования: Python 3.8

  1. [optional] создайте среду окружения Python, e.g.
    $ conda create -n eXNN python=3.8
    $ conda activate eXNN
    
  2. установите зависимости из requirements.txt
    $ pip install -r requirements.txt
    
  3. установите библиотеку как пакет
    $ python -m pip install git+ssh://git@github.com/Med-AI-Lab/eXplain-NNs
    

Видео с процессом установки можно посмотреть здесь.

Development

Требования: Python 3.8

  1. [optional] создайте среды окружения Python, e.g.
    $ conda create -n eXNN python=3.8
    $ conda activate eXNN
    
  2. клонируйте репозиторий и установите зависимости
    $ git clone git@github.com:Med-AI-Lab/eXplain-NNs.git
    $ cd eXplain-NNs
    $ pip install -r requirements.txt
    
  3. запуск тестов
    $ pytest tests/tests.py
    
  4. приведение стиля кода в соотвествие с PEP8 автоматически
    $ make format
    
  5. проверка стиля кода на соотвествие с PEP8
    $ make check
    
  6. создание PyPi пакета локально
    $ python3 -m pip install --upgrade build
    $ python3 -m build
    

Документация

Документация

API

Примеры и тьюториалы

Мы предоставляем примеры разного уровня сложности:

  • [минимальные] минималистичные примеры, представляющие наш API
  • [базовые] применение eXNN для простых задач, таких как классификация MNIST
  • [сценарии использования] демонстрация использования eXplain-NN для решения различных проблем, возникающих в промышленных задачах.

Минимальные

Этот колаб содержит минималистическую демонстрацию нашего API на фиктивных объектах:

minimal

Базовые

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

Colab Link Module
bayes bayes
topology topology
visualization visualization

Сценарии использования

В этом блоке представлены примеры использования eXplain-NN для решения различных вариантов использования в промышленных задачах. Для демонстрационных целей используются 3 задачи:

  • [спутник] классификация ландшафтов по спутниковым снимкам.
  • [электроника] классификация электронных компонентов и устройств
  • [ЭКГ] диагностика ЭКГ
Colab Link Task Use Case
CNN_viz спутник Визуализация изменения многообразия данных от слоя к слою
adv спутник Детекция adversarial данных
generalize электроника Оценка обобщающей способности нейронной сети
RNN_viz ЭКГ Визуализация изменения многообразия данных от слоя к слою

Как помочь проекту

Инструкции.

Организационное

Аффилиация

Университет ИТМО.

Поддержка

Исследование проводится при поддержке Исследовательского центра сильного искусственного интеллекта в промышленности Университета ИТМО в рамках мероприятия программы центра: Разработка и испытания экспериментального образца библиотеки алгоритмов сильного ИИ в части алгоритмов объяснения результатов моделирования на данных с использованием семантики и терминологии предметной и проблемной областей в задачах с высокой неопределенностью, включая оценку неопределенности предсказаний моделей нейронных сетей, а также анализ и визуализацию межслойных трансформаций входного многообразия внутри нейронных сетей.

Разработчики

  • А. Ватьян - тим лид
  • Н. Гусарова - научный руководитель
  • И. Томилов
  • Т. Полевая
  • К. Никулина

Контакты

  • Александра Ватьян alexvatyan@gmail.com по вопросам сотрудничества
  • Татьяна Полевая tpolevaya@itmo.ru по техническим вопросам