Размер квадрата свертки не в квадрате - PullRequest
3 голосов
/ 28 января 2020

Очень распространено использование ядер squared_sized для сверточной нейронной сети, то есть (3,3), (5,5) и др. c.

Каковы были бы плюсы и минусы использования неквадратных размеров ядра? значение (3,7), (3,9) и др. c.

Ответы [ 3 ]

1 голос
/ 28 января 2020

Причина, по которой стоит ядро ​​квадратного размера, заключается в том, что вы вообще не представляете, какую ориентацию будут иметь изученные функции. Таким образом, вы не хотите ограничивать сеть. Оптимальной формой для фильтра будет круг, поэтому он может изучить любой объект с произвольной ориентацией внутри некоторого региона с заданным радиусом. Поскольку это нереально из-за проблем с реализацией квадрата, это следующая лучшая фигура.

Если вы знаете, например, что все изученные функции будут иметь отношение 1x3 (heightxwidth), вы можете использовать размер ядра, например 2x6. Но ты просто не знаешь этого. Даже если вы скажете, что объекты, которые вы хотите обнаружить / классифицировать, выглядят так, это не означает, что сеть научится их идентифицировать. Преимущество состоит в том, что вы можете позволить сети изучать функции, и, следовательно, вы должны ограничить это как можно меньше.

Но я не хочу вас обескураживать. Глубокое обучение - это много экспериментов, проб и ошибок. Так что просто попробуйте и убедитесь сами. Может быть, для какой-то проблемы это на самом деле работает лучше, кто знает.

1 голос
/ 28 января 2020

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

Когда вы используете ядро ​​квадратного размера, вы используете это ядро, чтобы перевести эту область в одну точку при выводе конв. Таким образом, используя квадрат, каждая точка в выходных данных получается из правильного набора взвешенных соседей входной точки (того же числа вертикальных соседей, что и горизонтального).

Однако, если вы используете не квадратное ядро size, скажем, размер ядра 3 × 9, вы отображаете каждую входную точку, используя в 3 раза больше горизонтали, чем вертикали (или наоборот). В зависимости от характера данных это может упростить процесс обучения и повысить точность. (если вы пытаетесь обнаружить очень крупных худых крокодилов, например ^ _ ^). В конце концов, это все мои мнения, а не 100% научные c факты.

0 голосов
/ 28 января 2020

Вы можете использовать любой размер ядра, который вам нравится. Ядро не обязательно должно быть квадратом, особенно если вы хотите уделять больше внимания процессу в указанной c ориентации. Фактически, скользящая средняя вдоль указанной c оси изображения представляет собой простой фильтр с прямоугольной angular формой.

...