Perché i pesi delle reti neurali sono inizializzati con numeri casuali?


9

Perché i pesi iniziali delle reti neurali sono inizializzati come numeri casuali? Avevo letto da qualche parte che questo è fatto per "rompere la simmetria" e questo fa sì che la rete neurale impari più velocemente. In che modo rompere la simmetria rende l'apprendimento più veloce?

Inizializzare i pesi su 0 non sarebbe un'idea migliore? In questo modo i pesi sarebbero in grado di trovare i loro valori (positivi o negativi) più velocemente?

C'è qualche altra filosofia alla base dietro la randomizzazione dei pesi oltre alla speranza che sarebbero vicini ai loro valori ottimali quando inizializzati?

Risposte:


6

L'intuizione di base dietro l'inizializzazione degli strati di peso in valori piccoli (e diversi) è solo in modo tale che la distorsione del sistema sia rotta e che i valori di peso possano spostarsi, allontanarsi e separarsi da valori diversi.

Più concretamente, probabilmente vorrai che i tuoi pesi iniziali siano distinti e abbiano "un piccolo divario" tra loro, questo "divario" si espande man mano che procedi e forza i pesi ad essere un po 'più grandi ad ogni iterazione, e questo aiuta la rete per convergere più velocemente, cioè il processo di apprendimento accelera.

Se invece avessi tutti i tuoi pesi su una costante, ogni peso verrà aggiornato a una velocità molto lenta (~ fissa), e questo non sarà di grande aiuto, specialmente se i valori iniziali sono "molto lontani" dai valori finali.

Spero che ti aiuti, divertiti a imparare :)


Quindi quello che stai dicendo è randomizzare i pesi iniziali equivale a dare a ciascun peso una spinta nella direzione in cui deve muoversi (e il divario per espandersi).
Shayan RC,

Non penso che debba essere nella direzione corretta, potresti anche iniziare con un peso iniziale di [-0,5, +0,5] dove i valori finali potrebbero essere [+0,5, -0,5], l'idea chiave sta avendo valori diversi ..
Subhayan il

È passato più di un anno da quando ho lavorato con le NN, quindi sto parlando in modo ondulato, per favore fatemi sapere se volete la matematica dietro di essa. ma penso che sia più importante ottenere l'intuizione qui, la matematica è praticamente disponibile ovunque .. :)
Subhayan

La matematica dietro sarebbe utile ma anche più utile sarebbe un consiglio pratico: come quanto piccoli dovrebbero essere i pesi iniziali (10 ^?) Come variano per i diversi tipi di reti? Esiste una sorta di numeri magici che funzionano per tutti?
Shayan RC,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.