izmenjeno 1 put, poslednji put rapidlord 30.01.2006. u 23:47
Izmene poruke
- rapidlord30.01.2006. u 23:47zapis iz teksta poruke
Poceo sam malo da se zanimam sa neuronskim mrezama, i nije lose islo dok sam radio prepoznavanje paterna. Mreza je troslojna sloj ulaznih neurona , jedan skriveni sloj i jedan izlazni. Backpropagation i Linearna aproksimacija.
Trenirao sam je tako sto sam na ulazu davao kordinatni oblik elemenata npr matrica 10x10, a na izlazu desired-output jedan od mogucih izlaza kocka , trougao ili linija i sve je radilo ok vec posle 500~1000 generisanih primera, mreza je naucila da prepoznaje obike.
E sad pokusaj da je naucim da iga neku poteznu igru (XOX kao najednostavniju) je propao.
Ulaz su 9 neurona i izlaz takodje 9 neurona (skrivenih 10~40) , na ulazu prazno polje nosi 0 , "player 1 CPU" nosi (0.5) i "player 2" nosi vrednost (1.0)
Koja strategija je pozeljna u ovom slucaju, isao sam na to da generisem oko 1000 partija gde svaka ima do 9 poteza. (ukupno oko 4 000 training semplova, samo polovinu koju igra CPU) i svaku partiju gde pobedjuje "player 1 CPU", ubacio u mrezu tako sto za jedno stanje table postavim na ulazu, i postavim desired output sledece odigrano stanje table (jedinicu za odigrano polje ostalo nule). Medjutim nikako da dobijem mrezu koja ce pametno da odigra potez.
Pretpostavljam da gresim u strategiji treninga. Mozda mreza ne moze da razdvoji logicki dva igraca (0.5 i 1.0) , mozda je bolje da ima 18 ulaznih neurona 9 za jednog i 9 za polja drugog igraca.? Ili mozda je greska u arhitekturi mreze.
Procitao sam dosta materijala , ali je sve uglavnom teorijski, nigde nema nesto konkretno za moj primer.
Dali postoji neka posebna strategija ili arhitektura mreze za treninga za potezne table logicke igre?
Trenirao sam je tako sto sam na ulazu davao kordinatni oblik elemenata npr matrica 10x10, a na izlazu desired-output jedan od mogucih izlaza kocka , trougao ili linija i sve je radilo ok vec posle 500~1000 generisanih primera, mreza je naucila da prepoznaje obike.
E sad pokusaj da je naucim da iga neku poteznu igru (XOX kao najednostavniju) je propao.
Ulaz su 9 neurona i izlaz takodje 9 neurona (skrivenih 10~40) , na ulazu prazno polje nosi 0 , "player 1 CPU" nosi (0.5) i "player 2" nosi vrednost (1.0)
Koja strategija je pozeljna u ovom slucaju, isao sam na to da generisem oko 1000 partija gde svaka ima do 9 poteza. (ukupno oko 4 000 training semplova, samo polovinu koju igra CPU) i svaku partiju gde pobedjuje "player 1 CPU", ubacio u mrezu tako sto za jedno stanje table postavim na ulazu, i postavim desired output sledece odigrano stanje table (jedinicu za odigrano polje ostalo nule). Medjutim nikako da dobijem mrezu koja ce pametno da odigra potez.
Pretpostavljam da gresim u strategiji treninga. Mozda mreza ne moze da razdvoji logicki dva igraca (0.5 i 1.0) , mozda je bolje da ima 18 ulaznih neurona 9 za jednog i 9 za polja drugog igraca.? Ili mozda je greska u arhitekturi mreze.
Procitao sam dosta materijala , ali je sve uglavnom teorijski, nigde nema nesto konkretno za moj primer.
Dali postoji neka posebna strategija ili arhitektura mreze za treninga za potezne table logicke igre?