고스톱 AI 세션 시작
게임을 대신 쳐 주는 고스톱 AI를 만들자는 도입 대화로 세션을 연다. NHN Game AI 팀이 바둑 AI 개발 경험을 바탕으로, 사람 수준부터 그 이상까지 똑똑한 고스톱 AI를 만드는 과정을 예고하며 발표 목차를 안내한다.
명절에 흔한 고스톱(3인용)과 맞고(2인용)의 규칙과 유래를 소개한다. 같은 그림의 패를 맞춰 족보를 만들고 점수를 얻는 방식, 고를 부르거나 스톱하는 선택, 광·고도리·피 등 기본 개념을 영상과 함께 설명하며 게임의 재미와 운 요소를 짚는다.
고스톱 AI 구현의 핵심인 바둑과의 차이를 정리한다. 바둑은 판 상황이 모두 공개된 완전정보지만 고스톱은 상대 손패가 관찰 불가하고, 결정적 전개가 아니라 뽑는 패에 따라 상황이 확률적으로 바뀌며, 액션셋도 내기·먹기·고 부르기 등으로 다양하다는 세 가지 차이를 설명한다.
강화학습 관점에서 맞고 AI에 필요한 다섯 재료를 정의한다. 게임 규칙을 담은 환경, 손패·바닥패 등 현재 상태, 유효한 액션셋, 로열티/페널티인 리워드, 그리고 상태를 입력받아 최적 액션을 내놓는 모델을 소개한다. 상태 정의 시 상대 손패를 넣지 않는 철칙을 강조한다.
지도학습·휴리스틱·랜덤 에이전트를 서로 대전시켜 성능을 평가한다. 운 요소가 커 승률만으로는 변별이 어렵다는 문제를 지적하고, 딴 점수를 보는 점수 메트릭을 함께 써야 실질 성능이 드러남을 설명한다. 만 판씩 대전한 결과로 사람 수준 달성 여부를 확인한다.
인간을 능가하는 AI를 위한 몬테카를로 트리 탐색(MCTS)을 설명한다. 현재 상황에서 가능한 수를 트리로 펼쳐 끝까지 탐색하면 최적 수를 알 수 있지만, 경우의 수가 폭발하는 문제가 있다. 이를 풀기 위한 너비·깊이 두 가지 가지치기 방안을 예고한다.
탐색 트리의 너비를 줄이는 가지치기를 다룬다. 각 상황에서 어떤 카드를 낼지 확률로 알려주는 폴리시 네트워크로 좋지 않은 선택지를 제외해 탐색량을 줄인다. 데모에서 폴리시 값(카드별 추천 확률)을 막대그래프로 시각화해 보여주며 원리를 설명한다.
인간 데이터 없이 자가 대국(셀프 플레이)으로 폴리시·밸류 네트워크를 학습시키는 방법을 설명한다. 처음엔 무작위 정책에서 시작해 MCTS 탐색 결과로 네트워크를 반복 업데이트하고, 밸류 네트워크는 게임 승패 결과로 학습한다. 만 판 기준 품평에서 인간 데이터 없이도 좋은 성능을 낸 결과를 확인한다.