как сделать сложный вывод нейросети керас - PullRequest
0 голосов
/ 29 мая 2018

Я хотел бы объединить 2 нейронные сети, которые показывают вероятности классов.Один говорит, что это кот на изображении.Второй говорит, что у кота есть ошейник.

Как использовать функцию активации softmax на выходе нейронной сети?

Пожалуйста, см. Рисунок, чтобы понять основную идею:

Network

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Juste создайте два отдельных плотных слоя (с активацией sofmax) в конце вашей модели, например:

from keras.layers import Input, Dense, Conv2D
from keras.models import Model

# Input example:
inputs = Input(shape=(64, 64, 3))

# Example of model:
x = Conv2D(16, (3, 3), padding='same')(inputs)
x = Dense(512, activation='relu')(x)
x = Dense(64, activation='relu')(x)
# ... (replace with your actual layers)

# Then add two separate layers taking the previous output and generating two estimations:
cat_predictions = Dense(2, activation='softmax')(x)
collar_predictions = Dense(2, activation='softmax')(x)

model = Model(inputs=inputs, outputs=[cat_predictions, collar_predictions])
0 голосов
/ 29 мая 2018

Функциональный 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') и первая запись может предсказать кошку или нет, а вторая, если у нее есть ошейник.Это будет мультиклассовая настройка с несколькими метками.

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