Università degli studi di Catania
Facoltà di Ingegneria
Corso di Laurea in Ingegneria Elettronica
A.A.1999/2000
 
 
 
 

Tesina di INTELLIGENZA ARTIFICIALE


"RAPPRESENTAZIONE DELLA CONOSCENZA SIMBOLICA NELLE RETI NEURALI RICORRENTI"
 
 
 
 

Allievi:                                                                                                                            Prof. A. Faro


 
 

PERCHÈ LE RETI NEURALI RICORRENTI

Le reti neurali sono state considerate per lungo tempo non adatte al mondo dell’intelligenza artificiale. Lo sviluppo di nuove e potenti architetture e algoritmi di apprendimento e il successo delle reti neurali nel risolvere problemi del mondo reale in una grande varietà di campi ha fatto rivalutare questa corrente di pensiero.
Adesso le  reti neurali sono parte integrante degli strumenti per la costruzione di sistemi intelligenti. Il motivo per cui le le reti neurali godono di grande popolarità è dovuto alla loro abilità nell’imparare da esempi e all’astrarre regole dalle informazioni ricevute.
Le reti neurali ricorrenti sono strumenti appropriati per la modellizzazione dei sistemi tempo-varianti, quali mercati finanziari, sistemi fisici dinamici, riconoscimento dei linguaggi, ecc.
Discuteremo la capacità delle reti neurali ricorrenti di risolvere problemi di rappresentazione di automi a stati finiti applicati ai linguaggi.
Le dinamiche indotte nelle reti neurali ricorrenti attraverso l’apprendimento hanno infatti una interessante corrispondenza con la dinamica degli automi a stati finiti.
 

RAPPRESENTAZIONE DELLA CONOSCENZA

La rappresentazione degli automi può essere vista come un prerequisito per l’apprendimento dei loro corrispondenti linguaggi da parte di una rete. Si è infatti dimostrato che se un’architettura di rete non può rappresentare un automa, allora essa non potrà imparare il linguaggio ad esso associato.
L’apprendimento con le conoscenze a priori ha avuto crescente attenzione. La filosofia di base si basa sulla considerazione che essendo l’allenamento delle reti neurali un problema difficile, dei vantaggi possono essere tratti dalle conoscenze a priori che si hanno. L’obiettivo è di ridurre il tempo di allenamento e di migliorare le performance generali della rete.
In questo modo il ruolo della rete neurale si riduce a quello di raffinamento della conoscenza o anche di revisione della stessa nel caso in cui le conoscenze a priori siano in parte scorrette.
 

IMPORTANZA DELL’ESTRAZIONE DELLA CONOSCENZA

L’obiettivo dell’estrazione della conoscenza è di generare una descrizione simbolica concisa della conoscenza contenuta nei pesi della rete. Di particolare interesse è la fidelity del processo di estrazione, cioè quanto è accurata la conoscenza estratta rispetto a quella contenuta nei pesi della rete.
 

OBIETTIVO

Il fine del nostro elaborato è  l’implementazione di una rete neurale ricorrente che consenta di riconoscere un linguaggio regolare. Quest’ ultimo rappresenta la più semplice e piccola classe di linguaggi formali nella gerarchia di Chomsky. Un linguaggio regolare è generato da una grammatica regolare G che è una quadrupla G = (S, V , T, P ), dove S è il simbolo di partenza , V e T sono rispettivamente i simboli non-terminali e terminali e P sono le produzioni della forma A -> a o A -> aB dove A, B appartengono a V e a appartiene a T.

...( la versione presente della tesina è parziale )

Il nostro programma funziona così:
All’avvio del programma si presenta all’utente il seguente menù:
Mappatura del DFA nella rete neurale
• Apprendimento con conoscenze a priori
• Apprendimento senza nessuna conoscenza
• Mappatura di DFA fuzzy nella rete neurale
• Carica automa già esistente
• Esci

Analizziamo una per una le varie opzioni disponibili

• Mappatura del DFA nella rete neurale
Sceglie ndo questa opzione l’utente deve  mappare l’automa
completamente nella rete neurale. Il compito della rete si riduce a quello
di rappresentare l’automa nella sua struttura. Non ha quindi bisogno di
alcuna fase di apprendimento. Gli stati e le loro transizioni vengono
inseriti dall’utente.

• Apprendimento con conoscenze a priori
Scegliamo questa opzione quando non abbiamo una conoscenza completa dell’automa ma solo alcune informazioni a priori. Come detto prima queste possono essere applicate alle rete per ridurre il tempo di allenamento e per raffinare o correggere l’informazione conosciuta.
È quindi una necessaria una fase di allenamento.
Un esempio da noi proposto è il seguente:
Partendo da un automa già esistente per rendere possibile una verifica abbiamo fornito la conoscenza di tre transizione ( tutte le transizioni sono 6)  e una serie si pattern di esempio.
Abbiamo allenato la rete fino a raggiungere un errore quadratico medio di 0.002 ed abbiamo verificato che la rete oltre ad apprendere le stringhe di allenamento è  riuscita ad astrarre in maniera soddisfacente.

• Apprendimento senza nessuna conoscenza
Scegliamo questa opzione quando non abbiamo alcuna conoscenza a priori. Essa ci riporta quindi alle reti neurali pure che devono imparare da esempi. È quindi necessaria una lunga fase di training della rete. È utile ricordare che non tutti gli automi possono essere “imparati” dagli esempi proposti. La causa può essere dovuta a diversi fattori tra cui ricordiamo il numero non sufficiente di stringhe d’ingresso o non rappresentativo di tutte le transizioni dell’automa.
Infine bisogna ricordare che non tutti gli automi possono essere rappresentati all’interno di una rete con una struttura standard.
Per verificare tale opzione abbiamo utilizzato il seguente automa e abbiamo allenato la rete con 100 stringhe di lunghezza variabile, di cui 50 corrette e 50 scorrette.
L’ automa utilizzato è sempre lo stesso per poter effettuare dei confronti.
In questo caso,però, dopo aver fornito gli stessi pattern di ingresso si è giunti a un errore, ovviamente, più elevato del caso precedente (circa 0.04), ottenendo comunque un risultato accettabile; la causa è imputabile al numero limitato e non esauriente di stringhe.Comunque altri esempi non riportati possono dimostrare la convergenza dell’algoritmo.
 

Mappatura di DFA fuzzy nella rete neurale
Questa opzione ricalca la prima con la differenza che mentre sopra l’automa era deterministico adesso è fuzzy. Va quindi inserita una informazione in più che è il grado di attivazione associato ad ogni transizione.
In questo caso non è possibile alcun allenamento: la rete può solo mappare l’automa che quindi deve essere conosciuto a priori e completamente.
Per semplicità abbiamo ripreso l’automa di prima e inserito i gradi di attivazione per ogni transizione.
Data la stringa acabac il grado di verità della conclusione viene calcolato con la regola del prodotto, cioè passando da una transizione ad un’altra viene fatto il prodotto dei rispettivi gradi di attivazione.
 

• Carica automa già esistente
Tale opzione ha uno scopo assolutamente didattico e permette di richiamare una rete già allenata in precedenza.

• Esci
L’ultima opzione permette di uscire dal programma.
 
 
 

Vai all'inizio pagina
Top

[ Home | Carriera | Documenti ]