Открытие моделей машинного обучения черного ящика с помощью Explainable AI (XAI)

Что такое объяснимый ИИ (XAI)?

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

Иногда вы могли бы увидеть, как ваша модель машинного обучения (ML) делает то же самое.

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

Что, если собака была на снегу, а волк - на траве? Модель будет делать неправильные прогнозы.

Почему так важен объяснимый ИИ?

Зачем кому-то нужна модель, ошибочно классифицирующая собак и волков?

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

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

Достижение этого было бы большим скачком в эволюции систем искусственного интеллекта, и это позволило бы людям больше доверять системам искусственного интеллекта. XAI - обширный предмет и одна из самых горячих тем исследований AI / ML как в академических кругах, так и в промышленности.

Объяснение сверточных нейронных сетей

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

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

  • Начав с набора данных распознавания цифр MNIST, мы построили простую модель CNN и визуализировали, как обучаются фильтры CNN и какую функцию идентифицирует каждый фильтр.
  • Визуализация значений активации в каждом полностью подключенном слое и определение набора нейронов, которые активируются для каждой цифры.
  • Затем мы использовали карты максимизации активации и значимости, чтобы объяснить, какая часть входного изображения очень важна для модели, чтобы правильно классифицировать входные данные.

Пакет Python Deep Learning Keras предлагает ряд встроенных методов, которые помогут вам визуализировать модели. Это уже существующие методы, и код можно найти в записной книжке Python здесь.

Примечание. Мы продолжили исследования по изучению CNN с помощью проприетарных методов и кода, которые нельзя здесь публиковать.

Вывод для специалиста по данным

  • Хотя специалист по анализу данных обычно настраивает существующие алгоритмы машинного обучения для решения бизнес-задач, не рассматривать модель машинного обучения как черный ящик и пытаться понять, как она работает, им придется пройти долгий путь в их карьере.
  • Этот проект помог мне прояснить, что находится внутри черного ящика CNN и как он работает. И я намерен изучить такие концепции, как карты окклюзии и внимание, чтобы лучше понять модели машинного обучения.

Спасибо за прочтение!

Если вам нравится моя работа и вы хотите меня поддержать…

  1. ЛУЧШИЙ способ поддержать меня - подписаться на меня на Medium здесь.
  2. И подписывайтесь на меня в LinkedIn здесь.
  3. Не стесняйтесь хлопать в ладоши, чтобы я знал, насколько этот пост был для вас полезен.