알파고 해부하기 1부

60
알파고 해부하기 1이동헌 [email protected]

Transcript of 알파고 해부하기 1부

알파고해부하기1부

이동헌

[email protected]

시작하면서

•기존두개의 “쉬운” 알파고게시물1. 모두의알파고

2. 바둑인들을위한알파고

3/13/2016 알파고해부하기 1부 © 이동헌 2

시작하면서

•기존두개의 “쉬운” 알파고게시물1. 모두의알파고

• 관심있으신분누구든지

• 알파고의기본원리와정체를쉽게설명

2. 바둑인들을위한알파고

3/13/2016 알파고해부하기 1부 © 이동헌 3

시작하면서

•기존두개의 “쉬운” 알파고게시물1. 모두의알파고

• 관심있으신분누구든지

• 알파고의기본원리와정체를쉽게설명

2. 바둑인들을위한알파고• 알파고를바둑으로상대할분들에게

• 알파고의바둑자체를알고싶은분들에게

• 알파고의구조와바둑원리를수식없이최대한자세히설명

3/13/2016 알파고해부하기 1부 © 이동헌 4

시작하면서

•기존두개의 “쉬운” 알파고게시물1. 모두의알파고

2. 바둑인들을위한알파고

•많은피드백감사드립니다! 그중…• 구체적으로어떻게돌아가는건지설명더해주실수있나요?

• 세부적인내용들 (8수까지착순기억, 승률 10%미만기권등..) 어떻게아셨나요?

• 이거 “썰”인거같은데? 전문가이신가요?

3/13/2016 알파고해부하기 1부 © 이동헌 5

시작하면서

•기존두개의 “쉬운” 알파고게시물1. 모두의알파고

2. 바둑인들을위한알파고

•많은피드백감사드립니다! 그중…• 구체적으로어떻게돌아가는건지설명더해주실수있나요?

• 세부적인내용들 (8수까지착순기억, 승률 10%미만기권등..) 어떻게아셨나요?

• 이거 “썰”인거같은데? 전문가이신가요?

• 간단히해명부터하겠습니다

3/13/2016 알파고해부하기 1부 © 이동헌 6

시작하면서

•기존두개의 “쉬운” 알파고게시물1. 모두의알파고

2. 바둑인들을위한알파고

•많은피드백감사드립니다! 그중…• 구체적으로어떻게돌아가는건지설명더해주실수있나요?

• 세부적인내용들 (8수까지착순기억, 승률 10%미만기권등..) 어떻게아셨나요?

• 이거 “썰”인거같은데? 전문가이신가요?

• 간단히해명부터하겠습니다

• 쉽게• 하지만, 최대한정확하게• 알파고에대한지식을함께하기위해…

• 기존두개의 “쉬운” 알파고게시물을쓸때저는다음과같은태도로임했습니다

1. 알파고원리에대한가장신뢰성있는원자료(구글알파고팀이 2016년출판한네이쳐논문– 아래참조)를주근거자료로,

Mastering the game of Go with deep neural networks and tree search [바로가기]

2. 다른근거자료는위주근거자료의내용과논리상충되지않을경우에만내용참고하며,

3. 제가최선을다해읽어본뒤정확하게이해했다고생각되는내용만골라서,

4. 능력껏최대한쉽게풀어쓴후,5. “틀리다고반박할명확한근거는없다” 라고

스스로납득하는것을공유한다

3/13/2016 알파고해부하기 1부 © 이동헌 7

시작하면서

•기존두개의 “쉬운” 알파고게시물1. 모두의알파고

2. 바둑인들을위한알파고

•많은피드백감사드립니다! 그중…• 구체적으로어떻게돌아가는건지설명더해주실수있나요?

• 세부적인내용들 (8수까지착순기억, 승률 10%미만기권등..) 어떻게아셨나요?

• 이거 “썰”인거같은데? 전문가이신가요?

• 간단히해명부터하겠습니다

• 그리고간단히제소개를드립니다

• 쉽게• 하지만, 최대한정확하게• 알파고에대한지식을함께하기위해…

• 기존두개의 “쉬운” 알파고게시물을쓸때저는다음과같은태도로임했습니다

1. 알파고원리에대한가장신뢰성있는원자료(구글알파고팀이 2016년출판한네이쳐논문– 아래참조)를주근거자료로,

Mastering the game of Go with deep neural networks and tree search [바로가기]

2. 다른근거자료는위주근거자료의내용과논리상충되지않을경우에만내용참고하며,

3. 제가최선을다해읽어본뒤정확하게이해했다고생각되는내용만골라서,

4. 능력껏최대한쉽게풀어쓴후,5. “틀리다고반박할명확한근거는없다” 라고

스스로납득하는것을공유한다

3/13/2016 알파고해부하기 1부 © 이동헌 8

시작하면서

•간단히제소개를드립니다

• 프린스턴복학예정이며, 연구관심분야는불확실한복잡계의최적결정방법입니다

• 원래는고등학교때부터생물학공부를많이해왔습니다만,

• 2007년부터인공지능, 머신러닝, 강화학습을연구해왔습니다

2012-2015 삼성전자메모리사업부 SW개발팀병역특례근무

2009-2012 프린스턴대 Computer Science 박사 (휴학)

2007-2009 카네기멜론대 Computational Biology 석사 (졸업)

2003-2007 콜럼비아대생화학과학사 (졸업)

3/13/2016 알파고해부하기 1부 © 이동헌 9

시작하면서

•간단히제소개를드립니다

• 프린스턴복학예정이며, 연구관심분야는불확실한복잡계의최적결정방법입니다

• 원래는고등학교때부터생물학공부를많이해왔습니다만,

• 2007년부터인공지능, 머신러닝, 강화학습을연구해왔습니다

•최선을다해알파고를해부해보겠습니다

2012-2015 삼성전자메모리사업부 SW개발팀병역특례근무

2009-2012 프린스턴대 Computer Science 박사 (휴학)

2007-2009 카네기멜론대 Computational Biology 석사 (졸업)

2003-2007 콜럼비아대생화학과학사 (졸업)

3/13/2016 알파고해부하기 1부 © 이동헌 10

시작하면서

• “알파고해부하기”는• 알파고를정말제대로알고싶은분들에게

• 정확성을최우선가치로설명하려합니다• 이전게시물에서는이해의편의를위해디테일을생략하고뭉뚱그렸지만,

• 여기선이해편의와정확성둘중하나만골라야된다면정확하게할겁니다

• 이해편의도최대한함께하겠습니다

3/13/2016 알파고해부하기 1부 © 이동헌 11

시작하면서

• “알파고해부하기”는• 알파고를정말제대로알고싶은분들에게

• 정확성을최우선가치로설명하려합니다• 이전게시물에서는이해의편의를위해디테일을생략하고뭉뚱그렸지만,

• 여기선이해편의와정확성둘중하나만골라야된다면정확하게할겁니다

• 이해편의도최대한함께하겠습니다

• “알파고해부하기”의목표• 알파고의내부구조를정확하게설명

• 알파고의착수과정정체와착수특성을정확하게설명

• 알파고의 (기존바둑프로그램대비)혁신점을정확하게설명

3/13/2016 알파고해부하기 1부 © 이동헌 12

당부말씀

•정확성을최우선가치로씁니다• 정확하지않은내용을찾으시면꼭! 피드백부탁드립니다

[email protected]

• 내용의한부분만뚝잘라서인용하시면위험합니다• 정확한내용들이보통그렇듯이, 부분을잘라내면뜻이달라질수있어요

3/13/2016 알파고해부하기 1부 © 이동헌 13

목차

•알파고의구조

•알파고소프트웨어의구성

•알파고 S/W의대국시동작법

•알파고 S/W의대국전트레이닝법

•알파고 S/W의혁신점

•알파고의혁신점

3/13/2016 알파고해부하기 1부 © 이동헌 14

목차

•알파고의구조

•알파고소프트웨어의구성

•알파고 S/W의대국시동작법

•알파고 S/W의대국전트레이닝법

•알파고 S/W의혁신점

•알파고의혁신점

3/13/2016 알파고해부하기 1부 © 이동헌 15

알파고의구조

미국중서부어딘가의구글데이터센터

서울포시즌스호텔대국장

이세돌 9단

현재바둑판

Aja Huang

구글데이터센터자료사진

3/13/2016 알파고해부하기 1부 © 이동헌 16

서울포시즌스호텔대국장

이세돌 9단

현재바둑판

Aja Huang

알파고의구조

미국중서부어딘가의구글데이터센터

구글데이터센터자료사진

소프트웨어

하드웨어

네트워크네트워크

3/13/2016 알파고해부하기 1부 © 이동헌 17

서울포시즌스호텔대국장

이세돌 9단

현재바둑판

Aja Huang

알파고의구조

미국중서부어딘가의구글데이터센터

구글데이터센터자료사진

소프트웨어

하드웨어

네트워크네트워크

3/13/2016 알파고해부하기 1부 © 이동헌 18

서울포시즌스호텔대국장

이세돌 9단

현재바둑판

Aja Huang

알파고의구조

미국중서부어딘가의구글데이터센터

구글데이터센터자료사진

네트워크네트워크

3/13/2016 알파고해부하기 1부 © 이동헌 19

알파고의구조: 네트워크

•네트워크는알파고와는별상관없습니다• 바로넘어가려고합니다만..

• 네트워크없이는이번대국장소가한국이아니었겠지요

•기여하신수많은분들.. 존경합니다!• 인터넷

• 네트워크를통한신호라우팅

• 태평양을건너오는라인을만들고유지하시는분들

• 그외의모든 “네트워크”구축, 유지, 보수에도움을주시는분들

3/13/2016 알파고해부하기 1부 © 이동헌 20

서울포시즌스호텔대국장

이세돌 9단

현재바둑판

Aja Huang

알파고의구조

미국중서부어딘가의구글데이터센터

구글데이터센터자료사진

하드웨어

3/13/2016 알파고해부하기 1부 © 이동헌 21

알파고의구조: 하드웨어

•미국중서부에있는구글데이터센터사용

•스펙• CPU 1920개, GPU 280개를썼다고합니다

• 내용출처: Economist의구글딥마인드창립자인터뷰 [링크]

• 판후이 2단경기때 (CPU 1202개, GPU 176개)보다업그레이드• 내용출처: Nature지논문 [링크]

•변경점?• 병렬처리능력을조금더키웠으니, 능력이향상되었을겁니다

• 특히, 소프트웨어구성요소 3: Monte-Carlo Tree Search 에따른 “수읽기” 능력이더욱.

3/13/2016 알파고해부하기 1부 © 이동헌 22

서울포시즌스호텔대국장

이세돌 9단

현재바둑판

Aja Huang

알파고의구조

미국중서부어딘가의구글데이터센터

구글데이터센터자료사진

소프트웨어

3/13/2016 알파고해부하기 1부 © 이동헌 23

알파고의구조: 소프트웨어

•알파고프로그램모식도

• “모두의알파고”에서가져온모식도인데

알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

바둑판현상황인식프로그램

3/13/2016 알파고해부하기 1부 © 이동헌 24

알파고의구조: 소프트웨어

•알파고프로그램모식도

• “모두의알파고”에서가져온모식도인데

• 기술적으로는

알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

바둑판현상황인식프로그램

3/13/2016 알파고해부하기 1부 © 이동헌 25

알파고의구조: 소프트웨어

•알파고프로그램모식도

• “모두의알파고”에서가져온모식도인데

• 기술적으로는• DL: Deep Learning

알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

바둑판현상황인식프로그램

DL

DL

DL DL

DL

3/13/2016 알파고해부하기 1부 © 이동헌 26

알파고의구조: 소프트웨어

•알파고프로그램모식도

• “모두의알파고”에서가져온모식도인데

• 기술적으로는• DL: Deep Learning

• RL: Reinforcement Learning

알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

바둑판현상황인식프로그램

RL

DL

DL

DL DLRL RL RL

RL

RLDL

RL

3/13/2016 알파고해부하기 1부 © 이동헌 27

알파고의구조: 소프트웨어

•알파고프로그램모식도

• “모두의알파고”에서가져온모식도인데

• 기술적으로는• DL: Deep Learning

• RL: Reinforcement Learning

• MCT Monte-Carlo Tree Search

알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

바둑판현상황인식프로그램

RL

MCTS

DL

DL

DL DLRL RL RL

RL

MCTS RL

MCTS

DL

RL

3/13/2016 알파고해부하기 1부 © 이동헌 28

알파고의구조: 소프트웨어

•알파고프로그램모식도

• “모두의알파고”에서가져온모식도인데

• 기술적으로는• DL: Deep Learning

• RL: Reinforcement Learning

• MCT Monte-Carlo Tree Search

• 3가지큰틀이있습니다

알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

바둑판현상황인식프로그램

RL

MCTS

DL

DL

DL

DL DLRL RL RL

RL

MCTS RL

MCTS

RL

3/13/2016 알파고해부하기 1부 © 이동헌 29

알파고의구조: 소프트웨어

•지금부터는…

• 모듈을크게 3종류로• 주요알고리즘에따라서

• Deep Learning부분

• Reinforcement Learning부분

• Monte-Carlo Tree Search부분

• 알고리즘의이론에대해서는필요한순간필요최소량만.

알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

바둑판현상황인식프로그램

DL

DL

DL DLRL RL RL

RL

MCTS RL

MCTS

RL

3/13/2016 알파고해부하기 1부 © 이동헌 30

목차

•알파고의구조

•알파고소프트웨어의구성

•알파고 S/W의대국시동작법

•알파고 S/W의대국전트레이닝법

•알파고 S/W의혁신점

•알파고의혁신점

3/13/2016 알파고해부하기 1부 © 이동헌 31

알파고소프트웨어의구성

•먼저살펴볼것은알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

바둑판현상황인식프로그램

DL

DL

DL DLRL RL RL

RL

MCTS RL

MCTS

RL

3/13/2016 알파고해부하기 1부 © 이동헌 32

알파고소프트웨어의구성

•먼저살펴볼것은

•바둑판상황인식• Deep Learning

알파고바둑프로그램

상대바둑기사다음수

예측프로그램

알파고의다음수

결정프로그램

바둑경기상황

유/불리분석

프로그램

바둑판미래예측시도

여러번미래예측후가장많이둔수로선택

DL DL DLRL RL RL

RL

MCTS RL

MCTS

RL

바둑판현상황인식프로그램DL

3/13/2016 알파고해부하기 1부 © 이동헌 33

알파고 S/W 구성: Deep Learning

• Deep Learning 이야기는너무너무많이다뤄졌습니다• 인터넷에이미많이있고책도논문도많습니다

•여기서는• 최소한의이론적배경과

• 어떻게알파고에적용해넣었는지를보겠습니다

3/13/2016 알파고해부하기 1부 © 이동헌 34

알파고 S/W 구성: Deep Learning

• Deep Learning의근본그리고수학적증명?

• Deep Learning (2012년~)• 그근본은인공신경망 (1965년~)

• 인공신경망의수학적인한계/가능성에대한결정적인증명 (1989년) [바로가기]

• 위증명의확장 (1991년) [바로가기]

3/13/2016 알파고해부하기 1부 © 이동헌 35

알파고 S/W 구성: Deep Learning

• Deep Learning의근본그리고수학적증명?

• Deep Learning (2012년~)• 그근본은인공신경망 (1965년~)

• 인공신경망의수학적인한계/가능성에대한결정적인증명 (1989년) [바로가기]

• 위증명의좀더일반화된확장 (1991년)

3/13/2016 알파고해부하기 1부 © 이동헌 36

알파고 S/W 구성: Deep Learning

• Deep Learning의근본그리고수학적증명?

• Deep Learning (2012년~)• 그근본은인공신경망 (1965년~)

• 인공신경망의수학적인한계/가능성에대한결정적인증명 (1989년) [바로가기]

• 위증명의좀더일반화된확장 (1991년)

특정조건만족하는함수들

(1991년논문은이부분을확장합니다)

3/13/2016 알파고해부하기 1부 © 이동헌 37

알파고 S/W 구성: Deep Learning

• Deep Learning의근본그리고수학적증명?

• Deep Learning (2012년~)• 그근본은인공신경망 (1965년~)

• 인공신경망의수학적인한계/가능성에대한결정적인증명 (1989년) [바로가기]

• 위증명의좀더일반화된확장 (1991년)

유한개를선형으로합하면

3/13/2016 알파고해부하기 1부 © 이동헌 38

알파고 S/W 구성: Deep Learning

• Deep Learning의근본그리고수학적증명?

• Deep Learning (2012년~)• 그근본은인공신경망 (1965년~)

• 인공신경망의수학적인한계/가능성에대한결정적인증명 (1989년) [바로가기]

• 위증명의좀더일반화된확장 (1991년)

어떠한(*) 함수 𝑓(𝑥)이든지임의의정확도로근사가능하다

(*) n차원 compact 공간에서연속유계함수인어떠한함수든지

3/13/2016 알파고해부하기 1부 © 이동헌 39

알파고 S/W 구성: Deep Learning

• Deep Learning의근본그리고수학적증명?

• Deep Learning (2012년~)• 그근본은인공신경망 (1965년~)

• 인공신경망의수학적인한계/가능성에대한결정적인증명 (1989년) [바로가기]

• 위증명의좀더일반화된확장 (1991년)

세부내용은구성상생략합니다

원논문을읽어주세요

3/13/2016 알파고해부하기 1부 © 이동헌 40

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 입력단이유한차원 compact 공간

• 출력단이연속유계함수의값들

3/13/2016 알파고해부하기 1부 © 이동헌 41

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 입력단이유한차원 compact 공간

• 수학적으로는유한차원의실수값공간 (좌표공간) 이라면위조건을만족합니다

• 출력단이연속유계함수의값들

3/13/2016 알파고해부하기 1부 © 이동헌 42

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 입력단이유한차원 compact 공간

• 수학적으로는유한차원의실수값공간 (좌표공간) 이라면위조건을만족합니다• 우리가알고있는좌표평면, 3차원좌표공간등이포함

• 컴퓨터입장에서는보통숫자값(int계열, double계열)으로 array 만들면됩니다.

• 출력단이연속유계함수의값들

3/13/2016 알파고해부하기 1부 © 이동헌 43

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 입력단이유한차원 compact 공간

• 수학적으로는유한차원의실수값공간 (좌표공간) 이라면위조건을만족합니다• 우리가알고있는좌표평면, 3차원좌표공간등이포함

• 컴퓨터입장에서는보통숫자값(int계열, double계열)으로 array 만들면됩니다.

• 출력단이연속유계함수의값들• 수학적의미의 “연속” (미분가능하면연속이다.. 라고하던그 “연속”)

3/13/2016 알파고해부하기 1부 © 이동헌 44

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 입력단이유한차원 compact 공간

• 수학적으로는유한차원의실수값공간 (좌표공간) 이라면위조건을만족합니다• 우리가알고있는좌표평면, 3차원좌표공간등이포함

• 컴퓨터입장에서는보통숫자값(int계열, double계열)으로 array 만들면됩니다.

• 출력단이연속유계함수의값들• 수학적의미의 “연속” (미분가능하면연속이다.. 라고하던그 “연속”)

• 수학적의미의 “유계” (수학적인상한/하한이무한대가아니다.. 의개념)

3/13/2016 알파고해부하기 1부 © 이동헌 45

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 입력단이유한차원 compact 공간

• 수학적으로는유한차원의실수값공간 (좌표공간) 이라면위조건을만족합니다• 우리가알고있는좌표평면, 3차원좌표공간등이포함

• 컴퓨터입장에서는보통숫자값(int계열, double계열)으로 array 만들면됩니다.

• 출력단이연속유계함수의값들• 수학적의미의 “연속” (미분가능하면연속이다.. 라고하던그 “연속”)

• 수학적의미의 “유계” (수학적인상한/하한이무한대가아니다.. 의개념)• 이출력단부분이무엇이되는지간단히살펴보면

3/13/2016 알파고해부하기 1부 © 이동헌 46

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 입력단이유한차원 compact 공간

• 수학적으로는유한차원의실수값공간 (좌표공간) 이라면위조건을만족합니다• 우리가알고있는좌표평면, 3차원좌표공간등이포함

• 컴퓨터입장에서는보통숫자값(int계열, double계열)으로 array 만들면됩니다.

• 출력단이연속유계함수의값들• 수학적의미의 “연속” (미분가능하면연속이다.. 라고하던그 “연속”)

• 수학적의미의 “유계” (수학적인상한/하한이무한대가아니다.. 의개념)• 이출력단부분이무엇이되는지간단히살펴보면

• 하나는바둑판의 “가능한착수들중다음수가될확률값”

• 또다른하나는바둑판의 “승리로이어질확률값”

3/13/2016 알파고해부하기 1부 © 이동헌 47

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 입력단이유한차원 compact 공간

• 수학적으로는유한차원의실수값공간 (좌표공간) 이라면위조건을만족합니다• 우리가알고있는좌표평면, 3차원좌표공간등이포함

• 컴퓨터입장에서는보통숫자값(int계열, double계열)으로 array 만들면됩니다.

• 출력단이연속유계함수의값들• 수학적의미의 “연속” (미분가능하면연속이다.. 라고하던그 “연속”)

• 수학적의미의 “유계” (수학적인상한/하한이무한대가아니다.. 의개념)• 이출력단부분이무엇이되는지간단히살펴보면

• 하나는바둑판의 “가능한착수들중다음수가될확률값”

• 또다른하나는바둑판의 “승리로이어질확률값”

• “유계”는당연, “연속”부분은컴퓨터한계상어차피 “조밀”한실수표현불가 (언더플로우)

3/13/2016 알파고해부하기 1부 © 이동헌 48

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 진행상수학적으로살짝건너뛴부분

• 컴퓨터 S/W 입장에서필요한정도만설명했습니다

• 수학적으로관심있는분들은직접채워서이해하실수학적지식이있을것이고

• 이해안가시는분들은그냥넘어가주세요 (굳이필요하지않습니다)

3/13/2016 알파고해부하기 1부 © 이동헌 49

알파고 S/W 구성: Deep Learning

•인공신경망증명은 Deep Learning에그대로적용가능합니다• 진행상수학적으로살짝건너뛴부분

• 컴퓨터 S/W 입장에서필요한정도만설명했습니다

• 수학적으로관심있는분들은직접채워서이해하실수학적지식이있을것이고

• 이해안가시는분들은그냥넘어가주세요 (굳이필요하지않습니다)

•그러면이제바둑판을컴퓨터용입력값으로매핑해봅시다

3/13/2016 알파고해부하기 1부 © 이동헌 50

알파고 S/W 구성: Deep Learning

•먼저가능한모든바둑판공간을정의합니다• 바둑판을 19x19 행렬로봅시다

• 자연스러운생각이라면, 행렬에넣을수있는원소는 {흑, 백, 빈칸}중하나

3/13/2016 알파고해부하기 1부 © 이동헌 51

알파고 S/W 구성: Deep Learning

•먼저가능한모든바둑판공간을정의합니다• 바둑판을 19x19 행렬로봅시다

• 자연스러운생각이라면, 행렬에넣을수있는원소는 {흑, 백, 빈칸}중하나

• 하지만컴퓨터는 0/1로보는게제일좋습니다

3/13/2016 알파고해부하기 1부 © 이동헌 52

알파고 S/W 구성: Deep Learning

•먼저가능한모든바둑판공간을정의합니다• 바둑판을 19x19 행렬로봅시다

• 자연스러운생각이라면, 행렬에넣을수있는원소는 {흑, 백, 빈칸}중하나

• 하지만컴퓨터는 0/1로보는게제일좋습니다

• 그래서위의상황을• “흑돌” 바둑판 19x19 행렬 (0이면흑돌이없고, 1이면놓인)

• “백돌” 바둑판 19x19 행렬 (0이면백돌이없고, 1이면놓인)

• “빈칸” 바둑판 19x19 행렬 (0이면뭔가돌이있고, 1이면빈칸인)

• 이렇게 3개층을쌓은 19x19x3 텐서로만듭니다• (텐서는개념상 2차원이상의행렬로생각하면됩니다)

3/13/2016 알파고해부하기 1부 © 이동헌 53

알파고 S/W 구성: Deep Learning

•먼저가능한모든바둑판공간을정의합니다• 바둑판을 19x19 행렬로봅시다

• 자연스러운생각이라면, 행렬에넣을수있는원소는 {흑, 백, 빈칸}중하나

• 하지만컴퓨터는 0/1로보는게제일좋습니다

• 그래서위의상황을• “흑돌” 바둑판 19x19 행렬 (0이면흑돌이없고, 1이면놓인)

• “백돌” 바둑판 19x19 행렬 (0이면백돌이없고, 1이면놓인)

• “빈칸” 바둑판 19x19 행렬 (0이면뭔가돌이있고, 1이면빈칸인)

• 이렇게 3개층을쌓은 19x19x3 텐서로만듭니다• (텐서는개념상 2차원이상의행렬로생각하면됩니다)

4국알파고 “멘붕의 101수”해석

Boundary condition부분해결을위해, 바둑판행렬언저리상하좌우로 2줄씩추가해서 23x23 행렬화시키는부분이

바로이어져서나옵니다.

3/13/2016 알파고해부하기 1부 © 이동헌 54

알파고 S/W 구성: Deep Learning

•먼저가능한모든바둑판공간을정의합니다• 바둑판을 19x19 행렬로봅시다

• 자연스러운생각이라면, 행렬에넣을수있는원소는 {흑, 백, 빈칸}중하나

• 하지만컴퓨터는 0/1로보는게제일좋습니다

• 그래서위의상황을• “흑돌” 바둑판 19x19 행렬 (0이면흑돌이없고, 1이면놓인)

• “백돌” 바둑판 19x19 행렬 (0이면백돌이없고, 1이면놓인)

• “빈칸” 바둑판 19x19 행렬 (0이면뭔가돌이있고, 1이면빈칸인)

• 이렇게 3개층을쌓은 19x19x3 텐서로만듭니다• (텐서는개념상 2차원이상의행렬로생각하면됩니다)

4국알파고 “멘붕의 101수”해석

Boundary condition부분해결을위해, 바둑판행렬언저리상하좌우로 2줄씩추가해서 23x23 행렬화시키는부분이

바로이어져서나옵니다.

이렇게추가된가상의언저리에는흑백돌이놓인대국이절대없겠지요?

(알파고의 “판세분석의불완전성”약점)

3/13/2016 알파고해부하기 1부 © 이동헌 55

알파고 S/W 구성: Deep Learning

•먼저가능한모든바둑판공간을정의합니다• 바둑판을 19x19 행렬로봅시다

• 자연스러운생각이라면, 행렬에넣을수있는원소는 {흑, 백, 빈칸}중하나

• 하지만컴퓨터는 0/1로보는게제일좋습니다

• 그래서위의상황을• “흑돌” 바둑판 19x19 행렬 (0이면흑돌이없고, 1이면놓인)

• “백돌” 바둑판 19x19 행렬 (0이면백돌이없고, 1이면놓인)

• “빈칸” 바둑판 19x19 행렬 (0이면뭔가돌이있고, 1이면빈칸인)

• 이렇게 3개층을쌓은 19x19x3 텐서로만듭니다• (텐서는개념상 2차원이상의행렬로생각하면됩니다)

4국알파고 “멘붕의 101수”해석

Boundary condition부분해결을위해, 바둑판행렬언저리상하좌우로 2줄씩추가해서 23x23 행렬화시키는부분이

바로이어져서나옵니다.

이렇게추가된가상의언저리에는흑백돌이놓인대국이절대없겠지요?

(알파고의 “판세분석의불완전성”약점)

가상언저리에돌이놓인걸본적없고, 실제로도가장자리단으로연장하는걸

별로본적없는알파고

3/13/2016 알파고해부하기 1부 © 이동헌 56

알파고 S/W 구성: Deep Learning

•먼저가능한모든바둑판공간을정의합니다• 바둑판을 19x19 행렬로봅시다

• 자연스러운생각이라면, 행렬에넣을수있는원소는 {흑, 백, 빈칸}중하나

• 하지만컴퓨터는 0/1로보는게제일좋습니다

• 그래서위의상황을• “흑돌” 바둑판 19x19 행렬 (0이면흑돌이없고, 1이면놓인)

• “백돌” 바둑판 19x19 행렬 (0이면백돌이없고, 1이면놓인)

• “빈칸” 바둑판 19x19 행렬 (0이면뭔가돌이있고, 1이면빈칸인)

• 이렇게 3개층을쌓은 19x19x3 텐서로만듭니다• (텐서는개념상 2차원이상의행렬로생각하면됩니다)

4국알파고 “멘붕의 101수”해석

Boundary condition부분해결을위해, 바둑판행렬언저리상하좌우로 2줄씩추가해서 23x23 행렬화시키는부분이

바로이어져서나옵니다.

이렇게추가된가상의언저리에는흑백돌이놓인대국이절대없겠지요?

(알파고의 “판세분석의불완전성”약점)

가상언저리에돌이놓인걸본적없고, 실제로도가장자리단으로연장하는걸

별로본적없는알파고

“가장자리너머는돌이안놓이던데?!!”“돌안놓이는방향으로내밀면안정적?”

3/13/2016 알파고해부하기 1부 © 이동헌 57

Time Over

•벌써월요일아침입니다• 화이트데이네요

•퇴근후남는시간에쓰는거라이제끊어야합니다• 이해부탁드려요…

• 마침 50슬라이드넘었습니다 (100 슬라이드씩만들면읽기힘드시죠?)

• 최대한노력해서얼른이어서쓰도록하겠습니다

• 4국알파고기권! 이세돌 9단정말수고많으셨어요!!!

3/13/2016 알파고해부하기 1부 © 이동헌 58

Time Over: 진행상황

•알파고의구조

•알파고소프트웨어의구성• 알파고 S/W 구성: Deep Learning 유관부분

• 바둑판인식프로그램

•알파고 S/W의대국시동작법

•알파고 S/W의대국전트레이닝법

•알파고 S/W의혁신점

•알파고의혁신점

3/13/2016 알파고해부하기 1부 © 이동헌 59

다음이야기

•다음링크를따라가세요• 알파고해부하기 2부

• 알파고해부하기 3부

•피드백/오류제보이메일이필요하시면여기로보내주세요• [email protected]

3/13/2016 알파고해부하기 1부 © 이동헌 60