알파견의 기기: 몬테카로 알고리즘, 읽고 나면 알겠네!

저자:작은 꿈, 2016-11-02 13:03:03, 업데이트: 2016-11-02 13:11:30

알파견의 기기: 몬테카로 알고리즘, 보고 나면 알겠네!

올해 3월 9일부터 15일까지 한국의 서울에서 5차례의 인간과 기계 대결이 펼쳐지면서 고구마계에 큰 사건이 일어났다. 이 경기 결과는 인간이 패배한 결과, 세계 고구마 챔피언 리시슈타인은 구글의 인공지능 프로그램인 알파고에게 1대4로 패배했다. 그래서 알파고가 무엇인지, 그리고 승리할 열쇠가 어디에 있는지 알아봅시다.

  • 알파고와 몬테카로 알고리즘

신화신문에 따르면, 알파고 프로그램은 미국 구글 소속 DeepMind 팀에서 개발한 인간 로봇 대 의 골프 프로그램으로, 중국 체스 팬들에게 알파 이라고 불린다.

지난 기사에서는 구글이 개발 중인 기계 자율학습을 위한 신경망 알고리즘, 알파고와 비슷한 제품들에 대해 언급했습니다.

중국 자동화 협회 부회장이자 사무총장인 왕페이유는 프로그래머가 골프에 능숙할 필요는 없으며 골프의 기본 규칙을 알아야만 한다고 말했다. 알파고의 배후에는 뛰어난 컴퓨터 과학자, 정확히는 기계 학습 분야의 전문가들이 있다. 과학자들은 신경 네트워크 알고리즘을 사용하여 체스 전문가의 경기 기록을 컴퓨터에 입력하고 컴퓨터가 스스로 경기에 참가하도록 하고, 이 과정에서 끊임없이 훈련한다. 어떤 의미에서 알파고의 체스 기술은 개발자가 가르쳐주는 것이 아니라 천재가 스스로 배우는 것이라고 말할 수 있다.

그렇다면 알파고가 스스로 학습할 수 있는 열쇠는 어디 있을까요?

몬테카로 알고리즘은 무엇일까요?우리는 몬테카로 알고리즘을 설명하는 데 익숙합니다. 만약 바구니에 1,000개의 사과가 있다면, 눈을 감고 가장 큰 것을 선택할 수 있는 수를 제한할 수 없습니다. 따라서 눈을 감고 무작위로 하나를 선택하고, 다시 무작위로 하나를 선택하여 첫 번째와 비교하여 더 큰 것을 남겨두고, 다시 무작위로 하나를 선택하여 이전 비교와 비교하여 더 큰 것을 남겨두고 있습니다.

즉, 몬테카로 알고리즘은 표본이 많을수록 최적의 해결책을 찾을 수 있다는 것을 의미합니다. 하지만 그것이 최선의 것이라고 보장하지는 않습니다. 왜냐하면 10,000개의 사과가 있다면 더 큰 것을 찾을 수 있기 때문입니다.

그는 "이런 식으로, 이 모든 것은 우리가 할 수 있는 일입니다".라고 말했습니다. 통설에 따르면, 만약 하나의 잠금이 있고, 1000개의 열쇠가 선택이 가능하지만, 오직 1개의 열쇠만이 옳다고 한다. 따라서 임의로 1개의 열쇠를 시도할 때마다, 열지 못하면 1개의 열쇠를 교체한다. 시도가 많을수록, 열기 위한 가장 우수한 기회가 더 크지만, 열기 전까지는 잘못된 열쇠들은 쓸모가 없다.

따라서 라스베가스 알고리즘은 최선의 해결책이지만, 반드시 찾을 수 없습니다. 1000개의 키 중에서 어떤 열쇠도 열 수 없다고 가정하면, 실제 열쇠는 1001번째 키이지만, 샘플에 1001번째 알고리즘이 없는 경우 라스베가스 알고리즘은 열 수 있는 키를 찾을 수 없습니다.

알파고의 몬테카로 알고리즘고게의 난이도는 인공지능에 특히 크다. 고게의 낙하 방식이 너무 많기 때문에 컴퓨터가 식별하기가 어렵습니다. 왕재우: 첫째, 고페의 가능성이 너무 많다. 또한, 고페의 모든 단계에 대한 가능성이 매우 높으며, 플레이어가 시작했을 때 19 × 19 = 361 가지 캐스팅 선택이 있습니다. 150 회의 고페에서 발생할 수있는 상황은 최대 10,170 가지입니다. 둘째, 규칙은 너무 미묘하며, 어느 정도 캐스팅 선택은 경험의 축적에 의해 형성된 직관에 의존합니다. 또한, 고페의 체스에서는 컴퓨터가 그 체스장의 장점과 약점을 구별하기가 어렵습니다. 따라서, 고페 도전은 인공 지능의 아폴로 계획 요법이라고 불립니다.

그리고 알파고는 단순히 몬테카로 알고리즘만을 위한 것이 아니라 몬테카로 알고리즘의 업그레이드 버전이다.

알파고는 몬테카로 트리 검색 알고리즘과 두 개의 심층신경망의 협력을 통해 체스를 완성했다. 리시스톤과의 경기에 앞서, 구글은 먼저 인간 대 의 거의 3천만 개의 걸음을 사용하여 알파코타의 신경망을 훈련시켜서 인간 프로 체스 선수들이 어떻게 떨어질지 예측하는 법을 배웠다. 그리고 더 나아가, 알파고는 스스로 체스를 치게 하여 거대한 새로운 체스 스케치를 만들어냈다. 구글 엔지니어들은 알파고가 매일 백만 개의 걸음을 시도할 수 있다고 주장했다.

그들의 임무는 협동적으로 더 유망한 걸 고를 수 있고, 명백한 패자를 버리는 것으로 계산량을 컴퓨터가 수행할 수 있는 범위 내에서 제어하는 것이다. 이것은 본질적으로 인간 체인 선수와 같은 것이다.

중국과학원 자동화 연구소 연구원 이진강은, 의 전통적인 체스 소프트웨어, 일반적으로 폭력 검색을 사용, 깊은 푸른 컴퓨터를 포함, 그것은 모든 가능한 결과의 검색 나무를 구축하는 (각 결과 나무에 과일) 에 따라 필요에 따라 탐색을 수행. 이 방법은 체스, 점프 체스 등에서 실현 가능하지만, 로게에서 실현되지 않습니다. 로게의 모든 19 줄을 가로질러, 낙하의 가능성이 너무 높기 때문에 컴퓨터가 이 나무의 열매를 구성 할 수 없습니다. 너무 많은 낙하가 있습니다.

가치는 더 설명하기를, 깊은 신경망의 가장 기초적인 단위는 우리 인간의 뇌와 비슷한 신경망과 비슷하며, 많은 계층들이 인간 뇌의 신경망처럼 연결되어 있다. 알파고의 두 개의 신경망은 전략 네트워크와 평가 네트워크이다.

전략 네트워크는 주로 전략을 생성하는 데 사용됩니다. 체스 과정에서, 그것은 자신의 플레이가 어떻게 될지 생각하지 않고, 인간의 실력이 어떻게 될지 생각합니다. 즉, 그것은 입력된 체스판의 현재 상태에 따라, 인간의 다음 플레이가 어디에 일어날지 예측하고, 인간의 생각에 가장 적합한 몇 가지 실행 가능한 플레이를 제안합니다.

그러나 전략 네트워크는 자신이 내놓는 단계가 좋은지 나쁜지 알 수 없으며, 단지 그것이 인간과 같은 단계인지 알 수 있기 때문에 네트워크가 작용할 때 가치를 평가해야합니다.

가치 (加奇) 는 "가치 네트워크는 가능한 모든 조건에 대한 전체 판의 상황을 평가하고 승률을 니다. 이 값들은 몬테카로 트리 검색 알고리즘에 피드백되며, 위와 같은 과정을 반복하여 승률이 가장 높은 경로를 추론합니다. 몬테카로 트리 검색 알고리즘은 전략 네트워크가 승률이 높은 곳에서만 추론을 계속하도록 결정하여 특정 경로를 포기하고 검정으로 계산하지 않습니다".

알파고는 두 가지 도구를 사용하여 상황을 분석하여 인간 체스 선수들이 현재 상황을 판단하고 미래의 상황을 추론하는 것처럼 각 단계 전략의 장점을 판단합니다. 몬테카로 트리 검색 알고리즘을 사용하여 분석하면 앞으로 20 단계의 경우와 같은 경우에서 다음 승리의 확률이 높을 것이라고 판단 할 수 있습니다.

그러나 의심의 여지 없이, 몬테카로 알고리즘은 알파고의 핵심 중 하나입니다.

두 가지 작은 실험 마지막으로, 몬테카로 알고리즘에 대한 두 가지 작은 실험을 살펴보겠습니다.

  • 1.计算圆周率pi。

원리: 먼저 정육면체를 그려내서 그 안의 원을 그려내서, 그 다음 정육면체 안의 무작위적인 도표를 그려서, 원 안에 있는 점을 P로 설정하면, P = 원 면적/ 정육면적이다. P= ((Pi)RR) / ((2R*2R) = Pi/4, 즉 Pi=4P

다음 단계: 1. 원의 중심부를 원점에 두고 반지름을 R로 원으로 만들면 첫 번째 사각형의 원의 1/4 면적은 Pi이다.RR/4 2. 이 1/4 원의 외곽 사각형으로, 좌표는 ((0,0) ((0,R) ((R,0) ((R,R) 이며, 이 사각형의 면적은 R이다.R 3. 즉, 0<=X<=R, 그리고 0<=Y<=R, 즉, 정사각형 안에 있는 점, 즉 0<=X<=R, 즉 0<=Y<=R, 즉, 정사각형 안에 있는 점 4. x를 구하기 위해X+YYR가 원의 1/4에 있는지 결정한다. 5. 모든 점 (즉, 실험의 횟수) 의 개수를 N로 설정하면, 1/4 원 안에 있는 점 (즉, 단계 4를 만족하는 점) 의 개수를 M로 설정하면,

이 식은 P=M/N이고img그림 1

M_C ((10000) 실행 결과 3.1424

  • 2.蒙特卡洛模拟求函数极值,可避免陷入局部极值

# [-2,2]에서 임의로 숫자를 생성하고, 그에 대응하는 y를 구하고, 그 중 최대값이 [-2,2]에서 가장 큰 값으로 간주되는 것을 찾습니다.img그림 2

1000번의 모의가 끝나면 극대 값이 185.12292832389875 (정확) 이 됩니다.

여기 보시면 알 수 있습니다. 코드는 손으로 쓸 수 있습니다. 위키백과 공개자료에서


더 많은