Good stuff, Hiroshi. Looks like I don't need to answer the questions regarding value network. :)
Aja On Sat, Mar 19, 2016 at 9:23 PM, Hiroshi Yamashita <y...@bd.mbn.or.jp> wrote: > What are you using for loss? >> > > I use this, > > layers { > name: "loss" > type: EUCLIDEAN_LOSS > bottom: "fc14" > bottom: "label" > top: "loss" > } > > -------------------------------------------------------- > name: "AyaNet" > layers { > name: "mnist" > type: DATA > top: "data" > data_param { > source: "train_i50_v_2k_leveldb" > # backend: LMDB > batch_size: 256 > } > include: { phase: TRAIN } > } > layers { > name: "mnist" > type: HDF5_DATA > top: "label" > hdf5_data_param { > source: "/home/yss/test/train_v_2k_i50_11_only_hdf5/aya_data_list.txt" > batch_size: 256 > } > include: { phase: TRAIN } > } > layers { > name: "mnist" > type: DATA > top: "data" > data_param { > source: "test_i50_v_2k_leveldb" > # backend: LMDB > batch_size: 256 > } > include: { phase: TEST } > } > layers { > name: "mnist" > type: HDF5_DATA > top: "label" > hdf5_data_param { > source: "/home/yss/test/test_v_2k_i50_11_only_hdf5/aya_data_list.txt" > batch_size: 256 > } > include: { phase: TEST } > } > > > #this part should be the same in learning and prediction network > layers { > name: "conv1_5x5_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "data" > top: "conv1" > convolution_param { > num_output: 128 > kernel_size: 5 > pad: 2 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu1" > type: RELU > bottom: "conv1" > top: "conv1" > } > > layers { > name: "conv2_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv1" > top: "conv2" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu2" > type: RELU > bottom: "conv2" > top: "conv2" > } > > layers { > name: "conv3_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv2" > top: "conv3" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu3" > type: RELU > bottom: "conv3" > top: "conv3" > } > > layers { > name: "conv4_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv3" > top: "conv4" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu4" > type: RELU > bottom: "conv4" > top: "conv4" > } > > > layers { > name: "conv5_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv4" > top: "conv5" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu5" > type: RELU > bottom: "conv5" > top: "conv5" > } > > layers { > name: "conv6_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv5" > top: "conv6" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu6" > type: RELU > bottom: "conv6" > top: "conv6" > } > > layers { > name: "conv7_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv6" > top: "conv7" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu7" > type: RELU > bottom: "conv7" > top: "conv7" > } > > layers { > name: "conv8_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv7" > top: "conv8" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu8" > type: RELU > bottom: "conv8" > top: "conv8" > } > > layers { > name: "conv9_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv8" > top: "conv9" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu9" > type: RELU > bottom: "conv9" > top: "conv9" > } > > layers { > name: "conv10_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv9" > top: "conv10" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu10" > type: RELU > bottom: "conv10" > top: "conv10" > } > > layers { > name: "conv11_3x3_128" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv10" > top: "conv11" > convolution_param { > num_output: 128 > kernel_size: 3 > pad: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu11" > type: RELU > bottom: "conv11" > top: "conv11" > } > > layers { > name: "conv12_1x1_1" > type: CONVOLUTION > blobs_lr: 1. > blobs_lr: 2. > bottom: "conv11" > top: "conv12" > convolution_param { > num_output: 1 > kernel_size: 1 > pad: 0 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu12" > type: RELU > bottom: "conv12" > top: "conv12" > } > > layers { > name: "fc13" > type: INNER_PRODUCT > bottom: "conv12" > top: "fc13" > inner_product_param { > num_output: 256 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "relu13" > type: RELU > bottom: "fc13" > top: "fc13" > } > > layers { > name: "fc14" > type: INNER_PRODUCT > bottom: "fc13" > top: "fc14" > inner_product_param { > num_output: 1 > weight_filler { > type: "xavier" > } > bias_filler { > type: "constant" > } > } > } > layers { > name: "tanh14" > type: TANH > bottom: "fc14" > top: "fc14" > } > > layers { > name: "loss" > type: EUCLIDEAN_LOSS > bottom: "fc14" > bottom: "label" > top: "loss" > } > -------------------------------------------------------- > > Thanks, > Hiroshi Yamashita > > ----- Original Message ----- From: "Detlef Schmicker" <d...@physik.de> > To: <computer-go@computer-go.org> > Sent: Saturday, March 19, 2016 7:41 PM > Subject: Re: [Computer-go] Value Network > > > > What are you using for loss? >> >> this: >> >> layers { >> name: "loss4" >> type: EUCLIDEAN_LOSS >> loss_weight: 2.0 >> bottom: "vvv" >> bottom: "pool2" >> top: "accloss4" >> } >> >> >> ? >> >> Am 04.03.2016 um 16:23 schrieb Hiroshi Yamashita: >> >>> Hi, >>> >>> I tried to make Value network. >>> >>> "Policy network + Value network" vs "Policy network" Winrate >>> Wins/Games 70.7% 322 / 455, 1000 playouts/move 76.6% 141 / >>> 184, 10000 playouts/move >>> >>> It seems more playouts, more Value network is effetctive. Games is >>> not enough though. Search is similar to AlphaGo. Mixing parameter >>> lambda is 0.5. Search is synchronous. Using one GTX 980. In 10000 >>> playouts/move, Policy network is called 175 times, Value network is >>> called 786 times. Node Expansion threshold is 33. >>> >>> >>> Value network is 13 layers, 128 filters. (5x5_128, 3x3_128 x10, >>> 1x1_1, fully connect, tanh) Policy network is 12 layers, 256 >>> filters. (5x5_256, 3x3_256 x10, 3x3_1), Accuracy is 50.1% >>> >>> For Value network, I collected 15804400 positions from 987775 >>> games. Games are from GoGoD, tygem 9d, 22477 games >>> http://baduk.sourceforge.net/TygemAmateur.7z KGS 4d over, 1450946 >>> games http://www.u-go.net/gamerecords-4d/ (except handicaps >>> games). And select 16 positions randomly from one game. One game is >>> divided 16 game stage, and select one of each. 1st and 9th position >>> are rotated in same symmetry. Then Aya searches with 500 playouts, with >>> Policy network. And store winrate (-1 to +1). Komi is 7.5. This 500 >>> playouts is around 2730 BayesElo on CGOS. >>> >>> I did some of this on Amazon EC2 g2.2xlarge, 11 instances. It took 2 >>> days, and costed $54. Spot instance is reasonable. However g2.2xlarge(GRID >>> K520), is 3x slower than GTX 980. My Pocicy network(12L 256F) takes >>> 5.37ms(GTX 980), and 15.0ms(g2.2xlarge). Test and Traing loss are 0.00923 >>> and 0.00778. I think there is no >>> big overfitting. >>> >>> Value network is effective, but Aya has still fatal semeai >>> weakness. >>> >>> Regards, Hiroshi Yamashita >>> >> > _______________________________________________ > Computer-go mailing list > Computer-go@computer-go.org > http://computer-go.org/mailman/listinfo/computer-go >
_______________________________________________ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go