딥 컨볼루션 신경망으로 바둑 두기
초록
본 논문은 전문가의 수인 바둑 수를 예측하도록 딥 컨볼루션 신경망(DCNN)을 학습시켜, 41%‑44% 수준의 높은 수 예측 정확도를 달성하고, Monte Carlo Tree Search 없이도 GNU Go와 Fuego를 상대로 승리하는 실전 바둑 실력을 입증한다.
상세 분석
이 연구는 바둑이라는 고차원 전략 게임에서 인간 전문가가 보이는 “패턴 인식” 능력을 딥러닝으로 모방하려는 시도이다. 저자들은 먼저 바둑판을 19×19 크기의 3채널(자신의 돌, 상대 돌, 단순 코 제약) 혹은 7채널(자유도별 돌 분포) 텐서로 인코딩하였다. 이는 기존 연구가 사용한 2채널 입력에 비해 게임 상황의 세부 정보를 더 풍부하게 제공한다는 점에서 의미가 크다.
네트워크 구조는 깊은 컨볼루션 레이어를 다수 쌓고, 마지막에 완전 연결층을 두는 전형적인 DCNN 형태이다. 입력 크기가 작아 레이어마다 0‑패딩을 적용해 출력 차원을 19×19로 유지함으로써 공간 정보를 손실하지 않았다. 활성화 함수는 ReLU를, 최적화는 확률적 경사 하강법(SGD)과 학습률 스케줄링을 사용했으며, 깊이를 늘릴수록 정확도가 지속적으로 상승한다는 실험 결과는 “스케일링 법칙”이 바둑에도 적용됨을 시사한다.
가장 혁신적인 기여는 **가중치 대칭 결합(weight tying)**이다. 바둑은 회전·반사 대칭을 갖는 게임이므로, 네트워크 내부에서 동일한 필터를 8가지 대칭 변환에 공유하도록 설계했다. 이는 파라미터 수를 크게 줄이는 동시에 대칭 불변성을 강제함으로써 학습 효율과 일반화 성능을 동시에 끌어올렸다. 논문에 제시된 소거 실험(ablation study)에서는 대칭 결합을 제거했을 때 정확도가 2~3%포인트 하락하는 것으로, 이 기법의 효과가 명확히 입증된다.
데이터셋은 두 개의 공개 바둑 데이터베이스(프로와 아마추어 게임)이며, 각각 41.1%와 44.4%의 Top‑1 예측 정확도를 기록했다. 이는 이전 최고 기록(≈41%)을 크게 넘어선 수치다. 또한, 예측 모델을 그대로 바둑 엔진으로 활용했을 때, Monte Carlo Tree Search 없이도 GNU Go(레벨 9 kyu)와 대등하거나 승리했으며, Fuego와의 대국에서도 제한된 연산 시간(수십 밀리초) 내에 몇 차례 승리를 거두었다. 이는 “패턴 기반” 접근법만으로도 실전 수준의 바둑 실력을 확보할 수 있음을 보여준다.
한계점으로는(1) 패스(move pass)를 모델링하지 않아 게임 종료 단계에서의 정확도가 떨어질 수 있고, (2) 현재는 단순 코 제약만을 입력에 포함시켜 복잡한 슈퍼‑코 규칙을 무시한다는 점이다. 또한, 네트워크가 깊어질수록 학습 시간과 메모리 요구량이 급증하므로, 실제 서비스 적용을 위해서는 하드웨어 최적화가 필요하다.
전반적으로 이 논문은 바둑이라는 복합적 전략 게임에 딥러닝을 적용한 초기 성공 사례이며, 가중치 대칭 결합, 다채널 입력 설계, 그리고 깊은 컨볼루션 구조가 결합될 때 인간 수준의 패턴 인식과 실제 플레이 능력을 동시에 달성할 수 있음을 실증한다. 향후 연구는 MCTS와의 하이브리드, 강화학습 기반 정책·가치 네트워크와의 통합, 그리고 더 정교한 규칙 인코딩을 통해 현재의 성과를 한층 끌어올릴 여지가 크다.
댓글 및 학술 토론
Loading comments...
의견 남기기