Что такое адаптивный средний пул и как он работает? - PullRequest
0 голосов
/ 04 ноября 2019

Недавно я столкнулся с методом в Pytorch, когда я пытаюсь реализовать AlexNet. Я не понимаю, как это работает. Пожалуйста, объясните идею позади этого с некоторыми примерами. И чем он отличается от Maxpooling или Average poling с точки зрения функциональности нейронной сети

nn.AdaptiveAvgPool2d ((6, 6))

1 Ответ

4 голосов
/ 04 ноября 2019

В среднем или максимальном пуле вы по сути устанавливаете шаг и размер ядра самостоятельно, устанавливая их как гиперпараметры. Вам придется перенастроить их, если вам случится изменить размер ввода.

С другой стороны, в Adaptive Pooling мы указываем размер вывода. А шаг и размер ядра выбираются автоматически, чтобы адаптироваться к потребностям. Следующие уравнения используются для вычисления значения в исходном коде.

Stride = (input_size//output_size)  
Kernel size = input_size - (output_size-1)*stride  
Padding = 0
...