Нейронная сеть для вывода недвоичных значений? - PullRequest
4 голосов
/ 22 апреля 2010

В последнее время я смотрю на распознавание лиц, и многие литературные источники утверждают, что их результаты имеют диапазон.Как это возможно?Я создал свою собственную сеть, и кажется, что она выдает только -1 или 1. Это потому, что я использую функцию активации Tanh?Я хочу, чтобы значения выводились, скажем, от 0 до 1 в диапазоне, а не из двоичного вывода, чтобы я мог видеть, насколько «сильным» он считает вывод на самом деле лицом.Спасибо.

Ответы [ 3 ]

2 голосов
/ 22 апреля 2010

Ваша проблема может заключаться в диапазоне ввода tanh.Обратите внимание, что сигмоид очень похож на tanh - его легко перегрузить большим числом.sigmoid (20) равен почти = 1, а sigmoid (-20) равен 0 Попробуйте сначала нормализовать входной слой, чтобы иметь меньшие числа в скрытом слое (ах), а также в выходном слое.

0 голосов
/ 22 апреля 2010

ОК, поэтому я думаю, что функция Tanh слишком быстро достигает 1.Я переключился на функцию активации Sigmoid теперь на выходном слое, и я получаю намного больше разнообразных ответов!:) Отлично.Спасибо.

0 голосов
/ 22 апреля 2010

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

Конечно, если вы нормализуете ожидаемые значения, вы можете сохранить свою функцию активации.

...