Cos’è una rete neurale?

Una rete neurale è un metodo di intelligenza artificiale (IA) che insegna ai computer a elaborare i dati ispirandosi al funzionamento del cervello umano. Si tratta di un tipo di processo di machine learning (ML), chiamato deep learning, che utilizza nodi interconnessi o neuroni in una struttura stratificata che somiglia al cervello umano. Crea un sistema adattivo che i computer utilizzano per imparare dai loro errori e migliorare continuamente. Le reti neurali artificiali provano così a risolvere problemi complessi, come riassumere documenti o riconoscere volti, con una maggiore accuratezza.

Perché le reti neurali sono importanti?

Le reti neurali possono aiutare i computer a prendere decisioni intelligenti con un'assistenza umana limitata. Questo perché possono imparare e modellare i rapporti tra dati input e output non lineari e complessi. Ad esempio, possono eseguire le seguenti attività.

Fare generalizzazioni e inferenze

Le reti neurali possono comprendere dati destrutturati e fare osservazioni generali senza addestramento esplicito. Ad esempio, possono rilevare che due frasi diverse di input hanno un significato simile:

  • Puoi dirmi come effettuare il pagamento?
  • Come trasferisco il denaro?

Una rete neurale saprebbe che entrambe le frasi hanno lo stesso significato. o sarebbe ampiamente in grado di riconoscere che Baxter Road è un luogo, mentre Baxter Smith è un nome di persona.

Per cosa vengono utilizzate le reti neurali?

Le reti neurali presentano molteplici casi d'uso in molti settori, tra cui:

  • Diagnosi medica tramite classificazione di immagini mediche
  • Marketing mirato tramite i filtri dei social network e analisi dei dati comportamentali
  • Previsioni finanziarie tramite l'elaborazione di dati storici di strumenti finanziari
  • Previsione del carico elettrico e della domanda di energia
  • Elaborazione e controllo qualità
  • Identificazione di composti chimici

Di seguito sono illustrate quattro delle importanti applicazioni delle reti neurali.

Visione artificiale

La visione artificiale è l’abilità dei computer di estrarre informazioni più o meno dettagliate da immagini e video. Con le reti neurali i computer possono distinguere e riconoscere immagini simili agli esseri umani. La visione artificiale ha molteplici applicazioni, tra cui:

  • Riconoscimento visivo nelle auto a guida autonoma in modo che possano riconoscere i segnali stradali e gli altri utenti della strada
  • Moderazione dei contenuti per rimuovere automaticamente contenuti non sicuri o inappropriati da archivi di immagini e video
  • Riconoscimento facciale per identificare volti e riconoscere attributi come occhi aperti, occhiali e peli sul viso
  • Etichettatura di immagini per identificare loghi di brand, abbigliamento, attrezzatura di sicurezza e altri dettagli dell'immagine

Riconoscimento vocale

Le reti neurali possono analizzare il discorso umano nonostante i diversi modelli di discorso, intonazione, tono, lingua e accento. Gli assistenti virtuali come Amazon Alexa e i software di trascrizione automatica utilizzano il riconoscimento vocale per eseguire attività come:

  • Assistere gli agenti di call center e classificare automaticamente le chiamate
  • Convertire conversazioni cliniche in documentazione in tempo reale
  • Sottotitolare accuratamente video e registrazioni delle riunioni per una maggiore portata dei contenuti

Elaborazione del linguaggio naturale

L’elaborazione del linguaggio naturale (NLP) è la capacità di elaborare testi naturali creati dall'uomo. Le reti neurali aiutano i computer a raccogliere informazioni dettagliate e il significato da dati e documenti testuali. La NLP presenta diversi casi d’uso, tra cui le seguenti funzioni:

  • Agenti automatici virtuali e chatbot
  • Organizzazione automatica e classificazione di dati scritti
  • Analisi di business intelligence di documenti lunghi come email e moduli
  • Indicizzazione di frasi chiave che indicano sentimenti, come commenti positivi e negativi sui social media
  • Riassunti di documenti e generazione di articoli per un dato argomento

Motori di raccomandazione

Le reti neurali possono tracciare l’attività dell'utente per sviluppare suggerimenti personalizzati. Possono anche analizzare tutti i comportamenti dell'utente e scoprire nuovi prodotti o servizi che interessano uno specifico utente. Ad esempio, Curalate, una startup con sede a Philadephia, aiuta i brand a convertire i post sui social media in vendite. I brand utilizzano il servizio di assegnazione intelligente di tag dei prodotti (IPT) di Curalate per automatizzare la raccolta e la cura dei contenuti social generati dagli utenti. L’IPT utilizza le reti neurali per trovare e suggerire automaticamente prodotti rilevanti per l’attività sui social media dell’utente. I consumatori non devono andare a caccia nei cataloghi online per trovare un prodotto specifico a partire a partire da un'immagine sui social media. Possono invece utilizzare l'assegnazione automatica di tag di prodotti per acquistare il prodotto con facilità.

Come funzionano le reti neurali?

L'architettura della rete neurale si ispira al cervello umano. Le cellule del cervello umano, i neuroni, formano una rete complessa e altamente interconnessa e inviano segnali elettrici l’uno all'altro per aiutare gli esseri umani a elaborare informazioni. Analogamente, una rete neurale artificiale è fatta di neuroni artificiali che collaborano per risolvere un problema. I neuroni artificiali sono moduli software, chiamati nodi, e le reti neurali artificiali sono programmi software o algoritmi che utilizzano sostanzialmente i sistemi di calcolo per risolvere calcoli matematici.

Architettura semplice di una rete neurale

Una rete neurale di base ha neuroni artificiali interconnessi su tre livelli:

Livello di Input

Le informazioni dal mondo esterno entrano nella rete neurale dal livello di input. I nodi di input elaborano i dati, li analizzano o li categorizzano, e li trasferiscono al livello successivo.

Livello nascosto

I livelli nascosti prendono il proprio input dal livello di input o da altri livelli nascosti. Le reti neurali artificiali possono presentare un numero elevato di livelli nascosti. Ogni livello nascosto analizza l'output dal livello precedente, lo elabora ulteriormente e lo trasferisce al livello successivo.

Livello di Output

Il livello di output restituisce il risultato finale di tutta l'elaborazione dati attraverso la rete neurale artificiale. Può avere uno o più nodi. Ad esempio, se abbiamo un problema a classificazione binaria (sì/no), il livello di output avrà un solo nodo di output, che darà come risultato 1 o 0. Se, ad ogni modo, abbiamo un problema a classificazione multi-classe, il livello di output potrebbe consistere in più nodi di output.

Architettura profonda di una rete neurale

Le reti neurali profonde, o reti di deep learning, presentano molteplici livelli nascosti con milioni di neuroni artificiali connessi tra di loro. Un numero, chiamato peso, rappresenta le connessioni tra un nodo e l'altro. Il peso è un numero positivo se un nodo ne stimola un altro, negativo se lo sopprime. I nodi con valori di peso più alti esercitano un'influenza maggiore sugli altri.
Teoricamente, le reti neurali profonde possono mappare qualsiasi tipo di input verso qualsiasi tipo di output. Tuttavia, hanno maggiormente bisogno di addestramento rispetto ad altri metodi di machine learning. Necessitano di milioni di esempi di dati di addestramento rispetto alle centinaia o migliaia di cui una rete più semplice ha bisogno.

 

Quali sono le tipologie di reti neurali?

Le reti neurali artificiali possono essere categorizzate in base a come i dati fluiscono dal nodo input al nodo output. Di seguito sono elencati alcuni esempi:

Reti neurali feedforward

Le reti neurali feedforward elaborano i dati in una direzione, dal nodo input al nodo output. Ogni nodo in un livello è connesso ad ogni nodo del livello successivo. Una rete feedforward utilizza un processo di feedback per migliorare le previsioni nel corso del tempo.

Algoritmo di backpropagation

Le reti neurali artificiali imparano continuamente utilizzando circuiti di feedback correttivi per migliorare le proprie analisi predittive dei dati. In parole povere, è possibile pensare a dati che fluiscono dal nodo di input al nodo di output tramite molti percorsi diversi nella rete neurale. Solo un percorso è quello corretto, che mappa il nodo di input verso il nodo di output corretto. Per trovare questo percorso, la rete neurale utilizza un circuito di feedback che funziona nel modo seguente:

  1. Ogni nodo fa un'ipotesi sul nodo successivo del percorso.
  2. Controlla se l'ipotesi era corretta. I nodi assegnano valori di peso maggiori ai percorsi che conducono a ipotesi più corrette e valori di peso minori a percorsi di nodi che conducono a ipotesi errate.
  3. Per il successivo punto di dati, i nodi formulano una nuova previsione utilizzando i percorsi di peso maggiore, per poi ripetere il Passaggio 1.

Reti neurali convoluzionali

I livelli nascosti nelle reti neurali convoluzionali eseguono specifiche funzioni matematiche, come riassumere o filtrare, chiamate convoluzioni. Sono molto utili per la classificazione delle immagini perché possono estrarre caratteristiche rilevanti da immagini utili per il riconoscimento e la classificazione delle immagini. La nuova forma è più facile da elaborare senza perdere caratteristiche essenziali ai fini di una previsione attendibile. Ogni livello nascosto estrae ed elabora diverse caratteristiche dell’immagine, come i bordi, il colore e la profondità.

Come addestrare le reti neurali?

La formazione della rete neurale è il processo con cui si insegna a una rete neurale a eseguire un'attività. Le reti neurali imparano inizialmente attraverso l'elaborazione di numerosi e ampi set di dati etichettati o non etichettati. Attraverso l'uso di questi esempi, possono poi elaborare input sconosciuti in modo più accurato.

Apprendimento supervisionato

Nell’apprendimento supervisionato, i data scientist forniscono alle reti neurali artificiali set di dati etichettati che forniscono la risposta corretta in anticipo. Ad esempio, una rete di deep learning addestrata per il riconoscimento facciale inizialmente elabora centinaia di migliaia di immagini di volti umani, con termini differenti relativi a origini etniche, paese o emozioni che descrivono ogni immagine.

La rete neurale costruisce lentamente la conoscenza a partire da questi set di dati, che forniscono la risposta corretta in anticipo. Dopo l'addestramento della rete, quest'ultima inizia a formulare ipotesi sulle origini etniche o sulle emozioni di una nuova immagine di un volto umano che non ha mai elaborato prima di quel momento.

Cos’è il deep learning nel contesto delle reti neurali?

L'intelligenza artificiale è il campo delle scienze informatiche che ricerca metodi per dotare le macchine della capacità di eseguire attività che richiedono l'intelligenza umana. Il machine learning è una tecnica di intelligenza artificiale che fornisce ai computer l'accesso a set di dati molto ampi e insegna loro a imparare da questi dati. Il software di machine learning trova modelli nei dati esistenti e li applica a nuovi dati per prendere decisioni intelligenti. Il deep learning è una sottocategoria di machine learning che utilizza le reti di deep learning per elaborare dati.

Machine learning vs deep learning

I metodi tradizionali di machine learning richiedono l’input umano affinché il software di machine learning funzioni sufficientemente bene. Uno data scientist determina manualmente il set di caratteristiche rilevanti che il software deve analizzare. Ciò limita l’abilità del software, il che lo rende difficile da creare e gestire.

D’altra parte, nel deep learning, il data scientist fornisce al software solo dati non elaborati. La rete di deep learning deriva da sola le caratteristiche e impara in modo più autonomo. Essa può analizzare set di dati non strutturati come documenti di testo, identificare a quali attributi dei dati dare priorità e risolvere ulteriori difficoltà.

Ad esempio, se si stesse addestrando un software di machine learning a identificare correttamente l’immagine di un animale domestico , sarebbe necessario eseguire questi passaggi:

  • Trovare ed etichettare migliaia di immagini di animali domestici, come gatti, cani, cavalli, criceti, pappagalli e così via, manualmente.
  • Dire al software di machine learning quali caratteristiche ricercare in modo da identificare l’immagine per esclusione. Ad esempio, esso potrebbe contare il numero di zampe, poi controllare la forma degli occhi, delle orecchie, la coda, il manto e così via.
  • Valutare manualmente e modificare i set di dati etichettati per migliorare l'accuratezza del software. Ad esempio, se il set di addestramento ha troppe immagini di gatti neri, il software identificherà correttamente un gatto nero, ma non uno bianco.
  • Nel deep learning, comunque, le reti neurali elaborerebbero tutte le immagini e determinerebbero automaticamente la necessità di analizzare prima il numero di zampe e la forma della faccia, poi di guardare le code alla fine per identificare correttamente l’animale nell’immagine.

Quali sono i servizi deep learning su AWS?

I servizi di deep learning di AWS sfruttano la potenza del cloud computing così che si possano dimensionare le reti neurali di deep learning a un costo minore e ottimizzarle in velocità. Inoltre è possibile utilizzare servizi AWS come questi per gestire completamente applicazioni specifiche di deep learning:

  • Amazon Rekognition per aggiungere caratteristiche di visione artificiale personalizzabili o pre-addestrate all'applicazione.
  • Amazon Transcribe per riconoscere e trascrivere automaticamente il parlato in modo accurato.
  • Amazon Lex per costruire chatbot intelligenti che comprendano le intenzioni, mantengano contesti di conversazione e automatizzino attività semplici in varie lingue.

Inizia a utilizzare le reti neurali di deep learning su AWS con Amazon SageMaker e costruisci, addestra e implementa modelli su vasta scala in modo facile e veloce. È inoltre possibile utilizzare le AMI di AWS Deep Learning per costruire ambienti e flussi di lavoro personalizzati per il deep learning.

Crea un account AWS gratuito per iniziare oggi stesso!

Fasi successive su AWS