4. AlphaGo의 차별성 – 딥러닝
□ AlphaGo의 딥러닝
○ 딥러닝을 활용하여 전문 바둑기사들의 패턴을 학습함
-바둑 기보를 19x19 픽셀을 갖는 이미지로 입력받아 전문 바둑기사의 다 음 착수를 학습하는 과정
*이 과정은 바둑 입문자가 기보를 공부하여 바둑기사들의 패턴을 습득하 는 것과 유사함
*AlphaGo 개발자인 데이비드 실버는 “AlphaGo는 16만개의 기보를 5주만 에 학습했다”라고 밝힘
-AlphaGo는 딥러닝 기법 중 특히 이미지 처리에 강한 컨볼루션신경망을 기반으로 학습하기 때문에 국지적인 패턴인식에도 강점을 가짐
*바둑에서 지역적인 대국이 전체적인 형세판단에 매우 중요한 역할을 함 ○ 바둑기사의 착수를 학습한 것은 정책네트워크이고 국지적인 패턴인식을 통한 승산판단은 가치네트워크로 구현
-정책과 가치네트워크는 MCTS에서 게임 트리를 탐색할 때 적용됨
□ AlphaGo의 정책과 가치네트워크
○ 정책 네트워크(Policy Network, ) : 정책 계산을 위한 딥러닝 신경망
-정책 네트워크에서 사용된 딥러닝 기법은 컨볼루션 신경망(Convolution Neural Network, CNN)으로 19x19 바둑판 상태를 입력하여 바둑판 모든 자리의 다음 수 선택 가능성 확률 분포를 출력 ([그림 9] 참조)
*컨볼루션 신경망은 페이스북의 얼굴인식 기술인 DeepFace에 적용된 기술 로 입력 이미지를 작은 구역으로 나누어 부분적인 특징을 인식하고 이것 을 결합하여 전체를 인식하는 특징을 가짐
○ 정책 네트워크 학습 -지도학습(supervised learning, ) : 프로 바둑기사들의 착수 전략 학습
*KGS Go Server 프로 6단에서 9단 사이의 실제 대국 16만개 기보로부터 3000만 가지 바둑판 상태를 추출하여 데이터로 사용함
*이 중 약 2900만 개를 학습에 이용하고, 나머지 100만 가지 바둑판 상태 를 시험에 이용 (정확도 57%). 이것은 사람이 다음 수를 두는 경향을 모 델링 한 것
*50개의 GPU를 사용하여 학습 (기간 : 3주, 3억4천 번의 학습과정)
-강화학습(reinforcement learning, ) : 스스로 경기하여 지도학습을 강화함
*지도학습의 결과로 구해진 정책네트워크는 사람의 착수 선호도를 표현하 지만 이 정책이 반드시 승리로 가는 최적의 선택이라고 볼 수 없음
*이것을 보완하기 위해 지도학습으로 구현된 정책 네트워크와 자체대결 (self-play)을 통해 결과적으로 승리하는 선택을 “강화”학습함. 약 128 번의 자체대결을 1만 번씩 수행 (총 128만 번)
*이로부터 도출된 경기결과(reward)를 바탕으로 이기는 방향으로 가도록 네트워크의 가중치를 강화(개선). 강화학습 후의 정책 네트워크로도 기존 바둑 프로그램인 Pachi와 대결하여 85%의 승률
*50개의 GPU를 사용하여 학습 (기간 : 1일)
○ 가치 네트워크(Value Network, ) : 바둑의 전체적인 형세를 파악
-AlphaGo에서는 가치(value)를 계산하기 위해 딥러닝을 이용한 가치 네트 워크(value network) 사용
*기존 프로그램의 가치함수는 비교적 간단한 선형결합으로 표현했기 때문 에 인공신경망을 활용하여 더 정확한 값을 기대할 수 있음
-인공신경망의 입력층과 은닉층 구조는 정책네트워크와 유사한 컨볼루션 신경망이지만 출력층은 현재의 가치(형세)를 표현하는 하나의 값(scalar) 이 나오는 구조
-특정 게임 상태에서의 승률(outcome)을 추정
*강화학습의 자체대결에서 생성된 3천만 개의 바둑상태로부터 가치 네트 워크를 학습함
*게임에서 이길 경우의 승률을 1이라고 볼 때, 가치 네트워크의 오차는 약 0.234 수준 (강화학습의 자체대결로 학습된 신경망을 시험(test)한 오차)
*50개의 GPU를 사용하여 학습 (기간 : 1주)
□ AlphaGo의 계산성능 분석
○ AlphaGo는 딥러닝으로 구현된 정책과 가치네트워크를 활용하여 MCTS 탐색 기법을 통해 착수를 결정
-분산 AlphaGo를 기준으로 착수(decision)는 초읽기 30초 동안 약 10만 번의 수읽기를 통해 결정
*체스 인공지능 프로그램인 딥블루의 경우 약 2억 번의 수읽기
-바둑계의 전설적인 인물인 이창호 9단의 경우 100수 정도의 수읽기
○ AlphaGo의 MCTS 탐색에서 가장 시간이 많이 소요되는 부분은 가치, 정책 네트워크의 값을 산출하는 과정
-13층의 컨볼루션 신경망의 값을 산출해내기 위해서는 약 300억 번의 연 산수(30 GFLOP)가 필요함
-이러한 이유로 AlphaGo의 탐색 쓰레드는 비동기식(asynchronous)으로 진행됨
○ AlphaGo의 대국을 분석해 보면 시간이 많이 주어질수록 강한 면모를 보임
-판후이 2단과의 대결에서 초읽기 30초만 주어진 비공식(informal)경기는 AlphaGo가 3:2로 우세하였으나, 공식(formal)대결에서는 5:0으로 완승
-이세돌 9단과의 대결은 2시간 제한시간에 60초 초읽기 3회가 주어지므 로, 판후이와의 대결보다는 더 나은 기력을 보일 수 있음
*대국규정은 구글 DeepMind와 한국기원이 협약한 사항
-AlphaGo의 시간분배는 주로 중반전에 이루어짐
출처 : 소프트웨어정책연구소
'인공지능' 카테고리의 다른 글
인공지능(A . I .), 완생이 되다 1 (0) | 2018.11.27 |
---|---|
AlphaGo의 인공지능 알고리즘 분석 6 (0) | 2016.07.28 |
AlphaGo의 인공지능 알고리즘 분석 4 (2) | 2016.06.24 |
AlphaGo의 인공지능 알고리즘 분석 3 (0) | 2016.06.24 |
AlphaGo의 인공지능 알고리즘 분석 2 (0) | 2016.06.20 |