Modello di rete neurale: breve introduzione, glossario e retropropagazione
Pubblicato: 2020-05-22Se sei un appassionato di ingegneria del software che cerca di capire come funzionano le reti neurali, sei nel posto giusto.
In questa guida, aiuteremo i principianti ad apprendere il significato delle reti neurali, ottenere un'introduzione su cos'è un modello di rete neurale ed espandere le loro conoscenze in nuove aree del campo.
Sommario
Cos'è una rete neurale?
Prima di entrare nella terminologia computazionale, cerchiamo di capire l'esistenza delle reti neurali nella nostra vita quotidiana.
Il termine "neurale" deriva da "neurone", che è il termine usato per una singola cellula nervosa. Esatto: una rete neurale significa essenzialmente una rete di neuroni che svolgono azioni semplici e semplici nella nostra vita quotidiana.
Riconoscimento di schemi, rilevamento di oggetti e intelligence sono un aspetto importante dei problemi che affrontiamo ogni giorno. Sebbene vengano eseguite con così tanta facilità che non ce ne rendiamo nemmeno conto, la verità è che queste reazioni sono difficili da automatizzare.
Esempio:

- Bambini che imparano a memoria l'aspetto di una mela
- Un animale che riconosce la madre o il proprietario
- Percepire se qualcosa è caldo o freddo
Le nostre reti neurali eseguono questi complicati calcoli.
Gli esseri umani sono stati ora in grado di costruire un sistema di calcolo in grado di funzionare in modo simile al nostro sistema nervoso. Queste sono chiamate reti neurali artificiali (ANN).
Mentre inizialmente usavamo le ANN per eseguire semplici funzioni, l'aumento della potenza di calcolo ci ha ora permesso di costruire un'architettura di rete neurale piuttosto potente per risolvere problemi sempre più complicati.
Impariamo in modo approfondito l'ANN nella prossima sezione.
Leggi: Tutorial sul rilevamento di oggetti TensorFlow per principianti
Che cos'è un modello di rete neurale artificiale?
Una rete neurale multistrato completamente connessa contenente uno strato di input, strati nascosti e uno strato di output è chiamata rete neurale artificiale o ANN.
L'immagine sotto rappresenta una ANN.
Fonte
Se osservi attentamente, noterai che ogni nodo in un livello è connesso a ogni nodo nel livello accanto ad esso.
Man mano che aumenti il numero di livelli nascosti, la rete diventa più profonda.
Vediamo come appare un singolo nodo nell'output o nel livello nascosto.
Fonte
Come puoi vedere, il nodo riceve molti input. Riepiloga tutti i pesi e li trasmette in uscita, tramite una funzione di attivazione non lineare.
Questo output del nodo diventa l'input del nodo nel livello successivo.
Una cosa importante da notare qui è che il segnale si sposterà sempre da sinistra a destra. Una volta che tutti i nodi avranno seguito la procedura, verrà fornito l'output finale.
Ecco come appare l'equazione di un nodo.
Fonte
Nell'equazione precedente, b è bias. È l'input per tutti i nodi e porta sempre il valore 1.
Bias aiuta a spostare il risultato della funzione di attivazione a sinistra oa destra.
Glossario del modello di rete neurale artificiale
Diamo un'occhiata ai termini di base che dovresti conoscere quando si tratta di un modello di rete neurale artificiale.
Ingressi
I dati immessi per la prima volta nella rete neurale dalla sorgente sono chiamati input. Il suo obiettivo è fornire alla rete i dati per prendere una decisione o fare previsioni sulle informazioni immesse in essa. Il modello di rete neurale di solito accetta insiemi di input di valore reale e dovrebbe essere inserito in un neurone nel livello di input.
Set da allenamento
Gli input per i quali si conoscono già gli output corretti sono chiamati set di addestramento. Questi sono usati per aiutare la rete neurale ad essere addestrata e memorizzare il risultato per il dato set di input.

Uscite
Ogni rete neurale genera un output come previsione o decisione sui dati inseriti in essa. Questo output è sotto forma di valori reali impostati o decisioni booleane. Solo i neuroni nel livello di output generano il valore di output.
Neurone
Conosciuto anche come perceptron, un neurone è l'unità di base di una rete neurale. Accetta un valore di input e genera un output basato su di esso.
Come discusso in precedenza, ogni neurone riceve una parte dell'input e lo passa attraverso la funzione di attivazione non lineare al nodo nel livello successivo. Queste funzioni di attivazione possono essere TanH, sigmoid o ReLu. La caratteristica non lineare di queste funzioni aiuta ad addestrare la rete.
Spazio di peso
Ogni neurone ha un peso numerico. Quando fornisce l'input a un'altra nota, il suo peso viene sommato con gli altri per generare un output. Apportando piccole modifiche a questi pesi è possibile addestrare le reti neurali. La messa a punto dei pesi aiuta a determinare l'insieme corretto di pesi e distorsioni che genererebbero il miglior risultato. È qui che entra in gioco la backpropagation.

Che cos'è la backpropagation in un modello di rete neurale?
Uno dei modi per scoprire con successo le piccole modifiche che devono essere apportate ai pesi per ridurre al minimo la perdita dell'intera rete è la backpropagation.
- Inizialmente, le attivazioni devono essere propagate nella direzione ascendente o feedforward.
- Ora, le derivate della funzione di costo devono essere propagate in direzione decrescente o inversa.
In questo modo, sarai in grado di determinare la derivata del costo parziale rispetto a ciascun peso. È quindi possibile calcolare il costo che verrebbe ridotto apportando le modifiche.
Conclusione
Molti ingegneri del software non raccomandano il modello di rete neurale, poiché lo ritengono piuttosto inefficiente, dato che sono necessarie diverse iterazioni per trovare la soluzione più conveniente.
Tuttavia, numerosi nuovi algoritmi, come le reti di capsule di Hinton, la rete neurale delle capsule, richiedono molti meno casi di aggiustamenti per raggiungere un modello preciso. E quindi, sicuramente le reti neurali hanno molto spazio per il futuro.
Se sei interessato a saperne di più sull'apprendimento automatico, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, IIIT- B Status di Alumni, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
Perché hai bisogno di studiare matematica per l'intelligenza artificiale?
Contrariamente a quanto molti di noi pensano, l'intelligenza artificiale dipende fortemente dalla matematica. L'intero concetto di insegnare alle macchine a pensare e ad agire in modo simile agli esseri umani si basa su concetti che appartengono a diversi rami della matematica, come probabilità e statistica, solo per citarne alcuni. La scienza dei dati include anche le sue basi relative a vari concetti matematici, dal calcolo, all'algebra lineare e alla teoria dei giochi a regressioni avanzate, classificazioni, statistiche, probabilità, discesa del gradiente e altro ancora. Fondamenti forti in matematica sono essenziali per sviluppare una comprensione efficace dei concetti di IA, che ti aiuteranno a costruire una carriera di successo in questo campo.
La rete neurale è un algoritmo nell'apprendimento automatico?
Le reti neurali artificiali o semplicemente le reti neurali, possono essere definite come un insieme di algoritmi di apprendimento automatico progettati per assomigliare al cervello umano e creati per il riconoscimento avanzato di schemi. Le reti neurali sono progettate per identificare modelli numerici all'interno di vettori in cui vengono tradotti tutti i dati accumulati. Rilevando schemi all'interno di dati non strutturati o imprecisi, le reti neurali aiutano a classificare e formare cluster per una migliore archiviazione e gestione dei dati. I dati sensoriali forniti alle reti neurali vengono interpretati tramite una percezione della macchina che etichetta o raggruppa i dati di input.
Perché è necessaria la backpropagation nelle reti neurali?
Nel regno delle reti neurali artificiali, il metodo di backpropagation si riferisce in realtà alla propagazione all'indietro degli errori. Questa è una tecnica standardizzata utilizzata per addestrare reti neurali artificiali e procede per iterazioni. La backpropagation viene utilizzata per mettere a punto i pesi di una rete neurale artificiale, ridurre al minimo gli errori e rendere il sistema più accurato e affidabile. Questo metodo funziona rapidamente e può anche essere programmato semplicemente. È una tecnica flessibile; non necessita di conoscenze pregresse sulla rete neurale. Non comporta parametri aggiuntivi ma sintonizza solo i numeri immessi nel sistema.