컴퓨터 쇼기 연구를 오래 지켜본 사람이라면, 2017년에 열린 제4회 전왕전(電王戦) 을 하나의 전환점처럼 느낄 가능성이 큽니다.
당시 인간 측 대표는 명인(名人) 사토 아마히코(佐藤天彦), 컴퓨터 측 대표는 쇼기 프로그램 포난자(Ponanza). 이 대국에서 명인이 컴퓨터에게 완패하면서, 많은 매체에서 “기계가 톱 프로를 공식 무대에서 압도한 최초의 순간”이라는 식으로 상징화되기도 했습니다.
흥미로운 점은, 포난자가 단숨에 튀어나온 괴물 같은 존재가 아니라는 겁니다. 그 뒤에는 보난자(Bonanza) 라는 선배 프로그램과, 그 안에서 제안된 보난자 메서드(Bonanza Method) 라는 학습 기법이 있습니다. 이 메서드는 이후 컴퓨터 쇼기, 더 나아가 NNUE 스타일의 평가 함수까지 이어지는 중요한 기술적 토대가 됩니다.
이번 글에서는 당시 포난자가 사용한 보난자 메서드(Bonanza Method)를 중심으로, 이를 기점으로 2017~2023년까지 AI 기술이 어떤 방향으로 발전했는지를 함께 살펴보고자 합니다.
보난자 메서드(Bonanza Method)
학습할 국면 집합을 $\mathbf{P}$, 특징 벡터를 $\mathbf{v}$로 정의합니다. 국면 ${p}$에서 가능한 수의 개수를 ${M_p}$로 표기하고, 기보에서 선택된 수에 의한 다음 국면을 ${p_1}$, ${m}$번째 수에 의한 국면을 ${p_m}$이라 할 때 목적 함수는 다음과 같습니다:
$J(\mathbf{P}, \mathbf{v}) = \sum_{p \in \mathbf{P}} \sum_{m=2}^{M_p} T_p \left[ \xi(p_m, \mathbf{v}) - \xi(p_1, \mathbf{v}) \right]$
여기서 $\xi(p_m, \mathbf{v})$는 미니맥스 탐색 값이며, $T_p(x)$는 손실 함수입니다.
주요 특징:
- Max 플레이어 차례: $T_p(x) = T(+x)$
- Min 플레이어 차례: $T_p(x) = T(−x)$
- 시그모이드 함수 사용: $\frac{1}{1 + e^{-0.0273x}}$
핵심원리
프로 기사의 기보에서 선택된 수의 정확한 평가값을 알 수 없으므로, 현재 평가 함수를 기준으로 기보에서 선택된 수와 다른 수들 간의 평가값 차이를 손실 함수로 활용합니다.
$\frac{\partial J(\mathbf{P}, \mathbf{v})}{\partial v_i} = \sum_{p \in \mathbf{P}} \sum_{m=2}^{M_p} \frac{d T_p(x)}{dx} \left[ \frac{\partial \xi(p_m, \mathbf{v})}{\partial v_i} - \frac{\partial \xi(p_1, \mathbf{v})}{\partial v_i} \right]$
학습 과정 특징:
- KPP(왕 위치 및 기물 관계) 특징의 선형 결합 사용
- L1 정규화 항 추가로 수렴성 향상
- 45,833국면 학습에 약 1개월 소요 (2006년 기준)
알파고 기법 연계 가능성
알파고의 정책 네트워크(Policy Network)에서 사용된 강화학습 방식을 쇼기에 적용할 경우:
- 정책 네트워크: 기물 이동 패턴 학습
- 가치 네트워크: 장기적 포지션 평가
- Monte Carlo 트리 탐색: 효율적인 수 읽기
다만 KPP 관계 특징이 신경망 기반 모델에 효과적일지 여부는 추가 실험이 필요합니다. 2025년 현재 딥러닝 기반 쇼기 AI들은 이미 이러한 접근법을 발전시켜 적용 중입니다.