8. Мелкие задачки

8. Мелкие задачки#

а) Маша использует свёртку размера \(k \times k.\) Какого размера должно быть дополнение (padding), чтобы размер картинки после свёртки не поменялся?

Решение

Если мы используем свёртку \(3 \times 3\), она срежет один пиксель сверху, один снизу и по одному слева и справа. Достаточно рамки из нулей, которая компенсирует эти срезы. Ядро свёртки должно при первом прикладывании попасть на левый верхний угол картинки.

При свёртке \(5 \times 5\) нам понадобится две каёмочки из нулей. При свёртке \(k \times k\) нам нужно будет \(k // 2\) каёмочек. Под \(//\) имеется в виду целочисленное деление.

б) Маша использует ту же свёртку со сдвигом (stride) размера \(s.\) Какого размера должно быть дополнение (padding), чтобы размер картинки после свёртки не поменялся?

Решение

в) У Маши есть свёрточный слой. На вход в свёрточный слой идёт изображение с \(C_{in}\) каналами размера \(W \times H\). Маша использует \(C_{out}\) фильтров размера \(W_k \cdot H_k\). Сколько параметров ей предстоит оценить?

Решение

\((W_k \cdot H_k \cdot C_{in} + 1) \cdot C_{out}\)

г) Свёртка размера \(k \times k\) называется сепарабельной, если её ядро можно представить в виде произведения двух векторов размеров \(k \times 1\) и \(1 \times k\). Пусть все свёртки, которые использует Маша — сепарабельные. Сколько параметров в условиях предыдущего пункта ей предстоит оценить?

Решение

\(((W_k + H_k) \cdot C_{in} + 1) \cdot C_{out}\)