EDIT (sau khi đọc bài viết):
Tôi đã đọc báo một cách chu đáo. Hãy bắt đầu với những gì Google tuyên bố trong bài báo:
- Họ đã đánh bại Stockfish bằng Monte-Carlo-Tree-Search + Mạng lưới thần kinh sâu
- Trận đấu hoàn toàn diễn ra một chiều, nhiều chiến thắng cho AlphaZero nhưng không có trận nào cho Stockfish
- Họ đã có thể làm điều đó chỉ trong bốn giờ
- AlphaZero chơi như một con người
Thật không may, tôi không nghĩ rằng đó là một bài báo tốt. Tôi sẽ giải thích với các liên kết (vì vậy bạn biết tôi không mơ):
https://www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish- Tác giả
Bản thân kết quả trận đấu không có ý nghĩa đặc biệt vì sự lựa chọn khá lạ về điều khiển thời gian và cài đặt tham số Stockfish: Các trò chơi được chơi ở thời gian cố định 1 phút / lần di chuyển, điều đó có nghĩa là Stockfish không sử dụng phương pháp phỏng đoán quản lý thời gian của nó ( Rất nhiều nỗ lực đã được đưa vào để Stockfish xác định các điểm quan trọng trong trò chơi và quyết định khi nào nên dành thêm thời gian cho việc di chuyển, tại một thời điểm cố định cho mỗi lần di chuyển, sức mạnh sẽ bị ảnh hưởng đáng kể).
Stockfish không thể chơi cờ tốt nhất chỉ với một phút mỗi lần di chuyển. Chương trình không được thiết kế cho điều đó.
- Stockfish đang chạy trên một máy thương mại thông thường, trong khi AlphaZero là máy 4 triệu + TPU được điều chỉnh cho AlphaZero. Điều này giống như kết hợp máy tính để bàn cao cấp của bạn với điện thoại Android giá rẻ. Tord đã viết:
Một là chương trình cờ thông thường chạy trên máy tính thông thường, chương trình còn lại sử dụng các kỹ thuật khác nhau cơ bản và đang chạy trên phần cứng được thiết kế tùy chỉnh không có sẵn để mua (và sẽ thoát khỏi ngân sách của người dùng thông thường nếu có).
- Google đã vô tình đưa 64 luồng cho máy 32 lõi cho Stockfish. Tôi trích dẫn GM Larry Kaufman (chuyên gia cờ vua máy tính đẳng cấp thế giới):
http://talkchess.com/forum/viewtopic.php?p=741987&highlight=#741987
Tôi đồng ý rằng bài kiểm tra là xa công bằng; Một vấn đề khác làm tổn thương SF là nó rõ ràng đã chạy trên 64 luồng trên máy 32 lõi, nhưng nó sẽ chơi tốt hơn nhiều khi chỉ chạy 32 luồng trên máy đó, vì hầu như không có lợi ích SMP nào để bù khoảng 5 đến 3 lần chậm. Ngoài ra tỷ lệ chi phí là nhiều hơn tôi nói; Tôi đã nghĩ rằng đó là một máy 64 lõi, nhưng một máy 32 lõi có giá khoảng một nửa những gì tôi đoán. Vì vậy, có thể tất cả trong tất cả 30 đến 1 không phải là một ước tính quá tệ. Mặt khác, tôi nghĩ bạn đánh giá thấp mức độ có thể cải thiện của nó.
- Stockfish chỉ đưa ra bảng băm 1GB. Đây là một trò đùa ... Tôi có một bảng băm lớn hơn cho ứng dụng Stockfish iOS của tôi (Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả) trên iPhone của tôi! Tord đã viết:
... cách các bảng băm quá nhỏ cho số lượng chủ đề ...
Bảng băm 1GB là hoàn toàn không thể chấp nhận cho một trận đấu như thế này. Stockfish sẽ thường xuyên gặp phải va chạm băm. Phải mất chu kỳ CPU để thay thế các mục băm cũ.
- Stockfish không được thiết kế để chạy với số lượng chủ đề đó. Trong ứng dụng cờ vua iOS của tôi, chỉ có một vài chủ đề được sử dụng. Tord đã viết:
... đã chơi với nhiều luồng tìm kiếm hơn bao giờ hết nhận được bất kỳ số lượng thử nghiệm đáng kể nào ...
- Stockfish đã chạy mà không có một cuốn sách mở đầu hoặc cơ sở bảng kết thúc Syzygy 6 mảnh. Cỡ mẫu không đủ. Phiên bản Stockfish không phải là phiên bản mới nhất. Thảo luận ở đây .
PHẦN KẾT LUẬN
Google đã không chứng minh mà không nghi ngờ phương pháp của họ là vượt trội so với Stockfish. Số lượng của họ rất hời hợt và thiên vị mạnh mẽ với AlphaZero. Phương pháp của họ không thể được sao chép bởi một bên thứ ba độc lập. Vẫn còn quá sớm để nói Deep Learning là một phương pháp ưu việt so với lập trình cờ truyền thống.
EDIT (tháng 12 năm 2017):
Có một bài báo mới từ Google Deepmind ( https://arxiv.org/pdf/1712.01815.pdf ) để học tập củng cố sâu trong cờ vua. Từ bản tóm tắt, cỗ máy cờ vua Stockfish số một thế giới đã bị "đánh bại" một cách thuyết phục. Tôi nghĩ rằng đây là thành tích quan trọng nhất trong cờ vua máy tính kể từ trận đấu Deep Blue năm 1997. Tôi sẽ cập nhật câu trả lời của mình khi tôi đọc bài viết chi tiết.
Bản gốc (trước tháng 12 năm 2017)
Hãy làm rõ câu hỏi của bạn:
- Không, động cơ cờ vua không sử dụng vũ lực.
- AlphaGo không sử dụng tìm kiếm cây, nó sử dụng Tìm kiếm cây Monte Carlo . Google " Monte Carlo Tree Search alphaGo " nếu bạn muốn được thuyết phục.
ANN có thể được sử dụng cho động cơ cờ vua:
Chương trình này có hoạt động tốt hơn các động cơ cờ vua (và người chơi cờ) hàng đầu hiện nay không?
Hươu cao cổ chơi ở cấp độ Quốc tế, được đánh giá khoảng FIDE 2400. Tuy nhiên, Stockfish, Houdini và Komodo đều chơi ở khoảng FIDE 3000. Đây là một khoảng cách lớn. Tại sao? Tại sao không tìm kiếm cây Monte-Carlo?
- Vật liệu heuristic trong cờ vua là đơn giản. Hầu hết thời gian, một vị trí cờ là thắng / thua chỉ bằng cách đếm các tài liệu trên bàn cờ. Vui lòng nhớ lại các tài liệu đếm không hoạt động cho Go. Việc đếm vật liệu là các đơn đặt hàng có cường độ nhanh hơn so với việc chạy các mạng thần kinh - điều này có thể được thực hiện bằng các bảng bit được biểu thị bằng một số nguyên 64 bit. Trên hệ thống 64 bit, nó chỉ có thể được thực hiện bằng một số hướng dẫn máy. Tìm kiếm với thuật toán truyền thống nhanh hơn nhiều so với học máy. Các nút cao hơn mỗi giây dịch để tìm kiếm sâu hơn.
- Tương tự, có các kỹ thuật rất hữu ích và rẻ tiền như cắt tỉa di chuyển null, giảm di chuyển muộn và di chuyển sát thủ, v.v ... Chúng rẻ khi chạy và hiệu quả đối với phương pháp được sử dụng trong AlphaGo.
- Đánh giá tĩnh trong cờ vua là nhanh chóng và hữu ích
- Học máy rất hữu ích để tối ưu hóa các tham số, nhưng chúng tôi cũng có SPSA và CLOP cho cờ vua.
- Có rất nhiều số liệu hữu ích cho việc giảm cây trong cờ vua. Ít hơn nhiều cho Go.
Đã có nghiên cứu cho thấy Monte Carlo Tree Search không có quy mô tốt cho cờ vua. Go là một trò chơi khác với cờ vua. Các thuật toán cờ vua không hoạt động cho Go vì cờ vua dựa trên các chiến thuật tàn bạo. Chiến thuật được cho là quan trọng hơn trong cờ vua.
Bây giờ, chúng tôi đã thiết lập rằng MCTS hoạt động tốt cho AlphaGo nhưng ít hơn cho cờ vua. Học sâu sẽ hữu ích hơn nếu:
- Đánh giá NN điều chỉnh là tốt hơn so với các thuật toán truyền thống. Tuy nhiên ... học sâu không phải là phép thuật, bạn là lập trình viên vẫn cần phải lập trình. Như đã đề cập, chúng tôi có một cái gì đó giống như SPSA để tự chơi để điều chỉnh các tham số trong cờ vua.
- Đầu tư, tiền bạc! Không có nhiều tiền cho việc học máy trong cờ vua. Stockfish là mã nguồn mở và miễn phí, nhưng đủ mạnh để đánh bại tất cả người chơi. Tại sao Google sẽ chi hàng triệu đồng nếu ai đó chỉ có thể tải xuống Stockfish miễn phí? Tại sao sẽ trả tiền cho các cụm CPU? Ai sẽ trả tiền cho tài năng? Không ai muốn làm điều đó, bởi vì cờ vua được coi là một trò chơi "giải quyết".
Nếu học sâu có thể đạt được những điều sau, nó sẽ đánh bại thuật toán truyền thống:
- Đưa ra một vị trí cờ vua, "cảm thấy" nó giống như một đại kiện tướng của con người. Ví dụ, một đại kiện tướng của con người sẽ không đi vào những điều tồi tệ - theo kinh nghiệm. Cả thuật toán truyền thống hay học sâu đều không thể đạt được điều đó. Mô hình NN của bạn có thể cung cấp cho bạn một xác suất [0..1] cho vị trí của bạn, nhưng điều đó không đủ tốt.
Hãy để tôi chỉ ra:
Không. Hươu cao cổ (liên kết được đăng bởi @Tim) không sử dụng Monte Carlo Tree Search. Nó sử dụng thuật toán nega-max thông thường. Tất cả những gì nó làm là thay thế chức năng đánh giá thông thường bằng NN, và nó rất chậm.
một lần nữa:
Mặc dù Kasparov đã bị Deep Blue đánh bại trong trận đấu năm 1997. "Nhân loại" đã thực sự thua vào khoảng 2003-2005, khi Kramnik thua một trận đấu với Deep Fritz mà không có chiến thắng và Michael Adams đã thua một cỗ máy cụm trong một trận đấu một chiều. Trong khoảng thời gian đó, Rybka tỏ ra quá mạnh mẽ đối với cả những người chơi giỏi nhất thế giới.
Tài liệu tham khảo:
http://www.talkchess.com/forum/viewtopic.php?t=64096&postday=0&postorder=asc&highlight=alphago+chess&topic_view=flat&start=0
Tôi trích dẫn:
Trong cờ vua, chúng ta có khái niệm về tính vật chất đã đưa ra ước tính có thể cộng hưởng được về việc động cơ hoạt động tốt như thế nào và có thể được tính toán nhanh chóng. Hơn nữa, có rất nhiều khía cạnh khác của trò chơi có thể được mã hóa trong chức năng đánh giá tĩnh không thể thực hiện được trong Go. Do có nhiều phương pháp phỏng đoán và đánh giá tốt, EBF (Yếu tố phân nhánh hiệu quả) khá nhỏ. Sử dụng Mạng thần kinh để thay thế cho chức năng đánh giá tĩnh chắc chắn sẽ làm chậm động cơ khá nhiều.