Визуализация глубокого обучения нейронной сети

13

Я пытаюсь найти эквивалент диаграмм Хинтона для многослойных сетей, чтобы построить вес во время обучения.

Обученная сеть в некоторой степени похожа на Deep SRN, т. Е. Имеет большое количество матриц с несколькими весами, что делает одновременное построение нескольких диаграмм Хинтона визуально запутанным.

Кто-нибудь знает хороший способ визуализации процесса обновления веса для повторяющихся сетей с несколькими слоями?

Я не нашел много статей по этой теме. Я думал отобразить связанную со временем информацию о весах на слой, если я не могу что-то придумать. Например, дельта-вес по времени для каждого слоя (исключая использование каждого отдельного соединения). PCA - это еще одна возможность, хотя я не хотел бы производить много дополнительных вычислений, поскольку визуализация выполняется в режиме онлайн во время обучения.

runDOSrun
источник

Ответы:

10

Последнее, что я знаю, это ConvNetJS :

ConvNetJS - это библиотека Javascript для обучения моделей глубокого обучения (в основном нейронных сетей) полностью в вашем браузере. Откройте вкладку, и вы тренируетесь. Нет требований к программному обеспечению, нет компиляторов, нет установок, нет графических процессоров, нет пота.

Демонстрации на этом участке сюжета весят и как они меняются со временем (имейте в виду, его множество параметров, так как в практических сетях действительно много нейронов). Более того, если вас не устраивает их построение, есть доступ к параметрам сети, и вы можете строить как угодно (так как это JavaScript).

Петр Мигдаль
источник
Благодарность! Интересно, что они решили использовать несколько диаграмм Хинтона для построения графика своих весов. Я все еще думаю, что трудно интерпретировать, как только у вас будет слишком много слоев / соединений, но, по крайней мере, приятно видеть это в действии.
RunDOSrun
5

Основываясь на моем беглом понимании тем, связанных с вашим вопросом, я думаю, что Gephi ( https://gephi.github.io ; оригинальная ссылка на gephi.org перенаправляет туда) должен уметь обрабатывать динамическую визуализацию нейронной сети . Похоже, что для достижения вашей цели вам необходимо направить свой график (графики) с соответствующими весами ( https://forum.gephi.org/viewtopic.php?t=1875 ). Для потоковой передачи вам, скорее всего, понадобится этот плагин : https://marketplace.gephi.org/plugin/graph-streaming .

ОБНОВЛЕНИЕ : Вы также можете найти полезное программное обеспечение SoNIA: http://web.stanford.edu/group/sonia .

Александр Блех
источник
1
Очень интересная идея! На самом деле, я не думал о том, чтобы визуализировать глубокую сеть, подобную социальной сети. Основное различие между моделями заключается в том, что эти графики кодируют информацию в своих узлах, тогда как нейронные сети делают это в своих соединениях. Но это может быть изменено, например, путем установки значений узлов социальной сети для весов исходящих соединений нейронной сети.
запуститьDOSrun
Я рад, что вам нравится идея. Не стесняйтесь, чтобы поддержать / принять. И не забудьте ознакомиться с программным обеспечением SoNIA, со ссылкой на который я недавно обновил свой ответ. Наконец, если вы используете (или планируете использовать) R, вот еще одна интересная информация для вас: sna.stanford.edu/rlabs.php .
Александр Блех