In questo articolo costruiremo una rete neurale da zero e la utilizzeremo per classificare le cifre scritte a mano.
Perché reinventare la ruota/rete neurale, ti sento dire? Non posso semplicemente utilizzare il mio framework di machine learning preferito e farla finita? Sì, ci sono molti framework standard che puoi utilizzare per costruire una rete neurale (Keras, PyTorch e TensorFlow per citarne alcuni). Il bello dell’utilizzo di uno di questi è che ci rendono facile trattare le reti neurali come scatole nere.
Questa non è sempre una brutta cosa. Spesso abbiamo bisogno di questo livello di astrazione per poter lavorare sul problema in questione, ma dovremmo comunque sforzarci di avere almeno una comprensione di base di ciò che accade dietro le quinte se vogliamo utilizzare le reti neurali nel nostro lavoro. .
Costruire una rete neurale da zero è, secondo me, il modo migliore per favorire una profonda comprensione di come funzionano.
Alla fine di questo articolo avrai imparato a conoscere gli algoritmi feedforward e backpropagation, cos’è una funzione di attivazione, qual è la differenza tra un’epoca e un batch e come addestrare una rete neurale. Concluderemo con un esempio addestrando una rete neurale a riconoscere le cifre scritte a mano.
Tutto il codice utilizzato in questo articolo è disponibile qui su GitHub (1).
Le reti neurali, o reti neurali artificiali, sono un tipo di algoritmo di apprendimento automatico. Costituiscono il nucleo di molti sistemi di deep learning e intelligenza artificiale come la visione artificiale, la previsione e il riconoscimento vocale.
La struttura delle reti neurali artificiali viene talvolta paragonata alla struttura delle reti neurali biologiche nel cervello. Vorrei sempre esortare alla cautela a non trarre troppo da questo confronto. Certo, le reti neurali artificiali assomigliano un po’ alle reti neurali biologiche, ma è un grande passo avanti iniziare a confrontarle con qualcosa di così complesso come un cervello umano.
Una rete neurale è composta da diversi strati di neuroni. Ogni strato di neuroni viene attivato in base alle attivazioni dello strato precedente, un insieme di pesi che collegano i neuroni precedenti…
Fonte: towardsdatascience.com