Что такое коэффициент расширения "k" в CNN? - PullRequest
0 голосов
/ 28 апреля 2020

Я изучаю CNN enter image description here

Описание переменных дано как

Residual units are shown in brackets. where k is the widening
factor, N denotes the number of blocks in group (We use k = 2,
N = 2

Я хотел бы знать, что k на самом деле означает, а также, как бы вы реализовали это в слое Keras Conv2D?

1 Ответ

1 голос
/ 28 апреля 2020

«Остаточная единица» - это совокупность операций (все в скобках, плюс некоторая операция слияния в конце единицы), а не одна свертка.

k - это просто гиперпараметр множителя, который увеличивает глубину каждой операции * в 1004 * раза (например, при k=2 значение 1x1 64*k conv в блоке Conv2 будет иметь глубину 128). Реализация этого проста, просто используйте количество выражений в вашем Conv2D выражении. например, описанная выше операция свертки будет реализована следующим образом:

# in __init__ or where you build your network
_conv2_with_64xk_filters = keras.layers.Conv2D(64*k, (1,1))

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

...