알파고 제로에서 알파제로로




구글 딥마인드는 2018년 12월 알파제로를 발표하였습니다. 딥마인드사는 이번 연구를 통해 알파고 제로의 알고리즘이 쇼기(장기), 체스에도 성공적으로 사용될 수 있다는 것을 보여주었습니다. 

알파고 제로는 바둑 인공지능이기 때문에 학습 과정을 용이하게 하기 위해 바둑에만 적용되는 특성의 최적화들이 적용되어 있었습니다.

예를 들면 바둑에서는 상하좌우가 뒤집어지거나 90도 옆으로 판이 돌아가더라도 경기 내용은 동일한 특성이 있어, 뒤집어진 데이터에 대해서도 학습하는 최적화가 사용되었었습니다.

또한 뉴럴 네트워크를 학습하는 알고리즘이 조금 더 단순해졌고, 승/패가 아닌 승/무/패 에 대해서도 대응할 수 있게 하는 등의 몇가지 변화가 있습니다.

이런 작은 변화들이 있지만, 알파제로 알고리즘은 알파고제로와 비교해 알고리즘 기본 구조가 크게 변하지는 않았습니다. 알고리즘이 크게 바뀌어 체스나 장기에 특화된 알고리즘으로 변경되지 않더라도 성공적으로 잘 학습하고 동작한다는 것이 알파제로의 메인 스토리입니다. 

알파제로는 알파고제로를 61% 승률로 이길 수 있으며, 체스와 쇼기에 대해서도 어느 인공지능 프로그램보다 강력한 성능을 보여줍니다. 

하지만 아직 보드게임 인공지능일 뿐

알파제로 알고리즘은 바둑 뿐 아니라 체스, 쇼기 또한 정복하면서 범용성이 강화된 알고리즘이지만, 아직은 판 위에 무언가를 두면서 대결하는 보드게임 인공지능에 불과합니다. 

아직 현실에 존재하는 문제에 적용될 만큼 범용적이지 못하며, 바둑, 체스와 같이 컴퓨터가 규칙을 정확하게 알고 있을 수 있는 경우에 한해서만 적용될 수 있습니다.

바둑에서는 상대의 돌로 둘러싸인 공간에는 돌을 둘 수 없고, '패'(나무위키)와 같이 번갈아서 상대방의 돌을 잡는 과정이 반복되지 않게 하는 규칙이 있습니다.

체스에는 각 말마다 갈 수 있는 위치가 때에 따라 정해져 있고, 캐슬링, 승진, 앙파상(나무위키)과 같은 규칙들이 존재합니다. 

(Human data(기보 데이터), Domain knowledge (바둑에 특정된 데이터 처리기법)에 대한 어려움은 알파제로까지 오면서 해결되어 왔지만, Known rules(규칙)에 대한 어려움은 아직 남아있는 것을 볼 수 있음.)

알파제로 알고리즘은 위에서 이야기했던 규칙들과 같이 복잡한 규칙들을 미리 입력받아, 다음에 어디에 둘 수 있는지, 어디에는 두는게 불가능한지 판단할 수 있어야 동작이 가능합니다. 규칙에 어긋나는 곳에 두게 된다면 당연하게도 알고리즘이 잘 동작하지 않을 것입니다.

컴퓨터에 규칙을 입력하려면 먼저 사람이 규칙을 정확히 이해한 뒤 컴퓨터가 알아들을 수 있는 형태로 넣어주어야 하는데, 바둑, 체스, 쇼기와 같은 경우는 비교적 규칙이 단순하기 때문에 이러한 과정이 가능했습니다.

하지만 규칙이 너무 복잡하여 컴퓨터에게 규칙을 알려주기 힘든 경우는, 알파제로 알고리즘을 적용하는것 또한 힘든 것입니다. 

글을 마치며

구글 딥마인드는 이러한 한계을 해결하기 위해 규칙을 스스로 배울 수 있는 뮤제로(MuZero)를 2020년에 발표했습니다.

뮤제로에서는 바둑,쇼기,체스 뿐 아니라 아타리 게임에 대해서도 알고리즘 적용이 가능해졌으며, 규칙을 미리 알려주지 않아도 스스로 두어도 되는 곳과 두면 안되는 곳을 파악하고 학습을 진행하는 것이 가능해집니다. 

뮤제로 알고리즘은 알파제로에 기반한 알고리즘이지만 스스로 규칙을 배우기 위해 알고리즘에 큰 변화가 생기게 되었습니다. 추후 뮤제로에 대한 글을 작성하도록 하겠습니다.

알파제로 참고자료:

코드레벨 설명글:

댓글

가장 많이 본 글

구글 람다(LaMDA)란? - 구글의 언어 모델

알파고 강화학습 원리

버텍스 AI란? - 구글 인공지능 플랫폼

카타고와 바둑 두어보기

뉴럴 네트워크란?

블로그 글 목록

뉴럴 네트워크를 학습시키는 방법