Submit Search
Upload
알파고 해부하기 2부
•
58 likes
•
9,983 views
D
Donghun Lee
Follow
알파고 해부하기는 2부로 이어집니다. 점점 "프로그래머를 위한 알파고"가 되어가고 있습니다..
Read less
Read more
Technology
Report
Share
Report
Share
1 of 79
Download now
Download to read offline
Recommended
알파고를 해부해봅시다 (4국 알파고 멘붕의 101수에 대한 인공지능 연구자 입장에서의 간단한 생각 포함) * 이메일 주소 오류수정했어요
알파고 해부하기 1부
알파고 해부하기 1부
Donghun Lee
알파고 해부하기를 3부로 마무리짓습니다 알파고 논문을 읽고 이해하고자 하는 분들께 도움이 되었으면 좋겠습니다
알파고 해부하기 3부
알파고 해부하기 3부
Donghun Lee
알파고의 작동 원리를 설명한 슬라이드입니다. English version: http://www.slideshare.net/ShaneSeungwhanMoon/how-alphago-works - 비전공자 분들을 위한 티저: 바둑 인공지능은 과연 어떻게 만들까요? 딥러닝 딥러닝 하는데 그게 뭘까요? 바둑 인공지능은 또 어디에 쓰일 수 있을까요? - 전공자 분들을 위한 티저: 알파고의 main components는 재밌게도 CNN (Convolutional Neural Network), 그리고 30년 전부터 유행하던 Reinforcement learning framework와 MCTS (Monte Carlo Tree Search) 정도입니다. 새로울 게 없는 재료들이지만 적절히 활용하는 방법이 신선하네요.
알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리
Shane (Seungwhan) Moon
Google DeepMind의 AlphaGo가 작동하는 알고리즘을 간략하게 요약했습니다. 주로 기존의 자료 중 설명이 빈약했던 Reinforcement Learning에 대한 설명을 추가했습니다.
AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약
Jooyoul Lee
자세한 내용은 https://www.youtube.com/watch?v=oPT9hHXrEpo 을 참조하세요. AlphaGo가 어떤 원리로 구현되었으며, 어떻게 강력한 기력을 확보하게 되었는지를 설명드립니다. 이 자료를 이해하기 위해서 인공지능과 전산과학에 기초적인 지식이 필요할 수 있습니다.
알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review
상은 박
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
NAVER D2
앱센터주관으로 알파고의 알고리즘에 대해 공개 세미나했던 슬라이드를 뒤늦게 올립니다. 앱센터에서 이미 올려서 필요없을거라고 생각했었는데 앱센터 자료는 링크로만 찾아가게 되어 있네요.
알파고의 알고리즘
알파고의 알고리즘
SeokWon Kim
Google AlphaGo, 어떻게 동작할까요? @tech, SK플래닛 README 블로그
Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?
Lee Ji Eun
Recommended
알파고를 해부해봅시다 (4국 알파고 멘붕의 101수에 대한 인공지능 연구자 입장에서의 간단한 생각 포함) * 이메일 주소 오류수정했어요
알파고 해부하기 1부
알파고 해부하기 1부
Donghun Lee
알파고 해부하기를 3부로 마무리짓습니다 알파고 논문을 읽고 이해하고자 하는 분들께 도움이 되었으면 좋겠습니다
알파고 해부하기 3부
알파고 해부하기 3부
Donghun Lee
알파고의 작동 원리를 설명한 슬라이드입니다. English version: http://www.slideshare.net/ShaneSeungwhanMoon/how-alphago-works - 비전공자 분들을 위한 티저: 바둑 인공지능은 과연 어떻게 만들까요? 딥러닝 딥러닝 하는데 그게 뭘까요? 바둑 인공지능은 또 어디에 쓰일 수 있을까요? - 전공자 분들을 위한 티저: 알파고의 main components는 재밌게도 CNN (Convolutional Neural Network), 그리고 30년 전부터 유행하던 Reinforcement learning framework와 MCTS (Monte Carlo Tree Search) 정도입니다. 새로울 게 없는 재료들이지만 적절히 활용하는 방법이 신선하네요.
알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리
Shane (Seungwhan) Moon
Google DeepMind의 AlphaGo가 작동하는 알고리즘을 간략하게 요약했습니다. 주로 기존의 자료 중 설명이 빈약했던 Reinforcement Learning에 대한 설명을 추가했습니다.
AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약
Jooyoul Lee
자세한 내용은 https://www.youtube.com/watch?v=oPT9hHXrEpo 을 참조하세요. AlphaGo가 어떤 원리로 구현되었으며, 어떻게 강력한 기력을 확보하게 되었는지를 설명드립니다. 이 자료를 이해하기 위해서 인공지능과 전산과학에 기초적인 지식이 필요할 수 있습니다.
알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review
상은 박
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
NAVER D2
앱센터주관으로 알파고의 알고리즘에 대해 공개 세미나했던 슬라이드를 뒤늦게 올립니다. 앱센터에서 이미 올려서 필요없을거라고 생각했었는데 앱센터 자료는 링크로만 찾아가게 되어 있네요.
알파고의 알고리즘
알파고의 알고리즘
SeokWon Kim
Google AlphaGo, 어떻게 동작할까요? @tech, SK플래닛 README 블로그
Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?
Lee Ji Eun
CTF for ビギナーズのネットワーク講習で使用した資料です。 講習に使用したファイルは、以下のリンク先にあります。 https://onedrive.live.com/redir?resid=5EC2715BAF0C5F2B!10056&authkey=!ANE0wqC_trouhy0&ithint=folder%2czip
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
발표 영상 : https://youtu.be/klnfWhPGPRs 코드 : https://github.com/carpedm20/multi-speaker-tacotron-tensorflow 음성 합성 데모 : http://carpedm20.github.io/tacotron 발표 소개 : https://deview.kr/2017/schedule/182 딥러닝을 활용한 음성 합성 기술을 소개하고 개발 경험과 그 과정에서 얻었던 팁을 공유하고자 합니다.
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
Taehoon Kim
한국인공지능연구소 소속 강화학습연구소에서 복습용으로 쓰인 PPT입니다. Deep sarsa, Deep Q-learning, DQN에 대하여 설명되어 있습니다.
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
Euijin Jeong
Data Structures CPCS-204
Data Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithms
Abdullah Al-hazmy
2018년 6월 24일 "백수들의 Conference"에서 발표한 개발자를 위한 (블로그) 글쓰기 intro입니다 좋은 글을 많이 보는 노하우 + 꾸준히 글을 작성하는 노하우에 대해 주로 이야기했습니다! (어떻게 글을 작성하는가는 없어요!) 피드백은 언제나 환영합니다 :)
개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro
Seongyun Byeon
An introduction to DeepMind's newest board-game playing AI, AlphaZero. I have improved significantly on my previous presentation in https://www.slideshare.net/ssuserc416e2/alphago-zero-mastering-the-game-of-go-without-human-knowledge, which had several errors (some rather glaring, such as the temperature equation for simulated annealing). Also, DeepMind released far more details in their new Science paper for AlphaZero. One comment I would like to add is that the AlphaGo Zero used for comparison in this paper is a very weak version, not the final version. Thus, AlphaGo Zero is still SOTA for Go.
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
Joonhyung Lee
발표 영상 : https://goo.gl/jrKrvf 데모 영상 : https://youtu.be/exXD6wJLJ6s Deep Q-Network, Double Q-learning, Dueling Network 등의 기술을 소개하며, hyperparameter, debugging, ensemble 등의 엔지니어링으로 성능을 끌어 올린 과정을 공유합니다.
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
Taehoon Kim
From Alpha Go to Alpha Zero. What's my vision about this awesome project and how I explain it.
Alpha zero - London 2018
Alpha zero - London 2018
Juantomás García Molina
안녕하세요. 강화학습을 공부하면서 처음 접하시는 분들을 위해 ppt로 '강화학습의 개요'에 대해서 정리했습니다. 동물이 학습하는 것과 똑같이 시행착오를 겪으면서 학습하는 강화학습은 기계학습 분야에서 상당히 매력적이라고 생각합니다. https://www.youtube.com/watch?v=PQtDTdDr8vs&feature=youtu.be 위의 링크는 스키너의 쥐 실험 영상입니다. 감사합니다.
강화학습의 개요
강화학습의 개요
Dongmin Lee
안녕하세요. 강화학습 알고리즘의 흐름도를 수식 중점으로 만들어봤습니다. Part 1은 MDP, 정책, 가치함수, 다이나믹 프로그래밍으로 Part 2에서는 다이나믹 프로그래밍의 한계, 강화학습의 탄생, 살사, 큐러닝순으로 정리하였습니다. 강화학습 알고리즘의 흐름을 이해해봅시다~!
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1
Dongmin Lee
안녕하세요. 강화학습 알고리즘의 흐름도를 수식 중점으로 만들어봤습니다. Part 1은 MDP, 정책, 가치함수, 다이나믹 프로그래밍으로 Part 2에서는 다이나믹 프로그래밍의 한계, 강화학습의 탄생, 살사, 큐러닝순으로 정리하였습니다. 강화학습 알고리즘의 흐름을 이해해봅시다~!
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2
Dongmin Lee
RLKorea의 프로젝트인 피지여행에서 진행한 내용을 정리한 것입니다. 피지여행은 DeepRL에서 중요한 Policy Gradient를 쭉 정리해보는 프로젝트입니다. PG의 처음 시작인 REINFORCE 부터 현재 새로운 baseline이 된 PPO까지 이론과 코드를 함께 살펴봅니다.
From REINFORCE to PPO
From REINFORCE to PPO
Woong won Lee
PDF를 받아서 보시면 깨끗하게 보입니다.
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Taehoon Kim
데이터야놀자 2018에서 발표한 문서입니다. 딥마인드의 분산 강화학습 논문 IMPALA에 대한 설명과 구현 코드 링크가 있으나, 수렴에는 실패했습니다. 발표전 시간이 부족해 디버깅을 하지 못했습니다. 참고하시기 바랍니다.
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
정주 김
OpenAI 에서 2020년도에 발표한 논문 리뷰입니다. Learning Transferable Visual Models From Natural Language Supervision https://arxiv.org/abs/2103.00020
[Paper review] contrastive language image pre-training, open ai, 2020
[Paper review] contrastive language image pre-training, open ai, 2020
Seonghoon Jung
PyCon KR 2015에서 Profiling에 대해 이야기 했습니다. [Profiling]: https://github.com/what-studio/profiling [발표 소개]: http://www.pycon.kr/2015/program/45
Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러
Heungsub Lee
Machine Learning + 주식 2탄 (강화학습+주식)
ML + 주식 phase 2
ML + 주식 phase 2
HoChul Shin
Sutton's book
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
Taehoon Kim
인공지능 분야에서 강화학습은 중요한 방법론으로 떠오르고 있습니다. 이 발표에서는 강화학습의 기본 개념과 강화학습 연구용 툴킷인 OpenAI Gym에 대해 소개하고, 파이썬으로 직접 강화학습 환경을 만들고 학습시키는 방법에 대해서 알아보겠습니다.
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
정주 김
slides for 3/21 MLDM Monday http://www.meetup.com/Taiwan-R/events/229386172/
AlphaGo in Depth
AlphaGo in Depth
Mark Chang
더 많은 분들이 알파고를 좀 더 쉽게 이해하는데 도움이 되면 좋겠습니다
모두의 알파고
모두의 알파고
Donghun Lee
기계 학습과 신경망, 딥러닝의 기초 개념을 설명합니다.
기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가
Yongha Kim
More Related Content
What's hot
CTF for ビギナーズのネットワーク講習で使用した資料です。 講習に使用したファイルは、以下のリンク先にあります。 https://onedrive.live.com/redir?resid=5EC2715BAF0C5F2B!10056&authkey=!ANE0wqC_trouhy0&ithint=folder%2czip
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
발표 영상 : https://youtu.be/klnfWhPGPRs 코드 : https://github.com/carpedm20/multi-speaker-tacotron-tensorflow 음성 합성 데모 : http://carpedm20.github.io/tacotron 발표 소개 : https://deview.kr/2017/schedule/182 딥러닝을 활용한 음성 합성 기술을 소개하고 개발 경험과 그 과정에서 얻었던 팁을 공유하고자 합니다.
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
Taehoon Kim
한국인공지능연구소 소속 강화학습연구소에서 복습용으로 쓰인 PPT입니다. Deep sarsa, Deep Q-learning, DQN에 대하여 설명되어 있습니다.
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
Euijin Jeong
Data Structures CPCS-204
Data Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithms
Abdullah Al-hazmy
2018년 6월 24일 "백수들의 Conference"에서 발표한 개발자를 위한 (블로그) 글쓰기 intro입니다 좋은 글을 많이 보는 노하우 + 꾸준히 글을 작성하는 노하우에 대해 주로 이야기했습니다! (어떻게 글을 작성하는가는 없어요!) 피드백은 언제나 환영합니다 :)
개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro
Seongyun Byeon
An introduction to DeepMind's newest board-game playing AI, AlphaZero. I have improved significantly on my previous presentation in https://www.slideshare.net/ssuserc416e2/alphago-zero-mastering-the-game-of-go-without-human-knowledge, which had several errors (some rather glaring, such as the temperature equation for simulated annealing). Also, DeepMind released far more details in their new Science paper for AlphaZero. One comment I would like to add is that the AlphaGo Zero used for comparison in this paper is a very weak version, not the final version. Thus, AlphaGo Zero is still SOTA for Go.
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
Joonhyung Lee
발표 영상 : https://goo.gl/jrKrvf 데모 영상 : https://youtu.be/exXD6wJLJ6s Deep Q-Network, Double Q-learning, Dueling Network 등의 기술을 소개하며, hyperparameter, debugging, ensemble 등의 엔지니어링으로 성능을 끌어 올린 과정을 공유합니다.
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
Taehoon Kim
From Alpha Go to Alpha Zero. What's my vision about this awesome project and how I explain it.
Alpha zero - London 2018
Alpha zero - London 2018
Juantomás García Molina
안녕하세요. 강화학습을 공부하면서 처음 접하시는 분들을 위해 ppt로 '강화학습의 개요'에 대해서 정리했습니다. 동물이 학습하는 것과 똑같이 시행착오를 겪으면서 학습하는 강화학습은 기계학습 분야에서 상당히 매력적이라고 생각합니다. https://www.youtube.com/watch?v=PQtDTdDr8vs&feature=youtu.be 위의 링크는 스키너의 쥐 실험 영상입니다. 감사합니다.
강화학습의 개요
강화학습의 개요
Dongmin Lee
안녕하세요. 강화학습 알고리즘의 흐름도를 수식 중점으로 만들어봤습니다. Part 1은 MDP, 정책, 가치함수, 다이나믹 프로그래밍으로 Part 2에서는 다이나믹 프로그래밍의 한계, 강화학습의 탄생, 살사, 큐러닝순으로 정리하였습니다. 강화학습 알고리즘의 흐름을 이해해봅시다~!
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1
Dongmin Lee
안녕하세요. 강화학습 알고리즘의 흐름도를 수식 중점으로 만들어봤습니다. Part 1은 MDP, 정책, 가치함수, 다이나믹 프로그래밍으로 Part 2에서는 다이나믹 프로그래밍의 한계, 강화학습의 탄생, 살사, 큐러닝순으로 정리하였습니다. 강화학습 알고리즘의 흐름을 이해해봅시다~!
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2
Dongmin Lee
RLKorea의 프로젝트인 피지여행에서 진행한 내용을 정리한 것입니다. 피지여행은 DeepRL에서 중요한 Policy Gradient를 쭉 정리해보는 프로젝트입니다. PG의 처음 시작인 REINFORCE 부터 현재 새로운 baseline이 된 PPO까지 이론과 코드를 함께 살펴봅니다.
From REINFORCE to PPO
From REINFORCE to PPO
Woong won Lee
PDF를 받아서 보시면 깨끗하게 보입니다.
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Taehoon Kim
데이터야놀자 2018에서 발표한 문서입니다. 딥마인드의 분산 강화학습 논문 IMPALA에 대한 설명과 구현 코드 링크가 있으나, 수렴에는 실패했습니다. 발표전 시간이 부족해 디버깅을 하지 못했습니다. 참고하시기 바랍니다.
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
정주 김
OpenAI 에서 2020년도에 발표한 논문 리뷰입니다. Learning Transferable Visual Models From Natural Language Supervision https://arxiv.org/abs/2103.00020
[Paper review] contrastive language image pre-training, open ai, 2020
[Paper review] contrastive language image pre-training, open ai, 2020
Seonghoon Jung
PyCon KR 2015에서 Profiling에 대해 이야기 했습니다. [Profiling]: https://github.com/what-studio/profiling [발표 소개]: http://www.pycon.kr/2015/program/45
Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러
Heungsub Lee
Machine Learning + 주식 2탄 (강화학습+주식)
ML + 주식 phase 2
ML + 주식 phase 2
HoChul Shin
Sutton's book
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
Taehoon Kim
인공지능 분야에서 강화학습은 중요한 방법론으로 떠오르고 있습니다. 이 발표에서는 강화학습의 기본 개념과 강화학습 연구용 툴킷인 OpenAI Gym에 대해 소개하고, 파이썬으로 직접 강화학습 환경을 만들고 학습시키는 방법에 대해서 알아보겠습니다.
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
정주 김
slides for 3/21 MLDM Monday http://www.meetup.com/Taiwan-R/events/229386172/
AlphaGo in Depth
AlphaGo in Depth
Mark Chang
What's hot
(20)
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
Data Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithms
개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
Alpha zero - London 2018
Alpha zero - London 2018
강화학습의 개요
강화학습의 개요
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2
From REINFORCE to PPO
From REINFORCE to PPO
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
[Paper review] contrastive language image pre-training, open ai, 2020
[Paper review] contrastive language image pre-training, open ai, 2020
Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러
ML + 주식 phase 2
ML + 주식 phase 2
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
AlphaGo in Depth
AlphaGo in Depth
Viewers also liked
더 많은 분들이 알파고를 좀 더 쉽게 이해하는데 도움이 되면 좋겠습니다
모두의 알파고
모두의 알파고
Donghun Lee
기계 학습과 신경망, 딥러닝의 기초 개념을 설명합니다.
기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가
Yongha Kim
100장의 슬라이드로 알파고가 어떻게 작동하는지 최대한 풀어서 설명했습니다. 알파고의 구조적 약점 세가지를 제시합니다.
바둑인을 위한 알파고
바둑인을 위한 알파고
Donghun Lee
기존 <쫄지말자딥러닝> 자료에 CNN / RNN 에 대한 설명을 추가한 업그레이드 버전입니다.
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
Modulabs
2016년 4월 9일 microsoft 세미나 발표자료입니다. 발표는 PPT 로 할거고 애니메이션등 약간의 내용을 추가해서 발표할 예정입니다. 알파고관련된 내용만있는 축약본은 아래링크에 있습니다. http://www.slideshare.net/redrebel/20160409-ms-ml
20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료
JungGeun Lee
DCGAN, Neural Turing Machine, Deep Q Network, Visual Analogy
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
Taehoon Kim
2016년 5월 28일 모두의연구소 무료특강 자료입니다.
[모두의연구소] 쫄지말자딥러닝
[모두의연구소] 쫄지말자딥러닝
Modulabs
Machine Learning Introduction kNN 알고리즘 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
Terry Cho
Understand Artificial Intelligence (Deep learning) & A.I. Applications 인공지능(딥러닝)의 개요와 인공지능 응용 사례
Introduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. Applications
Mario Cho
mm 2014년 가을, 美스탠퍼드대를 중심으로 인공지능 장기 연구 프로젝트인 ‘인공지능 100년 연구(AI100)’ 출범 - 인공지능 발전이 인류사회에 미칠 영향에 대한 연구 수행 mm ‘AI100’ 상임위원회는 인공지능 관련 학계·산업계 전문가와 법·정치·경제 분야 학자들로 이루어진 17인의 연구패널 구성 - 연구패널에서는 개인과 사회에 혜택을 주는 인공지능 연구, 개발, 시스템 디자인, 프로그램과 정책 개발 가이드를 제공하고, - 인공지능의 발전과 그에 따른 기술·사회적 도전과제, 기회를 포함한 사회변화를 5년마다 평가 mm 2016년 9월, 연구패널은 최소 100년 이상 이어질 대장정 연구프로젝트의 시작을 알리며 ‘인공지능과 2030년의 삶’ 보고서 발표 - 보고서에서는 AI의 영향력과 연구 트렌드, AI가 2030년까지 북아메리카 도시에 미칠 8대 분야별 사회적 영향과 정책방향을 제시
인공지능 발전이 가져올 2030년의 삶
인공지능 발전이 가져올 2030년의 삶
봉조 김
google photos and AI, machine learning story
2016 kcd 세미나 발표자료. 구글포토로 바라본 인공지능과 머신러닝
2016 kcd 세미나 발표자료. 구글포토로 바라본 인공지능과 머신러닝
JungGeun Lee
인공지능과 기계학습, 딥러닝에 대한 기본 개념 설명 및 CNN에 대한 설명, case study
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
일본 NAIST 신도 교수가 최근에 정리한 "최신 딥러닝을 이용한 자연어 처리기술"을 번역한 자료입니다. 새로운 기술에 대한 간단한 소개정도를 실은 자료입니다. 세부적인 기술내용은 참고논문을 찾으시면 될 듯 합니다.
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
홍배 김
Deview deep learning-김정희
Deview deep learning-김정희
NAVER D2
기계학습의 전반적인 개념에 대한 입문 강의입니다. 강의 영상은 다음에서 확인하실 수 있습니다. (http://t-robotics.blogspot.com) (http://terryum.io)
기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기
Terry Taewoong Um
Big Data and Deep Learning
마인즈랩 유태준 투이Y세미나_20150622
마인즈랩 유태준 투이Y세미나_20150622
Taejoon Yoo
이세돌과 알파고의 대결에서 나타난 인공지능의 전망과 사회적 영향에 대한 생각
알파고는 어떤 컴퓨터를 썼을까?
알파고는 어떤 컴퓨터를 썼을까?
Lee Jysoo
미국 스탠퍼드 대학은 “2030년 인공지능과 생활(Artificial Intelligence and Life in 2030)”이라는 제목의 보고서를 공개하였음. 이 보고서는 인공지능(AI) 그 자체와 함께 인간과 공동체 사회에 대한 AI의 영향에 대해 장기적 관점에서 조사하는 ‘AI 100’ 프로젝트 중 첫 번째 과업으로, 전형적인 미국의 도시를 예로 들어 교통, 홈서비스 로봇 등 여덟 가지 분야에서 2030년경 AI 활용도를 예측한 것인데, AI가 미칠 영향이 광범위하므로 적극적인 대응이 필요하다고 권고
스탠퍼드 대학의 2030년 인공지능 전망, 천천히 확실하게 도래
스탠퍼드 대학의 2030년 인공지능 전망, 천천히 확실하게 도래
봉조 김
최근 IT업계에서는 딥러닝에 대한 큰 활약이 이슈화 되고 있습니다. 이와 같은 트렌드에 따라가고 싶지만 선형대수 등의 수학적 배경지식 습득부터 시작하여, 딥러닝의 원리와 주요 개념들을 이해 후에 실험을 시도하기에는 많은 시간과 노력이 필요합니다. 그러나 기존의 유용한 딥러닝 오픈소스를 활용한다면 어렵지 않게 딥러닝을 맛볼 수 있습니다. 본 발표는 수학적인 설명을 최대한 배제하고, 오픈소스 툴인 theano, pylearn2를 활용한 예제에 대해 설명하려고 합니다. 추가로 필요할 코드들도 소개하려고 합니다. 그리고 word2vec 를 활용하여, 자연어 처리에 딥러닝을 적용하는 사례를 다루려고 합니다. 주제가 학문적이고 이론적이기 때문에 발표가 부담되지만, 최대한 개념적으로 설명하여 실험을 쉽게 따라 할 수 있도록 돕고자 합니다. 오픈소스 툴들의 문서화가 잘 되어있지만, 저 또한 처음 접했을 때는 어려움이 있었기 때문에 딥러닝을 시작해보려는 분들에게 도움이 될 듯합니다. 컴퓨터가 딥러닝하는 동안 틈틈이 이론공부 하시면 좋겠네요.
[Pycon 2015] 오늘 당장 딥러닝 실험하기 제출용
[Pycon 2015] 오늘 당장 딥러닝 실험하기 제출용
현호 김
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
Taejoon Yoo
Viewers also liked
(20)
모두의 알파고
모두의 알파고
기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가
바둑인을 위한 알파고
바둑인을 위한 알파고
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
[모두의연구소] 쫄지말자딥러닝
[모두의연구소] 쫄지말자딥러닝
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
Introduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. Applications
인공지능 발전이 가져올 2030년의 삶
인공지능 발전이 가져올 2030년의 삶
2016 kcd 세미나 발표자료. 구글포토로 바라본 인공지능과 머신러닝
2016 kcd 세미나 발표자료. 구글포토로 바라본 인공지능과 머신러닝
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
Deview deep learning-김정희
Deview deep learning-김정희
기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기
마인즈랩 유태준 투이Y세미나_20150622
마인즈랩 유태준 투이Y세미나_20150622
알파고는 어떤 컴퓨터를 썼을까?
알파고는 어떤 컴퓨터를 썼을까?
스탠퍼드 대학의 2030년 인공지능 전망, 천천히 확실하게 도래
스탠퍼드 대학의 2030년 인공지능 전망, 천천히 확실하게 도래
[Pycon 2015] 오늘 당장 딥러닝 실험하기 제출용
[Pycon 2015] 오늘 당장 딥러닝 실험하기 제출용
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
알파고 해부하기 2부
1.
알파고 해부하기 2부 이동헌 donghun2014@gmail.com
2.
이어서 시작하면서 • 알파고
해부하기 1부에서 이어지는 게시물입니다 • 예상 독자층은 알파고의 원리를 정확히 알고 싶어하는 분들 • 프로그래밍, 딥러닝, 머신러닝 연구자분들 포함입니다 • “프로그래머를 위한 알파고”로 생각해주세요.. • 내용이 어렵다면 “쉬운” 알파고 게시물도 있어요 1. 모두의 알파고 2. 바둑인들을 위한 알파고 3/16/2016 알파고 해부하기 2부 © 이동헌 2
3.
당부말씀 • 정확성을 최우선가치로
씁니다 • 정확하지 않은 내용을 찾으시면 꼭! 피드백 부탁드립니다 • donghun2014@gmail.com • 내용의 한 부분만 뚝 잘라서 인용하시면 위험합니다 • 정확한 내용들이 보통 그렇듯이, 부분을 잘라내면 뜻이 달라질 수 있어요 3/16/2016 알파고 해부하기 2부 © 이동헌 3
4.
1부까지의 진행상황 • 알파고의
구조 • 알파고 소프트웨어의 구성 • 알파고 S/W 구성: Deep Learning 유관 부분 • 바둑판 인식 프로그램 • 알파고 S/W의 대국시 동작법 • 알파고 S/W의 대국 전 트레이닝법 • 알파고 S/W의 혁신점 • 알파고의 혁신점 3/16/2016 알파고 해부하기 2부 © 이동헌 4
5.
목차 • 알파고의 구조 •
알파고 소프트웨어의 구성 • 알파고 S/W 구성: Deep Learning 유관 부분 • 알파고 S/W 구성: Reinforcement Learning 유관 부분 • 알파고 S/W 구성: Monte-Carlo Tree Search 유관 부분 • 알파고 S/W의 대국시 동작법 • 알파고 S/W의 대국 전 트레이닝법 • 알파고 S/W의 혁신점 • 알파고의 혁신점 3/16/2016 알파고 해부하기 2부 © 이동헌 5
6.
알파고 S/W 구성:
Deep Learning • 먼저 가능한 모든 바둑판 공간을 정의합니다 • 바둑판을 19x19 행렬로 봅시다 • 자연스러운 생각이라면, 행렬에 넣을 수 있는 원소는 {흑, 백, 빈칸}중 하나 • 하지만 컴퓨터는 0/1로 보는게 제일 좋습니다 • 그래서 위의 상황을 • “흑돌” 바둑판 19x19 행렬 (0이면 흑돌이 없고, 1이면 놓인) • “백돌” 바둑판 19x19 행렬 (0이면 백돌이 없고, 1이면 놓인) • “빈칸” 바둑판 19x19 행렬 (0이면 뭔가 돌이 있고, 1이면 빈칸인) • 이렇게 3개 층을 쌓은 19x19x3 텐서 로 만듭니다 • (텐서는 개념상 2차원 이상의 행렬로 생각하면 됩니다) 3/16/2016 알파고 해부하기 2부 © 이동헌 6
7.
알파고 S/W 구성:
Deep Learning • 여기에 추가로 feature를 집어넣습니다 • 기존 흑/백/빈칸에 추가로 • 19x19 행렬 원소별로, 주어진 칸에 3/16/2016 알파고 해부하기 2부 © 이동헌 7
8.
알파고 S/W 구성:
Deep Learning • 여기에 추가로 feature를 집어넣습니다 • 기존 흑/백/빈칸에 추가로 • 19x19 행렬 원소별로, 주어진 칸에 • 그냥 상수 1 (“그 칸 고유의 특성”을 모델링) • 돌이 있다면, 몇 수 전에 놓였는지 (최소 1, 최대 8) (길이8의 binary array) • 연결된 말의 현재 활로가 몇개인지 (최소 1, 최대 8) • 상대가 돌을 놓는다면 내가 잃을 돌의 수 (최소 1, 최대 8) • 내가 돌을 놓는다면 그 돌에 연결된 말의 활로가 몇 개가 될지 (최소 1, 최대 8) • 내가 돌을 놓는다면, 내가 축을 만드는데 성공할지 • 내가 돌을 놓는다면, 내가 축을 탈출하는데 성공할지 • 돌을 놓는것이 바둑의 규칙에 어긋나는지 • 내가 흑돌인지 백돌인지 (이건 Value Network (판세분석) 에만 쓰입니다) (알파고 논문에 나온 Extended Data Table 2 참조) 3/16/2016 알파고 해부하기 2부 © 이동헌 8
9.
알파고 S/W 구성:
Deep Learning • 여기에 추가로 feature를 집어넣습니다 • 기존 흑/백/빈칸에 추가로 • 19x19 행렬 원소별로, 주어진 칸에 • 이것저것, 도합 48개의 binary input • 바둑판 각 칸별로 길이 48의 binary array로 구성된 feature가 됩니다 • (Policy Network는 48, Value Network는 49) • 바둑판이 19x19 행렬이니, • 이렇게 만들어진 Deep Learning input은 19x19x48 텐서. • Value Network는 19x19x49 3/16/2016 알파고 해부하기 2부 © 이동헌 9
10.
알파고 S/W 구성:
Deep Learning • Input 텐서 • Policy Network (다음 수 예측) 용도와 Value Network (판세예측) 용도에 따라 feature가 조금 다릅니다 3/16/2016 알파고 해부하기 2부 © 이동헌 10
11.
알파고 S/W 구성:
Deep Learning • Input 텐서 • Policy Network (다음 수 예측) 용도와 Value Network (판세예측) 용도에 따라 feature가 조금 다릅니다 • Output • 당연히 Policy Network와 Value Network가 다릅니다 • Policy Network의 경우, 𝑃(𝑎|𝑠) • “바둑판 s가 주어질 때, 다음 착수가 a일 확률값” • Value Network의 경우, 𝐸 𝑧𝑡 𝑠𝑡 = 𝑠, 𝑎 𝑡…𝑇~𝑝] • “바둑판 s가 주어질 때, 바둑기사 양쪽 모두 착수전략 p를 따라 대국종료까지 두었을때, 게임 기대값 (z가 -1(패)이나 1(승)이므로, 0이면 50:50 비등비등 상황임” 3/16/2016 알파고 해부하기 2부 © 이동헌 11
12.
알파고 S/W 구성:
Deep Learning • 각 모듈별 내부구조를 설명하기 전에… • 지금까지 설명한 부분을 요약한다면 • Policy Network (다음 수 예측)과 Value Network (판세예측) 양쪽에 공통인 • “바둑판 상황 인식” 프로그램 • 에 해당하는 Deep Learning 부분입니다. Input 부분을 중점으로 다뤘지요. 3/16/2016 알파고 해부하기 2부 © 이동헌 12
13.
알파고 S/W 구성:
Deep Learning • 각 모듈별 내부구조를 설명하기 전에… • 지금까지 설명한 부분을 요약한다면 • Policy Network (다음 수 예측)과 Value Network (판세예측) 양쪽에 공통인 • “바둑판 상황 인식” 프로그램 • 에 해당하는 Deep Learning 부분입니다. Input 부분을 중점으로 다뤘지요. • 이제부터 • Policy Network • Value Network 양쪽에 사용된 CNN (Convolutional Neural Network) 구조를 설명합니다 3/16/2016 알파고 해부하기 2부 © 이동헌 13
14.
알파고 소프트웨어의 구성 •
Policy Network • Deep Learning과 • Reinforcement Learning의 • 적절한 만남! 알파고 바둑 프로그램 바둑판 미래 예측 시도 여러 번 미래예측 후 가장 많이 둔 수로 선택 RL MCTS RL MCTS RL 바둑판 현상황 인식 프로그램DL 3/16/2016 알파고 해부하기 2부 © 이동헌 14 바둑경기 상황 유/불리 분석 프로그램 DL RL 상대 바둑기사 다음 수 예측 프로그램 알파고의 다음 수 결정 프로그램 DL DLRL RL
15.
알파고 S/W 구성:
“Policy Network” • Policy Network: 19x19행렬의 48층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution • 하기 위해서, 상하좌우 언저리로 0으로 채워진 2행 2열씩 추가 • 23x23 행렬로 만들어서 2D convolution • ReLU 유닛 사용 3/16/2016 알파고 해부하기 2부 © 이동헌 15
16.
알파고 S/W 구성:
“Policy Network” • Policy Network: 19x19행렬의 48층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution • 하기 위해서, 상하좌우 언저리로 0으로 채워진 2행 2열씩 추가 • 23x23 행렬로 만들어서 2D convolution • ReLU 유닛 사용 • 제 2~12층은 3x3 filter 192종으로, stride 1로 convolution • 하기 위해서, 상하좌우 언저리로 0으로 채워진 1행 1열씩 추가 • 21x21 행렬로 만들어서 2D convolution • ReLU 유닛 사용 3/16/2016 알파고 해부하기 2부 © 이동헌 16
17.
알파고 S/W 구성:
“Policy Network” • Policy Network: 19x19행렬의 48층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution • 하기 위해서, 상하좌우 언저리로 0으로 채워진 2행 2열씩 추가 • 23x23 행렬로 만들어서 2D convolution • ReLU 유닛 사용 • 제 2~12층은 3x3 filter 192종으로, stride 1로 convolution • 하기 위해서, 상하좌우 언저리로 0으로 채워진 1행 1열씩 추가 • 21x21 행렬로 만들어서 2D convolution • ReLU 유닛 사용 • 제 13층은 특별한 필터 없이 1:1 대응으로 • 각 위치별 bias를 다르게 해서 • Softmax 유닛 사용 3/16/2016 알파고 해부하기 2부 © 이동헌 17
18.
알파고 S/W 구성:
“Policy Network” • Policy Network: 19x19행렬의 48층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~12층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 13층은 특별한 필터 없이 1:1대응 softmax • 위 구조를 선택한 (이론적) 이유를 헤아려보려면? • 기본적으로 Convolutional Neural Network (CNN) 공부필요 • CNN 설명자료는 인터넷에 많습니다 3/16/2016 알파고 해부하기 2부 © 이동헌 18
19.
알파고 S/W 구성:
“Policy Network” • Policy Network: 19x19행렬의 48층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~12층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 13층은 특별한 필터 없이 1:1대응 softmax • ReLU를 사용하는 이유? • 이론적: Vanishing gradient 문제가 없음 • 종전 neural net에 자주 쓰이던 sigmoid 계열 함수의 경우 이 문제가 있지요 • 실험적: Deep network에서 실험적 효과 좋음 (효율성 측면) • 실제로 잘 된다고 보고된 바가 많다니 선택의 근거로 인정합니다.. 3/16/2016 알파고 해부하기 2부 © 이동헌 19
20.
• Policy Network:
19x19행렬의 48층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~12층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 13층은 특별한 필터 없이 1:1대응 softmax • 근데 왜 뜬금없는 softmax 함수 • State의 가치값Q으로 a를 결정하는 방법 중 하나: softmax함수 사용 • 참고문헌: Humprey 1999. 박사논문 [바로가기] 25페이지 • Policy Network output이 𝑃(𝑎|𝑠) 이므로 이것에 맞춘 형태 • “바둑판 s가 주어질 때, 다음 착수가 a일 확률값” • Reinforcement Learning의 영향 알파고 S/W 구성: “Policy Network” 3/16/2016 알파고 해부하기 2부 © 이동헌 20
21.
알파고 소프트웨어의 구성 •
Value Network • Deep Learning과 • Reinforcement Learning을 • 살짝 다르게 접합 알파고 바둑 프로그램 상대 바둑기사 다음 수 예측 프로그램 알파고의 다음 수 결정 프로그램 바둑판 미래 예측 시도 여러 번 미래예측 후 가장 많이 둔 수로 선택 DL DLRL RL RL MCTS RL MCTS RL 바둑판 현상황 인식 프로그램DL 3/16/2016 알파고 해부하기 2부 © 이동헌 21 바둑경기 상황 유/불리 분석 프로그램 DL RL
22.
알파고 S/W 구성:
“Value Network” • Value Network: 19x19행렬의 49층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~11층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU 3/16/2016 알파고 해부하기 2부 © 이동헌 22 이 부분은 Policy Network와 동일구조 사용
23.
알파고 S/W 구성:
“Value Network” • Value Network: 19x19행렬의 49층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~11층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 12층은 “additional convolution layer” (추가정보 없음..) • 제 13층은 특별한 필터 없이 1:1대응 (사용된 function정보없음) 3/16/2016 알파고 해부하기 2부 © 이동헌 23 논문이 제대로 설명해주지 않는 부분..
24.
알파고 S/W 구성:
“Value Network” • Value Network: 19x19행렬의 49층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~11층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 12층은 “additional convolution layer” (추가정보 없음..) • 제 13층은 특별한 필터 없이 1:1대응 (사용된 function정보없음) • 제 14층은 256개의 ReLU 유닛, fully connected linear • Output은 1개의 tanh 유닛, fully connected linear 3/16/2016 알파고 해부하기 2부 © 이동헌 24 Value Network에 Deep Learning 적용하기 위해 특화한 구조부분
25.
알파고 S/W 구성:
“Value Network” • Value Network: 19x19행렬의 49층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~11층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 12층은 “additional convolution layer” (추가정보 없음..) • 제 13층은 특별한 필터 없이 1:1대응 (사용된 function정보없음) • 제 14층은 256개의 ReLU 유닛, fully connected linear • Output은 1개의 tanh 유닛, fully connected linear 3/16/2016 알파고 해부하기 2부 © 이동헌 25
26.
알파고 S/W 구성:
“Value Network” • Value Network: 19x19행렬의 49층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~11층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 12층은 “additional convolution layer” (추가정보 없음..) • 제 13층은 특별한 필터 없이 1:1대응 (사용된 function정보없음) • 제 14층은 256개의 ReLU 유닛, fully connected linear • Output은 1개의 tanh 유닛, fully connected linear • 엄청난 최적화공밀레의 현장을 발굴하고 있습니다!! • 여담이지만.. 엔지니어분들의 노고는 최종 산출물만으로 계산하면 안될 일입니다 • 딥러닝 사용자 및 연구자분들(회사/대학원 불문)의 몸/마음고생 좀 덜어주세요… 3/16/2016 알파고 해부하기 2부 © 이동헌 26
27.
• Value Network:
19x19행렬의 49층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~11층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 12층은 “additional convolution layer” (추가정보 없음..) • 제 13층은 특별한 필터 없이 1:1대응 (사용된 function정보없음) • 제 14층은 256개의 ReLU 유닛, fully connected linear • Output은 1개의 tanh 유닛, fully connected linear 알파고 S/W 구성: “Value Network” 3/16/2016 알파고 해부하기 2부 © 이동헌 27
28.
• Value Network:
19x19행렬의 49층짜리 input을… • 제 1층은 5x5 filter 192종으로, stride 1로 convolution후 ReLU • 제 2~11층은 3x3 filter 192종으로, stride 1로 convolution후 ReLU • 제 12층은 “additional convolution layer” (추가정보 없음..) • 제 13층은 특별한 필터 없이 1:1대응 (사용된 function정보없음) • 제 14층은 256개의 ReLU 유닛, fully connected linear • Output은 1개의 tanh 유닛, fully connected linear • Value Network에 맞춰주기 위한 선택: 1개의 tanh 유닛 • Value Network의 경우, 𝐸 𝑧𝑡 𝑠𝑡 = 𝑠, 𝑎 𝑡…𝑇~𝑝] • “바둑판 s가 주어질 때, 바둑기사 양쪽 모두 착수전략 p를 따라 대국종료까지 두었을때, 게임 기대값 (z가 -1(패)이나 1(승)이므로, 0이면 50:50 비등비등 상황임” 알파고 S/W 구성: “Value Network” 3/16/2016 알파고 해부하기 2부 © 이동헌 28
29.
알파고 S/W 구성:
DL, Policy Net, Value Net • 요약합니다 • Deep Learning (DL) 적용부 • 핵심 적용부분 • 바둑판 상황인식 모듈 • 양쪽에 모듈로 사용 • Policy Network • 알파고 다음수 결정 • 바둑기사 다음수 결정 • Value Network • 바둑판세 파악 알파고 바둑 프로그램 바둑판 미래 예측 시도 여러 번 미래예측 후 가장 많이 둔 수로 선택 RL MCTS RL MCTS RL 3/16/2016 알파고 해부하기 2부 © 이동헌 29 상대 바둑기사 다음 수 예측 프로그램 알파고의 다음 수 결정 프로그램 DL DLRL RL 바둑경기 상황 유/불리 분석 프로그램 DL RL 바둑판 현상황 인식 프로그램DL
30.
목차 • 알파고의 구조 •
알파고 소프트웨어의 구성 • 알파고 S/W 구성: Deep Learning 유관 부분 • 알파고 S/W 구성: Reinforcement Learning 유관 부분 • 알파고 S/W 구성: Monte-Carlo Tree Search 유관 부분 • 알파고 S/W의 대국시 동작법 • 알파고 S/W의 대국 전 트레이닝법 • 알파고 S/W의 혁신점 • 알파고의 혁신점 3/16/2016 알파고 해부하기 2부 © 이동헌 30
31.
알파고 S/W 구성:
Reinforcement Learning • Reinforcement Learning (RL)? • 전반적으로 고루 적용되어 적용부 하나하나 나누기가 힘듭니다 • 지금까지 나온 RL 적용부 • DL을 전체 틀에 접합하는 이론적 근거/토대 • (나름) 합리적인 접합법 제시 • RL 적용부는 계속됩니다 • 나올 때마다 설명예정 알파고 바둑 프로그램 바둑판 미래 예측 시도 여러 번 미래예측 후 가장 많이 둔 수로 선택 RL MCTS RL MCTS RL 3/16/2016 알파고 해부하기 2부 © 이동헌 31 상대 바둑기사 다음 수 예측 프로그램 알파고의 다음 수 결정 프로그램 DL DLRL RL 바둑경기 상황 유/불리 분석 프로그램 DL RL 바둑판 현상황 인식 프로그램DL
32.
알파고 소프트웨어의 구성 •
다음 차례: MCTS 적용부 • 핵심: 바둑판 미래예측 • 여기에도 RL 포함 알파고 바둑 프로그램 RL 3/16/2016 알파고 해부하기 2부 © 이동헌 32 상대 바둑기사 다음 수 예측 프로그램 알파고의 다음 수 결정 프로그램 DL DLRL RL 바둑경기 상황 유/불리 분석 프로그램 DL RL 바둑판 현상황 인식 프로그램DL 바둑판 미래 예측 시도 MCTS RL 여러 번 미래예측 후 가장 많이 둔 수로 선택 RLMCTS
33.
목차 • 알파고의 구조 •
알파고 소프트웨어의 구성 • 알파고 S/W 구성: Deep Learning 유관 부분 • 알파고 S/W 구성: Reinforcement Learning 유관 부분 • 알파고 S/W 구성: Monte-Carlo Tree Search 유관 부분 • 알파고 S/W의 대국시 동작법 • 알파고 S/W의 대국 전 트레이닝법 • 알파고 S/W의 혁신점 • 알파고의 혁신점 3/16/2016 알파고 해부하기 2부 © 이동헌 33
34.
알파고 소프트웨어의 구성 •
Monte-Carlo Tree Search • Tree Search의 개량판 • 전자바둑계의 최신트렌드 • 알파고가 나오기 전까지.. 알파고 바둑 프로그램 RL 3/16/2016 알파고 해부하기 2부 © 이동헌 34 상대 바둑기사 다음 수 예측 프로그램 알파고의 다음 수 결정 프로그램 DL DLRL RL 바둑경기 상황 유/불리 분석 프로그램 DL RL 바둑판 현상황 인식 프로그램DL 바둑판 미래 예측 시도 MCTS RL 여러 번 미래예측 후 가장 많이 둔 수로 선택 RLMCTS
35.
알파고 S/W 구성:
MCTS • 게임 전략에서의 Tree Search를 말하자면 • 그냥 가능한 것 다 해보고 제일 좋은걸 골라보자는 겁니다 • 말이 쉽지.. 너무너무 가짓수가 많아서 컴퓨터로도 도저히 불가능한 게 있습니다 • 이것의 대표적인 예가 바둑입니다 • 한 수 한 수 놓을 수 있는게 너무 갯수가 많은데, 게임 끝까지 모든 가능한 기보 숫자는… • “경우의 수가 우주의 원자수보다 많다” 이런 말이 여기서 나옵니다 3/16/2016 알파고 해부하기 2부 © 이동헌 35
36.
알파고 S/W 구성:
MCTS • 게임 전략에서의 Tree Search를 말하자면 • 그냥 가능한 것 다 해보고 제일 좋은걸 골라보자는 겁니다 • 말이 쉽지.. 너무너무 가짓수가 많아서 컴퓨터로도 도저히 불가능한 게 있습니다 • 이것의 대표적인 예가 바둑입니다 • 한 수 한 수 놓을 수 있는게 너무 갯수가 많은데, 게임 끝까지 모든 가능한 기보 숫자는… • “경우의 수가 우주의 원자수보다 많다” 이런 말이 여기서 나옵니다 • 그러면, 다 해보기보단, “쓸만한 것부터” 해보자 • “쓸만한 것 …” + “… 부터 해보자”: 이 두 부분이 MCTS의 핵심입니다 • Monte-Carlo Tree Search에 대한 구체적 설명은 이미 많이 되어 있습니다 • MCTS 이론설명은 다른 분들이 수고하신 자료에 맡기고 • 바로 알파고 해부를 하면서, 이론은 그때그때 필요한만큼만 설명하겠습니다 3/16/2016 알파고 해부하기 2부 © 이동헌 36
37.
알파고 S/W 구성:
MCTS • 쓸만한 것 “부터 해보자” • 모든 걸 닥치고 다 해보는게 하는게 불가능하니 • 조금만 해서 많이 알 수 없을까? • 무엇부터 해 보는게 좋을까? • 흔히들 알고있는 Alpha-beta pruning은 “해도 안될건 하지말자” 개량입니다 3/16/2016 알파고 해부하기 2부 © 이동헌 37
38.
알파고 S/W 구성:
MCTS • 쓸만한 것 “부터 해보자” • 모든 걸 닥치고 다 해보는게 하는게 불가능하니 • 조금만 해서 많이 알 수 없을까? • 무엇부터 해 보는게 좋을까? • 흔히들 알고있는 Alpha-beta pruning은 “해도 안될건 하지말자” 개량입니다 • 이렇게 하다보면, 언젠가는 정답이 나올까? • 이런 이론적 근거가 있으면 더 해볼 만 하겠죠? • 하지만 이 이야기는 조금 뒤로 미뤄두고 • 일단 Tree Search에서 당장 뭘 해볼지 고르는 부분부터 봅시다. 3/16/2016 알파고 해부하기 2부 © 이동헌 38
39.
알파고 S/W 구성:
MCTS • 알파고의 바둑게임 Search Tree 구성 • 바둑판의 구성 s, 다음 둘 수 a 를 동시에 고려해서 • 첫 차례라면, • 바둑판 구성 s는 앞에서 설명했듯이 19x19x48 텐서 (binary). 모두 빈칸 셋팅. • 다음 수는 어디든 둘 수 있으니 19x19 가지의 a 중 하나 3/16/2016 알파고 해부하기 2부 © 이동헌 39
40.
알파고 S/W 구성:
MCTS • 알파고의 바둑게임 Search Tree 구성 • 바둑판의 구성 s, 다음 둘 수 a 를 동시에 고려해서 • 첫 차례라면, • 바둑판 구성 s는 앞에서 설명했듯이 19x19x48 텐서 (binary). 모두 빈칸 셋팅. • 다음 수는 어디든 둘 수 있으니 19x19 가지의 a 중 하나 • (s,a)를 정합니다 • 첫 차례라면 s는 정해져 있고, 19x19가지의 a가 있으니, 19x19가지의 (s,a)입니다 3/16/2016 알파고 해부하기 2부 © 이동헌 40
41.
알파고 S/W 구성:
MCTS • 알파고의 바둑게임 Search Tree 구성 • 바둑판의 구성 s, 다음 둘 수 a 를 동시에 고려해서 • 첫 차례라면, • 바둑판 구성 s는 앞에서 설명했듯이 19x19x48 텐서 (binary). 모두 빈칸 셋팅. • 다음 수는 어디든 둘 수 있으니 19x19 가지의 a 중 하나 • (s,a)를 정합니다 • 첫 차례라면 s는 정해져 있고, 19x19가지의 a가 있으니, 19x19가지의 (s,a)입니다 • 각각의 (s,a)에 대해서 다음 값들이 저장되어 있습니다 • 𝑃 𝑠, 𝑎 • 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 • 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 • 𝑄 𝑠, 𝑎 3/16/2016 알파고 해부하기 2부 © 이동헌 41
42.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 값 설명 • 𝑃 𝑠, 𝑎 • 착수 a를 해 보지 않고도, 미리 선험적으로 알고 있는 값. (당연히 튜닝값입니다) • 저 아래에 있는 𝑄 𝑠, 𝑎 와 단위가 같습니다 • (물리 문제 풀때의 그 m/s 맞추는 개념의 그 단위) • 저 𝑄 𝑠, 𝑎 값과 균형을 맞추는 역할을 나중에 담당합니다 • 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 • 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 • 𝑄 𝑠, 𝑎 3/16/2016 알파고 해부하기 2부 © 이동헌 42
43.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 값 설명 • 𝑃 𝑠, 𝑎 • 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 • 착수 a를 한다고 결정한 Monte-Carlo 시뮬레이션 횟수 • v가 달린 것은 판세분석 경로가 된 횟수, r이 달린것은 미래예측 경로가 된 횟수 • 이 부분의 자세한 내용은 추후 알파고의 대국시 작동원리 부분에서 다루어집니다 • 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 • 𝑄 𝑠, 𝑎 3/16/2016 알파고 해부하기 2부 © 이동헌 43
44.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 값 설명 • 𝑃 𝑠, 𝑎 • 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 • 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 • 착수 a를 한다고 하고, Monte-Carlo 시뮬레이션 한 결과 나온 승리/패배 횟수의 합 • v가 달린 것은 판세분석 경로에서 나온 누적 합, r이 달린것은 미래예측 경로쪽 누적 합. • 이 부분의 자세한 내용은 추후 알파고의 대국시 작동원리 부분에서 다루어집니다 • 𝑄 𝑠, 𝑎 3/16/2016 알파고 해부하기 2부 © 이동헌 44
45.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 값 설명 • 𝑃 𝑠, 𝑎 • 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 • 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 • 𝑄 𝑠, 𝑎 • 이 값의 의미를 어렵게 적으면 (알파고 논문에 이렇게 적어놨죠) 다음과 같습니다 𝑄 𝑠, 𝑎 = 1 − 𝜆 𝑊𝑣(𝑠, 𝑎) 𝑁𝑣(𝑠, 𝑎) + 𝜆 𝑊𝑟(𝑠, 𝑎) 𝑁𝑟(𝑠, 𝑎) • 알파고 논문에서 “𝜆 = 0.5를 쓰니 제일 성능이 좋아서 이걸로 쓰겠다”고 합니다 3/16/2016 알파고 해부하기 2부 © 이동헌 45
46.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 값 설명 • 𝑃 𝑠, 𝑎 • 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 • 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 • 𝑄 𝑠, 𝑎 • 이 값의 의미를 어렵게 적으면 (알파고 논문에 이렇게 적어놨죠) 다음과 같습니다 𝑄 𝑠, 𝑎 = 1 − 𝜆 𝑊𝑣(𝑠, 𝑎) 𝑁𝑣(𝑠, 𝑎) + 𝜆 𝑊𝑟(𝑠, 𝑎) 𝑁𝑟(𝑠, 𝑎) • 알파고 논문에서 “𝜆 = 0.5를 쓰니 제일 성능이 좋아서 이걸로 쓰겠다”고 합니다 • 쉽게 말해, 판세분석과 미래예측 두 모듈의 승/패 시뮬레이션확률의 1:1 선형합 3/16/2016 알파고 해부하기 2부 © 이동헌 46
47.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 값 설명 • 𝑃 𝑠, 𝑎 • 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 • 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 • 𝑄 𝑠, 𝑎 • 이 값의 의미를 어렵게 적으면 (알파고 논문에 이렇게 적어놨죠) 다음과 같습니다 𝑄 𝑠, 𝑎 = 1 − 𝜆 𝑊𝑣(𝑠, 𝑎) 𝑁𝑣(𝑠, 𝑎) + 𝜆 𝑊𝑟(𝑠, 𝑎) 𝑁𝑟(𝑠, 𝑎) • 알파고 논문에서 “𝜆 = 0.5를 쓰니 제일 성능이 좋아서 이걸로 쓰겠다”고 합니다 • 쉽게 말해, 판세분석과 미래예측 두 모듈의 승/패 시뮬레이션확률의 1:1 선형합 • 더 쉽게 말해, 착수 a의 승/패 예측치 두 종류의 평균값 3/16/2016 알파고 해부하기 2부 © 이동헌 47
48.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 아래 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • 쓸만한 것 “부터 해보자” 3/16/2016 알파고 해부하기 2부 © 이동헌 48
49.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 아래 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • 쓸만한 것 “부터 해보자” • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a “부터 해보자” 3/16/2016 알파고 해부하기 2부 © 이동헌 49
50.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 아래 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • 쓸만한 것 “부터 해보자” • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a “부터 해보자” • 여기서 새로 튀어나온 u라는 것을 논하기 전에.. • 지금까지 설명한걸 요약해봅시다. 3/16/2016 알파고 해부하기 2부 © 이동헌 50
51.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 아래 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • 쓸만한 것 “부터 해보자” • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a “부터 해보자” • 여기서 새로 튀어나온 u라는 것을 논하기 전에.. • 지금까지 설명한걸 요약해봅시다. • Tree search를 할 때, “무엇부터 해볼까” 부분을 설명했습니다 • 이게 알파고가 다음 수읽기를 할 때 머리를 굴리는 방법입니다 3/16/2016 알파고 해부하기 2부 © 이동헌 51
52.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대해 저장된 아래 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • 쓸만한 것 “부터 해보자” • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a “부터 해보자” • 여기서 새로 튀어나온 u라는 것을 논하기 전에.. • 지금까지 설명한걸 요약해봅시다. • Tree search를 할 때, “무엇부터 해볼까” 부분을 설명했습니다 • 이게 알파고가 다음 수읽기를 할 때 머리를 굴리는 방법입니다 • 이제 u를 논하러 갑니다 3/16/2016 알파고 해부하기 2부 © 이동헌 52
53.
알파고 S/W 구성:
MCTS • “쓸만한 것” 부터 해보자 • 쓸만한 것만 하면 되나요? • 이론적으로 안됩니다 • 쓸만하다고 생각해보지 않은 것에 정답이 있을 수도 있지요 3/16/2016 알파고 해부하기 2부 © 이동헌 53
54.
알파고 S/W 구성:
MCTS • “쓸만한 것” 부터 해보자 • 쓸만한 것만 하면 되나요? • 이론적으로 안됩니다 • 쓸만하다고 생각해보지 않은 것에 정답이 있을 수도 있지요 • 쓸만한 것부터 해보되, 다른 것들도 해 봐야 합니다 • 이렇게 하다보면 언젠가는 정답(평균적으로 제일 좋은 답)이 나옵니다 • Monte-Carlo Simulation의 이론적 정당성에서 따라나옵니다 • 더 들어가면, 통계학의 “큰 수의 법칙”에서 나옵니다 • 어차피 approximation만 하면 되므로, (약한) 큰 수의 법칙만으로 충분합니다 3/16/2016 알파고 해부하기 2부 © 이동헌 54
55.
알파고 S/W 구성:
MCTS • “쓸만한 것” 부터 해보자 • 쓸만한 것만 하면 되나요? • 이론적으로 안됩니다 • 쓸만하다고 생각해보지 않은 것에 정답이 있을 수도 있지요 • 그럼 쓸만한 거 말고 다른 걸 섞어야 되는데.. 어떻게 하나요? • 이 문제를 다루는 부분이 바로 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎) • 저 부분 입니다 3/16/2016 알파고 해부하기 2부 © 이동헌 55
56.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대한 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • “쓸만한 것” 부터 해보자 • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a 부터 해보자 • 갑자기 새로 튀어나온 저것은 𝑢 𝑠𝑡, 𝑎 = 𝑐 𝑝𝑢𝑐𝑡 𝑃(𝑠, 𝑎) σ 𝑏 𝑁𝑟(𝑠, 𝑏) 1 + 𝑁𝑟(𝑠, 𝑎) • 선험적으로 알고 있는 바둑판 s에서 착수a에 대한 선호도 𝑃(𝑠, 𝑎) 와, 3/16/2016 알파고 해부하기 2부 © 이동헌 56
57.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대한 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • “쓸만한 것” 부터 해보자 • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a 부터 해보자 • 갑자기 새로 튀어나온 저것은 𝑢 𝑠𝑡, 𝑎 = 𝑐 𝑝𝑢𝑐𝑡 𝑃(𝑠, 𝑎) σ 𝑏 𝑁𝑟(𝑠, 𝑏) 1 + 𝑁𝑟(𝑠, 𝑎) • 선험적으로 알고 있는 바둑판 s에서 착수a에 대한 선호도 𝑃(𝑠, 𝑎) 와, • 미래예측으로 덜 놓아본 착수에 대해서 더 커지고, 많이 놓아본 착수에 대해서는 더 작아져서, 무한히 많이 미래예측한다면 결국 모두 0으로 수렴하는 복잡한 수식과, 3/16/2016 알파고 해부하기 2부 © 이동헌 57
58.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대한 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • “쓸만한 것” 부터 해보자 • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a 부터 해보자 • 갑자기 새로 튀어나온 저것은 𝑢 𝑠𝑡, 𝑎 = 𝑐 𝑝𝑢𝑐𝑡 𝑃(𝑠, 𝑎) σ 𝑏 𝑁𝑟(𝑠, 𝑏) 1 + 𝑁𝑟(𝑠, 𝑎) • 선험적으로 알고 있는 바둑판 s에서 착수a에 대한 선호도 𝑃(𝑠, 𝑎) 와, • 미래예측으로 덜 놓아본 착수에 대해서 더 커지고, 많이 놓아본 착수에 대해서는 더 작아져서, 무한히 많이 미래예측한다면 결국 모두 0으로 수렴하는 복잡한 수식과, 3/16/2016 알파고 해부하기 2부 © 이동헌 58
59.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대한 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • “쓸만한 것” 부터 해보자 • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a 부터 해보자 • 갑자기 새로 튀어나온 저것은 𝑢 𝑠𝑡, 𝑎 = 𝑐 𝑝𝑢𝑐𝑡 𝑃(𝑠, 𝑎) σ 𝑏 𝑁𝑟(𝑠, 𝑏) 1 + 𝑁𝑟(𝑠, 𝑎) • 선험적으로 알고 있는 바둑판 s에서 착수a에 대한 선호도 𝑃(𝑠, 𝑎) 와, • 미래예측으로 덜 놓아본 착수에 대해서 더 커지고, 많이 놓아본 착수에 대해서는 더 작아져서, 무한히 많이 미래예측한다면 결국 모두 0으로 수렴하는 복잡한 수식과, 3/16/2016 알파고 해부하기 2부 © 이동헌 59
60.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대한 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • “쓸만한 것” 부터 해보자 • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a 부터 해보자 • 갑자기 새로 튀어나온 저것은 𝑢 𝑠𝑡, 𝑎 = 𝑐 𝑝𝑢𝑐𝑡 𝑃(𝑠, 𝑎) σ 𝑏 𝑁𝑟(𝑠, 𝑏) 1 + 𝑁𝑟(𝑠, 𝑎) • 선험적으로 알고 있는 바둑판 s에서 착수a에 대한 선호도 𝑃(𝑠, 𝑎) 와, • 미래예측으로 덜 놓아본 착수에 대해서 더 커지고, 많이 놓아본 착수에 대해서는 더 작아져서, 무한히 많이 미래예측한다면 결국 모두 0으로 수렴하는 복잡한 수식과, • 튜닝으로 결정되는 상수 계수값의 곱입니다. 3/16/2016 알파고 해부하기 2부 © 이동헌 60
61.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대한 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • “쓸만한 것” 부터 해보자 • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a 부터 해보자 • 즉, 수읽기를 반복하면서 태도가 바뀌는 알파고입니다 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 3/16/2016 알파고 해부하기 2부 © 이동헌 61
62.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대한 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • “쓸만한 것” 부터 해보자 • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a 부터 해보자 • 즉, 수읽기를 반복하면서 태도가 바뀌는 알파고입니다 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 • 계속 하다보면 는 쓸만해 보이는지에 대한 추정치를 점점 더 중시하고 3/16/2016 알파고 해부하기 2부 © 이동헌 62
63.
알파고 S/W 구성:
MCTS • 각각의 (s,a)에 대한 값들이 있다고 합시다 • 𝑃 𝑠, 𝑎 , 𝑁𝑣 𝑠, 𝑎 , 𝑁𝑟 𝑠, 𝑎 , 𝑊𝑣 𝑠, 𝑎 , 𝑊𝑟 𝑠, 𝑎 , 𝑄 𝑠, 𝑎 • “쓸만한 것” 부터 해보자 • 지금 현재 바둑판을 𝑠𝑡라 할때 • 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a 부터 해보자 • 즉, 수읽기를 반복하면서 태도가 바뀌는 알파고입니다 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 • 계속 하다보면 는 쓸만해 보이는지에 대한 추정치를 점점 더 중시하고 • 무한히 오래 하면 결국에는 쓸만해 보이는지만을 놓고 정하겠다 3/16/2016 알파고 해부하기 2부 © 이동헌 63
64.
알파고 S/W 구성:
MCTS • 수읽기를 반복하면서 태도가 바뀌는 알파고 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 • 계속 하다보면 는 쓸만해 보이는지에 대한 추정치를 점점 더 중시하고 • 무한히 오래 하면 결국에는 쓸만해 보이는지만을 놓고 정하겠다 • 무한히 반복하면 정답이 나오나요? 3/16/2016 알파고 해부하기 2부 © 이동헌 64
65.
알파고 S/W 구성:
MCTS • 수읽기를 반복하면서 태도가 바뀌는 알파고 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 • 계속 하다보면 는 쓸만해 보이는지에 대한 추정치를 점점 더 중시하고 • 무한히 오래 하면 결국에는 쓸만해 보이는지만을 놓고 정하겠다 • 무한히 반복하면 정답이 나오나요? • 나옵니다 • 주어진 바둑판에서, 모든 가능한 착수에 대해서 승리 기대치의 평균이 나옵니다 • 이 중에 제일 평균이 높은 착수를 고르는 것은 금방입니다 3/16/2016 알파고 해부하기 2부 © 이동헌 65
66.
알파고 S/W 구성:
MCTS • 수읽기를 반복하면서 태도가 바뀌는 알파고 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 • 계속 하다보면 는 쓸만해 보이는지에 대한 추정치를 점점 더 중시하고 • 무한히 오래 하면 결국에는 쓸만해 보이는지만을 놓고 정하겠다 • 무한히 반복하면 정답이 나오나요? • 나옵니다 • 주어진 바둑판에서, 모든 가능한 착수에 대해서 승리 기대치의 평균이 나옵니다 • 이 중에 제일 평균이 높은 착수를 고르는 것은 금방입니다 • 다만 알파고에서는, • 가장 많이 골랐던 착수 == 가장 평균이 높은 착수 를 확인하고 • 다음 착수를 고르게 됩니다 (자세한 내용은 “알파고 대국시 동작법”에서) 3/16/2016 알파고 해부하기 2부 © 이동헌 66
67.
알파고 S/W 구성:
MCTS • 수읽기를 반복하면서 태도가 바뀌는 알파고 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 • 계속 하다보면 는 쓸만해 보이는지에 대한 추정치를 점점 더 중시하고 • 무한히 오래 하면 결국에는 쓸만해 보이는지만을 놓고 정하겠다 • 현실은 무한히 못 한다는게 단점 • 어느정도 하다가 끊어줘야됩니다 3/16/2016 알파고 해부하기 2부 © 이동헌 67
68.
알파고 S/W 구성:
MCTS • 수읽기를 반복하면서 태도가 바뀌는 알파고 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 • 계속 하다보면 는 쓸만해 보이는지에 대한 추정치를 점점 더 중시하고 • 무한히 오래 하면 결국에는 쓸만해 보이는지만을 놓고 정하겠다 • 현실은 무한히 못 한다는게 단점 • 어느정도 하다가 끊어줘야됩니다 • 이걸 더 많이 할수록 정확해집니다 • 알파고의 착수 시간제한을 줄이면 실력이 떨어집니다 • 판후이 2단 경기때, 비공식에서는 알파고가 몇번 졌지요 (비공식때 제한시간이 더 짧음) 3/16/2016 알파고 해부하기 2부 © 이동헌 68
69.
알파고 S/W 구성:
MCTS • 수읽기를 반복하면서 태도가 바뀌는 알파고 • 시뮬레이션 반복 초기에는 덜 쓸만해 보이는 것도 해보지만 • 계속 하다보면 는 쓸만해 보이는지에 대한 추정치를 점점 더 중시하고 • 무한히 오래 하면 결국에는 쓸만해 보이는지만을 놓고 정하겠다 • 현실은 무한히 못 한다는게 단점 • 어느정도 하다가 끊어줘야됩니다 • 이걸 더 많이 할수록 정확해집니다 • 알파고의 착수 시간제한을 줄이면 실력이 떨어집니다 • 판후이 2단 경기때, 비공식에서는 알파고가 몇번 졌지요 (비공식때 제한시간이 더 짧음) • 알파고가 더 많은 컴퓨터를 동시에 사용가능하면 실력이 올라갑니다 • 판후이 2단 때 1202 CPU 이세돌 9단때 1920 CPU. 같은 시간에 더 많은 시뮬레이션 가능. 3/16/2016 알파고 해부하기 2부 © 이동헌 69
70.
알파고 S/W 구성:
MCTS • 그런데 Reinforcement Learning은 어디 있나요? • 순수한 버젼의 MCTS와 비교해보면 정확히 답이 나옵니다 • MCTS사용한 바둑 프로그램 Crazy Stone 논문 [바로가기] 3/16/2016 알파고 해부하기 2부 © 이동헌 70
71.
알파고 S/W 구성:
MCTS • 그런데 Reinforcement Learning은 어디 있나요? • 순수한 버젼의 MCTS와 비교해보면 정확히 답이 나옵니다 • MCTS사용한 바둑 프로그램 Crazy Stone 논문 [바로가기] • 여기에 Upper Confidence Bound (UCB) 성분을 추가합니다 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a를 하자 3/16/2016 알파고 해부하기 2부 © 이동헌 71
72.
알파고 S/W 구성:
MCTS • 그런데 Reinforcement Learning은 어디 있나요? • 순수한 버젼의 MCTS와 비교해보면 정확히 답이 나옵니다 • MCTS사용한 바둑 프로그램 Crazy Stone 논문 [바로가기] • 여기에 Upper Confidence Bound (UCB) 성분을 추가합니다 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a를 하자 • 여기에 Q-learning의 큰 틀에서 바둑 프로그램 제작 (“Q”값이에요) 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 기반해서 Monte-Carlo적으로 접근하는것으로 바둑을 공략해보자! 3/16/2016 알파고 해부하기 2부 © 이동헌 72
73.
알파고 S/W 구성:
MCTS • 그런데 Reinforcement Learning은 어디 있나요? • 순수한 버젼의 MCTS와 비교해보면 정확히 답이 나옵니다 • MCTS사용한 바둑 프로그램 Crazy Stone 논문 [바로가기] • 여기에 Upper Confidence Bound (UCB) 성분을 추가합니다 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 가장 크게 만드는 착수 a를 하자 • 여기에 Q-learning의 큰 틀에서 바둑 프로그램 제작 (“Q”값이에요) 𝑄 𝑠𝑡, 𝑎 + 𝑢(𝑠𝑡, 𝑎)값을 기반해서 Monte-Carlo적으로 접근하는것으로 바둑을 공략해보자! • 더 진지하게 연구하실 분들을 위해 참고문헌을 드리겠습니다 3/16/2016 알파고 해부하기 2부 © 이동헌 73
74.
알파고 S/W 구성:
MCTS • 그런데 Reinforcement Learning은 어디 있나요? • 알파고 미래예측 = MCTS + PUCT (UCB) 변형 + Q-learning 변형 • PUCT를 살짝 변형하면서 MCTS에 넣어 알파고에 쓰인 바둑 미래예측부분 구조설계 • Upper Confidence Bound (UCB) 계열 참고문헌 • 2002: Multiarmed bandit문제에 UCB적용한 UCB1 알고리즘 등장 [논문 바로가기] • 2006: MCST에 UCB1을 합쳐버린 UCT 알고리즘 등장 [논문 바로가기] • 2009: 여기에 “Predictor” 요소를 더해서 PUCT 등장 [논문 바로가기] • Q-learning 계열 참고문헌 • 1989: 오리지널 Q-learnin은 CJCJ Watkins 박사논문 [축약판 논문 바로가기] • 1993: Q-learnin의 수학적으로 엄밀한 수렴증명 [논문 바로가기] • 2013: 알파고에 사용된 Q-learning 변형법과 비슷한 내용 [논문 바로가기] 3/16/2016 알파고 해부하기 2부 © 이동헌 74
75.
알파고 S/W 구성:
MCTS • 그런데 Reinforcement Learning은 어디 있나요? • 알파고 미래예측 = MCTS + PUCT (UCB) 변형 + Q-learning 변형 • PUCT를 살짝 변형하면서 MCTS에 넣어 알파고에 쓰인 바둑 미래예측부분 구조설계 • Upper Confidence Bound (UCB) 계열 참고문헌 • 2002: Multiarmed bandit문제에 UCB적용한 UCB1 알고리즘 등장 [논문 바로가기] • 2006: MCST에 UCB1을 합쳐버린 UCT 알고리즘 등장 [논문 바로가기] • 2009: 여기에 “Predictor” 요소를 더해서 PUCT 등장 [논문 바로가기] • Q-learning 계열 참고문헌 • 1989: 오리지널 Q-learnin은 CJCJ Watkins 박사논문 [축약판 논문 바로가기] • 1993: Q-learnin의 수학적으로 엄밀한 수렴증명 [논문 바로가기] • 2013: 알파고에 사용된 Q-learning 변형법과 비슷한 내용 [논문 바로가기] 3/16/2016 알파고 해부하기 2부 © 이동헌 75 솔직히, 참고문헌 논문들 읽기 힘듭니다. 저도 인공지능 알고리즘 박사과정에 들지 않았으면 아마도 읽을 일 없었겠지요… 여러분들이 참고문헌을 끝까지 읽어보시지 않으시더라도 다만 한 가지 알아주셨으면 하는 것 두가지가 있어요. 알파고의 기반에 놓인 이론들은 알파고 탄생 한참 전에 이미 나왔다는 점* 그리고 알파고의 이론도 알파고의 실체도 결국 사람이 만들었다는 점입니다. * Jaehyun Park (스탠포드)님의 건의 감사합니다!!
76.
알파고 소프트웨어의 구성 •
요약합니다 • MCTS 적용 부분 • 미래 예측 부분입니다 • Monte-Carlo Tree Search • Reinforcement Learning • 다양한 내용이 버무려져 있습니다 알파고 바둑 프로그램 RL 3/16/2016 알파고 해부하기 2부 © 이동헌 76 상대 바둑기사 다음 수 예측 프로그램 알파고의 다음 수 결정 프로그램 DL DLRL RL 바둑경기 상황 유/불리 분석 프로그램 DL RL 바둑판 현상황 인식 프로그램DL 바둑판 미래 예측 시도 MCTS RL 여러 번 미래예측 후 가장 많이 둔 수로 선택 RLMCTS
77.
목차 • 알파고의 구조 •
알파고 소프트웨어의 구성 • 알파고 S/W 구성: Deep Learning 유관 부분 • 알파고 S/W 구성: Reinforcement Learning 유관 부분 • 알파고 S/W 구성: Monte-Carlo Tree Search 유관 부분 • 알파고 S/W의 대국시 동작법 • 알파고 S/W의 대국 전 트레이닝법 • 알파고 S/W의 혁신점 • 알파고의 혁신점 3/16/2016 알파고 해부하기 2부 © 이동헌 77
78.
Time Over • 이번
감기 오래가네요.. 그래도 • 연차 내고 집에서 쉬느라 시간이 좀 많이 생겼어요 • 덕분에 생각보다 일찍 2부를 내놓습니다 • 벌써 거의 80슬라이드! • 3부에서 이어서 뵙겠습니다… • 이세돌 9단 수고하셨습니다!!! 3/16/2016 알파고 해부하기 2부 © 이동헌 78
79.
다음 이야기 • 다음
링크를 따라가시면 됩니다 • 알파고 해부하기 3부 • 피드백/오류 제보 이메일이 필요하시면 여기로 보내주세요 • donghun2014@gmail.com 3/16/2016 알파고 해부하기 2부 © 이동헌 79
Download now