NN + MCTS & AB + 필기 평가가 엔진 체스를 지배하는 이유는 무엇입니까?


14

알다시피 엔진은 현재 네 가지 그룹으로 나눌 수 있습니다 : 알파-베타 (AB)를 사용하는 그룹 + 검색을 위해 몬테 카를로 트리 검색 (MCTS)을 사용하는 그룹, 필기 기능을 사용하는 그룹 + 신경망을 사용하는 그룹 평가. 가장 강력한 두 엔진은 Leela와 Stockfish입니다. Leela는 MCTS + NN을 사용하고 Stockfish는 AB + 필기를 사용합니다.

이 두 가지 조합이 왜 필요한가요? 왜 NN + AB 또는 MCTS +가 필기체가 아닌가? MCTS가 AB보다 낫다면 왜 Komodo MCTS가 Komodo AB보다 강력하지 않습니까? AB가 MCTS보다 낫다면 왜 Leela가 AB를 대신 사용하지 않습니까?


NN은 패턴 인식기입니다. MCTS가 더 넓은 그물을 캐스트하기 때문에 NN이 양호하거나 나쁜 것으로 인식하도록 훈련 된 패턴에 직면 할 가능성이 높습니다.
John Coleman

답변:


12

속도

신경망은 수제 평가 기능보다 훨씬 느리게 작동합니다. 에서 TCEC Superfinal , 릴라 체스 제로, 전용 텐서 코어를 가진 두 개의 GPU를 각각 실행, 초당 60,000의 위치를 검색 할 수 있습니다. 반대로 내 PC의 단일 코어에있는 Stockfish는 초당 2 백만 개가 넘는 위치를 검색합니다.

현대식 엔진에는 불필요한 가지를 차단하기 위한 방대한 기술 이 있지만 , 알파-베타 트리 검색은 여전히 ​​무차별 대입 기술이며, 좋은 움직임을 결정하기 위해 수많은 위치를 검색해야합니다.

대조적으로, MCTS는 훨씬 선택적이고 검색 트리를 가장 유망한 움직임으로 확장하여 검색 할 수있는 더 제한된 수의 노드를 최대한 활용할 수 있습니다.

최악의 행동

알파-베타 검색을 기반으로 한 엔진에 대한 평가 기능의 핵심 요구 사항 중 하나는 최악의 동작 이 있어야한다는 것 입니다. 평가의 큰 오류는 드물기는하지만 루트로 쉽게 전파되어 끔찍하게 잘못된 움직임이 발생하기 때문입니다.

복잡성의 특성상 신경망은 과적 합하기 쉬우 며 훈련에 사용되는 데이터만큼 좋을 수 있습니다. 예를 들어, TCEC Season 14 Superfinal의 80 경기 에서 , 47 Lc0은 Stockfish의 추가 여왕에 의해 명백하게 보이지 않았으며, 시원한 +0.77로 위치를 평가했으며 Stockfish (및 대부분의 다른 엔진)는 +8.31의 평가를 받았습니다. 이것에 대한 대중적인 설명은 Lc0이 훈련 세트에서 보드에 여러 여왕을 가진 많은 수의 게임을하지 않았을 수도 있다는 것입니다.

따라서 신경망은 최악의 경우 행동이 불량하므로 알파 베타 검색에서는 성능이 떨어질 수 있습니다. 대조적으로, MCTS는 한 위치에 할당 된 부정확 한 점수가 검색에서 가까운 위치에 할당 된 합리적인 점수로 평균을 계산하여 상쇄 될 수 있도록합니다.

정지

모든 강력한 알파-베타 엔진 은 리프 노드에 적용되는 제한된 형태의 알파-베타 검색 인 정지 검색 ( quiescence search ) 이라는 기술을 사용합니다. 수작업으로 만들어진 평가 기능은 보류중인 캡처 나 확인이없는 "자동"위치에서만 잘 작동한다는 것을 인정합니다. .

예를 들어, 퀸 교환의 상반기 직후, 수제 평가 기능을 통해 방금 여왕을 데려 간 쪽이 완전히 손실되었다는 것을 알 수 있지만 신경망은 여왕이 곧 탈환 될 것이라는 것을 이해할 수 있습니다.

이 차종은 (코모도 12 MCTS이 제한 주위에 얻을 수 있지만하여 손수 기능이 제대로 많은 시간 수행의 결과로 인해 정지 된 검색의 부재로 MCTS를위한 유사 적합하지 않은 평가 기능을 손수 어쨌든 짧은 알파 - 베타 검색을 사용하여 대기 위치를 취득하고, 따라서 손으로 만든 평가가 합리적인 점수를 반환하도록 허용)


2

AB와 MCTS가 반드시 서로 장점보다 좋은 것은 아닙니다. 그것들은 다른 기초에서 더 잘 작동하는 다른 검색 알고리즘이라는 것입니다. NN의 경우 MCTS는 엔진이 더 나은 분기를 탐색 할 수 있기 때문에 잘 작동합니다. 이를 통해 엔진은 "원하는"항목을보다 자유롭게 볼 수 있습니다.

한편 AB에서는 원칙적으로 모든 지점을 살펴 봐야합니다. 반복 심화를 사용하더라도 엔진은 각 반복의 각 분기에서만 지금까지만 볼 수 있기 때문입니다. 따라서 제한된 깊이에서 잃어버린 것처럼 보이더라도 한 지점이 실제로 한쪽에서이기는지 알 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.