← 개발기 목록

학습은 10분 안에 끝낸다

개발기 4편 · 2026-10-13

10분 학습 동안의 학습 곡선 영상 장면
10분 학습 동안 실제로 기록한 곡선 영상의 한 장면.

학습 한 번은 10분을 넘기지 않기로 정했습니다. 빨리 배우는 것이 이 게임을 고른 이유이기 때문입니다. 학습은 10분을 상한으로 돌립니다. 이 규칙을 세운 뒤 처음 돌린 0단계 학습은 10.1분이 걸렸습니다. 상한을 0.1분 넘긴 것도 기록에 그대로 남겼습니다. 갱신은 870번이었지만, 1단계 규칙 봇과 20판을 해 보니 최고 1승이었습니다. 배운 것이 거의 없었습니다. 같은 설정과 같은 시작값으로 한 번 더 돌려도 10.1분, 870번, 최고 1승으로 같은 숫자가 나와, 다시 해도 같은 결과가 나온다는 것은 확인했습니다.

처음 계산은 낙관적이었습니다. 게임 엔진만 따로 돌리면 초당 13만 틱이 나왔습니다. 한 틱은 0.1초 분량의 진행입니다. 그래서 10분이면 판이 아주 많이 돌 것이라고 봤습니다.

실제로 재 보니 달랐습니다. 판 정보를 숫자로 만들고, 신경망을 돌리고, 배우는 과정까지 합치면 초당 627틱이었습니다. 10분이면 약 38만 틱, 판으로는 약 400판입니다. 엔진만 잰 숫자를 전체 속도로 착각했던 것입니다.

속도가 느린 이유도 하나 찾았습니다. 그래픽카드가 있는데도 학습 환경에 설치된 계산 도구가 그래픽카드를 쓰지 않는 판이었습니다. 그래서 신경망 계산이 전부 프로세서에서 돌았습니다. 이 부분도 기록에 남겼습니다.

그래서 숫자를 고쳐 적었습니다. 틀린 추정을 지우지 않고 틀렸다고 남겨 두었습니다. 이후 속도 이야기는 모두 실제로 잰 숫자로만 합니다. 시간을 정확히 재야 여러 번의 실험을 공정하게 비교할 수 있습니다.

숫자를 적는 말도 이때 정했습니다. 동시에 도는 판 수에 진행한 틱을 곱한 것은 '움직인 횟수', 학습이 가중치를 고친 횟수는 '뇌 고친 횟수', 끝난 판의 수는 '게임 수'라고 부르고, 게임 수는 반드시 따로 적습니다. 같은 말을 써야 단계마다 숫자를 나란히 놓을 수 있습니다.

이렇게 다시 계산해 보니 10분 동안 돌릴 수 있는 판은 약 400판 정도였습니다. 판 하나가 수백 틱씩 걸리는 것을 생각하면 빠듯한 양입니다. 그래서 다음 시험에서는 맵을 절반으로 줄여 같은 10분에 1.7배 빨리 돌려 보았습니다.

다른 글