# Qual è lo scopo di una funzione di attivazione nelle reti neurali?

17

Si dice che le funzioni di attivazione nelle reti neurali contribuiscano a introdurre la non linearità .

• Cosa significa questo?
• Cosa significa non linearità in questo contesto?
• In che modo l'introduzione di questa non linearità aiuta?
• Ci sono altri scopi delle funzioni di attivazione ?

Risposte:

13

Quasi tutte le funzionalità fornite dalle funzioni di attivazione non lineare sono fornite da altre risposte. Lasciami riassumere:

• Innanzitutto, cosa significa non linearità? Significa qualcosa (una funzione in questo caso) che non è lineare rispetto a una data variabile / variabili, cioè$f\left(c1.x1+c2.x2...cn.xn+b\right)!=c1.f\left(x1\right)+c2.f\left(x2\right)...cn.f\left(xn\right)+b.$$f(c1.x1 + c2.x2...cn.xn + b) != c1.f(x1) + c2.f(x2) ... cn.f(xn) + b.$
• Cosa significa non linearità in questo contesto? Significa che la rete neurale può approssimare con successo funzioni (fino a un certo errore deciso dall'utente) che non segue la linearità o può prevedere con successo la classe di una funzione che è divisa da un confine di decisione che non è lineare.$e$$e$
• Perché aiuta Non credo che tu possa trovare alcun fenomeno del mondo fisico che segua la linearità in modo diretto. Quindi è necessaria una funzione non lineare che può approssimare il fenomeno non lineare. Anche una buona intuizione sarebbe qualsiasi limite di decisione o una funzione è una combinazione lineare di combinazioni polinomiali delle caratteristiche di input (quindi in definitiva non lineare).
• Finalità della funzione di attivazione? Oltre a introdurre la non linearità, ogni funzione di attivazione ha le sue caratteristiche.

Sigmoid$\frac{1}{\left(1+{e}^{-\left(w1\ast x1...wn\ast xn+b\right)}\right)}$$\frac{1} {(1 + e ^ {-(w1*x1...wn*xn + b)})}$

Questa è una delle funzioni di attivazione più comuni e sta aumentando monotonicamente ovunque. Questo viene generalmente utilizzato nel nodo di output finale in quanto comprime valori compresi tra 0 e 1 (se l'output deve essere 0o 1). Pertanto, sopra 0,5 viene considerato 1mentre sotto 0,5 come 0, anche se può essere 0.5impostata una soglia diversa (non ). Il suo principale vantaggio è che la sua differenziazione è semplice e utilizza valori già calcolati e presumibilmente i neuroni del granchio a ferro di cavallo hanno questa funzione di attivazione nei loro neuroni.

Tanh $\frac{{e}^{\left(w1\ast x1...wn\ast xn+b\right)}-{e}^{-\left(w1\ast x1...wn\ast xn+b\right)}\right)}{\left({e}^{\left(w1\ast x1...wn\ast xn+b\right)}+{e}^{-\left(w1\ast x1...wn\ast xn+b\right)}}$$\frac{e ^ {(w1*x1...wn*xn + b)} - e ^ {-(w1*x1...wn*xn + b)})}{(e ^ { (w1*x1...wn*xn + b)} + e ^ {-(w1*x1...wn*xn + b)}}$

Ciò ha un vantaggio rispetto alla funzione di attivazione sigmoide in quanto tende a centrare l'uscita su 0, il che ha un effetto di migliore apprendimento sui livelli successivi (funge da normalizzatore di funzioni). Una bella spiegazione qui . I valori di uscita negativi e positivi possono essere considerati rispettivamente 0e come 1. Utilizzato principalmente in RNN.

Funzione di attivazione Re-Lu - Questa è un'altra funzione di attivazione non lineare semplice molto lineare (lineare in intervallo positivo e intervallo negativo escluso l'una dall'altra) che ha il vantaggio di rimuovere il problema del gradiente di fuga affrontato dai due precedenti, cioè il gradiente tende a0come x tende a + infinito o -infinito. Ecco una risposta sul potere di approssimazione di Re-Lu nonostante la sua apparente linearità. ReLu ha uno svantaggio di avere neuroni morti che si traducono in NN più grandi.

Inoltre puoi progettare le tue funzioni di attivazione in base al tuo problema specializzato. Potresti avere una funzione di attivazione quadratica che approssima molto meglio le funzioni quadratiche. Ma poi, devi progettare una funzione di costo che dovrebbe essere un po 'convessa in natura, in modo da poterla ottimizzare usando i differenziali del primo ordine e la NN converge effettivamente a un risultato decente. Questo è il motivo principale per cui vengono utilizzate le funzioni di attivazione standard. Ma credo che con adeguati strumenti matematici, esiste un enorme potenziale per nuove ed eccentriche funzioni di attivazione.

Ad esempio, supponiamo che si stia tentando di approssimare una singola funzione quadratica variabile, ad esempio . Questo sarà meglio approssimato da un'attivazione quadratica dove e saranno i parametri allenabili. Ma progettare una funzione di perdita che segue il metodo convenzionale derivato del primo ordine (discesa del gradiente) può essere piuttosto difficile per una funzione non monoticamente crescente.$a.{x}^{2}+c$$a.x^2 + c$$w1.{x}^{2}+b$$w1.x^2 + b$$w1$$w1$$b$$b$

Per i matematici: nella funzione di attivazione sigmoidea vediamo che è sempre < . Per espansione binomiale o per calcolo inverso delle infinite serie GP otteniamo = Ora in una NN . Quindi otteniamo tutti i poteri di che è uguale a quindi ogni potere di può essere pensato come una moltiplicazione di diversi esponenziali in decomposizione basati su una caratteristica , per ogni caso$\left(1/\left(1+{e}^{-\left(w1\ast x1...wn\ast xn+b\right)}\right)$$(1 / (1 + e ^ {-(w1*x1...wn*xn + b)})$${e}^{-\left(w1\ast x1...wn\ast xn+b\right)}$$e ^ {-(w1*x1...wn*xn + b)}$ 1`$sigmoid\left(y\right)$$sigmoid(y)$$1+y+{y}^{2}.....$$1 + y + y^2.....$$y={e}^{-\left(w1\ast x1...wn\ast xn+b\right)}$$y = e ^ {-(w1*x1...wn*xn + b)}$$y$$y$${e}^{-\left(w1\ast x1...wn\ast xn+b\right)}$$e ^ {-(w1*x1...wn*xn + b)}$$y$$y$$x$$x$${y}^{2}={e}^{-2\left(w1x1\right)}\ast {e}^{-2\left(w2x2\right)}\ast {e}^{-2\left(w3x3\right)}\ast ......{e}^{-2\left(b\right)}$$y^2 = e^ {-2(w1x1)} * e^ {-2(w2x2)} * e^ {-2(w3x3)} *...... e^ {-2(b)}$ . Quindi ogni caratteristica ha voce in capitolo nel ridimensionamento del grafico di .${y}^{2}$$y^2$

Un altro modo di pensare sarebbe quello di espandere gli esponenziali secondo la serie Taylor: Quindi otteniamo una combinazione molto complessa, con tutte le possibili combinazioni polinomiali di variabili di input presenti. Credo che se una rete neurale è strutturata correttamente, l'NN può mettere a punto queste combinazioni polinomiali semplicemente modificando i pesi di connessione e selezionando i termini polinomiali più utili, e rifiutando i termini sottraendo l'output di 2 nodi ponderati correttamente.

L' attivazione può funzionare allo stesso modo poiché l'output di . Non sono sicuro di come funzioni Re-Lu, ma a causa della sua struttura rigida e del problema dei neuroni morti, erano necessarie reti più grandi con quelle di ReLu per una buona approssimazione.$tanh$$tanh$$|tanh|<1$$|tanh| < 1$

Ma per una prova matematica formale si deve guardare al teorema di approssimazione universale.

Per i non matematici alcune intuizioni migliori visitano questi link:

Funzioni di attivazione di Andrew Ng - per una risposta più formale e scientifica

In che modo il classificatore di reti neurali si classifica dal solo disegnare un piano decisionale?

3
Direi che ReLU è attualmente più comune nelle NN di oggi rispetto a sigmoid :)
Andreas Storvik Strauman

@AndreasStorvikStrauman e tu hai ragione ... Ma sigmoid ha un bambino chiamato softmax :)
DuttaA

7

Se avessi solo livelli lineari in una rete neurale, tutti i livelli essenzialmente collasserebbero su un livello lineare e, quindi, un'architettura di rete neurale "profonda" effettivamente non sarebbe più profonda ma solo un classificatore lineare.



$y=f\left({W}_{1}{W}_{2}{W}_{3}x\right)=f\left(Wx\right)$

$$WWW$$$$f()f()f()$$

Ora, con l'introduzione di un'unità di attivazione non lineare dopo ogni trasformazione lineare, ciò non accadrà più.



$y={f}_{1}\left({W}_{1}{f}_{2}\left({W}_{2}{f}_{3}\left({W}_{3}x\right)\right)\right)$

Ogni strato può ora accumularsi sui risultati del precedente strato non lineare che porta essenzialmente a una complessa funzione non lineare in grado di approssimare ogni possibile funzione con la giusta ponderazione e sufficiente profondità / larghezza.

5

$$f:V→Wf:V→Wf: V \rightarrow W$$

1. $$f(x+y)=f(x)+f(y),x,y∈Vf(x+y)=f(x)+f(y),x,y∈Vf(x + y) = f(x) + f(y), \; x, y \in V$$
2. $$f(cx)=cf(x),c∈Rf(cx)=cf(x),c∈Rf(c x) = cf(x), \; c \in \mathbb{R}$$

Dovresti conoscere questa definizione se hai studiato l'algebra lineare in passato.

Tuttavia, è più importante pensare alla linearità in termini di separabilità lineare dei dati, il che significa che i dati possono essere separati in diverse classi disegnando una linea (o iperpiano, se più di due dimensioni), che rappresenta un confine di decisione lineare, attraverso i dati. Se non possiamo farlo, i dati non sono separabili linearmente. Spesso, i dati provenienti da un'impostazione del problema più complessa (e quindi più pertinente) non sono separabili linearmente, quindi è nel nostro interesse modellarli.

Per modellare i limiti decisionali non lineari dei dati, possiamo utilizzare una rete neurale che introduce la non linearità. Le reti neurali classificano i dati che non sono separabili linearmente trasformando i dati utilizzando alcune funzioni non lineari (o la nostra funzione di attivazione), quindi i punti trasformati risultanti diventano linearmente separabili.

Diverse funzioni di attivazione vengono utilizzate per contesti di impostazione dei problemi diversi. Puoi leggere di più a riguardo nel libro Deep Learning (serie di calcolo adattivo e apprendimento automatico) .

Per un esempio di dati non linearmente separabili, consultare il set di dati XOR. Riesci a disegnare una singola linea per separare le due classi?

4

$$x1x1x_1$$$$x1x1x_1$$

$$w11,w12,w21w11,w12,w21w_{11}, w_{12}, w_{21}$$$$w22w22w_{22}$$



$\begin{array}{r}{o}_{1}={w}_{11}{x}_{1}+{w}_{12}{x}_{2}\\ {o}_{2}={w}_{21}{x}_{1}+{w}_{22}{x}_{2}\end{array}$

$$z1z1z_1$$$$z2z2z_2$$



$out={z}_{1}{o}_{1}+{z}_{2}{o}_{2}$

$$o1o1o_1$$$$o2o2o_2$$



$out={z}_{1}\left({w}_{11}{x}_{1}+{w}_{12}{x}_{2}\right)+{z}_{2}\left({w}_{21}{x}_{1}+{w}_{22}{x}_{2}\right)$

o



$out=\left({z}_{1}{w}_{11}+{z}_{2}{w}_{21}\right){x}_{1}+\left({z}_{2}{w}_{22}+{z}_{1}{w}_{12}\right){x}_{2}$

$$z1w11+z2w21z1w11+z2w21z_1w_{11} + z_2 w_{21}$$$$z2w22+z1w12z2w22+z1w12z_2w_{22} + z_1w_{12}$$ it will be equivalent to our 2 layers NN.

The conclusion: without nonlinearity, the computational power of a multilayer NN is equal to 1-layer NN.

Also, you can think of the sigmoid function as differentiable IF the statement that gives a probability. And adding new layers can create new, more complex combinations of IF statements. For example, the first layer combines features and gives probabilities that there are eyes, tail, and ears on the picture, the second combines new, more complex features from the last layer and gives probability that there is a cat.

3

First Degree Linear Polynomials

Non-linearity is not the correct mathematical term. Those that use it probably intend to refer to a first degree polynomial relationship between input and output, the kind of relationship that would be graphed as a straight line, a flat plane, or a higher degree surface with no curvature.

To model relations more complex than y = a1x1 + a2x2 + ... + b, more than just those two terms of a Taylor series approximation is needed.

Tune-able Functions with Non-zero Curvature

Artificial networks such as the multi-layer perceptron and its variants are matrices of functions with non-zero curvature that, when taken collectively as a circuit, can be tuned with attenuation grids to approximate more complex functions of non-zero curvature. These more complex functions generally have multiple inputs (independent variables).

The attenuation grids are simply matrix-vector products, the matrix being the parameters that are tuned to create a circuit that approximates the more complex curved, multivariate function with simpler curved functions.

Oriented with the multi-dimensional signal entering at the left and the result appearing on the right (left-to-right causality), as in the electrical engineering convention, the vertical columns are called layers of activations, mostly for historical reasons. They are actually arrays of simple curved functions. The most commonly used activations today are these.

• ReLU
• Leaky ReLU
• ELU
• Threshold (binary step)
• Logistic

The identity function is sometimes used to pass through signals untouched for various structural convenience reasons.

These are less used but were in vogue at one point or another. They are still used but have lost popularity because they place additional overhead on back propagation computations and tend to lose in contests for speed and accuracy.

• Softmax
• Sigmoid
• TanH
• ArcTan

The more complex of these can be parametrized and all of them can be perturbed with pseudo-random noise to improve reliability.

Why Bother With All of That?

Artificial networks are not necessary for tuning well developed classes of relationships between input and desired output. For instance, these are easily optimized using well developed optimization techniques.

• Higher degree polynomials — Often directly solvable using techniques derived directly from linear algebra
• Periodic functions — Can be treated with Fourier methods
• Curve fitting — converges well using the Levenberg–Marquardt algorithm, a damped least-squares approach

For these, approaches developed long before the advent of artificial networks can often arrive at an optimal solution with less computational overhead and more precision and reliability.

Where artificial networks excel is in the acquisition of functions about which the practitioner is largely ignorant or the tuning of the parameters of known functions for which specific convergence methods have not yet been devised.

Multi-layer perceptrons (ANNs) tune the parameters (attenuation matrix) during training. Tuning is directed by gradient descent or one of its variants to produce a digital approximation of an analog circuit that models the unknown functions. The gradient descent is driven by some criteria toward which circuit behavior is driven by comparing outputs with that criteria. The criteria can be any of these.

• Matching labels (the desired output values corresponding to the training example inputs)
• The need to pass information through narrow signal paths and reconstruct from that limited information
• Another criteria inherent in the network
• Another criteria arising from a signal source from outside the network

In Summary

In summary, activation functions provide the building blocks that can be used repeatedly in two dimensions of the network structure so that, combined with an attenuation matrix to vary the weight of signaling from layer to layer, is known to be able to approximate an arbitrary and complex function.

Deeper Network Excitement

The post-millenial excitement about deeper networks is because the patterns in two distinct classes of complex inputs have been successfully identified and put into use within larger business, consumer, and scientific markets.

1. Heterogeneous and semantically complex structures
2. Media files and streams (images, video, audio)

But the question was about the purpose of activation and not the use of ANN
DuttaA

@DuttaA, you're comment was accurate. Thank you. The answer had only one sentence that directly answered the question, and the tie into the rest of that answer wasn't very well communicated. I substantially edited it.
FauChristian

Activation functions do not help introduce non-linearity, they are the sole components in network forward propagation that do not fit a first degree polynomial form. If a thousand layers had an activation function $$axaxax$$, where $$aaa$$ is a constant, the parameters and activations of the thousand layers could be reduced to a single dot product and no function could be simulated by the deep network other than those that reduce to $$axaxax$$.