Функциональный API можно использовать для создания сети с несколькими выходами.По сути каждый вывод будет отдельным прогнозом.Что-то вроде:
in = Input(shape=(w,h,c)) # image input
latent = Conv...(...)(in) # some convolutional layers to extract features
# How share the underlying features to predict
animal = Dense(2, activation='softmax')(latent)
collar = Dense(2, activation='softmax')(latent)
model = Model(in, [animal, coller])
model.compile(loss='categorical_crossentropy', optimiser='adam')
Вы можете иметь столько отдельных выходов, сколько захотите.Если у вас есть только двоичные объекты, у вас также может быть один векторный вывод, Dense(2, activation='sigmoid')
и первая запись может предсказать кошку или нет, а вторая, если у нее есть ошейник.Это будет мультиклассовая настройка с несколькими метками.