Глава 7. Визуализация данных и моделей
305
По завершении вычислений в Node.js, требующих большого объема шагов, ге
нерируется набор файлов изображений в каталоге
dist/
. Наконец, команда
yarn
visualize
компилирует и запускает вебсервер для набора статических вебфайлов,
включая эти изображения, а также открывает страницу
index
в браузере.
У команды
yarn
visualize
есть несколько флагов настроек. Например, по умол
чанию она выполняет вычисления и визуализацию по восьми фильтрам для каждого
интересующего нас сверточного слоя. Это количество фильтров можно изменить
с помощью флага
--filters
: например,
yarn
visualize
--filters
32
. Кроме того,
по умолчанию команда
yarn
visualize
использует входное изображение
cat.jpg
,
поставляемое вместе с исходным кодом. Но можно указать и другие файлы изобра
жений благодаря флагу
--image
1
. А теперь взглянем на результаты визуализации
для изображения
cat.jpg
и 32 фильтров.
7.2.1. Визуализация внутренних функций активации
сверточной сети
В этом подразделе мы займемся расчетом и отображением карт признаков, сгене
рированных различными сверточными слоями модели VGG16 на основе заданного
входного изображения. Эти карты признаков называют
внутренними
активациями,
поскольку они представляют собой не итоговый выходной сигнал модели (вектор
длиной 1000, отражающий оценки вероятностей для 1000 классов ImageNet), а про
межуточные шаги вычислений модели. Эти внутренние активации демонстрируют,
как входной сигнал разбивается на различные усваиваемые моделью признаки.
Как вы помните из главы 4, форма выходного сигнала сверточного слоя —
[numExamples,
height,
width
,
channels]
. В данном случае речь идет об одном входном
изображении, так
numExamples
= 1. Нам нужно визуализировать выходные сигналы
каждого из сверточных слоев по трем оставшимся измерениям: высота, ширина
и каналы. Высоту и ширину выходного сигнала сверточного слоя определяют размер
его фильтра, дополнение нулями и шаг свертки, а также высота и ширина входного
сигнала этого слоя. В общем случае они уменьшаются по мере продвижения в глубь
сверточной сети. С другой стороны, число каналов при этом растет, поскольку
сверточная сеть выделяет все больше и больше признаков через последовательные
слои преобразований представления. Эти каналы сверточных слоев нельзя интер
претировать как различные компоненты цвета, они представляют собой измерения
усвоенных признаков. Именно поэтому в нашей визуализации мы разбиваем их на
отдельные блоки и отрисовываем в оттенках серого. На рис. 7.8 приведены акти
вации пяти сверточных слоев модели VGG16 при входном изображении
cat.jpg
.
Самая заметная особенность внутренних активаций — по мере углубления в сеть
они все больше отличаются от исходного входного сигнала. Первые слои (напри
мер,
block1_conv1
), похоже, кодируют относительно простые визуальные признаки,
1
Поддерживаются наиболее распространенные форматы изображений, включая JPEG
и PNG.
306
Do'stlaringiz bilan baham: |