Визуализация фильтров в сверточных нейронных сетях

Я прочитал эту статью "ufldf", она развивает визуализацию скрытых слоев в автоэнкодере , но я не понимаю, как визуализировать фильтры для сверточных нейронных сетей. На мой взгляд, для первого слоя свертки для визуализации фильтров необходимо это уравнение:

введите  описание изображения здесь

А для второго слоя свертки он должен проецировать фильтры в исходное пространство ввода, но я не знаю, как это сделать.


person rt77789    schedule 15.05.2013    source источник
comment
Возможно, вам стоит задать свой вопрос здесь: metaoptimize.com/qa (есть еще эксперты по машинному обучению)   -  person alfa    schedule 16.05.2013


Ответы (1)


В сверточных нейронных сетях визуализация ядер свертки аналогична визуализации фильтров. Единственная потребность в делителе в уравнении, о котором вы говорите, - это нормализация. Так что это нужно только для лучшей визуализации.

Если вы хотите визуализировать второй фильтр сверточного слоя, вы можете просто проделать ту же операцию. Вы также можете визуализировать эти фильтры, проецируемые на пространство ввода. В этом случае вам необходимо вычислить свертки всех фильтров второго слоя со всеми фильтрами первого слоя. Это должна быть «полная» свертка. Если у вас есть промежуточный уровень пула, вам следует соответственно развернуть фильтры.

Так, например, рассмотрим свертку со следующей конфигурацией: 1) C-слой: 1 вход размером 32x32, 6 ядер размером 5x5; 2) Слой субдискретизации с соотношением 2x2; 3) C-слой: 6 входов размером 14x14 (из-за свертки и объединения) и 16 ядер размером 7x7; 4) ... некоторые другие более высокие уровни

Чтобы визуализировать ядра 3-го уровня из этой сети, проецируемые на входное пространство, вам нужно взять каждое ядро ​​7x7, увеличить его 2 раза, затем выполнить `` полную '' свертку с ядром первого уровня, это даст вам фильтры 16x6 размером 22x22

person Mikhail Sirotenko    schedule 22.05.2013