complete guide artificial neural network machine learning
Questo tutorial spiega cos'è la rete neurale artificiale, come funziona una ANN, struttura e tipi di ANN e architettura della rete neurale:
java automation testing intervista domande e risposte
In questo Formazione sull'apprendimento automatico per tutti , abbiamo esplorato tutto Tipi di machine learning nel nostro precedente tutorial.
Qui, in questo tutorial, discuti i vari algoritmi in Neural Networks, insieme al confronto tra machine learning e ANN. Prima di apprendere come ANN contribuisce all'apprendimento automatico, dobbiamo sapere cos'è una rete neurale artificiale e una breve conoscenza dell'apprendimento automatico.
Esploriamo di più sull'apprendimento automatico e sulla rete neurale artificiale !!
=> Leggi la serie completa di formazione sull'apprendimento automatico
Cosa imparerai:
- Cos'è l'apprendimento automatico?
- Cos'è una rete neurale artificiale?
- Struttura Di Una Rete Neurale Biologica
- Confronto tra neurone biologico e neurone artificiale
- Caratteristiche di ANN
- Struttura di ANN
- Funzione di attivazione
- Cos'è un neurone artificiale?
- Come funziona il neurone artificiale?
- Modelli di base di ANN
- Architettura della rete neurale
- Esempio di rete di neuroni artificiali
- Confronto tra machine learning e ANN
- Reti neurali e deep learning
- Applicazioni di reti neurali artificiali
- Limitazioni delle reti neurali
- Conclusione
- Lettura consigliata
Cos'è l'apprendimento automatico?
L'apprendimento automatico è un campo della scienza che consente ai computer la capacità di apprendere e agire senza essere programmati esplicitamente. È un sottocampo dell'intelligenza artificiale.
Cos'è una rete neurale artificiale?
ANN è un modello non lineare ampiamente utilizzato nel Machine Learning e ha un futuro promettente nel campo dell'Intelligenza Artificiale.
La rete neurale artificiale è analoga a una rete neurale biologica. Una rete neurale biologica è una struttura di miliardi di neuroni interconnessi in un cervello umano. Il cervello umano è composto da neuroni che inviano informazioni a varie parti del corpo in risposta a un'azione eseguita.
Simile a questo, una rete neurale artificiale (ANN) è una rete computazionale nella scienza che assomiglia alle caratteristiche di un cervello umano. ANN può modellare come i neuroni originali del cervello umano, quindi le parti di elaborazione ANN sono chiamate neuroni artificiali.
Le ANN sono costituite da un gran numero di neuroni interconnessi che sono ispirati dal funzionamento di un cervello. Questi neuroni hanno la capacità di apprendere, generalizzare i dati di addestramento e ricavare risultati da dati complicati.
Queste reti vengono utilizzate nelle aree di classificazione e previsione, identificazione di modelli e tendenze, problemi di ottimizzazione, ecc. ANN apprende dai dati di addestramento (input e output target noti) senza alcuna programmazione.
La rete neurale appresa è chiamata un file sistema esperto con la capacità di analizzare le informazioni e rispondere alle domande di un campo specifico.
La definizione formale di ANN data dal dottor Robert Hecht-Nielson, inventore di un primo neuro computer è:
'... un sistema di elaborazione costituito da una serie di elementi di elaborazione semplici e altamente interconnessi, che elaborano le informazioni in base alla loro risposta dinamica dello stato a input esterni'.
Struttura Di Una Rete Neurale Biologica
Una rete neurale biologica è costituita da:
- Soma: Questo è anche chiamato il corpo cellulare. È dove si trova il nucleo cellulare.
- Dendriti: Si tratta di reti ad albero collegate al corpo cellulare. È fatto della fibra nervosa.
- Axon: Axon trasporta il segnale dal corpo cellulare. Si divide in fili e ogni filo termina in una struttura simile a un bulbo chiamata sinapsi. I segnali elettrici vengono passati tra la sinapsi e i dendriti.
[Immagine fonte ]
Confronto tra neurone biologico e neurone artificiale
Neurone biologico | Neurone artificiale |
---|---|
Il ML viene applicato nell'e-commerce, nella sanità, nei consigli sui prodotti, ecc. | ANN è applicata nel dominio della finanza, dell'apprendimento automatico e dell'intelligenza artificiale. |
È fatto di cellule. | Le cellule corrispondono ai neuroni. |
Ha dendriti che sono interconnessioni tra il corpo cellulare. | I pesi di connessione corrispondono ai dendriti. |
Soma riceve l'input. | Soma è simile al peso netto in ingresso. |
L'assone riceve il segnale. | L'output di ANN corrisponde all'assone. |
Caratteristiche di ANN
- Non linearità: Il meccanismo seguito in ANN per la generazione del segnale in ingresso non è lineare.
- Apprendimento supervisionato: L'input e l'output vengono mappati e la ANN viene addestrata con il set di dati di addestramento.
- Apprendimento senza supervisione: L'output di destinazione non viene fornito, quindi la ANN imparerà da sola scoprendo le caratteristiche nei modelli di input.
- Natura adattiva: I pesi di connessione nei nodi di ANN sono in grado di adattarsi per dare l'output desiderato.
- Analogia dei neuroni biologici: La ANN ha una struttura e funzionalità ispirate al cervello umano.
- Tolleranza ai guasti: Queste reti sono altamente tolleranti poiché le informazioni sono distribuite a strati e il calcolo avviene in tempo reale.
Struttura di ANN
Le reti neurali artificiali elaborano elementi sotto forma di algoritmi o dispositivi hardware modellati sulla struttura neuronale di una corteccia cerebrale del cervello umano.
Queste reti sono anche chiamate semplicemente reti neurali. L'NN è formato da molti strati. I livelli multipli che sono interconnessi sono spesso chiamati 'Multilayer Perceptron'. I neuroni in uno strato sono chiamati 'Nodi'. Questi nodi hanno una 'funzione di attivazione'.
L'ANN ha 3 livelli principali:
- Livello di input: I modelli di input vengono inviati ai livelli di input. C'è un livello di input.
- Livelli nascosti: Possono esserci uno o più livelli nascosti. La lavorazione che avviene negli strati interni è chiamata “strati nascosti”. Gli strati nascosti calcolano l'output in base ai 'pesi' che è la 'somma delle connessioni sinapsi pesate'. I livelli nascosti perfezionano l'input rimuovendo le informazioni ridondanti e inviano le informazioni al livello nascosto successivo per un'ulteriore elaborazione.
- Livello di output: Questo livello nascosto si collega al 'livello di output' dove viene mostrato l'output.
Funzione di attivazione
La funzione di attivazione è uno stato interno di un neurone. È una funzione dell'input che il neurone riceve. La funzione di attivazione viene utilizzata per convertire il segnale di ingresso sul nodo di ANN in un segnale di uscita.
Cos'è un neurone artificiale?
Una rete neurale artificiale è costituita da elementi di elaborazione altamente interconnessi chiamati nodi o neuroni.
Questi neuroni lavorano in parallelo e sono organizzati in un'architettura. I nodi sono collegati tra loro tramite collegamenti di connessione. Ogni neurone trasporta un peso che contiene informazioni sul segnale di ingresso.
Come funziona il neurone artificiale?
Un neurone artificiale riceve un input. Questi input hanno un peso chiamato 'sinapsi'. Questi neuroni (chiamati anche nodi) hanno una 'funzione di attivazione'. Questa funzione di attivazione agisce sull'ingresso e lo elabora per fornire un'uscita.
La somma ponderata degli ingressi diventa un segnale di ingresso alla funzione di attivazione per fornire un'uscita. Questi pesi di input sono regolabili in modo che la rete neurale possa regolare i suoi parametri per fornire l'output desiderato.
Poche funzioni di attivazione comuni utilizzate nella rete neurale artificiale sono:
# 1) Funzione di identità
Può essere definito come f (x) = x per tutti i valori di x. Questa è una funzione lineare in cui l'output è lo stesso dell'input.
# 2) Funzione passo binario
Questa funzione viene utilizzata nelle reti a livello singolo per convertire l'input netto in output. L'uscita è binaria, ovvero 0 o 1. La t rappresenta il valore di soglia.
[Immagine fonte ]
# 3) Funzione passo bipolare
La funzione passo bipolare ha uscite bipolari (+1 o -1) per l'ingresso netto. T rappresenta il valore di soglia.
# 4) Funzione sigmoidale
Viene utilizzato nelle reti di backpropagation.
È di due tipi:
- Funzione sigmoide binaria: È anche chiamato come funzione sigmoide unipolare o funzione sigmoide logistica. La gamma del funzionale sigmoidale è da 0 a 1.
- Sigmoide bipolare: La funzione sigmoidale bipolare varia da -1 a +1. È simile alla funzione tangente iperbolica.
[Immagine fonte ]
# 5) RampFunction
Il somma ponderata degli input indica il 'prodotto del peso dell'input e del valore dell'input' sommati insieme per tutti gli input.
Sia I = {I1, I2, I3… In} il pattern di input per il neurone.
Sia W = {W1, W2, W3… Wn} il peso associato a ciascun input al nodo.
Somma ponderata degli input = Y = (? Wi * Ii) per i = 1 fino a n
Modelli di base di ANN
I modelli di rete neurale artificiale sono costituiti da 3 entità:
- Pesi o connessioni sinaptiche
- La regola di apprendimento utilizzata per regolare i pesi
- Funzioni di attivazione del neurone
Architettura della rete neurale
In ANN i neuroni sono interconnessi e l'uscita di ogni neurone è collegata al neurone successivo tramite pesi. L'architettura di queste interconnessioni è importante in una ANN. Questa disposizione è sotto forma di livelli e la connessione tra i livelli e all'interno del livello è l'architettura della rete neurale.
Le architetture di rete più comunemente conosciute sono:
- Rete feed-forward a livello singolo
- Rete feed-forward multistrato
- Singolo nodo con il proprio feedback
- Rete ricorrente a livello singolo
- Rete ricorrente multistrato
Diamo un'occhiata a ciascuno di questi in dettaglio.
# 1) Rete feed-forward a livello singolo
Uno strato è una rete formata da neuroni. Questi neuroni sono collegati agli altri neuroni dello strato successivo. Per un singolo livello, ci sono solo i livelli di input e di output. Il livello di input è collegato ai nodi del livello di output con pesi.
Tutti i nodi di input sono collegati a ciascuno dei nodi di output. Il termine feed-forward indica che non vi è alcun feedback inviato dal livello di output al livello di input. Questo forma una rete feed-forward a livello singolo.
[Immagine fonte ]
# 2) Rete feed-forward multistrato
La rete multistrato è costituita da uno o più livelli tra l'input e l'output. Lo strato di input riceve solo un segnale e lo bufferizza mentre lo strato di output mostra l'output. Gli strati tra l'input e l'output sono chiamati strati nascosti.
Gli strati nascosti non sono in contatto con l'ambiente esterno. Con un numero maggiore di livelli nascosti, la risposta in uscita è più efficiente. I nodi nel livello precedente sono collegati a ogni nodo nel livello successivo.
Poiché non vi è alcun livello di output connesso ai livelli di input o nascosti, forma una rete feed-forward a più livelli.
# 3) Singolo nodo con il proprio feedback
Le reti in cui l'output del livello di output viene restituito come input al livello di input o agli altri livelli nascosti sono chiamate Feedback Networks. Nei sistemi di feedback a nodo singolo, esiste un singolo livello di input in cui l'output viene reindirizzato come feedback.
# 4) Rete ricorrente a livello singolo
In una rete ricorrente a livello singolo, la rete di feedback forma un circuito chiuso. In questo modello, un singolo neurone riceve un feedback su se stesso o sugli altri neuroni nella rete o su entrambi.
# 5) Rete ricorrente multistrato
Nella rete ricorrente multistrato, esistono più strati nascosti e l'output viene reindirizzato ai neuroni degli strati precedenti e ad altri neuroni negli stessi strati o nello stesso neurone stesso.
Esempio di rete di neuroni artificiali
Prendiamo la rete sottostante con l'input dato e calcoliamo il neurone di input netto e otteniamo l'output del neurone Y con funzione di attivazione come sigmoidale binario.
L'input ha 3 neuroni X1, X2 e X3 e una singola uscita Y.
I pesi associati agli input sono: {0.2, 0.1, -0.3}
Ingressi = {0,3, 0,5, 0,6}
Input netto = {x1 * w1 + x2 * w2 + x3 * w3}
Input netto = (0,3 * 0,2) + (0,5 * 0,1) + (0,6 * -0,3)
Input netto = -0,07
Uscita per sigmoidale binario:
X è -0,07
L'output risulta essere 0,517
Confronto tra machine learning e ANN
Apprendimento automatico | Rete neurale artificiale |
---|---|
L'apprendimento automatico apprende dai dati di input e scopre i modelli di dati di output di interesse. | Le ANN sono utilizzate negli algoritmi di apprendimento automatico per addestrare il sistema utilizzando sinapsi, nodi e collegamenti di connessione. |
ML è un sottoinsieme del campo dell'intelligenza artificiale. | ANN fa anche parte del campo della scienza dell'Intelligenza Artificiale e un sottoinsieme dell'apprendimento automatico. |
Gli algoritmi ML apprendono dai dati inviati all'algoritmo per scopi decisionali. Alcuni di questi algoritmi sono di classificazione. Clustering, data mining di associazioni. | ANN è una scienza di apprendimento profondo che analizza i dati con strutture logiche come fanno gli esseri umani. Alcuni degli schemi di apprendimento dell'ANN sono Hebbian, Perceptron, Back propagation, ecc. |
Gli algoritmi ML hanno capacità di autoapprendimento ma richiederebbero l'intervento umano se il risultato non fosse accurato. | Gli algoritmi ANN hanno la capacità di regolare se stessi utilizzando pesi di connessione se il risultato risulta essere sbagliato. |
Gli algoritmi ML richiedono abilità di programmazione, struttura dei dati e conoscenza del database dei big data. | ANN richiede anche forti competenze in matematica, probabilità, strutture dati, ecc. |
I programmi ML possono prevedere il risultato per un insieme di dati appreso e adattarsi a nuovi dati. | ANN può apprendere e prendere decisioni intelligenti da sola per i nuovi dati, ma è più profondo dell'apprendimento automatico. |
L'apprendimento supervisionato e non supervisionato rientra nell'apprendimento automatico. | Apprendimento come Kohenen, polarizzazione radiale, rete neurale feed-forward rientrano nella ANN. |
Alcuni esempi di ML sono i risultati di ricerca di Google ecc. | Alcuni esempi di ANN sono il riconoscimento facciale, il riconoscimento delle immagini, ecc. |
Reti neurali e deep learning
Le reti di Deep Learning contengono diversi livelli nascosti tra l'input e l'output. Queste reti si distinguono per la profondità degli strati nascosti in esse. I dati di input passano attraverso più passaggi prima che l'output venga mostrato.
Queste reti differiscono dalle precedenti NN come il perceptron che aveva un singolo strato nascosto ed era chiamato Shallow Networks. Ogni livello nascosto nella rete di apprendimento profondo addestra i dati con determinate funzionalità in base all'output del livello precedente.
I dati passano attraverso molti livelli di funzioni non lineari nel nodo. Maggiore è il numero di livelli, più complesse sono le caratteristiche che possono essere riconosciute poiché il livello successivo eseguirà l'aggregazione delle caratteristiche dai livelli precedenti.
Più livelli nascosti nella rete aumentano la complessità e l'astrazione. Questa profondità è anche definita gerarchia delle caratteristiche. Per questo motivo, le reti di apprendimento profondo sono in grado di gestire dati ad alta dimensione.
Alcuni esempi di reti di deep learning includono il clustering di milioni di immagini in base alle sue caratteristiche e somiglianze, il filtraggio dei messaggi di posta elettronica, l'applicazione di filtri ai messaggi in CRM, l'identificazione del parlato, ecc.
Le reti di apprendimento profondo possono essere addestrate su set di dati etichettati e non etichettati. Per il set di dati senza etichetta, le reti come le macchine di selezione Boltzmann eseguono l'estrazione automatica delle caratteristiche.
La rete apprende automaticamente analizzando l'input tramite campionamento e minimizzando la differenza nell'output e nella distribuzione dell'input. La rete neurale qui trova correlazioni tra le caratteristiche e i risultati.
Le reti di apprendimento profondo addestrate sui dati etichettati possono essere applicate ai dati non strutturati. Più i dati di addestramento vengono inviati alla rete, più accurati diventeranno.
La capacità della rete di apprendere da dati senza etichetta è un vantaggio rispetto agli altri algoritmi di apprendimento.
Applicazioni di reti neurali artificiali
Le reti neurali sono state utilizzate con successo in una varietà di soluzioni come mostrato di seguito.
# 1) Riconoscimento del modello: ANN è utilizzato nel riconoscimento di modelli, nel riconoscimento di immagini, nella visualizzazione di immagini, nella scrittura a mano, nel parlato e in altre attività simili.
# 2) Problemi di ottimizzazione: Problemi come l'individuazione del percorso più breve, la pianificazione e la produzione in cui i vincoli del problema devono essere soddisfatti e devono essere raggiunte soluzioni ottimali, utilizzano gli NN.
# 3) Previsione: NN può prevedere il risultato delle situazioni analizzando le tendenze passate. Applicazioni come banche, mercato azionario, previsioni meteorologiche utilizzano reti neurali.
# 4) Sistemi di controllo: Sistemi di controllo come prodotti informatici, prodotti chimici e robotica utilizzano reti neurali.
Limitazioni delle reti neurali
Di seguito sono elencati alcuni degli svantaggi delle reti neurali.
- Queste reti sono scatole nere per l'utente in quanto l'utente non ha alcun ruolo se non fornire l'input e osservare l'output. L'utente non è a conoscenza dell'addestramento che avviene nell'algoritmo.
- Questi algoritmi sono piuttosto lenti e richiedono molte iterazioni (chiamate anche epoche) per fornire risultati accurati. Questo perché la CPU calcola i pesi e la funzione di attivazione di ogni nodo separatamente, facendogli così consumare tempo e risorse. Inoltre causa un problema con una grande quantità di dati.
Conclusione
In questo tutorial, abbiamo imparato a conoscere la rete neurale artificiale, la sua analogia con il neurone biologico e i tipi di rete neurale.
ANN rientra nell'apprendimento automatico. È un modello computazionale composto da più nodi neuronali. Questi nodi ricevono input, elaborano l'input utilizzando la funzione di attivazione e passano l'output ai livelli successivi.
Gli input sono associati ai pesi dei collegamenti di connessione chiamati sinapsi. Una ANN di base è costituita da un livello di input, pesi, funzione di attivazione, livello nascosto e un livello di output.
Le funzioni di attivazione vengono utilizzate per convertire l'ingresso in uscita. Alcuni di loro sono binari, bipolari, sigmoidali e una funzione di rampa. Esistono diversi tipi di ANN come Feed Forward a strato singolo, Feed Forward a più strati, Reti ricorrenti, ecc. In base al numero di livelli nascosti e meccanismi di feedback.
ANN con molti strati nascosti tra l'input e l'output della rete di apprendimento profondo. Le reti di deep learning hanno un'elevata complessità e un livello di astrazione che le rende in grado di elaborare dati ad alta dimensione con migliaia di parametri.
L'ANN è utilizzato nel campo della previsione, dell'elaborazione delle immagini, dei sistemi di controllo, ecc. Questi sono stati applicati con successo come soluzione alla serie di problemi scientifici.
Speriamo che questo tutorial spieghi tutto ciò che devi sapere sulle reti neurali artificiali !!
=> Visita qui per l'esclusiva serie di machine learning
Lettura consigliata
- Data mining vs machine learning vs intelligenza artificiale vs deep learning
- Test di sicurezza di rete e migliori strumenti di sicurezza di rete
- Tipi di machine learning: apprendimento supervisionato e non supervisionato
- 11 strumenti software di machine learning più popolari nel 2021
- Tutorial sull'apprendimento automatico: introduzione al machine learning e alle sue applicazioni
- Guida alla subnet mask (subnetting) e al calcolatore di subnet IP
- Guida alla valutazione e alla gestione delle vulnerabilità della rete
- I 15 migliori strumenti di scansione in rete (scanner di rete e IP) del 2021