15

mentre scavavo attraverso l'argomento delle reti neurali e su come addestrarli efficientemente mi sono imbattuto nel metodo di usare funzioni di attivazione molto semplici, come l'unità lineare recidiva (ReLU), invece dei classici sigmoidi lisci. La funzione ReLU non è differenziabile all'origine, quindi secondo la mia comprensione l'algoritmo di backpropagation (BPA) non è adatto per l'addestramento di una rete neurale con ReLUs, poiché la regola della catena del calcolo multivariabile si riferisce solo a funzioni regolari. Tuttavia, nessuno dei documenti sull'uso dei ReLU che ho letto risolve questo problema. I ReLU sembrano essere molto efficaci e sembrano essere usati virtualmente ovunque senza causare alcun comportamento imprevisto. Qualcuno può spiegarmi perché i ReLU possono essere addestrati attraverso l'algoritmo di backpropagation?In che modo l'algoritmo di back-propagation si occupa di funzioni di attivazione non differenziabili?

risposta

11

Per capire come è possibile anche il backpropagation con funzioni come ReLU è necessario capire qual è la proprietà più importante della derivata che rende l'algoritmo di backpropagation così efficace. Questa proprietà è che:

f(x) ~ f(x0) + f'(x0)(x - x0) 

Se trattate x0 come valore effettivo della vostra parametro al momento - si può dire (sapendo il valore di una funzione di costo ed è derivata) come la funzione di costo si comporterà quando si cambia parametri un po ' Questa è la cosa più cruciale nel backpropagation.

A causa del fatto che la funzione di calcolo dei costi è fondamentale per un calcolo dei costi, è necessario disporre della funzione di costo per soddisfare la proprietà sopra indicata. È facile verificare che ReLU soddisfi questa proprietà ovunque tranne un piccolo quartiere di 0. E questo è l'unico problema con ReLU - il fatto che non possiamo usare questa proprietà quando siamo vicini a 0.

Per superare questo è possibile scegliere il valore della derivata ReLU in 0 su 1 o 0. D'altra parte, la maggior parte dei ricercatori non considera questo problema come serio semplicemente perché il fatto di trovarsi vicino allo 0 durante i calcoli ReLU è relativamente raro.

Da quanto sopra - ovviamente - dal punto di vista matematico non è plausibile utilizzare ReLU con algoritmo di backpropagation. D'altra parte - in pratica di solito non fa alcuna differenza che ha questo comportamento strano intorno a 0.

+0

Come viene chiamata questa proprietà derivativa? – Prometheus

+1

Questo è un teorema di approssimazione _ primo ordine_ –

Problemi correlati