Выходной слой моей нейронной сети (3 слоя) использует сигмоид в качестве активации, который выводит только в диапазоне [0-1]. Однако, если я хочу обучить его выходам, выходящим за пределы [0-1], скажем, в тысячах, что мне делать?
Например, если я хочу тренироваться
вход ----> выход
0 0 ------> 0
0 1 ------> 1000
1000 1 ----> 1
1 1 -------> 0
Моя программа работает для AND, OR, XOR и т. Д. В качестве входных данных все в двоичном виде.
Было несколько предложений по использованию,
Активация:
y = лямбда * (абс (x) 1 / (1 + exp (-1 (x))))
Производная активации:
лямбда * (абс (у) у (1-у)) * +1031 *
Это не сходится для упомянутой схемы обучения (если я не сделал ничего плохого). Есть какие-нибудь предложения, пожалуйста?