【쇼기 AI】「쇼기 AI에서 배우는 딥 러닝」을 읽는♪~VGG 이용의 Policy_Value 네트워크
16329 단어 컴퓨터 장기딥러닝파이썬DeepLearning데이터 분석
제 2 밤도 본서에서 벗어나지만 어젯밤 연장으로 VGGLike 모델 을 이용한 Policy_value 네트워크 모델을 작성하여 힘을 보았다.
했던 일
(1) VGGLike 모델을 이용한 Policy_value 네트워크 모델
(2) 파라미터 사이즈와 수렴성에 대해서
(3) 강해졌습니까? ?
(1) VGGLike 모델을 이용한 Policy_value 네트워크 모델
이번 경우, 어젯밤의 VGGLike 모델로부터 상상할 수 있다고 생각합니다만, 이하와 같습니다.
from chainer import Chain
import chainer.functions as F
import chainer.links as L
from pydlshogi.common import *
ch = 192
fcl = 256
class PolicyValueNetwork(Chain):
def __init__(self):
super(PolicyValueNetwork, self).__init__()
with self.init_scope():
self.conv1_1 = L.Convolution2D(104, ch, 3, pad=1)
self.conv1_2 = L.Convolution2D(ch, ch, 3, pad=1)
self.conv2_1 = L.Convolution2D(ch, ch*2, 3, pad=1)
self.conv2_2 = L.Convolution2D(ch*2, ch*2, 3, pad=1)
self.conv3_1 = L.Convolution2D(ch*2, ch*4, 3, pad=1)
self.conv3_2 = L.Convolution2D(ch*4, ch*4, 3, pad=1)
self.conv3_3 = L.Convolution2D(ch*4, ch*4, 3, pad=1)
self.conv3_4 = L.Convolution2D(ch*4, ch*4, 3, pad=1)
# policy network
self.l13=L.Convolution2D(in_channels = ch*4, out_channels = MOVE_DIRECTION_LABEL_NUM, ksize = 1, nobias = True)
self.l13_bias=L.Bias(shape=(9*9*MOVE_DIRECTION_LABEL_NUM))
# value network
self.l13_v=L.Convolution2D(in_channels = ch*4, out_channels = MOVE_DIRECTION_LABEL_NUM, ksize = 1)
self.l14_v=L.Linear(9*9*MOVE_DIRECTION_LABEL_NUM, fcl)
self.l15_v=L.Linear(fcl, 1)
def __call__(self, x):
h = F.relu(self.conv1_1(x))
h = F.relu(self.conv1_2(h))
#h = F.max_pooling_2d(h, 2, 2)
#h = F.dropout(h, ratio=0.25)
h = F.relu(self.conv2_1(h))
h = F.relu(self.conv2_2(h))
#h = F.max_pooling_2d(h, 2, 2)
#h = F.dropout(h, ratio=0.25)
h = F.relu(self.conv3_1(h))
h = F.relu(self.conv3_2(h))
h = F.relu(self.conv3_3(h))
h = F.relu(self.conv3_4(h))
#h = F.dropout(h, ratio=0.25)
h13 = self.l13(h)
# policy network
h13 = self.l13(h)
policy = self.l13_bias(F.reshape(h13, (-1, 9*9*MOVE_DIRECTION_LABEL_NUM)))
# value network
h13_v = F.relu(self.l13_v(h))
h14_v = F.relu(self.l14_v(h13_v))
value = self.l15_v(h14_v)
return policy, value
(2) 파라미터 사이즈와 수렴성에 대해서
역시 위의 네트워크 모델은 크기가 크고 수렴 시간 등은 다음과 같습니다.
이름
loss
일치율(방책)
일치율(가치)
비고
VGGLike
2.37443
0.4219189
0.69108087
VGGLike8 레이어
Re s 네츠 mp 40 ※
2.29075
0.4325099
0.6906338
Resnet20block 43층
ResnetSimple20
2.308355
0.4326057
0.6941468
Resnet10block23층
ResnetSimple10
2.360802
0.42507267
0.6948055
Resnet5block13층
ResnetTry30
2.27104
0.43431032
0.6986858
ResnetTri10block 33층
ResnetVGGLike5
2.279315
0.43526843
0.69514084
ResnetVGGLike5block 19층
모델
time/epoch
레이어
params/MB
VGGL8
90:52
8층
78.72
S43
57:10
43층
49.73
VGGL19
45:19
19층
27.74
S23
37:59
23층
25.61
S13
30:30
13층
13.56
역시, 이번 VGGLike 모델은 파라미터도 많아, 시간도 대폭 걸리는 것이 되고 있다.
그리고 dropout을 사용하고 있는 소위인지, 파라미터가 많은 것에 대해서는 그다지 일치율도 오르지 않았다.
(3) 강해졌습니까? ?
숫자가 이야기하는 것처럼, 또 하나 강하다고는 좋지만, 그리고 다음과 같은 재미있는 승부가 된 것도 있다.
요약
・VGGLike인 Plocy_value의 네트워크 모델로 피팅해 보았다
· 매개 변수가 많아지고 시간이 많이 걸릴만큼 강하지는 않았습니다.
· 하나의 벽에 부딪쳤다고 느낀다.
Reference
이 문제에 관하여(【쇼기 AI】「쇼기 AI에서 배우는 딥 러닝」을 읽는♪~VGG 이용의 Policy_Value 네트워크), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MuAuan/items/fe8e22826cf694678575텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)