Tôi đang viết một trò chơi đồ chơi đơn giản với mục đích đào tạo một mạng lưới thần kinh sâu trên nó. Các quy tắc trò chơi đại khái như sau:
- Trò chơi có một bảng được tạo thành từ các tế bào hình lục giác.
- Cả hai người chơi có cùng một bộ sưu tập các mảnh mà họ có thể chọn để đặt tự do trên bảng.
- Đặt các loại phần thưởng khác nhau điểm thưởng (hoặc giảm điểm của đối thủ) tùy thuộc vào vị trí và cấu hình của chúng tạo ra nhau.
- Ai có nhiều điểm hơn sẽ thắng.
Có các quy tắc bổ sung (về lượt, số lượng và loại mảnh, v.v ...) nhưng chúng không quan trọng trong bối cảnh của câu hỏi này. Tôi muốn tạo ra một mạng lưới thần kinh sâu sắc có thể học hỏi bằng cách chơi với chính nó. Câu hỏi của tôi là về đại diện của đầu vào và đầu ra. Đặc biệt:
- Vì mô hình của các mảnh quan trọng, tôi đã nghĩ rằng có ít nhất một số lớp chập. Bảng có thể có kích thước khác nhau nhưng về nguyên tắc rất nhỏ (6x10 trong các thử nghiệm của tôi, được mở rộng bởi một vài ô). Liệu nó có ý nghĩa? Tôi có thể sử dụng loại tổng hợp nào?
- Làm thế nào để đại diện cho cả hai bên? Trong bài báo này , các tác giả sử dụng hai ma trận đầu vào, một cho đá trắng và một cho đá đen. Nó có thể làm việc trong trường hợp này quá không? Nhưng hãy nhớ rằng tôi có các loại mảnh khác nhau, giả sử A, B, C và D. Tôi có nên sử dụng ma trận đầu vào 2x4 không? Nó có vẻ rất thưa thớt và ít hiệu quả với tôi. Tôi sợ rằng nó sẽ quá thưa thớt để các lớp chập hoạt động.
- Tôi nghĩ rằng đầu ra có thể là một phân phối xác suất trên ma trận đại diện cho các vị trí bảng, cộng với một mảng xác suất riêng biệt cho biết phần nào sẽ chơi. Tuy nhiên, tôi cũng cần thể hiện khả năng vượt qua lượt, điều này rất quan trọng. Làm thế nào tôi có thể làm điều đó mà không làm giảm ý nghĩa của nó trong số các xác suất khác?
- Và quan trọng nhất , tôi chỉ thực thi các động thái chiến thắng hay thua các động tác? Thực thi các động tác chiến thắng thật dễ dàng vì tôi chỉ đặt xác suất mong muốn là 1. Tuy nhiên, khi thua, tôi có thể làm gì? Đặt xác suất di chuyển đó thành 0 và tất cả những cái khác có cùng giá trị không? Ngoài ra, có ý nghĩa gì khi thực thi các động thái bằng chênh lệch điểm số cuối cùng, mặc dù điều này sẽ đi ngược lại ý nghĩa của các kết quả đầu ra, gần như là xác suất?
Ngoài ra, tôi đã phát triển công cụ trò chơi trong node.js với suy nghĩ sử dụng Synaptic làm khung, nhưng tôi không chắc nó có thể hoạt động với các mạng chập (tôi nghi ngờ có cách khắc phục các trọng số liên quan đến các trường nhận thức cục bộ). Bất kỳ lời khuyên về các thư viện khác tương thích với nút?