algorithm - Train feedforward neural network -


i have feedforward neural network, goal learn how play game (in exemple, connect 4). train neural network playing games against itself.

my problem is, don't know how train neural network. if had algorithm determines best move given board, be, in mind, easier, don't want use way.

so, don't know if move move or not, know player won (the neural network play both player, know if it's first or second player won), , moves played during game.

at moment, wrote program in go initialize neural network, can check if board of connect 4 win or not, calcul output of neural network according board , can play against neural network, or let play against itself. me, need of function train neural network @ end of game ? there did : https://github.com/julien2313/connectfour

to use neural network (or in fact supervised learning method) autonomous game playing, need determine numerical or categorical value algorithm can learn.

one potential solution map game state actions. map game state score. in games these may not possible learn (connect 4 has no score), or data may not readily available. in situation supervised learning algorithms cannot (or @ least should not) used.

another framework machine learning exists called reinforcement learning handles problem quite elegantly. instead of providing neural network labelled data, can train algorithm pick moves (or actions) throughout game providing 1 if algorithm (agent) won , -1 if agent lost.

the popular algorithm (although perhaps not best) in framework q-learning. in fact, common combine q-learning deep neural networks play incredibly challenging games. same set google's deepmind including david silver used beat lee sedol @ go.

i suggest study of richard sutton's reinforcement learning: introduction learn more subject, faster learning experience wikipedia's q-learning article may suffice.


Comments

Popular posts from this blog

sequelize.js - Sequelize group by with association includes id -

android - Robolectric "INTERNET permission is required" -

java - Android raising EPERM (Operation not permitted) when attempting to send UDP packet after network connection -