Máy cờ hiện nay chia thành hai trường phái chính. Một bên giữ khung tìm kiếm alpha-beta cổ điển, xét hàng chục triệu thế cờ mỗi giây, nhưng thay hàm đánh giá viết tay bằng một mạng nơ-ron nhỏ gọi là NNUE chạy được trên bộ xử lý thường. Bên kia theo hướng AlphaZero: một mạng nơ-ron lớn chạy trên card đồ hoạ, dẫn đường cho tìm kiếm cây Monte Carlo, chỉ xét vài chục nghìn thế mỗi giây nhưng mỗi thế được "nhìn" kỹ hơn nhiều.
Cả hai đều mạnh hơn mọi kỳ thủ con người rất xa, và trong thi đấu giữa các máy, chúng thay nhau dẫn đầu tuỳ phiên bản và phần cứng. Với người chơi cờ, hiểu khác biệt giúp bạn chọn công cụ phân tích hợp với máy mình đang có và đọc kết quả của mỗi loại đúng cách. Bài này giải thích bằng ngôn ngữ người chơi, không cần biết toán.
Từ hàm đánh giá viết tay sang hàm đánh giá học được
Như bài về cách máy tính chơi cờ trong danh mục này đã giải thích, máy cổ điển cần một hàm chấm điểm thế cờ: cộng giá trị quân, trừ điểm tốt chồng, cộng điểm cho xe ở cột mở. Hàm đó do người viết, trọng số do người chỉnh với sự trợ giúp của các phép thử tự động. Suốt mấy chục năm, sức mạnh máy cờ tăng một phần nhờ phần cứng, một phần nhờ những cải tiến nhỏ trong hàm này.
Giới hạn của cách viết tay là con người chỉ mô tả được những gì mình gọi tên được. Những tương tác tinh vi, như một con tượng xấu trở nên tốt khi cấu trúc tốt thay đổi theo một kiểu cụ thể, rất khó viết thành quy tắc. Mạng nơ-ron giải quyết đúng chỗ này: thay vì được bảo phải xét gì, nó được cho xem rất nhiều thế cờ cùng kết quả hoặc đánh giá đã biết, và tự điều chỉnh hàng triệu tham số để dự đoán đúng hơn.
Đổi lại, mạng nơ-ron tốn thời gian tính hơn một hàm cộng đơn giản, và không ai giải thích được trọn vẹn nó đang dựa vào đâu. Cuộc cạnh tranh giữa hai trường phái thực chất là cuộc cân đo: nên dành thời gian cho việc xét nhiều thế hơn, hay cho việc đánh giá mỗi thế chính xác hơn.
NNUE: mạng nơ-ron đủ nhẹ để chạy trên bộ xử lý thường
Xuất xứ từ shogi. NNUE là viết tắt tiếng Anh của "mạng nơ-ron cập nhật hiệu quả". Ý tưởng do một lập trình viên Nhật Bản đưa ra năm 2018 cho máy shogi, rồi được cộng đồng cờ vua chuyển sang. Năm 2020, Stockfish, phần mềm cờ mã nguồn mở hàng đầu, chính thức dùng NNUE và tăng sức mạnh rõ rệt chỉ sau một phiên bản.
Vì sao "cập nhật hiệu quả". Mỗi nước cờ chỉ làm thay đổi vị trí của một hai quân. NNUE được thiết kế để khi một quân di chuyển, máy chỉ phải tính lại phần nhỏ của lớp đầu tiên liên quan tới quân đó, thay vì tính lại cả mạng. Nhờ vậy việc đánh giá đủ nhanh để vẫn xét hàng chục triệu thế mỗi giây.
Mạng nhỏ, tìm kiếm sâu. So với mạng của trường phái AlphaZero, mạng NNUE nhỏ hơn nhiều. Nó không thay tìm kiếm mà làm tìm kiếm tốt hơn: mỗi thế ở cuối nhánh được chấm chính xác hơn hàm viết tay, trong khi độ sâu gần như giữ nguyên.
Học từ đâu. Mạng NNUE thường được huấn luyện trên rất nhiều thế cờ đã được chính máy cờ đánh giá ở độ sâu nào đó, cùng kết quả các ván tự chơi. Dữ liệu cụ thể và cách huấn luyện thay đổi theo từng phiên bản, cộng đồng phát triển công bố công khai.
Hai trường phái đặt cạnh nhau
Bảng dưới so sánh ở mức nguyên lý. Phiên bản cụ thể của mỗi phần mềm thay đổi thường xuyên, nên khi cần chi tiết, bạn nên kiểm ghi chú phát hành hiện hành.
| Tiêu chí | Alpha-beta với mạng NNUE | Monte Carlo với mạng lớn (kiểu AlphaZero, Leela) |
|---|---|---|
| Phần cứng hợp nhất | Bộ xử lý thường, nhiều nhân càng tốt | Card đồ hoạ; chạy bằng bộ xử lý thường thì chậm đi nhiều |
| Số thế cờ mỗi giây | Hàng chục triệu | Từ vài nghìn tới vài chục nghìn |
| Cách chọn nhánh | Xét gần như mọi nước, cắt tỉa bằng toán học | Mạng gợi ý nước đáng xét, đào sâu nhánh hứa hẹn |
| Con số báo ra | Thường là điểm theo giá trị con tốt | Gốc là xác suất thắng, hoà, thua; nhiều giao diện đổi sang điểm cho quen |
| Thế mạnh thường được nhắc | Chiến thuật sắc, tính chính xác dài trong thế mở | Đánh giá chiến lược lâu dài, thế khoá, thí quân dài hơi |
| Điểm yếu thường được nhắc | Đôi khi đánh giá quá lạc quan trong thế khoá | Đôi khi bỏ sót đòn chiến thuật sâu do xét ít nhánh |
Hai cột "thế mạnh, điểm yếu" là nhận xét phổ biến trong cộng đồng phân tích, không phải quy luật tuyệt đối. Khoảng cách giữa hai trường phái đã thu hẹp nhiều, vì mỗi bên học cái hay của bên kia.
Học tăng cường kiểu Leela diễn ra thế nào
Leela Chess Zero là dự án mã nguồn mở dựng lại phương pháp AlphaZero, khởi động năm 2018. Điều đặc biệt là việc huấn luyện được phân tán cho cộng đồng.
- Máy chủ của dự án phát hành một mạng nơ-ron hiện hành.
- Hàng nghìn tình nguyện viên chạy chương trình tự chơi trên máy của mình, dùng mạng đó để chơi các ván với chính nó, rồi gửi ván về.
- Máy chủ gom các ván, huấn luyện mạng để dự đoán tốt hơn nước đi mà tìm kiếm đã chọn và kết quả ván.
- Mạng mới được thử đấu với mạng cũ; nếu tốt hơn thì phát hành cho vòng tự chơi tiếp theo.
- Vòng lặp chạy liên tục nhiều năm, với các lần thay đổi kiến trúc mạng khi cộng đồng tìm ra cách tốt hơn.
Cách làm này cho thấy một điểm thú vị: sức mạnh của một máy cờ ở trình cao nhất thế giới có thể đến từ sức tính góp lại của người chơi bình thường, không cần một công ty lớn đứng sau.
Chọn máy phân tích nào cho máy tính của bạn
Người chơi phong trào không cần máy mạnh nhất, nhưng chọn đúng loại giúp phân tích nhanh và đỡ tốn pin.
- Máy tính xách tay không có card đồ hoạ rời, hoặc điện thoại: máy kiểu alpha-beta với NNUE là lựa chọn tự nhiên. Chỉ vài giây đã đủ mạnh hơn mọi kỳ thủ người.
- Máy tính có card đồ hoạ khá: thử thêm máy kiểu Leela để có góc nhìn thứ hai, nhất là với thế chiến lược khoá chặt.
- Phân tích ván đã chơi: hầu hết các giao diện phân tích phổ biến đã tích hợp sẵn một máy cờ mạnh. Bạn không cần cài thêm gì trừ khi muốn so hai máy.
- Khi hai máy bất đồng: đó là tín hiệu thế cờ khó, đáng tự suy nghĩ lâu hơn. Đừng chọn bừa máy nào "đúng"; hãy cho cả hai chạy lâu hơn và xem biến chính của mỗi bên.
- Đừng ám ảnh độ sâu: với ván phong trào, lỗi của bạn thường là mất quân hay bỏ lỡ đòn ba bốn nước. Máy nào cũng bắt được những lỗi này trong tích tắc. Phần đọc thanh đánh giá và tìm lỗi lặp lại có bài riêng ở danh mục phân tích ván cờ.
Những hiểu lầm hay gặp về máy cờ mạng nơ-ron
"Máy mạng nơ-ron tự nghĩ ra cờ, không cần tìm kiếm." Sai. Cả hai trường phái đều tìm kiếm. Mạng nơ-ron chỉ thay phần chấm điểm thế cờ, hoặc gợi ý nước nào đáng xét trước. Thử tắt hẳn tìm kiếm, chỉ để mạng chọn nước theo trực giác, máy vẫn chơi khá nhưng yếu đi rõ rệt và bắt đầu bỏ sót đòn chiến thuật.
"Mạng càng lớn thì máy càng mạnh." Không hẳn. Mạng lớn đánh giá kỹ hơn nhưng chậm hơn, nên trong cùng một giây máy xét được ít thế hơn. Sức mạnh thật là kết quả của cả hai: chất lượng đánh giá nhân với số thế xét được. Đó là lý do NNUE cố tình giữ mạng nhỏ.
"Máy mạng nơ-ron đã học hết ván của các kiện tướng." Với hướng AlphaZero và Leela, dữ liệu chính là ván tự chơi, không phải ván người. Với NNUE, dữ liệu chủ yếu là thế cờ do máy chấm. Ván người có thể xuất hiện ở một vài bước, nhưng không phải nguồn sức mạnh chính.
"Điểm hai máy báo khác nhau tức là một máy hỏng." Mỗi máy có thang chấm riêng, lại được quy đổi theo cách riêng. Cùng một thế, máy này báo hơn nửa tốt, máy kia báo hơn một tốt là chuyện thường. Điều đáng so là hai máy có đồng ý về nước tốt nhất và về bên nào đang ưu thế hay không, chứ không phải con số chính xác.
Mạng nơ-ron có làm máy cờ "hiểu" cờ hơn không
Câu hỏi này gây tranh luận cả trong giới nghiên cứu. Một số nghiên cứu đã thử "soi" vào bên trong các mạng chơi cờ, chẳng hạn kiểm xem tầng nào của mạng nhận diện được khái niệm quen thuộc như an toàn vua hay quân bị treo. Kết quả cho thấy mạng có biểu diễn nhiều khái niệm giống người, nhưng cũng có những thứ nó dùng mà con người chưa gọi tên được.
Theo nghĩa thực dụng, máy cờ mạng nơ-ron "hiểu" thế cờ tốt hơn ở chỗ đánh giá chính xác hơn mà không cần tính quá xa. Nhưng nó vẫn không giải thích được bằng lời. Khi bạn hỏi vì sao một nước tốt, câu trả lời duy nhất máy đưa được là một chuỗi nước tiếp theo và một con số.
Một cách thực tế để khai thác điểm này: khi máy chọn một nước bạn thấy lạ, hãy đi thử nước bạn định đi rồi để máy chạy tiếp vài giây. Chuỗi nước máy đưa ra sau đó thường cho thấy ngay chỗ ý của bạn bị bác, và đó là phần bài học đáng ghi lại.
Đây cũng là lý do người chơi không nên coi máy là người thầy giảng giải. Máy là đối tác kiểm tra: bạn tự đưa ra ý tưởng, máy cho biết ý tưởng đó có đứng vững không. Phần giải thích vẫn là việc của bạn, của huấn luyện viên, hoặc của sách.
Câu hỏi thường gặp
NNUE có phải là trí tuệ nhân tạo không?
NNUE là một mạng nơ-ron, thuộc học máy, nên theo nghĩa rộng là trí tuệ nhân tạo. Tuy vậy nó rất nhỏ so với các mô hình ngôn ngữ, chỉ làm một việc là chấm điểm thế cờ, và chỉ phát huy tác dụng khi được đặt trong khung tìm kiếm của máy cờ.
Máy cờ kiểu Leela có chạy được trên điện thoại không?
Về nguyên tắc có thể, với mạng nhỏ hơn và tốc độ chậm hơn nhiều. Trên điện thoại, máy kiểu alpha-beta với NNUE thường cho kết quả tốt hơn với cùng thời gian và pin, nên phần lớn ứng dụng chọn hướng này.
Vì sao Leela báo xác suất thắng thay vì điểm?
Vì mạng giá trị của nó được huấn luyện để dự đoán kết quả ván, nên đầu ra tự nhiên là khả năng thắng, hoà, thua. Nhiều giao diện quy đổi sang điểm theo giá trị con tốt cho người chơi quen đọc, nhưng phép quy đổi đó chỉ gần đúng.
Máy cờ mạng nơ-ron có bị lỗi kiểu "góc mù" như AlphaGo không?
Có thể. Mạng đánh giá dựa trên những gì đã học, nên các thế hiếm gặp trong dữ liệu huấn luyện có thể bị chấm lệch. Trong cờ vua, tìm kiếm sâu bù lại phần lớn, nhưng các thế pháo đài hay thế rất lạ vẫn là nơi máy hay sai.
Có cần mua card đồ hoạ đắt tiền để phân tích cờ không?
Với người chơi phong trào thì không. Máy kiểu alpha-beta với NNUE chạy trên bộ xử lý thường đã mạnh hơn mọi kỳ thủ. Card đồ hoạ chỉ đáng cân nhắc nếu bạn chuẩn bị khai cuộc ở trình rất cao hoặc thích thử nghiệm các máy cờ khác nhau.
Hai máy cờ hàng đầu đấu nhau thì ra sao?
Từ thế ban đầu, các máy hàng đầu hoà với nhau rất nhiều. Vì vậy các giải đấu giữa máy thường bắt chúng chơi từ những thế khai cuộc chọn sẵn, hơi lệch về một bên, để ván có kết quả. Thứ hạng đổi qua lại theo phiên bản và phần cứng.