Выходы нейросети и функции потерь
В этом разделе обсудим, что будет представлять собой выходной слой (output layer) нейросети для задач регрессии и классификации.
Истинный отклик будем обозначать , который п о вектору признаков предсказывается нейросетевым преобразованием , зависящим от вектора весов .
Одномерная регрессия
В задаче регрессии требуется предсказать одно число (скаляр) . Соответственно, у нейросети будет один нейрон на выходном слое.
-
Если значение прогноза может быть любым, то на выходном слое используется тождественная активация.
-
Если предсказывается неотрицательное значение, то к выходу применяется активация ReLU.
-
Если предсказывается положительное значение, то используется активация SoftPlus.
При прогнозе, который должен принимать значения внутри отрезка , используется активация tangh или аналоги: SoftSign и hard-tangh.
Что нужно дополнительно сделать, если целевая величина ?
Нужно перемасштабировать выход нейросети из отрезка в отрезок :
В качестве функции потерь, по которой мы будем настраивать веса, можно использовать любую дифференцируемую функцию, поскольку нейросети настраиваются градиентными методами оптимизации, вычисляющими градиент этой функции по весам .
Например, можно взять квадрат ошибки:
или модуль ошибки:
Последняя функция не дифференцируема в нуле, однако это не будет являться проблемой в общем случае, когда .
Для набора объектов минимизируется среднее значение этих функций потерь по объектам выборки.
-
Среднее по квадратам отклонений называется mean squared error или MSE-оценкой.
-
Среднее по модулям отклонений называется mean absolute error или MAE-оценкой.
Векторная регрессия
Если требуется решить задачу векторной регрессии, то есть предсказывать не одно вещественное число, а сразу вектор , то нужно задать архитектуру сети так, чтобы у неё было выходов.
Чем это лучше, чем делать K независимых прогнозов различными нейросетями для вектора из K откликов?
Если прогнозируемые величины связаны, например, когда предсказываем цены набора акций на следующий день (которые зависят от общих макроэкономических показателей), то эффективнее прогнозировать их одной нейросетью с K выходами:
-
на этапе обучения это приведёт к переиспользованию промежуточных признаков (активаций внутренних слоёв), в результате чего промежуточные признаки настроятся лучше, и модель будет работать точнее;
-
это вычислительно эффективнее, поскольку не придётся перевычислять всю последовательность промежуточных признаков много раз для каждой отдельной модели.
Аналогично одномерной регрессии, для настройки весов можно использовать любую дифференцируемую функцию, например, квадрат нормы расхождения:
либо норму расхождения между прогнозом и фактическим значением:
Для набора объектов также минимизируется среднее значение этих функций потерь по объектам выборки.