[ rapidlord @ 30.01.2006. 22:44 ] @
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? [Ovu poruku je menjao rapidlord dana 30.01.2006. u 23:47 GMT+1] |