Comprensione delle diverse funzioni di perdita per le reti neurali

La perdita MSE viene utilizzata per le attività di regressione. Come suggerisce il nome, questa perdita viene calcolata prendendo la media delle differenze quadrate tra valori effettivi(target) e previsti.

Esempio

Ad esempio, abbiamo una rete neurale che prende i dati della casa e predice il prezzo della casa. In questo caso, è possibile utilizzare la perdita MSE. Fondamentalmente, nel caso in cui l’output sia un numero reale, dovresti usare questa funzione di perdita.

Mean Squared Error

Binary Crossentropy

La perdita BCE viene utilizzata per le attività di classificazione binaria. Se si utilizza la funzione di perdita BCE, è sufficiente un nodo di output per classificare i dati in due classi. Il valore di uscita deve essere passato attraverso una funzione di attivazione sigmoid e l’intervallo di uscita è (0 – 1).

Esempio

Ad esempio, abbiamo una rete neurale che prende i dati dell’atmosfera e predice se pioverà o meno. Se l’output è maggiore di 0,5, la rete lo classifica come rain e se l’output è inferiore a 0,5, la rete lo classifica come not rain. (potrebbe essere opposto a seconda di come si allena la rete). Più il valore del punteggio di probabilità, più la possibilità di pioggia.

Crossentropia binaria

Mentre si allena la rete, il valore target alimentato alla rete dovrebbe essere 1 se piove altrimenti 0.

Nota 1

Una cosa importante, se si utilizza la funzione di perdita BCE l’output del nodo dovrebbe essere compreso tra (0-1). Significa che devi usare una funzione di attivazione sigmoid sul tuo output finale. Poiché sigmoid converte qualsiasi valore reale nell’intervallo tra (0-1).

Nota 2

Cosa succede se non si utilizza l’attivazione sigmoid sul livello finale? Quindi puoi passare un argomento chiamato from logits come true alla funzione loss e applicherà internamente il sigmoid al valore di output.

Crossentropy categoriale

Quando abbiamo un’attività di classificazione multi-classe, una delle funzioni di perdita che puoi andare avanti è questa. Se si utilizza la funzione di perdita CCE, deve esserci lo stesso numero di nodi di output delle classi. E l’output del livello finale dovrebbe essere passato attraverso un’attivazione softmax in modo che ogni nodo emetta un valore di probabilità compreso tra (0-1).

Esempio

Ad esempio, abbiamo una rete neurale che prende un’immagine e la classifica in un gatto o un cane. Se il nodo cat ha un punteggio di probabilità elevata, l’immagine viene classificata in un gatto altrimenti cane. Fondamentalmente, qualunque nodo di classe abbia il punteggio di probabilità più alto, l’immagine viene classificata in quella classe.

Crossentropy categoriale

Per alimentare il valore target al momento dell’allenamento, dobbiamo codificarli a caldo. Se l’immagine è di gatto, il vettore di destinazione sarebbe (1, 0) e se l’immagine è di cane, il vettore di destinazione sarebbe (0, 1). Fondamentalmente, il vettore di destinazione sarebbe della stessa dimensione del numero di classi e la posizione dell’indice corrispondente alla classe effettiva sarebbe 1 e tutti gli altri sarebbero zero.

Nota

Cosa succede se non si utilizza l’attivazione softmax sul livello finale? Quindi puoi passare un argomento chiamato from logits come true alla funzione loss e applicherà internamente il softmax al valore di output. Come nel caso precedente.

Crossentropy categoriale sparso

Questa funzione di perdita è quasi simile a CCE ad eccezione di una modifica.

Quando si utilizza la funzione di perdita SCCE, non è necessario codificare a caldo il vettore di destinazione. Se l’immagine di destinazione è di un gatto, si passa semplicemente 0, altrimenti 1. Fondamentalmente, qualunque sia la classe, basta passare l’indice di quella classe.

Crossentropia categoriale sparsa

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Previous post Cheek Augmentation: Your Guide to Cheek Implant Surgery
Next post Easy Mississippi Mudslide Recipe For Adults