Нейронные сети с двумя выходами - PullRequest
0 голосов
/ 06 июня 2018

Я новичок в Keras и хотел бы построить нейронную сеть с двумя выходами.По сути, я делаю так, чтобы я установил для функции Dense последнего слоя значение 2, как показано ниже

model.add(Dense(2, activation = 'relu',kernel_initializer=RandomNormal(mean=0.0, stddev=0.05, seed=0)))

это правильно?

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Если то, что вы пытаетесь достичь, - это получить два разных вывода из вашей нейронной сети, то эта реализация неверна.В этой строке кода вы создаете два нейрона в этом плотном слое, так что, если вы пытаетесь предсказать класс вашего ввода из двух классов, в задаче классификации нескольких классов, то вы делаете это правильно (простоизменение активации = 'softmax')

Но, если вы пытаетесь предсказать два разных выхода из одной нейронной сети, вам придется использовать API-интерфейс модели Кераса, а затем в основном и затем создать другой выводслои для каждого вывода и передать их в виде списка при создании экземпляра модели.

Если вы новичок в Keras, я настоятельно рекомендую просмотреть эту книгу , это действительно поможет.

0 голосов
/ 06 июня 2018

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

Фактические сети с несколькими выходами строятся с использованием функционального API , где у вас есть список векторов / тензоров в качестве выходных данных из разных слоев.В этом случае вы можете, например:

out1 = Dense(2, activation='relu')(in)
out2 = Dense(3, activation='softmax')(in)
model = Model(in, [out1, out2])

, который будет иметь 2 вектора на выходе.Чем это отличается от Dense(5)?Ну, теперь у нас есть разные активации и мы пытаемся предсказать регрессию, а также классификацию входных данных в этом примере, что вы не можете эффективно сделать с одним векторным выходом.

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