[ 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]
[ Shadowed @ 31.01.2006. 07:20 ] @
Citat:
Mozda mreza ne moze da razdvoji logicki dva igraca (0.5 i 1.0)

I meni se cini da je u ovome bar deo problema. Mozda bi bila bolja varijanta ako bi koristio -1 i 1 ako tvoje mreza moze raditi sa negativnim vrednostima.

Takodje, ako nisi, bilo bi korisno da utvrdis idealnu stradegiju igre. Verovatno ces lako naci na netu a ako ne nadjes kazi pa cu ti napisati.
[ rapidlord @ 31.01.2006. 09:24 ] @
Citat:
-1 i 1 ako tvoje mreza moze raditi sa negativnim vrednostima.

Nemoze , samo od 0 do 1.
[ StanislavMircic @ 06.05.2006. 20:49 ] @
Mislim da mreza koju si izabrao i nije najbolja za ovaj problem. Evo zasto:


Tvoja mreza na ulazu ima 9-to dimenzioni vektor. Svaki ulaz u tvoju mrezu predstavlja jednu tacku u 9-to dimenzionom ulaznom prostoru. Da bi se izvrsila klasifikacija, u principu, potrebno je prvo taj deveto dimenzioni prostor podeliti na oblasti a potom svakoj od oblasti dodeliti jednu od 9 klasa (upaliti jedan od 9 izlaza mreze). Posto igrica ima dosta razlicitih stanja, a susedna stanja (stanja koja se razlikuju za male vrednostu u ulaznom vektoru) cesto ne trebaju da se svrstaju u istu klasu, potrebno je podeliti ulazni prostor na MNOGO OBLASTI.
Mreza tu podelu ostvaruje preko neurona u skrivenom sloju. Svaki neuron odgovara jednoj hiper ravni (8mo dimenziona ravan) koja deli prostor na dva dela tj. ako je ulaz tacka sa jedne strane ravni neuron ce biti aktivan a ako je sa druge strane ravni neuron nece biti aktivan. (To naravno vazi za Hard Limit izlazne funkcije neurona. Za ostale je nesto drugacije ali slicno.) Vise tih ravni u ulaznom prostoru mogu kreirati zatvorene ili otvorene oblasti i na taj nacin deliti prostor kako nama treba.

S obzirom da je tebi potrebno ulazni prostor podeliti na mnogo oblasti potrebno ti je mnogo hiper ravni odnosno mnogo neurona u skrivenom sloju. To bi prakticno bilo ucenje mreze svih kombinacija ulaza jer u ovom problemu bas i ne mozemo da racunamo na generalizaciju mreze.
Mreza koja mi sad jedina pada na pamet za ovaj problem je Grossbergova ARTMAP mreza
http://cns-web.bu.edu/Profiles/Grossberg/
ali i kod nje ces dobiti namnozavanje velikog broja neurona.

Tako da ovo bas i nije problem na kojem neuronske mreze mogu da iskazu svoje kvalitete... Mada mozda nko drugi ima neku drugu ideju :)

Poz.






[ markone @ 05.06.2006. 20:55 ] @
@rapidlord da li si batalio ili uspeo da je "naucis" da igra x-o?

je l' ima neko u pdf-u nesto vise o neuronskim mrezama, ali neki dobar link?
[ rapidlord @ 12.06.2006. 02:04 ] @
@markone
Tek sam sad video Mircicev post, batalio sam bio mrezu, ali mislim da cu probati sa "Stephen Grossberg-om". Sto se tice primera i tekstova imam neke vrlo dobre (prakticne) , i gomilu teorijskih. Videcu ovih dana da skupim sve i zipujem pa cu da ti posaljem.

@StanislavMircic
Probacu ovo sto si mi rekao, mada se nebih slozio da Neur.M nemogu da se iskazu u logickim igrama, koristio sam jednu odlicnu mrezu koja je igrala BackGammon i to mnogo dobro i mnogo brzo, remek delo, profesionalno uradjena sa bitaj boga koliko neurona, nazalost previse komplikovana da bih je shvatio. Sve u svemu mislim da ako je dobro isprojektovana moze dobro da posluzi za logicku igru.

Javicu se ako mi podje za rukom da napravim XOX nm.
[ markone @ 13.07.2006. 21:55 ] @
rapidlord, je l' si video moj pm? aj nema veze sto si iskulirao, nego meni to sad treba ozbiljno i sto pre...?

je l' ima neko link sa dobro objasnjenim razlikama izmedju mreza? (moze i na eng)