|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
intelligenza artificiale
ciao a tutti,
pur essendomi laureato in ing. informatica, sto facendo un lavoro che non c'entra niente e forse nn tornerò più a fare il softwarista anche se son sempre stato piuttosto bravo ![]() una cosa che nn ho mai avuto tempo e pazienza e materiale per imparare è stata l'intelligenza artificiale e la relativa logica che ci sta dietro.. a riguardo ho solo fatto un esame di informatica teorica ora però vorrei fortemente come hobby fare qualcosa.. cosa mi consigliate? reti neurali? logica fuzzy? mi dite qualche bel sito e qualche bel software?? grazie
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
bhé, come sito ti consiglio google
![]() software, sipende da cosa cerchi. comunque, se ti interessa devi cercare molto, e considera che IA ha molto sottorami, quindi fare un discorso generalistico non è proprio possibile.
__________________
My gaming placement |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2755
|
[piccolo ot]
per curiosità cosa fai adesso? io sono una matricola di ing inf e vorrei sapere cosa può aspettarmi [fine ot]
__________________
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
![]()
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Quote:
Dai un'occhiata QUI
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Sep 2005
Città: Barcelona
Messaggi: 200
|
Quote:
![]() http://www.a-i.com/
__________________
Code without tests is broken by design. |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2755
|
Quote:
__________________
|
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Quote:
![]()
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
![]() scherzi a parte, vorrei cominciare con le reti neurali, però vorrei qualcosa di abbastanza pratico.. insomma.. poca teoria e che si inizia facendo subito qualcosa di piccolo ma concreto ![]()
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jun 2002
Città: Roma
Messaggi: 963
|
Quote:
Se vuoi fare qualcosa di pratico senza teoria, nel campo informatico/matematico...puoi giusto zappare la terra ^_^. La teoira serve comunque! Ti consiglio di iniziare da questo libro Russell Norvig.
__________________
Asus P5K-E WiFi | Intel Core 2 Due E8400 | 4*1gb ram Kingston | MSI GeForce 9800GTX 512Mb | Tagan X-Eye II 600watt | Win7 Business 64bit |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
in ogni caso dopo 5 anni di ing. un po' di teoria informatico/matematica dovrei averla ![]() io preferisco imparare guardando un esempio pratico e commentato piuttosto che leggere un mucchio di teoria. mi piacerebbe vedere qualche esempio molto piccolo di rete neurale, con relativa spiegazione della logica in base alla quale funziona
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jun 2002
Città: Roma
Messaggi: 963
|
Quote:
Il libro è: "Russel, Norvig: Artificial Intelligence, a modern approach". Questo libro è quello che ho usato nel corso di intelligenza artificiale (non dovrei dirlo ma...lo puoi anche scaricare da emule), ed è considerato la bibbia dell'intelligenza artificiale. Nel percorso del libro, gli autori iniziano con degli esempi, per poi svilupparli man mano che le consocenze del lettore si arricchiscono. Sinceramente in molte parti riguardanti la logica o le reti di Bayes dei concetti/meccanismi sono spiegati malissimo a mio parere, ma a di là di queste mie considerazioni personali, deve esserci un motivo per cui è considerato la bibia della AI. E' per questo che ti consiglio questo libro. Non so darti altri aiuti perchè tutto quello che so viene da un corso che ho fatto all'università, ed il materiale del corso era questo libro. Se cerchi nei programmi p2p, tipo emule, troverai moltissimo materiale sia sulle reti neurali che sulla AI. Ciao!
__________________
Asus P5K-E WiFi | Intel Core 2 Due E8400 | 4*1gb ram Kingston | MSI GeForce 9800GTX 512Mb | Tagan X-Eye II 600watt | Win7 Business 64bit |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
![]() Io mi ero letto tempo fa la guida di matlab relativa alla libreria sulle reti neurali, in pratica era mooolto teorica e mi ero annoiato dopo qualche decina di pagine. Mi pare che in matlab c'era un esempio di rete neurale che faceva l'inseguimento di funzione, quello che vorrei vedere io è un problema abbastanza semplice da risolvere e la relativa soluzione usando le reti neurali ![]() voi avete fatto qcosa del genere al corso?
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Jun 2002
Città: Roma
Messaggi: 963
|
Quote:
www.dis.uniroma1.it/~aiello Per le reti neurali, c'è un'esame alla specialistica. Se ti interessa l'argomento, visita la pagina di questo professore (anche questo è un geniaccio): http://infocom.uniroma1.it/~martin/ Ovviamente devi andare sulla pagina "didattica".
__________________
Asus P5K-E WiFi | Intel Core 2 Due E8400 | 4*1gb ram Kingston | MSI GeForce 9800GTX 512Mb | Tagan X-Eye II 600watt | Win7 Business 64bit |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Jun 2002
Città: Roma
Messaggi: 963
|
Quote:
Non lo so ^^.
__________________
Asus P5K-E WiFi | Intel Core 2 Due E8400 | 4*1gb ram Kingston | MSI GeForce 9800GTX 512Mb | Tagan X-Eye II 600watt | Win7 Business 64bit |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
( Tieni presente che nella forma più tradizionale (feed-forward multistrato) una rete neurale non è altro che una composizione di funzioni del tipo f(Wx+w0) con f tipicamente non lineare, e il suo apprendimento consiste nell'imparare i coefficenti della matrice W (e di w0) ). Il problema quindi sta nel trovare una rappresentazione vettoriale del problema che sia "buona".
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Tanto per partire con un problema idiota, si potrebbe insegnare ad una rete a capire quando un colore è "caldo" oppure "freddo", partendo dalle tre componenti fondamentali. Quindi una funzione R^3 -> {0,1} ( o [0,1] se vuoi sapere "quanto caldo" ) Un po' piu' complicato, si potrebbe provare ad insegnarli a convertire da una rappresentazione ad un'altra (da CMYK a RGB)
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
In sostanza la rete partendo da tre valori intero di input ognuno compreso tra 0 e 255 mi restituisce o 0 (freddo) o 1 (caldo). Ora, da quel che ricordo la rete neurale prevede una forma di "allenamento", in pratica io inizio a buttare dentro dei valori di input e il corrispondente output che la rete "dovrebbe" buttar fuori es: input (255, 0, 0) output (1=caldo) Se non ricordo male, questa fase di allenamento fa sì che la rete imposti dei coefficienti interni ai suoi neuroni in modo che il suo funzionamento si avvicini il più possibile alla funzione "desiderata" Ora, sempre se quello che ho scritto non è una strunzata, mi spiegate in modo generico la logica in base alla quale si costruisce il "layout" della rete da "allenare"? grazie
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Ipotizziamo che il nostro compito, distinguere tra colori caldi e semplici, sia abbastanza semplici, tanto che useremo la rete più semplice possibile allo scopo, ovvero tre neuroni di ingresso collegati direttamente a quello di uscita , a cui aggiungiamo un quarto segnale di ingresso con valore fisso 1 (ci serve per far si' che all'ingresso (0,0,0) possa corrispondere un qualsiasi valore). In pratica quattro connessioni a cui corrispondono altrettanti pesi. Dando fondo a tutte le mie (scarse) doti artistiche, il risultato lo vedi nel documento che allego ![]() In termini matematici, il segnale in ingresso dal neurone di destra sarà x∙w, con x = [1,x1,x2,x3] vettore di ingresso (il segnale) e w = [w0,w1,w2,w3] vettore dei pesi ("la forza" delle connessioni). L'output del neurone una funzione del suo ingresso y = σ(x). Di solito [i]σ(x) = 1 / (1+e^(-x)) (per funzioni che mappano in [0,1]). Facciamo un esempio con numeri. Dobbiamo addestrare la rete (ovvero capire i pesi w migliori ) per cui partiamo da dei valori casuali e piccoli per i pesi, ad esempio w = [0.12,-0.01,0.23,0.05] Sappiano che per il colore (1,0,0) ( il (255,0,0) di prima normalizzato) dovremmo ottenere 1 Otteniamo invece σ( 1*0.12 - 1*0.01 ) = 0.532 circa Abbiamo un errore E di 0.468 che dobbiamo correggere. Come ? Possiamo immaginare E come funzione dei pesi E(w0,w1,w2,w3), e quindi vogliamo trovare il punto (w0,w1,w2,w3) che minimizza la funzione E. Ad esempio calcolandone il gradiente.∇E(w) = [δE/δw0,δE/δw1,δE/δw2,δE/δw3] e spostandoci "in discesa" verso un punto con errore più basso. In altre parole puoi correggere il vettore w con una quantità Δw = -η ∇E(w), con η costante abbastanza piccola (nel nostro caso prendiamo 0.1) . Il nuovo vettore (w+Δw) sbaglierà di meno. Nel nostro caso (i conti te li lascio per esercizio ![]() ![]() Δwi = η*(t-o)*xi, dove t è il valore che vorremmo ottenere, o l'output del neurone e l'input dell' i-esimo neurone Ovvero per noi Δw0 = Δw1 = 0.1*(1-0.532)*1 = 0.046 circa otteniamo quindi che il nuovo è circa w=[0.17,0.03,0.23,0.05] ed infatti dando in pasto alla rete il colore di prima otteniamo approssimativamente σ( 1*0.17 + 1*0.03 ) = 0.549, un po' meglio. Ora non basta che ripetere l'operazione un bel po' di volte ![]() Avrai notato come non abbiamo toccato i due pesi w2 e w3, questo perchè i corrispondenti valori di ingresso erano a 0 e non davano contributo. Sarà compito di altri altri colori e altri esempi far variare questi due pesi. In alternativa si poteva mappare i colori sull'intervallo [-1,+1] e adattare la funzione σ. A meno di errori (ce ne saranno di sicuro... son 3-4 anni che non tocco piu' 'sta roba) il succo è questo qua, poi si tratta solo di condirlo con le varie salse, ma soprattutto tanta matematica, che a seconda del modello può spaziare dai frattali al calcolo delle probabilità, passando per Hamilton-Jacobi (alla faccia di chi mi diceva che Meccanica Razionale non serviva un piffero ![]() ![]() P.S.: uhm, l'allegato che avevo generato è troppo grosso ![]() ![]()
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:21.