딥 CNN으로 본 바둑 수 평가: 12층 네트워크의 놀라운 성과
초록
본 논문은 12층 깊이의 합성곱 신경망(CNN)을 이용해 인간 프로 바둑 기보를 학습시켜, 한 수 예측 정확도 55%를 달성하고, 검색 없이도 GnuGo를 97% 이기며, 100 000 롤아웃을 사용하는 최신 MCTS 프로그램과 동등한 실력을 보여준다.
상세 분석
이 연구는 바둑이라는 초고차원 게임에서 “수 평가 함수”를 직접 학습할 수 있다는 가설을 검증한다. 저자들은 KGS 서버에서 수집한 29.4 M개의 (보드 상태, 다음 수) 쌍을 19 × 19 크기의 17개(후에 9개의 랭크 플레인 포함) 특성 평면으로 변환하였다. 특성은 돌 색, 자유도, 착수 후 자유도, 착수 가능 여부, 최근 착수 이력, 포획 크기, 사다리 여부, 그리고 현재 플레이어의 급(1~9단) 등 규칙 기반 정보를 그대로 사용한다. 데이터는 8가지 대칭(회전·반사) 변환을 통해 증강했으며, 학습·검증 셋을 사전에 분리해 동일 게임이 겹치지 않도록 했다.
네트워크는 12개의 합성곱 층으로 구성되었으며, 첫 층은 5 × 5 필터, 이후는 3 × 3 필터를 사용한다. 각 층은 64~192개의 필터를 가지고, 패딩을 통해 19 × 19 출력 크기를 유지한다. 활성화 함수는 ReLU이며, 위치 의존 편향을 추가해 바둑판의 각 좌표마다 별도 편향을 학습한다. 출력은 두 개의 19 × 19 소프트맥스(흑·백 차례)로, 각 위치에 대한 착수 확률을 제공한다. 전체 파라미터는 2.3 M개, 연결 수는 6.3 × 10⁸개에 달한다.
학습은 50개의 GPU에서 비동기식 SGD(learning rate = 0.128, 배치 = 128)로 25 epoch을 수행한 뒤, 단일 GPU에서 3 epoch을 학습률 감소와 함께 미세조정했다. 과적합이 거의 없으며, 테스트 정확도는 54.5%로 훈련 정확도와 차이가 0.5%에 불과했다. 이는 현재 모델이 아직 언더피팅 상태임을 시사한다.
실험에서는 네트워크 깊이와 필터 수가 성능에 미치는 영향을 조사했다. 3층·16필터 모델은 37.5% 정확도와 3.4% 승률을 보였지만, 12층·128필터 모델은 55.2% 정확도와 GnuGo 대비 97.2% 승률을 기록했다. 또한, 상위 n개의 예측 중 정답이 포함될 확률은 n=10일 때 94%에 달해, 제한된 탐색 공간에서도 유용하게 활용될 수 있음을 보여준다.
특이하게, 랭크 플레인을 입력에 포함시켜 “강한 플레이어” 스타일을 모방하도록 하면, 동일 네트워크가 1단부터 9단까지 순차적으로 더 높은 승률을 보였다. 이는 네트워크가 플레이어 급에 따라 전략적 편향을 학습할 수 있음을 의미한다.
무게 대칭(8방향 회전·반사)에 대한 실험에서는 얕은 네트워크(3·6층)에서는 약간의 정확도 향상이 있었지만, 12층 깊은 모델에서는 차이가 사라졌다. 이는 깊은 네트워크 자체가 대칭성을 충분히 학습한다는 점을 시사한다.
검색과의 결합 실험에서는 CNN을 비동기식으로 GPU에서 평가하고, MCTS에 “지연 사전 지식” 형태로 삽입했다. 100 000 롤아웃 설정에서 MCTS는 순수 CNN을 87% 이기며, 전체 성능을 크게 끌어올렸다.
이 논문은 (1) 깊고 넓은 CNN만으로도 바둑 수 평가가 가능함, (2) 인간 전문가 수준의 예측 정확도와 실전 승률을 달성함, (3) 기존 MCTS와 자연스럽게 결합해 더 높은 수준의 플레이를 구현할 수 있음을 입증한다. 향후 연구는 네트워크 규모 확대, 추가 전술 특성 도입, 그리고 강화학습 기반 자체 플레이 데이터 활용을 통해 언더피팅을 해소하고, 완전 자가 학습형 바둑 AI로의 전이를 목표로 할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기