Комментарии 2
Пытаюсь сделать такую сеть. Вопрос вот какой: вот есть у меня нейронка дискриминатора. Я ей подал истинное изображение. Ответ сети real_output=0.7. Подал мнимое. Ответ сети fake_output=0.3. Возникает вопрос, а какой считать ошибку на выходе сети, чтобы выполнять обратное распространение (то самое желаемое минус полученное)? Если я сделаю эту ошибку Error=-log(real_output)-log(1-fake_output), то такая сеть будет тащить fake_output к 1, а должна бы к 0. Если я сделаю Error=-log(real_output)+log(1-fake_output), то такая сеть обучится, но притянет real_output к 0.5 и fake_output тоже к 0.5. Но это неверно. Если же делать вычисление градиентов по-отдельности для каждого случае, то тогда получится, что для реального изображения Error=-log(real_output), а для мнимого Error=log(fake_output) (без минуса!). Но так у меня тоже не получается обучить. Такой же вопрос к обучению генератора.
В общем, пока у меня не заработало.
Вот что пишут:

Но тут непонятно, что значит "в сторону возрастания градиента"? Что задать как ошибка на выходе сети?
Вот как генеративно-состязательные сети учатся творить