PDA

View Full Version : Reti Neurali


gik25
20-03-2005, 12:00
Il robbottino sa muoversi e sa che esistono degli oggetti. Sa anche che la stanza ha delle pareti e che gli oggetti sono verdi e rossi.

Se tocca i verdi prende un premio, se tocca i rossi prende una scossa.

L'intento è far capire al robbottino di toccare gli oggetti verdi e non i rossi.


Avete presente Skynet del film terninator? è una rete neurale e si evolve secondo cammini non previsti dai tacnici del governo. Indovinate un po' cosa fa questo programmino?

La stessa cosa:

Il robbottino dopo 24 ore di elaborazioni ha smesso di muoversi :eek: (così non prendeva la scossa)

E quando è stato programmato per prendere la scossa anche se sta fermo si è messo a girare in tondo schivando entrambi i colori...


Ergo l'intelligenza artificiale non riusciamo a prevederla se creeremo qualcosa di simile al programma che vediamo in Terminator le conseguenze saranno, molto probabilmente, analoghe.



Comunque, avete capito qual'è il bello delle reti neurali? provate a scrivere un programma che insegna a una macchina a guidare... con le reti neurali basta guidare e dire al programma: ora sei andato bene, ora sei andato male, oppure guarda me che io vado bene.

In poco tempo il programma impara (in modo simile a un controllo automatico predittivo)

RaouL_BennetH
20-03-2005, 12:40
E' una trattazione molto interessante, avresti qualche link dove si trattano le basi?

Thx.

RaouL.

gik25
20-03-2005, 13:13
Originariamente inviato da RaouL_BennetH
E' una trattazione molto interessante, avresti qualche link dove si trattano le basi?

Thx.

RaouL.

Purtroppo no, ti riferisco quello che ho sentito ad una conferenza

U-Boat
20-03-2005, 18:46
Originariamente inviato da gik25
[CUT]

Comunque, avete capito qual'è il bello delle reti neurali? provate a scrivere un programma che insegna a una macchina a guidare... con le reti neurali basta guidare e dire al programma: ora sei andato bene, ora sei andato male, oppure guarda me che io vado bene.


In realtà quello che hai scritto non è del tutto vero.
Una rete neurale è un oggetto che "impara" a partire da esempi ("guarda me che io vado bene"); si parla di apprendimento supervisionato che difficilmente dà risultati assurdi (a patto di lavorare nelle condizioni corrette, usando ad esempio, un insieme significativo di esempi).

Un sistema in grado di apprendere da solo, per come lo definisci nell'esempio del robot, è definito apprendimento per rinforzo. In altre parole il programma "prova" a fare qualcosa (cioè sceglie in modo più o meno casuale come agire su una base di azioni disponibili) e per ogni mossa ottiene "un punteggio". Lo scopo del programma è capire quali sono le mosse che danno il punteggio migliore.
La cosa critica in questo caso è definire il punteggio (spesso chiamata ricompensa) da attribuire alle diverse azioni.
Ricordando che i tentativi sono casuali, può accadare che il robot non vada a toccare per un lungo periodo gli oggetti verdi, ma che continui a incappare in quelli rossi: rimanere fermi non è un'azione così del tutto insensata in questa ottica.

gik25
20-03-2005, 18:58
Originariamente inviato da U-Boat
In realtà quello che hai scritto non è del tutto vero.
Una rete neurale è un oggetto che "impara" a partire da esempi ("guarda me che io vado bene"); si parla di apprendimento supervisionato che difficilmente dà risultati assurdi (a patto di lavorare nelle condizioni corrette, usando ad esempio, un insieme significativo di esempi).

Un sistema in grado di apprendere da solo, per come lo definisci nell'esempio del robot, è definito apprendimento per rinforzo. In altre parole il programma "prova" a fare qualcosa (cioè sceglie in modo più o meno casuale come agire su una base di azioni disponibili) e per ogni mossa ottiene "un punteggio". Lo scopo del programma è capire quali sono le mosse che danno il punteggio migliore.
La cosa critica in questo caso è definire il punteggio (spesso chiamata ricompensa) da attribuire alle diverse azioni.
Ricordando che i tentativi sono casuali, può accadare che il robot non vada a toccare per un lungo periodo gli oggetti verdi, ma che continui a incappare in quelli rossi: rimanere fermi non è un'azione così del tutto insensata in questa ottica.

Molto interessante.

Lavori/studi in questo campo?


Studiando il primo modulo di intelligenza artificiale sono rimasto piuttosto deluso, e anche adesso direi che siamo lontanissimi dal poter parlare seriamente di intelligenza. Però non sono informato.

Quand'è che vedremo qualcosa che possa realmente interagire e aiutare un utente (non un programmatore specializzato in intelligenza artificiale) a svolgere un compito?

U-Boat
20-03-2005, 21:09
Io studio robotica e intelligenza artificiale al Politecnico di Milano (laurea specialistica in ing informatica), ma ho appena iniziato il primo anno

I corsi di "intelligenza artificiale" spesso sono più orientati alla teoria, tralasciando la parte più divertente :).
Se vuoi approfondire l'argomento ti consiglio di cercare "soft computing" in google ;)
Un ottimo libro è "machine learning" di Mitchell che dà una panoramica sulle principali tecniche di apprendimento.

Per la tua ultima domanda direi che dipende dal compito.
In alcuni casi siamo già a ottimi livelli (un buon esempio è questo sito: http://www.20q.net/ ), per altre cose siamo ancora in alto mare

gik25
20-03-2005, 21:25
Originariamente inviato da U-Boat
Io studio robotica e intelligenza artificiale al Politecnico di Milano (laurea specialistica in ing informatica), ma ho appena iniziato il primo anno

I corsi di "intelligenza artificiale" spesso sono più orientati alla teoria, tralasciando la parte più divertente :).
Se vuoi approfondire l'argomento ti consiglio di cercare "soft computing" in google ;)
Un ottimo libro è "machine learning" di Mitchell che dà una panoramica sulle principali tecniche di apprendimento.

Per la tua ultima domanda direi che dipende dal compito.
In alcuni casi siamo già a ottimi livelli (un buon esempio è questo sito: http://www.20q.net/ ), per altre cose siamo ancora in alto mare

Quel gioco sembra una cazzata ma invece è geniale. Frega l'utente internet costringendolo a fornire tutto quello che pensa dell'oggetto scelto. E' un'idea geniale per costruire una classificazione della conoscenza umana.

gik25
20-03-2005, 22:03
Che algoritmo usa quel sito secondo te?

NA01
21-03-2005, 20:36
Originariamente inviato da RaouL_BennetH
E' una trattazione molto interessante, avresti qualche link dove si trattano le basi?

se cerchi su google neural networks hai tutto il materiale che vuoi ;)

altrimenti ci sono alcuni libri della serie mit press che a mio avviso meritano una lettura. ce ne sono sia generici che alcuni applicati a alcune aree di sviluppo specifiche.

ciao

cionci
22-03-2005, 08:14
La quasi intelligenza artificiale non è solo reti nurali... Ci sono tanti argomenti interessanti...