AlphaZero học cách đánh giá một vị trí mà nó chưa từng thấy?


11

Theo dõi từ câu trả lời cho:

Hiểu về AlphaZero

Câu hỏi của tôi sẽ là làm thế nào mạng lưới thần kinh "học" phải làm gì ở một vị trí mà nó không gặp phải. Việc nói AZ thực tế thực hiện MCTS bằng cách sử dụng độ lệch + trọng số từ mạng lưới thần kinh được đào tạo chỉ đẩy nó lùi một bước để làm thế nào mạng lưới thần kinh tính toán các giá trị này. Nếu đó là thông qua việc tự chơi ngẫu nhiên, không có kiến ​​thức về con người, vậy thì nó quyết định làm thế nào để cân một vị trí mà nó chưa từng thấy?

Câu trả lời:


5

Chức năng đánh giá của một công cụ cờ vua, cho dù được khởi tạo như một mạng thần kinh hoặc mã rõ ràng, luôn có thể gán giá trị cho bất kỳ vị trí bảng nào. Nếu bạn cho nó một vị trí bảng, thậm chí những vị trí vô lý sẽ không bao giờ xảy ra trong một trò chơi, nó sẽ có thể phun ra một con số thể hiện mức độ thuận lợi của nó đối với người chơi này hay người chơi khác. Vì số lượng vị trí bàn cờ trong cờ vua là khổng lồ không thể điều khiển được, nên việc đào tạo chỉ có thể xảy ra trên một mẫu vô hạn của cây trò chơi. Công cụ không chỉ đơn giản là nhớ lại các giá trị được tính toán trước đó của các vị trí bảng, mà đang thực hiện các tính toán dựa trên sự sắp xếp của các mảnh. Đối với một ví dụ phi mạng lưới thần kinh, một phần trong đánh giá của một cỗ máy cờ vua có thể là cộng giá trị của mỗi quân cờ về phía nó và trừ đi tổng giá trị của quân cờ đối thủ. Sau đó,

Khi động cơ chưa được huấn luyện, các giá trị được gán cho một vị trí cũng có thể là ngẫu nhiên do các tham số của hàm đánh giá bắt đầu bằng (thường) các giá trị ngẫu nhiên. Mục tiêu của giai đoạn huấn luyện là điều chỉnh các thông số của động cơ để nó gán điểm cao cho các vị trí trên bảng là trạng thái chiến thắng có thể xảy ra cho người chơi.

Từ bài báo trên AlphaZero (trang 3):

Các tham số của mạng nơ ron sâu trong AlphaZero được đào tạo bằng cách học tăng cường tự chơi, bắt đầu từ các tham số khởi tạo ngẫu nhiên. Các trò chơi được chơi bằng cách chọn di chuyển cho cả hai người chơi bằng MCTS. Vào cuối trò chơi, vị trí đầu cuối được ghi theo quy tắc của trò chơi để tính kết quả trò chơi: −1 cho một trận thua, 0 cho một trận hòa và +1 cho một chiến thắng. Các tham số mạng thần kinh được cập nhật để giảm thiểu lỗi giữa kết quả dự đoán và kết quả trò chơi và để tối đa hóa sự giống nhau của vectơ chính sách với xác suất tìm kiếm.

[ký hiệu toán học bị xóa khỏi trích dẫn]

Tóm lại, trong quá trình huấn luyện, AlphaZero đã chơi một trò chơi với chính nó. Khi trò chơi kết thúc, kết quả của trò chơi và độ chính xác của dự đoán của nó về cách trò chơi sẽ được sử dụng để điều chỉnh mạng lưới thần kinh để nó chính xác hơn trong trò chơi tiếp theo. AlphaZero không giữ kỷ lục về mọi vị trí mà nó đã thấy, nhưng đang tự điều chỉnh để có thể đánh giá chính xác hơn bất kỳ bảng nào mà nó nhìn thấy trong tương lai.


Tôi hoàn toàn hiểu lời giải thích của bạn ở cấp độ thuật toán, nhưng tôi vẫn ngạc nhiên rằng nó hoạt động. Tôi đã nghĩ rằng những trò chơi đầu tiên sẽ ngẫu nhiên đến mức chúng không có giá trị học tập. Dường như không thể đánh giá kết quả của một động thái ở giai đoạn đó ngoại trừ bằng cách phát nó ra cho người chơi, bởi vì đó là điều duy nhất mà bạn được nói về. Nhưng checkmate đó sẽ chỉ xảy ra sau khi một số lượng lớn các công cụ cơ bản ngẫu nhiên khác đã diễn ra. Cảm giác ruột của tôi là không có đủ dữ liệu có ý nghĩa để rút ra bất kỳ kết luận nào. Tại sao tôi sai?
Philip Roe

@PhilipRoe Bạn nói đúng, mỗi trò chơi chỉ cung cấp một ít thông tin. Tôi thực sự đã viết công cụ cờ vua của riêng mình, học bằng thuật toán tiến hóa. Các bản sao được sửa đổi ngẫu nhiên của động cơ chơi với nhau; người thua cuộc bị xóa và người chiến thắng tạo ra nhiều bản sao sửa đổi hơn. Nó thường mất từ ​​10.000 đến 20.000 trò chơi để tìm ra thứ tự đúng của các giá trị mảnh (nữ hoàng, tân binh, giám mục / hiệp sĩ, cầm đồ). AlphaZero đã mất 44 triệu trò chơi để đạt được kỹ năng của mình (bảng trên trang 15 của bài báo được liên kết).
Đánh dấu H

Cảm ơn vì đã phản hồi! Nhưng tôi vẫn kinh ngạc. Có không gian rộng lớn của các vị trí có thể để đánh giá. Nhưng đó cũng là không gian rộng lớn của những câu hỏi có thể hỏi. Về mặt nhân học, tôi tưởng tượng mình không có kiến ​​thức trước trừ các quy tắc và một cơ sở dữ liệu khổng lồ về các trò chơi được chơi ở mức độ bất tài gần như không thể tưởng tượng được (mặc dù tôi không cho rằng tất cả đều được nhớ đến) nên đếm các mảnh "Sau đó, bao lâu trước khi đếm các mảnh dường như là một ý tưởng tốt?
Philip Roe

1
Tôi thấy rất khó tưởng tượng, ngay cả khi một số gợi ý mạnh mẽ được cung cấp về "Điều gì tạo thành một câu hỏi hay?" Nhưng thậm chí không có điều đó, tôi ấn tượng rằng một chế độ bá đạo có thể được thiết lập trong 20.000 trò chơi. Vì vậy, tôi thấy rất khó để chấp nhận rằng các tabula thực sự là rasa. Một số hướng dẫn tối thiểu về quá trình tạo và sửa đổi các quy tắc của bạn (bao nhiêu, bao lâu?) Vẫn có vẻ cần thiết.
Philip Roe

1
@PhilipRoe Trong chương trình của tôi, tôi bảo động cơ đếm các mảnh, nhưng không phải mỗi mảnh có giá trị bao nhiêu. Vì vậy, tôi nói với động cơ những gì cần nhìn, nhưng không phải làm thế nào để cân những gì nó nhìn thấy. AlphaZero là nhiều tabula rasa. Nếu bạn tò mò: github.com/MarkZH/Genetic_Chess
Mark H
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.