AlphaZero là một chương trình của DeepMind tự học chơi cờ vua, cờ vây và shogi (cờ tướng Nhật) chỉ từ luật chơi, bằng cách tự đấu với chính nó hàng triệu ván, không dùng bất kỳ ván cờ nào của con người. Kết quả được công bố lần đầu tháng 12 năm 2017 và in chính thức trên tạp chí Science cuối năm 2018. Ở cờ vua, AlphaZero đánh bại Stockfish, phần mềm cờ mã nguồn mở mạnh nhất khi đó, trong một trận đấu dài.
Điều làm giới cờ vua chú ý không chỉ là chuyện thắng, mà là cách thắng: AlphaZero sẵn sàng thí quân để đổi lấy thế lâu dài, đẩy tốt cánh vua rất sớm, chơi theo kiểu mà nhiều kiện tướng gọi là "giống người hơn máy". Bài này giải thích AlphaZero học thế nào, trận đấu với Stockfish có gì đáng tranh luận, và nó để lại gì cho người chơi cờ bình thường.
Một thuật toán, ba trò chơi
Trước AlphaZero, mỗi máy cờ mạnh được làm riêng cho một trò. Máy cờ vua có hàng trăm quy tắc đánh giá viết tay về cấu trúc tốt, an toàn vua; máy shogi có bộ quy tắc khác; AlphaGo có thiết kế riêng cho cờ vây, lại học khởi đầu từ ván của người. AlphaZero dùng cùng một thuật toán cho cả ba trò. Thứ duy nhất thay đổi là phần mô tả luật: bàn cờ bao nhiêu ô, quân đi thế nào, khi nào thắng thua.
Đây là ý tưởng được thừa hưởng trực tiếp từ AlphaGo Zero, bản cờ vây đã bỏ dữ liệu người. AlphaZero chứng minh cách làm đó không gắn với cờ vây, mà áp dụng được cho các trò chơi có luật rất khác: cờ vua có quân giá trị khác nhau, có nhập thành và phong cấp; shogi cho phép thả lại quân đã ăn vào bàn, khiến số nước khả dĩ tăng mạnh về cuối ván.
Với người làm trí tuệ nhân tạo, điểm hấp dẫn là tính tổng quát: không cần chuyên gia mỗi trò ngồi viết tri thức vào máy. Với người chơi cờ, điểm hấp dẫn là câu hỏi ngược: nếu máy học từ con số không mà vẫn tìm lại được phần lớn lý thuyết khai cuộc con người mất mấy thế kỷ xây dựng, thì phần nào của lý thuyết đó đúng, phần nào chỉ là thói quen?
AlphaZero tự học như thế nào
Quy trình học của AlphaZero về nguyên lý khá gọn, có thể mô tả thành một vòng lặp lặp đi lặp lại rất nhiều lần.
- Khởi đầu với một mạng nơ-ron ngẫu nhiên. Mạng nhận vào thế cờ, trả ra hai thứ: xác suất nên đi mỗi nước và một con số ước lượng ai đang thắng. Lúc đầu cả hai đầu ra đều vô nghĩa, máy chơi gần như đi bừa.
- Tự chơi với tìm kiếm cây. Ở mỗi nước, máy dùng tìm kiếm cây Monte Carlo có mạng nơ-ron dẫn đường: thử vài trăm mô phỏng, nhánh nào mạng cho là hứa hẹn thì đào sâu hơn. Kết quả tìm kiếm cho một phân bố nước đi tốt hơn đầu ra thô của mạng.
- Ghi lại mỗi thế cờ và kết cục. Ván kết thúc thắng, thua hoặc hoà. Mỗi thế cờ trong ván được lưu cùng phân bố nước đi mà tìm kiếm đã chọn và kết quả cuối cùng của ván.
- Huấn luyện lại mạng. Mạng được chỉnh để đầu ra xác suất giống phân bố của tìm kiếm hơn, và đầu ra giá trị dự đoán đúng kết cục hơn. Nói gọn: mạng học bắt chước chính nó khi đã "suy nghĩ kỹ".
- Lặp lại. Mạng tốt hơn dẫn đường cho tìm kiếm tốt hơn, tìm kiếm tốt hơn tạo dữ liệu tốt hơn. Sau hàng triệu ván tự chơi, mạng từ chỗ đi bừa thành một đối thủ ở trình cao nhất.
Theo công bố của nhóm, việc tự chơi dùng tới hàng nghìn bộ xử lý chuyên dụng cho học máy, nên quá trình học cờ vua chỉ mất vài giờ tính theo đồng hồ. Con số "vài giờ" hay được nhắc đi nhắc lại, nhưng nó đi kèm một lượng phần cứng mà không cá nhân nào có.
Trận đấu với Stockfish và những điểm đáng tranh luận
Trong bản công bố đầu tiên cuối năm 2017, AlphaZero đấu một trăm ván với Stockfish phiên bản 8, mỗi nước được một phút. Kết quả: AlphaZero thắng 28 ván, hoà 72, không thua ván nào. Ở cờ vua trình cao, nơi hai máy mạnh đấu nhau thường hoà rất nhiều, cách biệt đó gây chú ý lớn.
Cũng ngay sau đó, nhiều lập trình viên cờ và kiện tướng chỉ ra các điều kiện chưa công bằng. Stockfish bị buộc đi mỗi nước đúng một phút, trong khi phần quản lý thời gian là một thế mạnh của nó; nó chạy không có sách khai cuộc và với bộ nhớ đệm được cho là nhỏ so với số luồng xử lý; hai bên chạy trên phần cứng rất khác nhau nên khó nói thế nào là cân sức. Đây đều là phản biện hợp lý chứ không phải chê bai.
Bài báo chính thức năm 2018 trả lời một phần bằng một trận lớn hơn nhiều, khoảng một nghìn ván, với điều kiện sát thi đấu hơn, có cả các thế khai cuộc được chọn sẵn từ ván người. AlphaZero vẫn thắng nhiều hơn thua rõ rệt, dù lần này có thua một số ván. Kết luận an toàn là: AlphaZero mạnh ngang hoặc hơn máy cờ cổ điển tốt nhất thời đó, chứ không phải "bỏ xa một trời một vực" như một số bài báo phổ thông viết.
Một chi tiết kỹ thuật đáng nhớ: AlphaZero chỉ xét vài chục nghìn thế cờ mỗi giây, trong khi Stockfish xét hàng chục triệu. Máy dùng mạng nơ-ron tính ít hơn cả nghìn lần nhưng mỗi lần tính "khôn" hơn, vì mạng chỉ dẫn tìm kiếm vào các nhánh đáng xét.
Phong cách chơi khiến kiện tướng ngạc nhiên
Thí quân vì lợi thế lâu dài. Máy cổ điển thời đó thường giữ chặt quân, chỉ thí khi tính ra được lợi ngay trong tầm tìm kiếm. AlphaZero nhiều lần bỏ tốt, thậm chí bỏ quân nhẹ, để đổi lấy quân hoạt động hơn hoặc vua đối phương bị kẹt, mà phần thu về chỉ hiện ra sau rất nhiều nước.
Đẩy tốt cánh vua sớm. Một hình ảnh lặp lại trong các ván được công bố là AlphaZero đẩy tốt h lên rất xa để ép thế nhập thành của đối phương. Sau đó, nước đẩy tốt cánh vua kiểu này được kỳ thủ chuyên nghiệp dùng nhiều hơn hẳn.
Ưu tiên độ hoạt động của quân hơn số quân. AlphaZero thường đánh giá một thế ít quân hơn nhưng quân phối hợp tốt là thế có lợi. Đây không phải ý tưởng mới với kỳ thủ mạnh, nhưng việc máy làm điều đó nhất quán khiến người ta tin hơn vào nguyên tắc cũ.
Ít dựa vào lý thuyết khai cuộc. Vì không học từ ván người, AlphaZero tự tìm ra nhiều khai cuộc quen thuộc, rồi bỏ dần một số khai cuộc khi càng học, phản ánh cách nó đánh giá chúng. Theo dõi tần suất khai cuộc trong quá trình học là một phần thú vị của bài báo.
AlphaZero để lại gì cho người chơi cờ hôm nay
AlphaZero không được phát hành cho công chúng. Nhưng ảnh hưởng của nó lan rộng qua vài con đường cụ thể.
- Dự án mã nguồn mở Leela Chess Zero ra đời năm 2018, dựng lại cách làm của AlphaZero dựa trên bài báo, với sức tính do cộng đồng tình nguyện góp. Leela trở thành một trong các máy cờ mạnh nhất và là lựa chọn phổ biến để phân tích ván.
- Máy cờ cổ điển cũng đổi. Vài năm sau, các máy theo kiểu tìm kiếm alpha-beta như Stockfish chuyển sang dùng mạng nơ-ron nhỏ để đánh giá thế cờ, kết hợp cái hay của cả hai trường phái. Bài về máy cờ mạng nơ-ron trong danh mục này giải thích kỹ hơn.
- Sách và tài liệu phân tích phong cách máy. Đại kiện tướng Matthew Sadler và Natasha Regan đã viết một cuốn sách năm 2019 phân tích các ván AlphaZero, được nhiều người chơi trình cao tham khảo.
- Thay đổi tư duy luyện tập. Người chơi trình cao nhìn nhận lại các nguyên tắc như "đừng đẩy tốt trước vua đã nhập thành", không bỏ nhưng hiểu khi nào được phá.
- Hướng nghiên cứu tiếp theo. DeepMind sau đó công bố MuZero, một hệ thống học được cả luật của trò chơi từ trải nghiệm. Đây là hướng nghiên cứu, chưa phải công cụ dành cho người chơi.
Với người chơi phong trào, bài học thực tế nhất là đừng chép kiểu đẩy tốt h của AlphaZero một cách máy móc. Nó hay vì phía sau có tính toán sâu; ở trình phong trào, phần lớn thời điểm đẩy tốt cánh vua sớm vẫn làm yếu chính vua mình.
Những hiểu lầm hay gặp về AlphaZero
Vì được đưa tin rộng rãi, AlphaZero bị gán nhiều điều nó không làm. Dưới đây là các ý sai phổ biến và cách hiểu đúng hơn.
- "AlphaZero tự khám phá ra luật cờ." Không. Luật được lập trình sẵn; máy chỉ tự học cách chơi giỏi trong khuôn luật đó. Học cả luật là việc của MuZero, một hệ thống khác công bố sau.
- "AlphaZero học trong bốn giờ trên một máy tính." Con số giờ là thời gian đồng hồ khi chạy song song trên hàng nghìn bộ xử lý chuyên dụng. Quy ra một máy tính cá nhân, lượng tính toán đó tương đương rất nhiều năm.
- "AlphaZero không bao giờ thua." Trong trận một trăm ván năm 2017 nó không thua, nhưng ở trận lớn năm 2018 với điều kiện khác, nó có thua một số ván trước Stockfish.
- "AlphaZero hiểu cờ như kiện tướng." Mạng của nó nắm được nhiều hình mẫu mà kiện tướng cũng dùng, nhưng không có cách nào hỏi nó vì sao. Các nhà nghiên cứu về sau phải làm thí nghiệm riêng để xem bên trong mạng có biểu diễn những khái niệm cờ quen thuộc hay không, và kết quả chỉ là một phần.
- "Máy học kiểu AlphaZero đã thay thế hoàn toàn máy cổ điển." Thực tế hai trường phái hoà vào nhau: máy tìm kiếm alpha-beta dùng mạng nơ-ron nhỏ để đánh giá, còn máy kiểu AlphaZero vẫn dùng bảng tàn cuộc và các kỹ thuật cổ điển khác.
AlphaZero có thật là "không cần con người"?
Cụm "không dùng tri thức con người" đúng ở nghĩa hẹp: không có ván cờ nào của người, không có quy tắc đánh giá do người viết. Nhưng con người vẫn ở khắp nơi trong hệ thống. Người chọn cách mã hoá bàn cờ thành đầu vào cho mạng, chọn kiến trúc mạng, chọn số mô phỏng mỗi nước, chọn tốc độ học và rất nhiều tham số khác. Những lựa chọn đó cũng là tri thức, chỉ là tri thức về học máy thay vì về cờ.
Thêm nữa, AlphaZero vẫn cần luật chơi được lập trình sẵn và một trò chơi có thể tự đấu vô hạn lần với kết quả rõ ràng. Phần lớn bài toán ngoài đời không có điều kiện này. Vì vậy, khi đọc các tuyên bố kiểu "AI tự học mọi thứ từ con số không", nên nhớ AlphaZero là trường hợp rất thuận lợi.
Nói như vậy không làm thành tựu nhỏ đi. Việc một hệ thống tự tìm ra phần lớn tri thức cờ vua trong vài giờ, rồi chơi theo phong cách mà kiện tướng thấy đẹp, là một trong những kết quả đáng chú ý nhất của học máy thập niên 2010.
Câu hỏi thường gặp
AlphaZero có còn được phát triển tiếp không?
DeepMind không phát hành AlphaZero và không tổ chức trận cờ công khai nào nữa sau bài báo năm 2018. Nhóm chuyển sang các hướng khác như MuZero. Cách làm của AlphaZero tiếp tục sống trong các dự án mã nguồn mở như Leela Chess Zero.
AlphaZero có mạnh hơn Stockfish hiện nay không?
Không có cách so trực tiếp vì AlphaZero không thi đấu từ đó. Stockfish đã cải tiến rất nhiều, nhất là sau khi dùng mạng nơ-ron đánh giá thế cờ. Theo nhận định chung của giới lập trình cờ, Stockfish hiện nay mạnh hơn nhiều so với phiên bản AlphaZero từng đấu.
Có thể cài AlphaZero lên máy tính ở nhà không?
Không có bản AlphaZero chính thức để cài. Nếu muốn trải nghiệm máy cờ theo cùng hướng, bạn có thể dùng các dự án mã nguồn mở dựng lại phương pháp này. Chúng chạy tốt nhất khi máy có card đồ hoạ, nhưng vẫn chạy được trên bộ xử lý thường với tốc độ chậm hơn.
Vì sao AlphaZero hay thí quân?
Vì mạng giá trị của nó học từ kết quả thực tế của hàng triệu ván, nên nó đánh giá được lợi thế lâu dài như vua đối phương bị kẹt hay quân bị tê liệt, thứ mà hàm đánh giá viết tay thời đó thường chấm thấp. Khi thấy lợi thế đó đáng giá hơn một quân, nó thí.
AlphaZero và AlphaGo Zero khác nhau thế nào?
AlphaGo Zero chỉ chơi cờ vây và có một số chi tiết thiết kế riêng cho cờ vây. AlphaZero là phiên bản tổng quát hoá, bỏ các chi tiết riêng đó, áp dụng cùng một thuật toán cho cờ vây, cờ vua và shogi, chỉ thay phần mô tả luật chơi.
Người chơi phong trào có nên học theo ván của AlphaZero?
Xem để mở rộng hiểu biết thì nên, nhất là các ván thí quân dài hơi. Nhưng đừng bắt chước nước đi khi chưa hiểu lý do phía sau. Ở trình phong trào, nguyên tắc cơ bản về phát triển quân và an toàn vua vẫn mang lại nhiều điểm hơn những ý tưởng mạo hiểm.