Функция смешанных потерь для модели с несколькими выходными кератами - PullRequest
0 голосов
/ 02 марта 2019

У меня есть модель keras с одним входом и двумя выходами.Два выхода разделены, потому что один выход имеет линейную активацию (для оценки значения линейной регрессии), а другой выход имеет активацию softmax (пытается экспериментировать с изучением значения достоверности из-за шумных входных данных).

in_layer = Input((1,))
Hlayer1 = Dense(4,activation='linear')(in_layer)
Hlayer2 = Dense(4,activation='relu')(Hlayer1)
out_1 = Dense(1, activation='linear')(Hlayer2)
out_2 = Dense(1, activation='softmax')(Hlayer2) 
model = Model(inputs=[in_layer], outputs = [out_1,out_2])

Я хотел бы создать смешанную функцию потерь в виде:

loss = (1 - out_2) x MSE(out_1) + out_2 x MSE(out_1)

В попытке попытаться уловить неопределенность в ответе с прогнозом out_2, ифактический ответ в прогнозе out_1.

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

Любой совет по достижению этого?

Спасибо!

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