Caffe Users ›Объяснение того, как FC выбирает функции из Convolutional Layer
Я пытаюсь "углубиться" в CNN, я понял, как вычисляются фильтры, каковы условия объединения, нормализации, RELU и выпадающих слоев. Я выполняю прямую передачу обратного распространения на руке шаг за шагом на классическом полностью связанном слое, это нормально. Но одно я до сих пор не понял, как слой FC выбирает функции для использования из сверточного слоя?
Я попытаюсь сформулировать более конкретно:
Предположим, что я загружаю свою сеть одним RGB-изображением размером 86x86 для обучения сети, для упрощения я использую мини-пакет из 1 изображения, после того как вычислим слои свертки и объединения, это слой FC, и вот мои сомнения:
Верхняя форма моего слоя свертки: 1 256 3 3, и я подаю первый слой FC с этим, а num_output уровня FC равен 160, я знаю, какой этот вывод моей свертки будет сведен в массив размером 1*256*3*3 = 2304. Так что я не понимаю, как слой FC выбирает объекты внутри массива размером 2304 и подает выходные данные слоя FC, который имеет размер 160?
И у моего следующего слоя FC будет такой же результат, что теперь будет?
Наконец, у меня есть последний слой FC с числом классов, которые будут вычислены Softmax.
Кто-нибудь может мне помочь?
Спасибо!