Reti neurali

Reti neurali con MATLAB

Le reti neurali artificiali sono una tecnica di apprendimento ed elaborazione automatica ispirata al funzionamento del cervello umano. Possiamo definire le reti neurali artificiali come una struttura di elaborazione parallela massiva, costituita da unità molto semplici (chiamati neuroni), che sono in grado di acquisire informazioni dal mondo esterno, elaborarle e restiruire un risultato.

Le reti neurali artificiali somigliano alle reti neurali biologiche sotto diversi aspetti:

  1. I neuroni sono elementi semplici e altamente interconnessi (anche se neuroni artificiali sono molto più semplici).
  2. Le connessioni tra i neuroni determinano la funzione della rete. Tali connessioni, dette anche pesi (pesi sinaptici) vengono utilizzate per memorizzare le conoscenze acquisite.
  3. La conoscenza è acquisita dal mondo esterno attraverso un processo di apprendimento.

Architettura

L'architettura (o topologia) della rete fa riferimento alla disposizione dei neuroni nella rete. I neuroni sono organizzati in strati, in modo che la rete neurale può essere costituita da uno o più strati di neuroni.

Ogni neurone riceve un set di ingressi moltiplicati per la loro interconnessione (peso), che vengono sommati e gestiti da una funzione di trasferimento (o funzione di attivazione) prima di essere trasmesso al livello successivo o come uscita di rete.

La figura mostra una rete con uno strato singolo, R elementi di ingresso e S neuroni

Lo strato contenente le uscite dalla rete è noto come strato di uscita e gli altri strati come strati nascosti.

Si è soliti classificare le reti per la loro architettura. Pertanto troviamo:

  • Reti feedforward
  • Reti a backpropagation

Apprendimento

In molte occasioni sono anche classificate in base al tipo di apprendimento che eseguono. Quindi si distingue fra:

  • apprendimento supervisionato, in cui un insieme noto di dati di input-output viene utilizzato per regolare iterativamente i pesi della rete;
  • apprendimento non supervisionato, in cui si dispone unicamente di dati di input e di una funzione di costo da minimizzare;
  • apprendimento rinforzato, un compromesso tra apprendimento supervisionato e non supervisionato. In questo apprendimento, le informazioni fornite alla rete sono ridotte al minimo, solo per indicare se la risposta della rete è corretta o non corretta.

La figura mostra il processo di regolazione dei pesi nell'apprendimento supervisionato

Applicazioni

Queste reti sono state e sono ampiamente utilizzate in molti settori: aerospaziale (ad esempio, per i piloti automatici, simulazioni di percorsi di volo, rilevazione di guasti di componenti), automobilistico (ad esempio, in sistemi di guida automatica, controller, analisi delle garanzie), finanza (ad esempio, in lettori automatici di assegni, sollecito crediti, rilevamento di frodi, valutazione con rating di bond), difesa (ad esempio, per inseguimento di oggetti, riconoscimento facciale, rimozione del rumore), medicina (ad esempio, in analisi di cellule tumorali, disegno protesico, analisi di EEG ed ECG), telecomunicazioni (ad esempio, per riconoscimento e compressione vocale, compressione delle immagini, traduzione in tempo reale di una lingua), ecc.

Reti neurali artificiali con MATLAB

Neural Network Toolbox offre una grande varietà di architetture e funzioni di addestramento per la modellazione di sistemi complessi non lineari in modo semplice, utilizzando reti artificiali. Le App disponibili in Neural Network Toolbox consentono di progettare, addestrare, visualizzare e simulare in modo interattivo la rete per generare successivamente il codice MATLAB equivalente, in modo da poter automatizzare il processo.

Neural Network Toolbox supporta l'apprendimento supervisionato, non supervisionato e rinforzato facendo uso di architetture quali: perceptron, perceptron a più strati, base radiale, mappe auto-organizzanti, reti competitive, ecc.

Con l'obiettivo di accelerare processi di addestramento resi complessi dal grande volume di dati, è possibile distribuire i calcoli su macchine multicore, GPU e cluster utilizzando la Parallel Computing Toolbox.



Vedere anche: MATLAB, Big Data con MATLAB, Data mining con MATLAB , Previsione della richiesta di fornitura di energia elettrica e dei prezzi con MATLAB, Corrispondenza basata su dati con MATLAB

Versioni di prova disponibili

Richiedi la versione di prova