Ответ 1
Чтобы понять, как возможно backpropagation возможно с такими функциями, как ReLU, вам нужно понять, что является самым важным свойством производной, которое делает так, что алгоритм backpropagation работает так хорошо. Это свойство таково:
f(x) ~ f(x0) + f'(x0)(x - x0)
Если вы рассматриваете x0
как действительное значение своего параметра на данный момент - вы можете сказать (знающее значение функции стоимости и его производного), как будет выглядеть функция стоимости, когда вы немного измените свои параметры. Это самая важная вещь в backpropagation.
Из-за того, что функция вычислительной стоимости имеет решающее значение для вычисления стоимости, вам понадобится ваша функция затрат, чтобы удовлетворить указанное выше свойство. Легко проверить, что ReLU удовлетворяет этому свойству всюду, кроме малой окрестности 0
. И это единственная проблема с ReLU - тот факт, что мы не можем использовать это свойство, когда мы близки к 0
.
Чтобы преодолеть это, вы можете выбрать значение производной ReLU в 0
либо 1
, либо 0
. С другой стороны, большинство исследователей не рассматривают эту проблему как серьезную, просто из-за того, что близость к 0
при вычислениях ReLU относительно редка.
Из вышесказанного - конечно - с чистой математической точки зрения нецелесообразно использовать ReLU с алгоритмом backpropagation. С другой стороны - на практике обычно не имеет никакого значения, что у нее есть это странное поведение вокруг 0.