Thủ tục tìm kiếm của AlphaZero


6

Tôi nhận thức được các câu hỏi liên quan và câu trả lời tuyệt vời trong cùng một chủ đề như Hiểu về AlphaZero . Các câu hỏi của tôi có liên quan đến hình dưới đây về quy trình tìm kiếm của AlphaZero

nhập mô tả hình ảnh ở đây

Con số này xuất phát từ bài báo Khoa học trên AlphaZero (Hình 4, trang 4). Tìm kiếm được minh họa cho một vị trí từ trò chơi rất hay 1 AlphaZero (trắng) và Stockfish (đen) sau 29. ... Qf8. Phần còn lại của ghi chú như sau

Trạng thái bên trong MCTS của AlphaZero được tóm tắt sau 10 ^ 2, ..., 10 ^ 6 mô phỏng. Mỗi tóm tắt cho thấy 10 tiểu bang được truy cập nhiều nhất. Giá trị ước tính được hiển thị ở mỗi trạng thái, từ phối cảnh của màu trắng, được chia tỷ lệ thành phạm vi [0, 100]. Số lượt truy cập của mỗi trạng thái, liên quan đến trạng thái gốc của cây đó, tỷ lệ thuận với độ dày của vòng tròn biên giới. AlphaZero xem xét 30.c6 nhưng cuối cùng chơi 30.d5.

Tôi sẽ đánh giá cao một số hiểu biết về các câu hỏi sau đây. (Điều quan trọng cần lưu ý rằng tôi là một người chơi cờ đơn thuần không có kiến ​​thức về khoa học máy tính. Tôi vẫn thấy điều này hấp dẫn)

  1. Điều gì thể hiện các mô phỏng 10 ^ 2, ..., 10 ^ 6? Tôi rất bối rối vì trong Tài liệu bổ sung họ lưu ý rằng '`Trong quá trình đào tạo, mỗi MCTS đã sử dụng 800 mô phỏng' '.
  2. Điều đó có nghĩa là mỗi MCTS sử dụng 800 mô phỏng?
  3. Tôi giả định rằng giá trị 60 trong vòng tròn màu đỏ trong các mô phỏng 10 ^ 2 đại diện cho số điểm mong đợi 60% cho màu trắng, là giá trị trung bình của tất cả các đánh giá vị trí. Tuy nhiên, trung bình đơn giản của 9 di chuyển được hiển thị bằng 61,2. Tôi đoán rằng các động thái khác cũng được xem xét và mô phỏng. Tôi có ở đây không?
  4. Tôi giả sử rằng đối với các mô phỏng 10 ^ 3 đến 10 ^ 6, họ chỉ đưa ra một mẫu minh họa của các nhánh. Mô phỏng 10 ^ 5 không được hiển thị sau 34.Rce1 hoặc dừng sau 34.Rce1? Tôi đoán rằng mỗi mô phỏng đi cho đến khi số điểm dự kiến ​​là 100%.

Câu trả lời:


5

Biểu đồ cho thấy 10 trạng thái / vị trí trò chơi được truy cập nhiều nhất mà AlphaZero đã tính toán. Nó thực sự đang xem xét hàng ngàn vị trí, nhưng họ chỉ hiển thị 10 vị trí mà nó trở lại nhiều nhất. Đối với câu hỏi của bạn:

1) Thuật toán tìm kiếm của AlphaZero được gọi là Monte Carlo Tree Search (MCTS). Các nguyên tắc cơ bản về cách thức hoạt động khi suy nghĩ ở một số trạng thái trò chơi:

  • Chọn một di chuyển. Cách di chuyển này được chọn dựa trên một thuật toán có lợi:
    • Làm thế nào tốt di chuyển đã thực hiện trong các mô phỏng ngẫu nhiên trong quá khứ của nó.
    • Làm thế nào nó không thường xuyên được chọn (một động thái diễn ra ít hơn ==> mong muốn hơn).
  • Thực hiện theo di chuyển này đến trạng thái trò chơi mới (nghĩa là vị trí phát sinh khi bạn chơi di chuyển).
  • Lặp lại bước 1, trong một số giới hạn thời gian hoặc giới hạn độ sâu.

Động thái có điểm trung bình tốt nhất trong tất cả các lần chơi của nó là bước mà AlphaZero chọn. Có liên quan nhiều hơn thế này, nhưng ở trên là ý tưởng chung của MCTS. Vì vậy, một cái gì đó giống như mô phỏng 10 ^ 2 cho nút gốc có nghĩa là AlphaZero đã thực hiện thuật toán trên 10 ^ 2 lần cho vị trí đó.

Phần mà họ đề cập đến "800 mô phỏng" đề cập đến khi AlphaZero đang học ( trước các trò chơi của nó với Stockfish). Cách AlphaZero tự học heuristic (cho phép nó đánh giá chính xác các vị trí) bằng cách tự chơi đi chơi lại. Vì vậy, tôi cho rằng họ có nghĩa là trong giai đoạn chơi chính nó, mỗi lần nó nghĩ về việc chơi gì ở một vị trí, nó chỉ thực hiện 800 mô phỏng từ một vị trí. Mục đích của việc này có lẽ là có thời gian để có thêm các trò chơi thực hành. Chống lại Stockfish, chơi cực kỳ nhanh là không cần thiết, và AlphaZero cũng có thể sử dụng thời gian để chơi theo cách mô phỏng như vậy.

2) Giải thích ở trên.

3) Có, hàng ngàn động thái khác cũng được xem xét, chúng chỉ không được hiển thị trong sơ đồ. Ngoài ra, ngay cả khi 10 trạng thái được hiển thị là những trạng thái duy nhất đạt được, bạn không thể chỉ tính trung bình điểm số của họ. Lý do là một số trạng thái trò chơi được tiếp cận thường xuyên hơn các trạng thái khác và do đó có trọng số cao hơn trong tính toán trung bình.

  • Để minh họa điều này, giả sử bạn chỉ có hai động tác có thể bạn có thể chơi khi bắt đầu trò chơi: 1.e4 và 1.h4. Nhìn lại thuật toán MCTS mà tôi đã phác thảo, các lần phát / mô phỏng trên 1.e4 sẽ xảy ra thường xuyên hơn vì 1.e4 hoạt động tốt hơn. Tuy nhiên, 1.h4 cũng sẽ được chọn một lần do bạn không thường xuyên nhìn vào nó. Vì vậy, có thể bạn thực hiện 9 lần phát trên 1.e4 và nhận được số điểm 60%, trong khi thực hiện 1 lần phát vào 1.h4 và nhận được 0% điểm. Tỷ lệ thắng của bạn từ vị trí bắt đầu không phải là (60% + 0%) / 2 = 30%, mà là (60% * 9 + 0% * 1) / 10 = 54%.

4) Có, chỉ có một mẫu minh họa được hiển thị vì họ chỉ muốn hiển thị 10 trạng thái trò chơi được truy cập nhiều nhất. Tôi chắc chắn AlphaZero tiếp tục thuật toán MCTS vượt xa 34.Rce1.


Cảm ơn! Câu trả lời chính xác. Ok, tôi hiểu rằng, trong các trò chơi với SF, AZ đã thực hiện 10 ^ 6 mô phỏng cho mỗi vị trí / trạng thái đã chơi, ví dụ sau 29 ... Qf8 ... Về Q1, điều không rõ ràng đối với tôi là 1 / "Chọn di chuyển" là một MCTS và "Lặp lại bước 1" sẽ là một MCTS khác hoặc 2 / là ví dụ của bạn chỉ có một MCTS?
Kortchnoi

Để chính xác hơn trong trường hợp thứ 2: ví dụ của bạn có một MCTS với 2 mô phỏng không?
Kortchnoi

1
@Kortchnoi MCTS là một thuật toán đệ quy. Điều này có nghĩa là để chạy, nó tự gọi mình là X số lần (trong đó X là mức độ sâu mà nó chạy mô phỏng playout từ vị trí bắt đầu). Các bước tôi liệt kê từ "chọn di chuyển" cho đến khi "lặp lại bước 1" đều là một phần của một mô phỏng MCTS, bất kể thuật toán lặp đi lặp lại xuống cây trò chơi bao nhiêu lần. Một mô phỏng khác chỉ bắt đầu khi thuật toán kết thúc tìm kiếm và sau đó một mô phỏng playout mới bắt đầu lại từ vị trí bắt đầu.
Vô minh quán tính

1
Hãy nghĩ về nó như thế này. Bạn muốn biết những gì để chơi trong lần di chuyển đầu tiên. Bạn chọn 1.e4 thông qua thuật toán, vì trong quá khứ, nó đã thực hiện tốt các mô phỏng mà bạn đã thực hiện về mặt tinh thần, đồng thời bạn đã không thực hiện quá nhiều mô phỏng trên đó. Bây giờ ở vị trí mới sau 1.e4, bạn cần chọn một nước đi để Đen chơi. Bạn làm cùng một thuật toán và giả sử bạn nhận được 1 ... c5. Bây giờ đến lượt White chơi để bạn thực hiện cùng một thuật toán. Vv, cho đến khi bạn đạt đến một số giới hạn độ sâu hoặc ai đó thắng trò chơi (hoặc hòa). Đây là tất cả một mô phỏng từ vị trí bắt đầu.
Vô minh quán tính

1
Đúng chính xác. Mỗi MCTS chỉ là một loạt các mô phỏng chạy từ vị trí bạn đang nghĩ.
Vô minh quán tính
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.