Soluzione al learning slowdown indotto dall’inizializzazione gaussiana dei parametri della rete neurale

Si supponga di avere un neurone , del primo hidden layer , con pesi di ingresso (si vedano i due layer verdi nella figura precedente).

Important

Si inizializza ciascun peso cosicché:

La ratio è quella di comprimere la gaussiana proporzionalmente al numero di ingressi :

In altre parole, si comprimono le gaussiane, rendendo meno probabile che il neurone saturi. Inoltre, si continua a scegliere il bias come una variabile aleatoria gaussiana con media e deviazione standard .

Con tali scelte, l’input netto al neurone è nuovamente una variabile aleatoria gaussiana (since gaussian random variables are closed under linear transformations) con media , ma è molto più concentrata (ovvero, con varianza più piccola) rispetto al caso precedente.

Important

Un neurone con parametri inizializzati in tal modo ha molte meno probabilità di saturare e, di conseguenza, è molto meno soggetto a problemi di learning slowdown.

Note

Il bias è ancora inizializzato . Tale approccio è accettabile, poiché non aumenta significativamente la probabilità che i neuroni vadano in saturazione. In realtà, il modo in cui si inizializzano i bias non è particolarmente critico, a condizione che si eviti il problema della saturazione. Alcuni arrivano persino a inizializzare tutti i bias a , affidandosi poi alla discesa del gradiente per apprendere valori adeguati. Tuttavia, poiché la scelta dell’inizializzazione ha un impatto trascurabile, si inizializza


Esempio

Si supponga, come fatto in precedenza, che degli ingressi siano zero e siano uno. Allora è facile dimostrare che (si veda la dimostrazione a seguire) .

Come si può osservare, la distribuzione dell’input netto del neurone considerato risulta molto più “piccata” rispetto a prima, al punto che persino il grafico riportato qui sotto non rende appieno la situazione, poiché si è reso necessario un riscalamento dell’asse verticale rispetto al grafico precedente.

Dimostrazione rigorosa

Ipotesi chiave: I pesi e il bias sono variabili aleatorie i.i.d..

  1. Contributo dei pesi attivi ():

    • Per i 500 input attivi, la somma parziale è .
    • Poiché i sono i.i.d.:
  2. Contributo del bias :

  3. Varianza totale di (per indipendenza tra pesi e bias):

La proprietà fondamentale è l’additività delle varianze sotto indipendenza, applicata sia ai pesi che al bias.


La rete neurale, in fase di addestramento, si usa anche da destra verso sinistra in virtù della back-propagation.

È legittimo dunque riguardare quello che era il primo hidden layer come layer di “input”, e quello che era layer di input come primo hidden layer (si veda la seguente figura).

Seguendo la medesima ratio discussa precedentemente (e riguardando la rete da destra verso sinistra), si può inizializzare ciascun peso associato alle connessioni di output del neurone come segue:

dove è il numero di connessioni di output (vedi nota seguente) del neurone nella seguente figura.

Note

La dizione connessioni di uscita del neurone implica la “lettura” della rete neurale da sinistra verso destra, in chiave feed-forward. In maniera del tutto equivalente alla suddetta dizione, si potrebbe adottare la dizione connessioni in entrata del neurone che implica però la “lettura” della rete neurale da destra verso sinistra, in chiave back-propagation.

🔄

Nella trattazione precedente si è disaccoppiata l’analisi del problema dell’inizializzazione dei pesi nella fase di feedforward (da sinistra verso destra) da quella del medesimo problema nella fase di ** backpropagation** (da destra verso sinistra), considerando in entrambi gli scenari ** due layer**.

Tuttavia, lo stesso ragionamento si sarebbe potuto applicare mutatis mutandis considerando una rete con tre layer e focalizzandosi, ad esempio, su un neurone del layer intermedio.


Xavier (Glorot-Bengio) initialization

L’inizializzazione proposta da Xavier, Glorot e Bengio stabilisce che i pesi siano estratti da una distribuzione normale con:

Ogni neurone del layer inizializza solamente i pesi delle proprie connessioni in ingresso (cioè quelli provenienti dal layer ), ma la varianza usata per l’inizializzazione tiene conto anche di quante connessioni in uscita (verso il layer ) annoverate da tale neurone.

Nomenclatura usata:

  • : numero di neuroni nel layer precedente → connessioni entranti al neurone
  • : numero di neuroni nel layer successivo → connessioni uscenti dal neurone (dal suo punto di vista)

La varianza proposta è quindi un compromesso che tiene conto di entrambe le connessioni di ingresso e uscita di un neurone

Inoltre, i bias associati a ciascun neurone vengono inizializzati separatamente:

ovvero campionando da una Gaussiana standard, indipendentemente dai pesi.


He Initialization (Kaiming Initialization)

While Xavier (or Glorot) initialization is effective for symmetric activation functions that are linear around the origin (such as the hyperbolic tangent or the identity function), it proves inadequate for non-symmetric, non-saturating functions, particularly the Rectified Linear Unit (ReLU).

The ReLU function, defined as , sets all negative inputs to zero. This leads to two fundamental statistical consequences that violate Xavier’s assumptions:

  1. Non-zero mean: The output of a ReLU always has a positive mean.
  2. Variance halving: Assuming zero-centered inputs, ReLU “turns off” roughly half the neurons, drastically reducing the signal variance as it propagates through the network.

Therefore, using Xavier with ReLU leads to a progressive decay of variance (vanishing signal), making the training of deep networks difficult.

The Solution: He Initialization

Proposed by He et al. (2015), this initialization is specifically designed to maintain the variance of activations stable across layers in networks based on ReLU (or variants like Leaky ReLU).

Weights are drawn from a normal distribution with zero mean and a variance calibrated to compensate for the “halving” effect of ReLU:

Rationale behind the variance

  • : As with Xavier, the variance is inversely proportional to the number of inputs to normalize the weighted sum.
  • Factor of 2: This is the crucial adjustment for ReLU. Since ReLU zeroes out half the inputs (reducing variance by a factor of ), it is necessary to multiply the weight variance by 2 to restore the original signal level.

Mathematical Justification

The goal is to preserve activation variance from one layer to the next, i.e., ensuring that .

Let’s consider a neuron in layer . Its pre-activation input is . We assume:

  1. The weights and inputs are independent and identically distributed (i.i.d.) random variables.
  2. The weights have zero mean () and are symmetric.
  3. The bias is initialized to zero ().

The variance of the pre-activation output is:

Since and are independent and , the variance of the product is the product of the variances:

Here the effect of ReLU comes into play. The input is the output of the previous layer’s ReLU (). If we assume that has a symmetric distribution around zero, ReLU suppresses half the values. Therefore, the second moment (signal power) is halved:

Substituting this relation into the variance equation:

For the signal not to explode or vanish, we want the variance to be conserved, i.e., . Enforcing this equality:


Bias Initialization

Unlike the general theoretical case, when using ReLU activations, it is standard practice to initialize biases to zero (or a very small positive constant, e.g., 0.01, to avoid dead neurons, although 0 is the most common default).

Note on Biases

A Gaussian distribution is not used for biases (e.g., ) as it would add unnecessary variance and risk starting ReLU neurons in an “off” state (dead ReLU) if the initial value were strongly negative.