<4D F736F F F696E74202D203034BECBB0EDB8AEC1F228BECBC6C4B0ED20BECBB0EDB8AEC1F220C0CCBEDFB1E2292E >

Similar documents
Microsoft PowerPoint - ai-2 탐색과 최적화-I

딥러닝 첫걸음

본보고서는 과학기술정보통신부정보통신진흥기금 을지원받아제작한것으로과학기술정보통신부의공식의견과다를수있습니다. 본보고서의내용은연구진의개인견해이며, 본보고서와관련한의문사항또는수정 보완할필요가있는경우에는아래연락처로연락해주시기바랍니다. 소프트웨어정책연구소기술 공학연구실추형석선임연

<4D F736F F D20C3D6BDC C0CCBDB4202D20BAB9BBE7BABB>

<313620B1E8BFB5BFF52E687770>

<4D F736F F D20C3D6BDC C0CCBDB4202D20BAB9BBE7BABB>

Introduction to Deep learning

08장.트리

목 차 1. 연구 목적 2. 컴퓨팅 파워와 병렬 컴퓨팅 3. AlphaGo의 계산량 분석 4. 결 론

Ch 8 딥강화학습

( 분류및특징 ) 학습방법에따라 1 지도학습 (Supervised 2 비지도 학습 (Unsupervised 3 강화학습 (Reinforcement 으로구분 3) < 머신러닝의학습방법 > 구분 지도학습 (Supervised 비지도학습 (Unsupervised 강화학습 (

슬라이드 1

제 1 장 기본 개념

chap 5: Trees

Ch 1 머신러닝 개요.pptx

선형대수학 Linear Algebra

보고싶었던 Deep Learning과 OpenCV를이용한이미지처리과정에대해공부를해볼수있으며더나아가 Deep Learning기술을이용하여논문을작성하는데많은도움을받을수있으며아직배우는단계에있는저에게는기존의연구를따라해보는것만으로도큰발전이있다고생각했습니다. 그래서이번 DSP스마

Chap 6: Graphs

05_tree

AIGo 개발 줂갗 보곀.hwp

빅데이터_DAY key

7장

시장분석통계Ⅰ. 서론부록인공신경망의시초라할수있는퍼셉트론 (perceptron) 은 1957 년 Frank Rosenblatt 가발명했고딥러닝의 학습알고리즘인오차역전파법 (back-propagation) 은 1986년 LeCun에의해발명됐다. 이미딥러닝의핵심이론은 198

Microsoft PowerPoint - lec07_tree [호환 모드]

인공지능은한마디로정의하기어렵다. 지능이란것자체가모호하기때문에이를인공적으로재현한다는것이쉽지않다. 일반적으로지능은외부를인식하고추론하며적응하는능력이라고보는데, 인간조차어떻게그런기능을하는지명확히모르는상태에서전통적인환원주의 (reductionism) 에입각한과학적방법으로는구현이

1-1-basic-43p

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

Microsoft PowerPoint - 실습소개와 AI_ML_DL_배포용.pptx

Reinforcement Learning & AlphaGo

Microsoft PowerPoint - 6장 탐색.pptx

제4차 산업혁명과 인공지능 차 례 제4차 산업혁명과 인공지능 2 제46회 다보스포럼이 2016년 1월 21일~24일 4차 산업혁명의 이해 라는 주제로 개최 되었습니다. 4차 산업혁명은 인공지능에 의해 자동화와 연결성이 극대화되는 단계 로서 오늘날 우리 곁에 모습을 드러

......

Slide 1

PowerPoint 프레젠테이션

의기보를데이터베이스로사용하였으며 어느정도안정화되어서는 개의알파고가서로대국하여만들어진기보를사용하여다시머신러닝을강화하도록학습시켰다 문제를해결하기위한인공지능은반드시최적의해법을구해야할필요는없기때문에짧은시간에해를구할수있는알고리즘의개발이중요하다고할수있다 본논문에서는 완전문제인스도

Microsoft PowerPoint - 제9장-트리의응용.pptx

슬라이드 1

Microsoft PowerPoint - chap10_tree

Chapter 08. 트리(Tree)

1장. 리스트

슬라이드 1

chap 5: Trees


<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DC0E5C7F5>

슬라이드 1

Microsoft PowerPoint - 제8장-트리.pptx

00_임원소개

PowerPoint 프레젠테이션

02본문

PowerPoint 프레젠테이션

Microsoft PowerPoint Predicates and Quantifiers.ppt

Microsoft PowerPoint - Java7.pptx

04 Çмú_±â¼ú±â»ç

PowerPoint Presentation

PowerPoint 프레젠테이션

텀블러514

OCW_C언어 기초

Ch.1 Introduction

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

슬라이드 0

PowerPoint Presentation

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

입학사정관제도

신경망 (Neural Networks) < 인공지능입문 > 강의 허민오 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University

쉽게 풀어쓴 C 프로그래밍

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

¹Ì·¡Æ÷·³-5±âºê·Î¼Å_1228.ps

<BFACB1B831382D31355FBAF2B5A5C0CCC5CD20B1E2B9DDC0C720BBE7C0CCB9F6C0A7C7E820C3F8C1A4B9E6B9FD20B9D720BBE7C0CCB9F6BBE7B0ED20BFB9C3F8B8F0C7FC20BFACB1B82D33C2F7BCF6C1A E687770>

목 차 1 편인공지능기술현황과물분야시사점 Ⅰ. 요약보고서 2 Ⅱ. 본보고서 5 1) 알파고의등장과인공지능 (AI) 5 2) 인공지능의재조명 8 3) 국내외인공지능기술동향 13 4) 인공지능의물분야적용시사점 22 < 참고문헌 > 2 편물분야인공지능기술적용사례 * 2 편이

본보고서는 미래창조과학부정보통신진흥기금 을지원받아제작한것으로미래창조과학부의공식의견과다를수있습니다. 본보고서의내용은연구진의개인견해이며, 본보고서와관련한의문사항또는수정 보완할필요가있는경우에는아래연락처로연락해주시기바랍니다. 소프트웨어정책연구소 SW융합연구실추형석선임연구원 (

ch3.hwp

표상학습을이용한딥러닝이미지특성의범용분류성에대한실험적분석 지도교수장병탁 이논문을공학학사학위논문으로제출함 년 12 월 21 일 서울대학교공과대학컴퓨터공학부한동식 2016 년 2 월

본문-4도시작***

PowerPoint 프레젠테이션

쉽게 배우는 알고리즘 강의노트

딥러닝튜토리얼 Deep Learning Tutorial - 신경망과딥러닝의이해 Understanding Neural Network & Deep Learning

온습도 판넬미터(JTH-05) 사양서V1.0

Chap 6: Graphs

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

2002년 2학기 자료구조

제1강 인공지능 개념과 역사

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

<C7C1B8AEB9CCBEF6B8AEC6F7C6AE D3032C8A3202DBECBC6C4B0ED2DC3D6C1BEC0CEBCE2BFEBC6C4C0CF402E687770>

statistics

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

o 경로 (path) 트리에서사용하는용어 ~ 어떤한노드에서다른노드까지링크를통해이동했을때, 거쳐온노드들의집합. o 루트 (root) ~ 트리의가장상위에있는노드로루트는항상하나만존재 o 부모, 자식 (parent, children) ~ 링크로연결된노드중위에있는노드를부모노드,

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - 제10장-그래프.pptx

Special Edition 인공지능 (AI) 기술발전과부동산분야의활용방안 와같은방식으로번갈아가면서돌을놓다가더이상놓을돌이없을때, 각자의집의수를세어서더많은쪽이이기는게임이다. 매우단순한게임이지만이기기위한수를결정하기위해서포석을한다든지기풍을따르는식의직관을사용하는것이고수들이하는

Microsoft PowerPoint - e pptx

미래포럼수정(2.29) :36 PM 페이지3 위너스CTP1번 2540DPI 200LPI 미래에 대해 얼마나 알고 계십니까? 새로운 미래, 어떻게 맞이할 것입니까? 오늘보다 나은 내일, 더 큰 미래를 열어갑시다 2014년 아시아 세계경제 33% 차지

C# Programming Guide - Types

제 11 장 다원 탐색 트리

PowerPoint Presentation

정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

Electronics and Telecommunications Trends 인공지능을이용한 3D 콘텐츠기술동향및향후전망 Recent Trends and Prospects of 3D Content Using Artificial Intelligence Technology

Transcription:

이산수학 Discrete Mathematics 알파고알고리즘이야기 인천대학교컴퓨터공학과공학시인이숙이철호교수 Jullio@chol.com zullio@inu.ac.kr 010 3957 6683 모바일컴퓨팅연구실 07 401 호

알파고에대하여 알파고의 HW 사양 최종버전 ( 싱글 ) 40개의탐색쓰레드 48개 CPU 8개 GPU를사용 분산구현버전 40개의탐색쓰레드 1202개의 CPU 176개의 GPU를사용 2

AlphaGo 와상용바둑프로그램성능비교 ELO rating??? 3

상용바둑게임프로그램비교 명칭 Crazy Stone Zen Pachi Fuego 개발자대표 Coulom R ( 프랑스 ) 요지오지마 ( 일본 ) Baudis P ( 체코 ) Baudis P ( 캐나다 ) 출시년도 최신버전 2005 2015 MCTS + Pattern Learning (Bradly-Terry 모델적용 ) 사용알고리즘 전적 수 준 2007, 2008 UEC 컵우승 2013 년제 1 회전성전에서이시다 9 단에게 4 점접바둑승리 2009 5 MCTS 2009, 2011 컴퓨터올림피아드우승, 2012년다케미야아사키 9단에게 4점접바둑승리 2012 11 수정 MCTS + UCT + RAVE ( 오픈소스 ) 2010 SVN 1989 MCTS + UCT ( 오픈소스 ) GnuGo GNU-FSF 1989 3.8 MCTS(3.8 버전 ) Bouzy s 5/21(2.6 버전 ) ( 오픈소스 ) 2011 년인간 vs 컴퓨터바둑대결 ( 파리 ) 에서주준훈 ( 중국 ) 9 단 7 점접바둑승리 2009 년프로그램최초로 9x9 바둑에서주준훈 ( 중국 ) 9 단프로에게이김 6d 6d 2d 1d 5k 4

ELO rating??? 참고 : http://egloos.zum.com/webpd77/v/4102040 실제실력으로순위를정하자 ' 라는취지에부합되는시스템 전적누계방식 ' 승이든패든많은게임을해서전적을많이쌓으면순위가올라가는 ' 방식 각플레이어를 A, B라고할때, 그에대응되는승률 E R 은현재플레이어의레이팅점수 5

ELO rating??? 참고 : http://egloos.zum.com/webpd77/v/4102040 R은현재플레이어의레이팅점수 레이팅점수 각플레이어의 ' 실력 ' 을나타낸다고생각하면됨 처음시작하는사람의수준은임의의한숫자로나타냄. 이를테면 '1500' 만약 A플레이어가 B플레이어보다레이팅 400점이높다면, EA는약0.9090..., EB는약 0.0909... A플레이어가이길확률이약 90%, B플레이어가이길확률이약 10% 두승률을합치면 1, 즉 100% 6

게임트리탐색알고리즘 게임에서장기, 바둑과같이두플레이어가번가아가면서한번씩게임을하는방식 특정게임상태에서다음수를예측하기위해서는수읽기를통해가장승리할확률이높은곳을결정하는알고리즘. 이과정이트리의탐색이고, 이론적으로는현재상태에서가능한모든결과를미리알경우가장승률이높은수를선택하는방법 알파고의인공지능바둑프로그램은 250 150 의경우의수를모두탐색하지않고, 제한된시간안에가장승리할가능성이높은경로를탐색. 탐색의전략이인공지능바둑프로그램의성능을좌우함 7

게임트리의탐색알고리즘 트리탐색기법 ( 트리순회 : Tree traversal) 은트리구조에서각각의노드를한번씩, 체계적인방법으로방문하는과정. 트리탐색기법에는탐색순서에따라전 중 후위및레벨순서순회기법이있음. 이중전위순회 (preorder) 는깊이우선의탐색 (depth-first search: DFS) 이라고도하며, MinMax 알고리즘의탐색방법임. < 탐색순서 > 1. 루트노드에서시작 2. 왼쪽자식노드를방문 - 왼쪽서브트리의전위순회 3. 오른쪽자식노드를방문 - 오른쪽서브트리의전위순회 깊이우선탐색 ( 전위순회 ) 의과정 < 탐색노드의순서 > 1 2 3 4 5 6 7 8 9 8

바둑에서의탐색알고리즘 바둑 (19 X 19) 보다탐색정도가낮은체스 (8 x 8) 의경우완전한게임트리에는약 1040 개의노드가존재 ( 약 35 80 가지의경우의수 ) 효율적인탐색을위해휴리스틱 (Heuristic) 기법깊이또는너비우선탐색기법이사용. 바둑과같은복잡한게임에서는충분한도움이되지않음. 바둑은게임중에서도극단적으로계산량이많음. 가장어려운문제로알려져있음. ( 약 250 150 가지의경우의수 ) 9

몬테카를로방법 (Monte Carlo method) 난수를이용하여함수의값을확률적으로계산하는알고리즘. 수학이나물리학등에자주사용. 계산하려는값이닫힌형식으로표현되지않거나복잡한경우에근사적으로계산할때사용. 모나코의유명한도박의도시몬테카를로의이름에서명명. 10

몬테카를로알고리즘 출처 : https://ko.wikipedia.org/wiki/ 원주율계산알고리즘 에서점를표집. 표집한점의중심이에있고, 반지름이 1인원에속하는지계산. 원의정의에따라와 1을비교함으로써계산. 위의두과정을충분히반복하여, 원에속한점들의개수를계산. 표집영역과원의공통영역은의넓이를가지며, 전체점갯수를원에속한점갯수로나눈비율은이값을근사화 11

몬테카를로트리탐색알고리즘 MCTS(Monte Calro Tree Search) 바둑에서가장널리사용되는인공지능알고리즘 MCTS는최소-최대알고리즘의성능을개선한것 모든경로를탐색하는것이불가능할때효율적 12

MCTS 의 4 단계과정 1 선택현재바둑판상태에서특정경로로수읽기를진행 2 확장일정수이상수읽기가진행되면그지점에서한단계더착수지점을예측 ( 게임트리의확장 ) 3 시뮬레이션 2 에서선택한노드에서바둑이종료될때까지무작위 (random) 방법으로진행. 속도가빠르기때문에여러번수행할수있으나착수의적정성은떨어짐 4 역전파 3 의결과를종합하여확장한노드의가치 (2 에서한단계더착수한것의승산 ) 를역전파하여해당경로의승산가능성을갱신 13

MCTS 의핵심요소 정책트리의폭을제한하는역할 MCTS 의두번째단계인확장에서주로사용특정시점에서가능한모든수중가장승률이높은것을예측 가치트리의깊이를제한하는역할가치는현재대국상황의승산을나타낸것승산이정확할수록많은수 ( 더깊은노드 ) 를볼필요가없음 스스로대국하는학습기법을통해정책과가치의성능을향상시킴 14

15

AlphaGo 의차별성 딥러닝 (Deep Learning) 딥러닝을활용하여전문바둑기사들의패턴을학습함. 바둑기보를 19x19 픽셀을갖는이미지로입력받아전문바둑기사의다음착수를학습하는과정. * 바둑입문자가기보를공부하여바둑기사들의패턴을습득하는것과유사함. *AlphaGo 개발자인데이비드실버는 AlphaGo는 16만개의기보를 5주만에학습했다 라고밝힘. AlphaGo 는딥러닝기법중특히이미지처리에강한컨볼루션신경망을기반으로학습하기때문에국지적인패턴인식에도강점을가짐 * 바둑에서지역적인대국이전체적인형세판단에매우중요한역할을함 바둑기사의착수를학습한것은정책네트워크임 국지적인패턴인식을통한승산판단은가치네트워크로구현 정책과가치네트워크는 MCTS 에서게임트리를탐색할때적용됨 16

AlphaGo 의정책과가치네트워크 정책네트워크 (Policy Network) 정책계산을위한딥러닝신경망 - 정책네트워크에서사용된딥러닝기법은컨볼루션신경망 (Convolution Neural Network, CNN) 으로 19x19 바둑판상태를입력하여바둑판모든자리의다음수선택가능성확률분포를출력. * 컨볼루션신경망은페이스북의얼굴인식기술인 DeepFace 에적용된기술로입력이미지를작은구역으로나누어부분적인특징을인식하고, 이것을결합하여전체를인식하는특징을가짐. - 바둑에서는국지적인패턴과이를바탕으로전반적인형세를파악하는것이중요하므로컨볼루션신경망을활용하는것이적절한선택 17

정책네트워크학습 - 지도학습 (supervised learning) 프로바둑기사들의착수전략학습 *KGS Go Server 프로 6단에서 9단사이의실제대국 16만개기보로부터 3000만가지바둑판상태를추출하여데이터로사용함 * 이중약 2900만개를학습에이용하고, 나머지 100만가지바둑판상태를시험에이용 ( 정확도 57%). 이것은사람이다음수를두는경향을모델링한것 *50개의 GPU를사용하여학습 ( 기간 : 3주, 3억4천번의학습과정 ) - 강화학습 (reinforcement learning) 스스로경기하여지도학습을강화함 * 지도학습의결과로구해진정책네트워크는사람의착수선호도를표현하지만이정책이반드시승리로가는최적의선택이라고볼수없음 * 이것을보완하기위해지도학습으로구현된정책네트워크와자체대결 (self-play) 을통해결과적으로승리하는선택을 강화 학습함약 128번의자체대결을수행 * 이로부터도출된경기결과 (reward) 를바탕으로이기는방향으로가도록네트워크의가중치를강화 ( 개선 ). 강화학습후의정책네트워크로도기존바둑프로그램인 Pachi와대결하여 85% 의승률 *50개의 GPU를사용하여학습 ( 기간 : 1일 ) 18

가치네트워크 (Value Network) 바둑의전체적인형세를파악 - AlphaGo에서는가치 (value) 를계산하기위해딥러닝을이용한가치네트워크 (value network) 사용 * 기존프로그램의가치함수는비교적간단한선형결합으로표현인공신경망을활용하여더정확한값을기대할수있음 - 인공신경망의입력층과은닉층구조는정책네트워크와유사한컨볼루션신경망이지만출력층은현재의가치 ( 형세 ) 를표현하는하나의값 (scalar) 이나오는구조 - 특정게임상태에서의승률 (outcome) 을추정 * 강화학습의자체대결에서생성된 3천만개의바둑상태로부터가치네트워크를학습함 * 게임에서이길경우의승률을 1이라고볼때, 가치네트워크의오차는약 0.234 수준 ( 강화학습의자체대결로학습된신경망을시험 (test) 한오차 ) *50개의 GPU를사용하여학습 ( 기간 : 1주 ) 19

AlphaGo 의컨볼루션신경망 컨볼루션신경망개요 컨볼루션신경망은이미지나비디오에서객체의분류에특화된방법 이미지의객체분류는전통적인인공신경망인다층퍼셉트론으로도충분히가능했으나, 노드간링크가모두연결되어있는구조 (fully-connected) 가갖는한계때문에그대안으로컨볼루션신경망이부상함 이미지처리 (Image processing) 분야에서의컨볼루션은필터 ( 커널 ) 을지칭하고, 이컨볼루션필터로원본이미지를처리하여특징을추출해냄 바둑에서컨볼루션필터의의미는국소적, 지역적인대국의특징을추출해내서전반적인형세를추론하는도구로볼수있음 20

AlphaGo 의컨볼루션신경망 AlphaGo 에서사용된컨볼루션신경망구조 특정바둑상태는 19x19 의행렬에대하여 48 가지특징을추출 흰돌, 검은돌, 빈칸, 축, 활로, 과거기록등 각각 48 가지특징맵 (feature map) 19x19 의이진행렬로구성됨 컨볼루션신경망의미지수는필터의가중치값 신경망구조 입력층 : 특정대국에대한 48 가지특징맵 은닉층 : 13 개의컨볼루션층 결과층 : 착수가능한다음수의확률분포 (19x19, 정책네트워크 ) 현재대국에서의승산 ( 스칼라, 가치네트워크 ) 21

AlphaGo 의컨볼루션신경망 컨볼루션층의상세구조 컨볼루션필터는 k개로 AlphaGo에서는 k=128, 192, 256, 384의경우모두테스트함 ( 성능이가장좋은필터개수는 192) 첫번째은닉층의컨볼루션필터는 5x5 크기로총 k개. zero-padding으로 19x19를 23x23으로표현 (stride는 1) 두번째부터 12번째은닉층의컨볼루션필터는 3x3 크기로총 k개 (1 zero-padding, stride는 1) 13 번째은닉층은 1x1 컨볼루션필터한개로 19x19 한개가 13번째층의결과값 ( 정책네트워크결과층 ) softmax 활성함수를통해착수가능한지점의확률분포산출 ( 가치네트워크결과층 ) fully-connected된 256노드의은닉층을지나결과층으로전파됨. 마지막으로 tangent hyperbolic 활성함수를지나스칼라값산출 22

AlphaGo 의컨볼루션신경망 AlphaGo 의컨볼루션신경망구조 ( 정책, 가치네트워크 ) 23