Есть ли у нейронных сетей объяснимость, как у деревьев решений?

13

В Деревьях решений мы можем понять выходные данные древовидной структуры, а также можем визуализировать, как Дерево Решений принимает решения. Таким образом, деревья решений имеют объяснимость (их вывод можно легко объяснить.)

Есть ли у нас объяснимость в нейронных сетях, как с деревьями решений?

navya
источник
1
Недавняя модель-независимая структура - модель LIME .
Эмре
В области распознавания / классификации объектов с использованием нейронных сетей тепловые карты популярны для визуализации / объяснения решения, например, в heatmapping.org . Учебники и интерактивные демонстрации доступны.
Николас Рибл

Ответы:

9

Я не согласен с предыдущим ответом и вашим предложением по двум причинам:

1) Деревья решений основаны на простых логических решениях, которые в совокупности могут принимать более сложные решения. НО, если ваш вход имеет 1000 измерений, а изученные функции сильно нелинейны, вы получите действительно большое и тяжелое дерево решений, которое вы не сможете прочитать / понять, просто взглянув на узлы.

2) Нейронные сети аналогичны тем, что функция, которую они изучают, понятна, только если они очень малы. Когда вы становитесь большими, вам нужны другие приемы, чтобы понять их. Как предложил @SmallChess, вы можете прочитать эту статью под названием « Визуализация и понимание сверточных сетей», в которой объясняется для конкретного случая сверточных нейронных сетей, как вы можете читать весовые коэффициенты, чтобы понимать такие вещи, как «он обнаружил автомобиль на этой картинке, главным образом из-за колеса, а не остальные компоненты ".

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

Робин
источник
:-) Я обнаружил, что сам документ труднее понять, чем сама глубокая сверточная сеть. Это очень математическая статья.
HelloWorld
1
Извините, я процитировал не ту статью :-) Я просто изменил ее, она более графическая, идея перевернуть коннет не очень сложна, если вы знаете, как работает коннет. Точно так же Google Deep Dream использует обратное распространение для проецирования определенного вывода в пространство ввода.
Робин
Есть видео, где Мэтт Цейлер раскрывает многие из этих идей, под названием «Деконволюционные сети»
Алекс,
7

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

Существует популярный пакет Python (и у него есть документ), который может моделировать NN локально с более простой моделью. Вы можете посмотреть.

https://github.com/marcotcr/lime

Привет, мир
источник
1
ха - ха. Я знаю, каково это. объятия : D
Dawny33
0

https://arxiv.org/abs/1704.02685 предоставляет специальный локальный инструмент объяснения NN: глубокий подъем. Он работает, распространяя разницу в активации между экземпляром, который вы хотите объяснить, и эталонным экземпляром. Получить ссылку немного сложно, но инструмент в целом выглядит интерпретируемым и масштабируемым. Мы используем это на табличных данных.

lcrmorin
источник