이 글은 제가 읽고 있는 책의 일부 내용을 요약한 글입니다.
"비전공자도 이해할 수 있는 AI 지식"
규칙 기반 인공지능
초기 인공지능은 if-then문으로 이루어진 규칙 기반 인공지능이었습니다.
물론 규칙은 사람이 만든 것이기 때문에 인공지능이라고 부르기엔 조금 어색했죠.
이렇게 처음에는 규칙과 데이터를 이용해 프로그래밍 한 후 정답을 도출하는 방식인 규칙 기반 방식이 인공지능으로 여겨졌습니다.
머신러닝
그리고 머신러닝이라는 기계학습 알고리즘을 활용하기 시작합니다.
말 그대로 기계가 학습을 하는 것입니다. 정답과 데이터만 넣어주면 머신러닝이 규칙을 도출해내죠.
머신 러닝이 활성화 되면서 예전에 나왔던 개념인 인공 신경망에도 관심이 쏠렸습니다.
인공 신경망은 인공지능이라는 개념이 나오면서 같이 언급된 내용인데, 규칙 기반 인공지능의 한계에 도달하면서 잊혀졌던 개념이었습니다.
딥러닝
이미지 인식 분야에서부터 인공 신경망을 사용하기 시작했습니다.
이미지넷이라는 대규모 시각 인식 챌린지(ILSVRC)는 사람이 분류한 이미지와 기계가 분류한 이미지가 얼마나 일치하는지를 겨루는 대회였습니다. 이미지넷에서 인공 신경망을 이용한 딥러닝 인공지능은 확연하게 성능이 차이났습니다.
참고로 사람이 분류한 이미지는 아마존 메케니컬 터크를 이용했죠. 사람이 직접 인공지능을 위한 데이터를 만들어내는 서비스입니다. 예전에 사람이 직접 들어가 체스를 두었던 메케니컬 터크의 이름을 따온 것이죠.
이렇게 이미지 인식 분야에서 인공 신경망을 사용하기 시작했고 인공 신경망이 기술의 발전과 함께 딥러닝이라는 새로운 이름으로 재탄생하였습니다.
체스 챔피언, 딥 블루
딥 블루는 IBM의 슈퍼 컴퓨터입니다. 1997년에 카스파로프라는 최연소 세계 챔피언을 이긴 체스 챔피언이죠.
어떻게 이겼냐고요? 말을 움직일 수 있는 경우의 수를 모두 계산한 것입니다. 41억여 가지의 이동 가능한 수를 20초 만에 계산했죠.
게임 초반과 게임 종반에는 그에 맞게 규칙을 입력하여 불필요한 계산은 줄였죠.(오프닝, 엔드게임 테이블베이스를 활용)
하지만 딥 블루도 우주의 원자 수보다도 더 많은 게임 트리 전체를 탐색할 수는 없었습니다.(우주의 원자 수는 10의 80승. 체스의 게임 트리는 10의 120승)
그렇다면 이렇게 많은 경로를 어떻게 효율적으로 탐색했을까요. 모든 경로를 탐색하는 것은 완전 탐색이라고 부릅니다. 하지만 10의 120제곱을 모두 탐색하기엔 무리였죠.
그래서 막다른 길로는 가지 않겠다고 표시를 하는 가지치기(pruning)를 이용하였습니다.
이세돌을 이긴 알파고
2016년에 구글 딥마인드가 개발한 알파고가 바둑 세계 챔피언인 이세돌을 이겼습니다.
그 당시 이 사실은 아주 화제였죠. 이세돌도 아직 자신을 이기지 못할 것이라고 생각하였습니다. 왜냐하면 바둑은 정말 경우의 수가 많기 때문이죠. 바로 10의 768승입니다.
우주에 존재하는 전체 원자의 수는 10의 80승, 체스의 경우의 수는 10의 120승인데, 정말 엄청난 숫자죠.
유효한 값만 대상으로 정교하게 계산해도 10의 360승이었다고 합니다.
그래서 몬테카를로 방법을 사용하였습니다. 도박의 확률을 이용하는 것이었죠.
참고로 몬테카를로는 모나토 동북부에 있는 휴양 도시 이름이고 카지노와 도박으로 유명하다고 합니다.
계속 도전해서 원래 확률만큼의 결과를 얻는 것입니다. 이런 식으로 값을 계산하는 알고리즘이 몬테카를로 방법이며 일부만 무작위로 조사해보면 원래의 확률과 비슷한 결과를 얻을 수 있다는 점을 이용한 것이죠.
체스에서 이용했던 게임 트리 탐색에 몬테카를로를 접목한 몬테카를로 트리 탐색이라는 알고리즘을 고안해 바둑에 적용하였습니다.
그렇게 알파고의 실력은 올라갔지만 딥러닝을 적용하면서 더 획기적으로 향상되었습니다. 딥마인드는 정책망과 가치망이라는 인공 신경망을 만들어냈습니다.
정책망은 현재 상태를 입력하면 어디에 돌을 내려놓을지 확률을 계산해서 리턴합니다.
정책망은 아래와 같이 3가지로 분류할 수 있습니다.
- 사람이 만든 기보를 이용해 학습하는 기보학습 정책망
- 게임을 시뮬레이션 하는 롤아웃 정책망
- 알파고끼리 대립하여 강화 학습을 진행하는 강화학습 정책망
그리고 가치망은 승패 여부를 예측합니다.
알파고는 고수의 기보로 지도학습을 진행한 후, 어디에 돌을 내려놓을지 판단하는 정책망을 만들고 정책망을 이용해 스스로 대국을 두어 강화 학습을 진행한 다음, 승리할 확률이 얼마나 되는지 알아내는 가치망을 만들어내 학습을 진행한 것입니다.
그 후에 바둑뿐만 아니라 장기, 체스, 등 다양한 게임에서 우수한 실력을 내는 알파제로가 등장했다고 합니다.