Гиперпараметры свёртки
Для операции свёртки необходимо задать размер ядра . Обычно он нечётный, но может выбираться и чётным.
Паддинг
Свёртка приводит к уменьшению длины выходной последовательности, поскольку нельзя прижать ядро свёртки к самым краям. Если требуется на выходе получить такую же длину, как и на входе (например, для реализации ResNet блоков), то используется паддинг (padding) - предварительное расширение входной последовательности перед применением свёртки. Для этого используются разные способы, как показано на рисунке:
Шаг свёртки
Иногда необходимо уменьшить число выходных элементов свёртки. Обычно это делается, чтобы уменьшить число связей (и, соответственно, параметров модели) на последующих слоях, чтобы сеть меньше переобучалась.
Для этого используется больший шаг свёртки (stride). Стандартная свёртка применяет ядро к определённой позиции, чтобы получить преактивацию (итоговая активация - действие функции нелинейности, такой как ReLU, на преактивацию). Соседняя преактивация получается прикладыванием ядра свёртки к соседней позиции. Но для получения следующей преакивации ядро свёртки можно сдвигать не на одну позицию, а сразу на несколько. Например, если свдигать ядро свёртки для получения каждой следующей преактивации на 2, то длина выходного ряда будет примерно в 2 раза меньше, как показано на рисунках:
Сдвиг свёртки
Если обрабатываемая последовательность слишком длинная, то свёртки теряют эффективность, поскольку действуют локально и своей областью видимости захватывают лишь малый её фрагмент. Область видимости свёртки можно увеличить, если при перемножении элементов последовательности на элементы ядра свёртки идти не с шагом 1, а с большим сдвигом (dilation), как показано на рисунке:
На рисунке показан процесс извлечения одного элемента выходной последовательности. Вся выходная последовательность извлекается аналогично обычной свёртке, когда свертка применяется многократно со сдвигом ко всем валидным позициям на входной последовательности.
Пусть
-
W - длина входного ряда,
-
2n+1 - размер ядра,
-
P - расширение (padding) для увеличения размера выхода,
-
S - шаг свёртки (stride); D - сдвиг свёртки (dilation).
Какой будет размер выходной последовательности при данных параметрах?