Pooling слой

Apr 11, 2018 23:54

Представим, что на вход слою Max Pooling подается матрица размером 4 х 4, которая выглядит, например, вот так:



На выходе получится матрица 2 х 2:



Для того, чтобы было понятно, какой регион исходной матрицы, будет преобразован в регион финальной, обозначим их цветами:



В каждом из регионов выбирается максимальное число и переносится в финальную матрицу:



Фактически, для преобразование матрицы был применен фильтр размера 2 х 2 и stride, равный 2. Размер фильтра и stride - это гиперпараметры pool слоя, однако параметров у него нет.

Рассмотрим другой пример. Пусть есть на входе матрица размера 5 х 5. К этой матрице применяется фильтр размера 3 х 3 и stride, равный 1.



Воспользовавшись формулой:



можно найти размер матрицы на выходе. В этом случае её размер будет 3 х 3.



Пройдя с верхнего левого до нижнего правого угла:



на выходе получим следующий результат:



В том случае, когда на вход приходит многослойная матрица, выход будет иметь аналогичное количество слоёв. При этом значения на каждом слое считаются независимо от других слоёв.

Существует другая вариация pooling, которая используется реже, - Average pooling. Отличается от max pooling тем, что вместо того, чтобы брать максимальное значение области, которую захватывает фильтр, берётся среднее значение:


cnn

Previous post Next post
Up