Tôi cần kiến ​​thức gì để viết một chương trình AI đơn giản để chơi trò chơi?


8

Tôi tốt nghiệp B.Sc. Một trong những khóa học của tôi là 'Giới thiệu về Machine Learning' và tôi luôn muốn thực hiện một dự án cá nhân trong chủ đề này.

Gần đây tôi đã nghe về việc đào tạo AI khác nhau để chơi các trò chơi như Mario, Go, v.v.

Tôi cần có kiến ​​thức gì để đào tạo một chương trình AI đơn giản để chơi trò chơi? Và trò chơi nào bạn giới thiệu cho người mới bắt đầu?

Đây là những gì tôi biết trong Machine Learning cho đến nay -

  • Giới thiệu về khóa học và học máy. Thuật toán K-Recent Neighbor và thuật toán K-nghĩa
  • Suy luận thống kê
  • Mô hình hỗn hợp Gaussian (GMM) và tối đa hóa kỳ vọng (EM)
  • Có lẽ mô hình xấp xỉ đúng (PAC), bao gồm giới hạn tổng quát và lựa chọn mô hình
  • Các thuật toán siêu phẳng cơ bản: Perceptron và Winnow.
  • Hỗ trợ máy Vector (SVM)
  • Hạt nhân
  • Thúc đẩy người học yếu đến người học mạnh: AdaBoost
  • Ký quỹ-Perceptron
  • hồi quy
  • PCA
  • Cây quyết định
  • Cây quyết định cắt tỉa và rừng ngẫu nhiên

Câu trả lời:


8

Có nhiều cách để tiếp cận giải quyết vấn đề chơi trò chơi. Một số trò chơi có thể được giải quyết bằng thuật toán tìm kiếm chẳng hạn. Điều này hoạt động tốt cho các trò chơi bài và bảng lên đến một mức độ phức tạp. Ví dụ, Deep Blue của IBM về cơ bản là một tìm kiếm theo hướng heuristic nhanh cho các bước di chuyển tối ưu.

Tuy nhiên, có lẽ thuật toán học máy chung chung nhất để đào tạo một tác nhân để thực hiện một nhiệm vụ một cách tối ưu là học tăng cường . Về mặt kỹ thuật, nó không phải là một thuật toán, mà là một nhóm các thuật toán liên quan mở rộng, tất cả đều giải quyết một sự chính thức hóa cụ thể của vấn đề học tập.

Một cách không chính thức, Học tăng cường (RL) là tìm kiếm các giải pháp tối ưu cho các vấn đề được xác định theo tác nhân có thể quan sát trạng thái của môi trường , thực hiện các hành động trong môi trường đó và trải nghiệm các phần thưởng liên quan đến trạng thái và hành động. Người giải quyết RL cần được thiết kế để đối phó với các tình huống nhận được phần thưởng muộn hơn so với khi thực hiện các hành động quan trọng và điều này thường đạt được bằng thuật toán học một kỳ vọng nội bộ về các phần thưởng sau này liên quan đến các cặp trạng thái và / hoặc trạng thái hành động.

Dưới đây là một số tài nguyên để nghiên cứu Học tăng cường:

Bạn sẽ thấy bản thân đối tượng khá lớn vì ngày càng có nhiều biến thể phức tạp hơn của các thuật toán là cần thiết vì vấn đề cần giải quyết trở nên khó khăn hơn.

Các trò chơi bắt đầu để học tăng cường học tập có thể bao gồm:

  • Tik-tac-toe (còn gọi là Noughts và cross) - điều này có thể được giải quyết dễ dàng bằng cách sử dụng tìm kiếm, nhưng nó tạo ra một vấn đề đồ chơi đơn giản để giải quyết bằng các kỹ thuật RL cơ bản.

  • Mazes - trong tài liệu học tập củng cố, có nhiều ví dụ về các trò chơi "thế giới lưới" trong đó một tác nhân di chuyển trong các bước N, E, S, W đơn lẻ trên một bảng nhỏ có thể chứa các mối nguy hiểm và mục tiêu.

  • Xì dách (còn gọi là 21)

Nếu bạn muốn làm việc với các đại lý để chơi trò chơi video, bạn cũng sẽ muốn tìm hiểu về các mạng thần kinh và có thể ở một số chi tiết - bạn sẽ cần các mạng thần kinh tích hợp, sâu để xử lý đồ họa màn hình.

Một tài nguyên tương đối mới cho RL là OpenAI Universe . Họ đã thực hiện rất nhiều công việc để đóng gói các môi trường sẵn sàng huấn luyện các tác nhân, nghĩa là bạn có thể tập trung vào nghiên cứu các thuật toán học tập, trái ngược với nỗ lực thiết lập môi trường.


Về danh sách các kỹ năng hiện tại của bạn: Không ai trong số họ có liên quan trực tiếp đến việc học tăng cường. Tuy nhiên:

  • Nếu bạn có thể hiểu toán học và lý thuyết từ khóa học trước của bạn, thì bạn cũng có thể hiểu lý thuyết học tăng cường.

  • Nếu bạn đã nghiên cứu bất kỳ kỹ thuật học tập được giám sát trực tuyến hoặc theo đợt, thì chúng có thể được sử dụng như các thành phần bên trong khung RL. Thông thường, chúng có thể được sử dụng để xấp xỉ một hàm giá trị của trạng thái trò chơi, dựa trên phản hồi từ những thành công và thất bại cho đến nay.


7

Nó phụ thuộc rất nhiều vào loại trò chơi và thông tin về trạng thái của trò chơi có sẵn cho AI của bạn.

Một số trò chơi AI chơi trò chơi nổi tiếng nhất trong vài năm qua dựa trên học tập củng cố sâu (ví dụ: Chơi Atari với Học tăng cường sâu ), đó là học tăng cường thông thường (ví dụ: Q-learning) với mạng lưới thần kinh sâu là hàm xấp xỉ giá trị. Các cách tiếp cận này nhận được các pixel thô của trò chơi cộng với điểm của người chơi và xuất ra các hành động của bảng trò chơi, giống như con người. Để làm được điều tương tự, bạn cần thành thạo việc học tăng cường (xem sách bán nguyệt của Sutton và Barto ) và học sâu (xem cuốn sách của Ian Goodfellow và cộng sự ), và sau đó làm thế nào để hợp nhất chúng vào việc học tăng cường sâu (tìm kiếm "củng cố học tập "trong bất kỳ danh sách các tài liệu học tập sâu như thế này).

Tuy nhiên, nếu thông tin về trò chơi có sẵn cho AI của bạn có cấu trúc hơn thế (ví dụ: vị trí của người chơi, mô tả về môi trường), bạn có thể làm tốt với các phương pháp cổ điển hơn khi bạn phân tách trò chơi của mình thành các vấn đề có thể xử lý và giải quyết mỗi một thuật toán, ví dụ bằng cách tìm kiếm với A * .


3

153h= =45h

Topcis để tìm hiểu về

  • Quy trình quyết định Markov (MDP)
    • Lặp lại chính sách và giá trị
    • Dự án: Rock-Paper-Kéo / Tic-Tac-Toe
  • Quy trình ra quyết định Markov có thể phản đối một phần
    • Dự án: Black Jack
  • Học tập củng cố
    • Học hỏi
    • SARSA

Các trò chơi đơn giản khác

Các nguồn lực khác

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.