Введение: Сверточная сеть представляет собой набор фильтров, применяемых к разделам изображения (шаги, которые видны в GIF). Они генерируют метки true/false, если данный подэкран изображения соответствует фильтру.
Что вы видите в изображениях вы обеспечиваете не лучшее представление о том, как эти визуализации работают на мой взгляд, так как они себе, как CNN percieves все изображение, на каждом уровне, и это просто серия простых фильтров, используемых там. Это означает, что все они выглядят очень похожими.
Вот лучшее представление о том, как могут выглядеть основные фильтры сети. Некоторые из них будут запускаться по прямым линиям, другие - по горизонтальным линиям. Это то же, что и изображение, которое вы связали, показывает, кроме этого, для всего изображения, на визуально простом объекте, что затрудняет его понимание. Когда вы переходите к более сложным фильтрам, которые строятся поверх этих основных фильтров, вам может быть лучше визуализировать изображение целиком.
Существует также понятие называется передачей обучение, где вы берете существующие обобщенные модели, которые высоко ценятся, и попытаться применить их к вашей конкретной проблеме. Эти модели часто нуждаются в настройке, что может означать удаление некоторых слоев, которые не нужны (поскольку каждый слой, который мы храним, означает, что обычно требуется больше времени для обучения) и/или добавление большего количества слоев.
Исследователь лучше сможет интерпретировать, как каждый слой сети основывается на предыдущих слоях и как они способствуют решению проблемы. Это часто основывается на кишечнике-чувство (которое может быть упрощено хорошими визуализации, такие как этот deep visualization toolbox video)
В качестве примера, скажем, я использую VGG16, который является имя общей модели обученных на image-net. Я хочу изменить его, чтобы классифицировать отдельные категории мебели, а не 1000 классов из совершенно разных вещей, изначально предназначенных для классификации. Поскольку это такая общая модель, она может распознавать множество разных вещей: от людей до животных, до автомобилей, мебели. Но многие из этих вещей не имеют смысла для меня, чтобы нести штраф за исполнение, поскольку они действительно не помогают мне классифицировать мою мебель.
Поскольку многие важные открытия, которые мы делаем об этих классах, происходят на разных уровнях сети, я могу затем вернуться к сверточным слоям и удалить все, что кажется слишком сложным для задачи, делает.Это может означать, что я удаляю некоторые слои, которые, похоже, специализируются на категоризации человеческих функций, таких как уши, рты, глаза и лица.
Насколько я знаю, люди визуализируют столько слоев, сколько они находят полезными, а затем обычно вызывают суждение, основанное на инстинкте о том, какие слои сохранить или выбросить после этого.
Изображения заимствованы из:
Visualizing what ConvNets learn
An Intuitive Explanation of Convolutional Neural Networks
могли бы вы предоставить более подробную информацию о сети вы используете, и изображения, которые вы представили? –
Спасибо за ваш комментарий. Предположим, я пытаюсь классифицировать почерк цифр с использованием предварительно подготовленной модели VGG16, и я вводил 32x32 изображение рукописного номера. Изображение выше - это выход, например, для слоя 10, какую информацию или представление о слое 10 я получаю от просмотра вывода для этого слоя? Я не уверен, поможет ли это. Если нет, сообщите мне, какую другую информацию я могу предоставить. – matchifang