Reti Neurali Artificiali |
|
:: Argomenti Introduttivi
Le Reti Neurali Artificiali (RNA) compongono una
vasta famiglia di sistemi di elaborazione particolarmente adatti
a risolvere problemi non lineari.
Una funzione è lineare quando rispetta
le seguenti condizioni:
1) f (c × x) = c × f (x)
2) f (x1 + x2) =
f (x1) + f ( x2)
Un sistema è non lineare quando
le funzioni che sottendono la sua fenomenologia non rispettano queste
condizioni.
Quando il sistema oggetto di studio è
caratterizzato da molte funzioni non lineari, tentare di
ricostruire le regole che lo caratterizzano attraverso una Rete
Neurale Artificiale può risultare non solo utile ma l'ultima
via praticabile.
Una Rete Neurale Artificiale è in genere
composta da tre elementi fondamentali:
- Singoli Elementi che emulano il comportamento
dinamico dei neuroni biologici
- Diverse possibili Architetture di Connessione
tra le singole unità
- Regole o leggi dinamiche ricorsive per aggiornare
le connessioni tra le unità
Adattando dinamicamente la forza delle connessioni
tra le unità che la costituiscono una RNA ben progettata
è in grado di scoprire le regole sfumate che sottendono il
sistema studiato e di riprodurre quindi tutti i comportamenti che
quel sistema è in grado di manifestare nel tempo.
La flessibilità degli algoritmi di
apprendimento permette di integrare nel tempo le nuove informazioni
disponibili e di aggiornare, in tempo reale, le leggi di relazione
tra le variabili che sottendono la fenomenologia studiata. Quest'importante
caratteristica dei Sistemi a Reti Neurali Artificiali consente un
monitoraggio continuo delle dinamiche sottese ed
un aggiornamento flessibile delle regole di volta
in volta ricostruite.
Per avere una itroduzione più dettagliata, con
una descrizione delle equazioni di convergenza dell'algoritmo Back
Propagation, scarica l'articolo cliccando qui su "RNA"
oppure entrando nella sezione Download del sito [ultima voce del
menù principale].
:: AREE DI APPLICAZIONE DEI SISTEMI A RETI
NEURALI ARTIFICIALI
Ci sono molte tipologie di problemi che possono
essere affrontati con Le reti neurali. Possiamo accennare qui a
due principali classi di problemi affrontabili con Sistemi
a RNA:
1) Problemi Endogeni;
2) Problemi Esogeni.
La classe dei Problemi Endogeni
è costituita da tutte quelle situazioni nelle quali, date
N variabili, occorre scoprire la migliore matrice di connessione
in grado di riprodurre le dinamiche tipiche del fenomeno indagato
o di costruire scenari possibili ma non ancora realizzati. Esiste
una vasta famiglia di RNA (RNA Auto Associate), estremamente
ricca nelle topologie e nella scelta delle equazioni che ne governano
il comportamento. Ciascun modello è in grado di risolvere
questi problemi e di simulare scenari evolutivi diversi a
partire da diversi vincoli assegnati alle variabili.
La classe dei Problemi Esogeni
si ha quando, partendo da N variabili note e sulle quali si hanno
abbondanti dati, si vuole risalire ai valori di M variabili diverse
da quelle di partenza ma contestuali nel tempo alla evoluzione delle
prime N.
Se le M variabili seguono nel tempo le prime
N il problema è tipicamente individuato come problema
previsionale. Fanno parte di questa classe i problemi legati
alla previsione temporale di segnali.
Dato un insieme di N variabili, un ulteriore esempio
di problema esogeno è rappresentato dalla previsione della
appartenenza a una di M classi della configurazione data. Le Reti
Neurali Artificiali tipicamente impiegate in questi contesti sono
del tipo Etero Associate. Anche in questo caso le architetture
e gli algoritmi disponibili sono numerosi. Ogni modello va scelto
e progettato con cura in funzione delle caratteristiche dinamiche
del fenomeno in studio. Per ognuno degli esempi sopracitati una
tipica architettura di rete può essere quella riportata di
seguito:
:: ESEMPI DI APPLICAZIONI
Progettazione di Spazi Formativi e Simulazioni
di Scenario
Un'applicazione dei sistemi a reti neurali per
la previsione di scenari evolutivi è stata da me curata per
uno studio della relazione tra variabili psicoattitudinali nella
progettazione di spazi formativi efficaci.
In sostanza è stato possibile addestrare
una RNA a riconoscere le caratteristiche di un gruppo di riferimento
sul quale era previsto un intervento formativo di tipo esperienziale.
Ad apprendimento ultimato è stato possibile "interrogare"
la rete per simulare le relazioni tra variabili e, dunque, su quali
caratteristiche del team sarebbe stato più opportuno lavorare
in formazione per aumentare ed ottimizzare l'efficacia dell'intervento.
Di seguito è riportata una schermata di
una simulazione:

Nella figura le piccole frecce indicano i vincoli
posti al sistema. In sostanza si è trattato di forzare la
rete a descrivere il possibile cambiamento di scenario a fronte
di un intervento sulle variabili di apprendimento "Reflective
Observation" e "Abstract Conceptualization" cioè
le variabili che, nel modello di apprendimento esperienziale di
Kolb, individuano uno stile di apprendimento e problem solving di
tipo divergente.
Si può notare che il sistema ha risposto
restituendo le attivazioni conseguenti di tutte le altre variabili
ed indicando dunque quali cambiamenti ci si può aspettare,
su quel team, a fronte di un intervento che solleciti le due dimensioni
date come vincoli. Questo tipo di simulazioni si sono rilevate molto
utili per progettare una sequenza di learning object o attività
formative (un learning path), il più coordinate ed efficaci
possibili in relazione alle caratteristice del team.
L'impiego di reti neurali in questo studio è
stato particolarmente rilevante perchè, oltre a consentire
la progettazione di spazi formativi efficaci, ha consentito di verificare
la coerenza delle idee ed ipotesi avanzate dagli autori di riferimento
nei loro lavori sperimentali e nella letteratura prodotta. Nella
teoria dell'experiential learning di Kolb, ad esempio, è
stato possibile verificare la coerenza delle ipotesi sulle diverse
caratteristiche degli stili di apprendimento in relazione ad altre
caratteristiche legate alla personalità, agli stili cognitivi
ecc...
Questo tipo di esperimenti ha poi gettato le basi
per la progettazione di un sistema di profiling da impiegare sia
per la selezione sia per l'ottimizzazione di risorse in ambito human
resorce e, in ambito scolastico, nell'orientamento.
Campio biomedico: previsione della struttura
di una proteina
Tra le applicazioni forse di maggior rilievo in
campo biomedico possiamo citare qui l'impiego di Reti Neurali Ricorrenti
per la previsione della struttura secondaria delle proteine.
Le proteine sono tra gli "oggetti" biologici più
importanti per la nostra vita ... non esiste processo vitale che
non chiami in causa una qualche particolare proteina (o enzima)
con caratteristiche strutturali adatte a favorire, innescare o causare
le giuste dinamiche per il processo in questione. I nostri muscoli,
ad esempio, si contraggono e si rilassano grazie alla particolare
proprietà di alcune strutture proteiche filiformi capaci
di scorrere l'una sull'altra ...
Tutte le proteine sono per così dire "generate"
a partire da 20 principali aminoacidi. La sequenza con la quale
si susseguono gli amminoacidi che compongono una proteina determina
in gran parte le proprietà strutturali tridimensionali della
proteina, e questa struttura, a sua volta, determina le caratteristiche
funzionali della proteina stessa.
Esistono diversi procedimenti per prevedere, a
partire da una data sequenza di amminoacidi, le caratteristiche
strutturali di una proteina. Negli ultimi dieci anni tuttavia si
è assistito ad un notevole sviluppo di metodologie che impiegano
Reti Neurali di diversa architettura per la previsione della struttura
secondaria delle proteine.
Senza entrare nei dettagli, la metodologia di
impiego consiste sostanzialmente nell'addestrare una particolare
rete neurale a riconoscere e prevedere un campione di addestramento
costituito da sequenze di amminoacidi (input della rete neurale)
che danno origine a strutture proteiche note (output della rete
neurale). Ad addestramento ultimato la rete neurale è in
grado di prevedere la struttura tridimensionale di una proteina
a partire da una sequenza di amminoacidi mai vista prima.
Per chi fosse interessato a questo affascinante
campo della bioinformatica che vede l'impiego di metodologie AI
per la soluzione di pproblemi complessi, riporto di seguito alcuni
link utili:
[0] http://www.cs.bc.edu/~clote/ComputationalMolecularBiology/
[1] http://www.embl-heidelberg.de/~rost/Papers/pre1999_tics/paper.html
[2] http://www.osti.gov/energycitations/product.biblio.jsp?osti_id=27852
[3] http://web.mit.edu/rsi/www/pdfs/papers/95/jungert.pdf
[4] http://satya.host.sk/2002.ProteinSecondaryStructureDBNN.pdf
[5] http://www.hgmp.mrc.ac.uk/GenomeWeb/prot-2-struct.html
[6] http://www.stanford.edu/~ythomas/BiocProject.pdf
[7] http://cubic.bioc.columbia.edu/papers/2003_rev_nn/paper.pdf
[8] http://jmlr.csail.mit.edu/papers/volume4/baldi03a/baldi03a.pdf
|