Una delle funzioni di attivazione più frequentemente usate nell’apprendimento automatico, o più specificamente, nelle reti neurali è la funzione sigmoide. Nella fase di backpropagation nell’addestramento di una rete neurale, si deve trovare la derivata della funzione di perdita rispetto ad ogni peso nella rete. Per fare questo, dovete trovare la derivata della vostra funzione di attivazione. Questo articolo ha lo scopo di chiarire qualsiasi confusione sul trovare la derivata della funzione sigmoide.

Per iniziare, ecco la funzione sigmoide:

Per una prova, prendete la sigmoide di 5 sulla vostra calcolatrice. Dovreste ottenere 0,99330714907.

Ai fini della derivata, questa funzione può anche essere scritta come:

La prima cosa che ho notato di questa funzione, è che è una composizione di funzioni. La prima funzione è

e la seconda è

Ricorda che nel calcolo, quando c’è una composizione di funzioni, la derivata, è la prima funzione rispetto alla seconda moltiplicata per la seconda funzione rispetto alla variabile, in questo caso x. Così:

Quindi, la derivata della sigmoide rispetto a x è la derivata della funzione sigmoide rispetto a m per la derivata di m rispetto a x. Potete pensare a questa regola di composizione di funzioni come a una specie di calcolo intermedio che porta alla derivata originale che volevate per annullamento incrociato:

Ora che sappiamo che la funzione sigmoide è una composizione di funzioni, tutto quello che dobbiamo fare per trovare la derivata, è:

  1. Trovare la derivata della funzione sigmoide rispetto a m, il nostro valore intermedio
  2. Trovare la derivata di m rispetto a x
  3. Moltiplicare questi valori insieme

Derivata della sigmoide rispetto a m

Ripercorriamo come appare la funzione sigmoide con m come valore intermedio:

Trovare la derivata di questa rispetto a m è abbastanza semplice se possiamo ricordare la regola della potenza:

La derivata di x^n è n volte la derivata di x alla potenza di n-1.

Quindi,

Ora, se sostituiamo il nostro valore originale di m nell’equazione, otteniamo

Finalmente,

Sì! Abbiamo completato il passo 1.

Trova la derivata di m rispetto a x

Ecco m:

Per trovare la derivata, dobbiamo trovare la derivata di ogni termine rispetto a x. Il primo termine è facile:

Il secondo termine è un po’ più complicato.

Lasciamo che

e

Sappiamo che

Se arrivare a e^u non è chiaro, si prega di leggere questo.

Ora, usando ancora una volta la regola della catena,

Allora, basta moltiplicare le derivate che abbiamo appena calcolato per ottenere la derivata rispetto a x:

Tutto per il passo 2,

Moltiplicare le derivate

Ricordo che una volta trovate le due derivate intermedie, dovevamo moltiplicarle. Quindi, ecco un rapido riassunto:

Ora, se ti ricordi come moltiplicare :), possiamo finalmente finire questo!

Puoi ora prendere questo valore e usarlo come derivazione della funzione sigmoide. Una cosa interessante accade dopo aver manipolato questo risultato, però. Si scopre che si può riscrivere la derivata in questo modo:

La derivata della funzione sigmoide è la sigmoide per 1 meno la sigmoide. Wow. Mi sento imbrogliato 🙂

.