6

Capisco il ruolo del nodo di bias nelle reti neurali e perché è importante spostare la funzione di attivazione nelle reti di piccole dimensioni. La mia domanda è questa: il pregiudizio è ancora importante in reti molto grandi (più specificamente, una rete neurale convoluzionale per il riconoscimento di immagini usando la funzione di attivazione ReLu, 3 strati convoluzionali, 2 livelli nascosti e oltre 100.000 connessioni), o il suo effetto si fa perso dal numero di attivazioni che si verificano?Il nodo bias è necessario in reti neurali molto grandi?

Il motivo per cui lo chiedo è perché in passato ho costruito reti in cui ho dimenticato di implementare un nodo di polarizzazione, tuttavia, aggiungendo uno ho visto una differenza trascurabile nelle prestazioni. Questo potrebbe essere dovuto al caso, in quanto il set di dati specifito non ha richiesto un pregiudizio? Devo inizializzare il bias con un valore maggiore nelle reti di grandi dimensioni? Qualsiasi altro consiglio sarebbe molto apprezzato.

risposta

5

Il nodo bias/termine serve solo a garantire che l'output previsto sia corretto. Se il tuo input ha una dinamica (range) che va da -1 a +1 e il tuo output è semplicemente una traduzione dell'input di +3, una rete neurale con un termine di polarizzazione avrà semplicemente il neurone di polarizzazione con un peso diverso da zero mentre gli altri saranno zero. Se non si dispone di un neurone bias in quella situazione, tutte le funzioni di attivazione e di pesatura saranno ottimizzate in modo da imitare al meglio una semplice addizione, usando sigmoidi/tangenti e moltiplicazione.

Se entrambi gli ingressi e le uscite hanno lo stesso intervallo, ad esempio da -1 a +1, il termine di bias probabilmente non sarà utile.

Si potrebbe dare un'occhiata al peso del nodo di bias nell'esperimento che citi. O è molto basso, e probabilmente significa che gli input e gli output sono già centrati. Oppure è significativo, e scommetterei che la varianza degli altri pesi è ridotta, portando a una rete neurale più stabile (e meno incline al sovraffaticamento).

+0

Ah, risulta che il bias è piccolo, quindi immagino che il set di dati debba essere già sufficientemente centrato. Saluti per la risposta. – Hungry

3

Bias equivale ad aggiungere una costante come 1 all'ingresso di ogni livello. Quindi il peso per quella costante equivale al tuo pregiudizio. È davvero semplice da aggiungere.

In teoria non è necessario poiché la rete può "apprendere" a creare il proprio nodo di bias su ogni livello. Uno dei neuroni può impostare il suo peso molto alto, quindi è sempre 1, o a 0, quindi emette sempre una costante 0,5 (per unità sigmoidiche). Ciò richiede almeno 2 strati.

+0

Non è proprio "come aggiungere 1 all'input di ogni livello" per le reti convoluzionali. –

0

Perché polarizzazione richiesta in rete neurale:

Il nodo di polarizzazione in una rete neurale è un nodo che è sempre su. Vale a dire, il suo valore è impostato su senza considerare i dati in un determinato motivo. È analogo all'intercetta in un modello di regressione e serve la stessa funzione.

Se una rete neurale non ha un nodo di polarizzazione in un dato strato, sarà non essere in grado per produrre uscita nello strato successivo che differisce da 0 quando i valori delle caratteristiche sono

Ecco perché abbiamo richiesto il valore di bias nella rete neurale.

Problemi correlati