Штабелирование против не-стековых архитектур в глубоком обучении - PullRequest
0 голосов
/ 16 апреля 2019

В Keras (или глубоком обучении в целом), в чем разница между stacking и non-stacking архитектурой, и может ли кто-нибудь дать простую иллюстрацию архитектуры non-stacking?

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

1 Ответ

1 голос
/ 17 апреля 2019

Глубокие нейронные сети, по определению, являются стеками нейронных сетей (обычно просто называемых слоями). Вы можете думать об этом как о серии операций; блок-схема. Например, в сетях обнаружения объектов серии извилистых слоев (называемых пирамидами объектов) используются для выделения региональных характеристик из изображений. Однако, как и блок-схема, вы можете создавать ветви и перемещать данные по своему усмотрению. Рассмотрим следующие фрагменты кода:

Просто стек.

input_layer = InputLayer(input_shape=(256,256,3))
x = Dense(666)(input_layer)
x = Dense(666)(x)
output_layer = Dense(1, activation='softmax')(x)

Что-то более интересное.

input_layer = Inputlayer(input_shape=(256,256,3))
x = Dense(666)(input_layer)

x_left = Dense(666)(x) # gets inputs from x
x_left = Dense(666)(x_left)

x_right = Dense(666)(x)
x_right = Dense(666)(x_right)

x = concatenate([x_left,x_right],axis=-1)

x = Dense(666)(x)
output_layer = Dense(1,activation='softmax')(x)

Это отвечает на ваш вопрос вообще?

Кроме того, этот рисунок может помочь; Это базовая функция сетевой пирамиды, которую я нашел в Google и которая неплохо показывает: feature pyramids

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...