Perché usiamo ReLU nelle reti neurali e come lo usiamo?

Perché utilizziamo unità lineari rettificate (ReLU) con le reti neurali? In che modo migliora la rete neurale?

Perché diciamo che ReLU è una funzione di attivazione? Non è la funzione di attivazione softmax per le reti neurali? Immagino che usiamo entrambi, ReLU e softmax, in questo modo:

neurone 1 con uscita softmax —-> ReLU sulluscita del neurone 1, che è
input del neurone 2 —> neurone 2 con output softmax -> …

in modo che linput del neurone 2 sia fondamentalmente ReLU (softmax (x1)). corretto?

Risposta

La funzione ReLU è $ f (x) = \ max (0, x). $ Di solito viene applicato per elemento alloutput di qualche altra funzione, come un prodotto matrice-vettore. Negli usi MLP, le unità di raddrizzamento sostituiscono tutte le altre funzioni di attivazione tranne forse la lettura ma suppongo che potresti combinarli e abbinarli se lo desideri.

Un modo in cui le ReLU migliorano le reti neurali è accelerando laddestramento. Il calcolo del gradiente è molto semplice (0 o 1 a seconda del segno di $ x $ ). Inoltre, la fase di calcolo di un ReLU è semplice: tutti gli elementi negativi sono impostati su 0,0 – nessun esponenziale, nessuna operazione di moltiplicazione o divisione.

I gradienti delle reti tangenti logistiche e iperboliche sono più piccoli della parte positiva di il ReLU. Ciò significa che la parte positiva viene aggiornata più rapidamente con il progredire della formazione. Tuttavia, questo ha un costo. Il gradiente 0 sul lato sinistro ha il suo problema, chiamato “neuroni morti”, in cui un aggiornamento del gradiente imposta i valori in arrivo su un ReLU in modo tale che loutput sia sempre zero; le unità ReLU modificate come ELU (o Leaky ReLU, o PReLU, ecc.) possono migliorarlo.

$ \ frac {d} {dx} \ text { ReLU} (x) = 1 \ forall x > 0 $ . Al contrario, il gradiente di ununità sigmoide è al massimo $ 0,25 $ ; daltra parte, $ \ tanh $ se la cava meglio per gli input in una regione vicina a 0 poiché $ 0,25 < \ frac {d} {dx} \ tanh (x) \ le 1 \ forall x \ in [-1.31, 1.31] $ (approssimativamente).

Commenti

  • Non vedo alcuna prova che volessi fare una domanda o che abbia partecipato a questa pagina. Francamente ‘ sono stupito di come funziona ReLU, ma ‘ ho smesso di metterlo in discussione :).
  • @aginensky Sembra che il commento sia stato rimosso nel frattempo.
  • Il commento non è stato rimosso da me né sono stato informato. ‘ ho smesso di rispondere alle domande e immagino che questo significhi che ‘ ho finito anche con i commenti.
  • @aginensky Non ‘ non so perché questo ti farebbe smettere di commentare. Se hai domande sui commenti e sulla moderazione, puoi porre una domanda in meta.stats.SE.

Risposta

Una cosa importante da sottolineare è che ReLU è idempotente. Dato che ReLU è $ \ rho (x) = \ max (0, x) $ , è facile vedere che $ \ rho \ circ \ rho \ circ \ rho \ circ \ dots \ circ \ rho = \ rho $ vale per qualsiasi composizione finita. Questa proprietà è molto importante per le reti neurali profonde, perché ogni strato nel la rete applica una non linearità. Ora, applichiamo due funzioni della famiglia sigmoide allo stesso input ripetutamente 1-3 volte:

inserisci qui la descrizione dellimmagine

Puoi immediatamente vedere che le funzioni sigmoide” schiacciano “i loro input dando luogo al problema del gradiente di fuga: le derivate si avvicinano allo zero come $ n $ (il numero di applicazioni ripetute) si avvicina allinfinito.

Answer

ReLU è la funzione max (x, 0) con input x es matrice da unimmagine convoluta. ReLU imposta quindi tutti i valori negativi nella matrice x a zero e tutti gli altri valori vengono mantenuti costanti.

ReLU viene calcolato dopo la convoluzione ed è una funzione di attivazione non lineare come tanh o sigmoid.

Softmax è un classificatore alla fine della rete neurale. Questa è la regressione logistica per normalizzare gli output su valori compresi tra 0 e 1. (Lalternativa qui è un classificatore SVM).

Passaggio avanti CNN es: input-> conv-> ReLU-> Pool-> conv-> ReLU-> Pool-> FC-> softmax

Commenti

  • Downvoting. Questa è una pessima risposta! Softmax non è un classificatore! È una funzione che normalizza (scala) gli output nellintervallo [0,1] e garantisce che si sommino a 1. La regressione logistica non ” regolarizza ” qualsiasi cosa!La frase ” ReLU viene calcolata dopo la convoluzione e quindi una funzione di attivazione non lineare come tanh o sigmoid. ” manca di un verbo o di un senso.
  • La risposta non è poi così male. La frase senza il verbo deve essere ” ReLU viene calcolata dopo la convoluzione e È quindi una funzione di attivazione non lineare come tanh o sigmoid. ” Anche pensare a softmax come a un classificatore ha senso. Può essere visto come un classificatore probabilistico che assegna una probabilità a ciascuna classe. ” regolarizza ” / ” normalizza ” gli output nellintervallo [0,1].

Answer

ReLU è un interruttore letterale. Con un interruttore elettrico, 1 volt in ingresso fornisce 1 volt in uscita, n volt in uscita n volt quando è acceso. On / Off quando si decide di passare a zero fornisce esattamente lo stesso grafico di ReLU. La somma ponderata (prodotto scalare) di un numero di somme ponderate è ancora un sistema lineare. Per un particolare ingresso, gli interruttori ReLU sono attivati o disattivati individualmente. Ciò si traduce in una particolare proiezione lineare dallingresso alluscita, poiché varie somme ponderate della somma ponderata di … sono collegate insieme dagli interruttori. Per un particolare input e un particolare neurone di output esiste un sistema composto di somme ponderate che in realtà possono essere riassunte in una singola somma ponderata effettiva. Poiché ReLU cambia lo stato a zero, non ci sono discontinuità improvvise nelloutput per cambiamenti graduali nellinput.

Ci sono altri algoritmi di somma ponderata numericamente efficiente (prodotto puntuale) come la trasformata FFT e Walsh Hadamard. Non cè motivo per cui non puoi incorporarli in una rete neurale basata su ReLU e trarre vantaggio dai guadagni computazionali. (Es. Reti neurali con banchi di filtri fissi).

Risposta

ReLU è probabilmente una delle più semplici funzioni non lineari possibili. Una funzione step è più semplice. Tuttavia, una funzione step ha la derivata prima (gradiente) zero ovunque ma in un punto, in cui ha un gradiente infinito. ReLU ha una derivata finita (gradiente) ovunque. Ha una derivata seconda infinita in un punto.

Le reti di feed forward vengono addestrate cercando un gradiente zero. La cosa importante qui è che ci sono molte derivate prime da calcolare nella routine di backpropagation di una grande rete, e aiuta che siano veloci da calcolare come ReLU. La seconda è che a differenza della funzione step, i gradienti di ReLU sono sempre finiti e non lo sono zeri banali quasi ovunque. Infine, abbiamo bisogno di attivazioni non lineari perché la rete di apprendimento profondo funzioni bene l, ma questo è un argomento diverso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *