Chơi trò chơi board với một đặc vụ, được huấn luyện bằng cách sử dụng phương pháp học tăng cường và được triển khai với TensorFlow Lite.
Bắt đầu
Nếu bạn chưa quen với TensorFlow Lite và đang làm việc với Android, chúng tôi khuyên bạn nên khám phá ứng dụng mẫu sau có thể giúp bạn bắt đầu.
Nếu bạn đang sử dụng nền tảng không phải Android hoặc bạn đã quen thuộc với các API TensorFlow Lite , bạn có thể tải xuống mô hình được đào tạo của chúng tôi.
Làm thế nào nó hoạt động
Mô hình được xây dựng cho một nhân viên trò chơi để chơi một trò chơi hội đồng nhỏ có tên là 'Plane Strike'. Để biết nhanh về trò chơi này và các quy tắc của nó, vui lòng tham khảo README này.
Bên dưới giao diện người dùng của ứng dụng, chúng tôi đã xây dựng một tác nhân chống lại người chơi là con người. Tác nhân là MLP 3 lớp lấy trạng thái bảng làm đầu vào và đưa ra điểm số dự đoán cho mỗi ô trong số 64 ô bảng có thể có. Mô hình được đào tạo bằng cách sử dụng chính sách gradient (REINFORCE) và bạn có thể tìm thấy mã đào tạo tại đây . Sau khi đào tạo đại lý, chúng tôi chuyển đổi mô hình thành TFLite và triển khai nó trong ứng dụng Android.
Trong quá trình chơi trò chơi thực tế trong ứng dụng Android, khi đến lượt tác nhân thực hiện hành động, đặc vụ sẽ xem trạng thái bảng của người chơi là con người (bảng ở dưới cùng), chứa thông tin về các lần đánh thành công và không thành công trước đó (đánh và trượt) và sử dụng mô hình đã đào tạo để dự đoán vị trí sẽ tấn công tiếp theo, để nó có thể kết thúc trò chơi trước khi người chơi thực hiện.
Điểm chuẩn hiệu suất
Số chuẩn hiệu suất được tạo bằng công cụ được mô tả ở đây .
Tên Model | Kích thước mô hình | Thiết bị | CPU |
---|---|---|---|
Chính sách Gradient | 84 Kb | Pixel 3 (Android 10) | 0,01ms * |
Pixel 4 (Android 10) | 0,01ms * |
* 1 chủ đề được sử dụng.
Đầu vào
Mô hình chấp nhận 3-D float32
Tensor của (1, 8, 8) làm trạng thái hội đồng quản trị.
Kết quả đầu ra
Mô hình trả về hình dạng 2-D float32
Tensor (1,64) là điểm số được dự đoán cho từng vị trí trong số 64 vị trí tấn công có thể xảy ra.
Đào tạo mô hình của riêng bạn
Bạn có thể đào tạo mô hình của riêng mình cho bảng lớn hơn / nhỏ hơn bằng cách thay đổi tham số BOARD_SIZE
trong mã đào tạo .