Как найти, какой патч в оригинальном образе соответствует активации в vgg net после последнего слоя пула - PullRequest
1 голос
/ 26 октября 2019

Итак, я работаю над проблемой воспроизводимости NeurIPS 2019. Ссылка на статью: https://arxiv.org/abs/1806.10574. Итак, в основном у нас есть сеть vgg-16 с удаленными окончательными полностью связанными слоями, поэтому мы получаем размерность 7x7x512. Карты активации. Теперь в статье представлен новый слой прототипов, в котором мы сравниваем эти карты активации 7x7 с прототипами размеров 1x1x512, используя норму L2, и там, где прототип имеет максимальное сходство после рассмотрения всех входных изображений, мы приравниваем прототип к этому патчу 1x1x512. в картах активации

Теперь все хорошо и хорошо, но в статье также требуется найти патч на исходном изображении, соответствующий патчу 1x1, поэтому мы можем сказать, что прототип, в некоторой степени, является патчем воригинальное изображение.

Теперь я обнаружил, что переход 224x224 к 7x7 может быть эффективно выполнен ядром 212x212 с 32 шагами (с использованием эффективного локального рецептивного поля) изображение, объясняющее это (Не мое, скопированоизображение откуда-то)

Хорошо, теперь, если я получу активацию 1x1, мне нужно довольно легко найти оригинальный патч с изображением ... его ... но проблема в том, что в сети VGG мы применяем ноль-заполнение 1 много раз, поэтому эффективно мы получаем заполнение 90 (рассчитанное с использованием входного размера 224, размера ядра 212 и шага 32) в исходном изображении, поэтому предположим, что я получаю активацию верхнего левого 1x1 какЯ хочу найти патч, тогда он будет иметь большую часть = 0 из-за сильного эффективного заполнения исходного изображения, так что это нормально?

Извините за чрезвычайно длинный вопрос, но это концептуальный вопрос, требующий глубокого объяснения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...