Reti neurali: esercizi su parco giochi

Una prima rete neurale

In questo esercizio, addestreremo la nostra prima piccola rete neurale. Le reti neurali ci forniranno un modo per imparare i modelli non lineari senza l'uso di incroci di funzionalità esplicite.

Attività 1: il modello fornito fornisce le nostre due funzionalità di input in un singolo neurone. Questo modello apprenderà eventuali non linearità? Eseguila per confermare la tua incertezza.

Attività 2: prova ad aumentare il numero di neuroni nel livello nascosto da 1 a 2 e prova anche a passare da un'attivazione lineare a un'attivazione non lineare come ReLU. Riesci a creare un modello in grado di apprendere le non linearità? Può modellare i dati in modo efficace?

Attività 3: prova ad aumentare il numero di neuroni nel livello nascosto da 2 a 3, utilizzando un'attivazione non lineare come ReLU. È in grado di modellare i dati in modo efficace? In che modo la qualità del modello varia da esecuzione a esecuzione?

Attività 4: continua la sperimentazione aggiungendo o rimuovendo livelli e neuroni nascosti per livello. Puoi anche modificare i tassi di apprendimento, la regolazione e altre impostazioni di apprendimento. Qual è il numero più basso di neuroni e livelli che puoi utilizzare per ottenere una perdita di test di 0,177 o inferiore?

L'aumento delle dimensioni del modello migliora l'adattamento o la velocità di convergenza? Questa modifica cambia la frequenza con cui converge verso un modello efficace? Ad esempio, prova la seguente architettura:

  • Primo strato nascosto con 3 neuroni.
  • Secondo strato nascosto con 3 neuroni.
  • Terzo strato nascosto con 2 neuroni.

(Le risposte vengono visualizzate appena sotto l'esercizio.)



Inizializzazione delle reti neurali

Questo esercizio utilizza di nuovo i dati XOR, ma tiene conto della ripetibilità dell'addestramento di Neural Nets e dell'importanza dell'inizializzazione.

Attività 1: esegui il modello come indicato quattro o cinque volte. Prima di ogni prova, premi il pulsante Reimposta la rete per ricevere una nuova inizializzazione casuale. Il pulsante Reimposta la rete è la freccia circolare di reimpostazione a sinistra del pulsante Gioca. Lascia eseguire ogni prova per almeno 500 passaggi per garantire la convergenza. In quale forma converge ogni output del modello? Che cosa dice riguardo al ruolo di inizializzazione nell'ottimizzazione non conv.?

Attività 2: prova a rendere il modello un po' più complesso aggiungendo un livello e un paio di nodi in più. Ripeti le prove dall'attività 1. Questo migliora la stabilità dei risultati?

(Le risposte vengono visualizzate appena sotto l'esercizio.)



Spirale a rete neurale

Questo set di dati è una spirale rumorosa. Ovviamente, in questo caso non è possibile creare un modello lineare, ma anche le intersezioni delle caratteristiche definite manualmente possono essere difficili da costruire.

Attività 1: addestra il miglior modello possibile utilizzando solo X1 e X2. Puoi aggiungere o rimuovere livelli e neuroni, modificare le impostazioni di apprendimento, come la frequenza di apprendimento, la frequenza di regolarizzazione e le dimensioni del batch. Qual è la migliore perdita di test che puoi ricevere? Quanto è fluida la superficie di output del modello?

Attività 2: anche con Neural Nets, alcune risorse tecniche sono spesso necessarie per ottenere prestazioni ottimali. Prova ad aggiungere ulteriori funzionalità cross-product o altre trasformazioni come sin(X1) e sin(X2). Puoi scegliere un modello migliore? La superficie di output del modello è più uniforme?

(Le risposte vengono visualizzate appena sotto l'esercizio.)