На этом шаге мы рассмотрим особенности задания этих значений.
Выходные значения нейронной сети - это сигналы, появляющиеся на узлах последнего слоя. Если мы используем функцию активации, которая не обеспечивает получение значений свыше 1,0, то было бы глупо пытаться устанавливать значения большей величины в качестве целевых. Вспомните о том, что логистическая функция не дотягивает даже до значения 1,0 - она только приближается к нему. В математике это называется асимптотическим стремлением к 1,0.
Следующий график наглядно демонстрирует, почему логистическая функция активации не может обеспечить получение значений, превышающих 1,0 или меньших нуля.
Если мы все же установим целевые значения в этих недостижимых, запрещенных диапазонах, то тренировка сети приведет к еще большим весовым коэффициентам в попытке добиться все больших и больших значений выходных сигналов, которые фактически никогда не могут быть достигнуты вследствие использования функции активации. Мы понимаем, что это так же плохо, как и насыщение сети.
Поэтому мы должны масштабировать наши целевые выходные значения таким образом, чтобы они были допустимыми при данной функции активации, одновременно заботясь о том, чтобы избежать значений, которые в действительности никогда не могут быть достигнуты.
Общепринято использовать диапазон значений от 0,0 до 1,0, но некоторые разработчики используют диапазон от 0,01 до 0,99, поскольку значения 0,0 и 1,0, с одной стороны, не являются подходящими целевыми значениями, а с другой - могут приводить к чрезмерно большим значениям весовых коэффициентов.
На следующем шаге мы рассмотрим особенности задания случайных начальных значений весовых коэффициентов.