AI với Python â € “Học tập củng cố


Trong chương này, bạn sẽ tìm hiểu chi tiết về các khái niệm học củng cố trong AI với Python.

Kiến thức cơ bản về học tập củng cố

Loại hình học tập này được sử dụng để củng cố hoặc tăng cường mạng lưới dựa trên thông tin phê bình. Đó là, một mạng lưới đang được đào tạo theo phương pháp học tăng cường, nhận được một số phản hồi từ môi trường. Tuy nhiên, phản hồi chỉ mang tính đánh giá chứ không mang tính hướng dẫn như trong trường hợp học có giám sát. Dựa trên phản hồi này, mạng thực hiện các điều chỉnh trọng số để thu được thông tin phê bình tốt hơn trong tương lai.

Quá trình học tập này tương tự như học tập có giám sát nhưng chúng ta có thể có rất ít thông tin. Hình sau đây cho thấy sơ đồ khối của việc học củng cố –

Kiến thức cơ bản về học tập củng cố

Khối xây dựng: Môi trường và Tác nhân

Môi trường và Tác nhân là các khối xây dựng chính của việc học tăng cường trong AI. Phần này thảo luận chi tiết về chúng –

Đại lý

Tác nhân là bất cứ thứ gì có thể nhận biết môi trường của nó thông qua các cảm biến và tác động lên môi trường đó thông qua các tác nhân.

  • Một tác nhân của con người có các cơ quan cảm giác như mắt, tai, mũi, lưỡi và da song song với các cảm biến, và các cơ quan khác như tay, chân, miệng để tạo hiệu ứng.

  • Một đại lý người máy thay thế máy ảnh và công cụ tìm phạm vi hồng ngoại cho các cảm biến, và các động cơ và bộ truyền động khác nhau cho các hiệu ứng.

  • Một đại lý phần mềm có các chuỗi bit được mã hóa làm chương trình và hành động của nó.

Thuật ngữ đại lý

Các thuật ngữ sau được sử dụng thường xuyên hơn trong học tập củng cố trong AI –

  • Đo lường hiệu suất của đại lý – Đó là tiêu chí, là yếu tố quyết định mức độ thành công của một đại lý.

  • Hành vi của Đại lý – Là hành động mà tác nhân thực hiện sau bất kỳ chuỗi khái niệm nhất định nào.

  • Percept – Đó là đầu vào tri giác của tác nhân tại một trường hợp nhất định.

  • Trình tự Percept – Đó là lịch sử của tất cả những gì mà một đặc vụ đã nhận ra cho đến nay.

  • Chức năng đại lý – Nó là một bản đồ từ trình tự giới luật đến một hành động.

Môi trường

Một số chương trình hoạt động trong một môi trường nhân tạo được giới hạn ở đầu vào bàn phím, cơ sở dữ liệu, hệ thống tệp máy tính và đầu ra ký tự trên màn hình.

Ngược lại, một số tác nhân phần mềm, chẳng hạn như rô bốt phần mềm hoặc rô bốt phần mềm, tồn tại trong các miền softbot phong phú và không giới hạn. Trình mô phỏng có một rất chi tiếtmôi trường phức tạp. Tác nhân phần mềm cần chọn từ một loạt các hành động trong thời gian thực.

Ví dụ: một softbot được thiết kế để quét các sở thích trực tuyến của khách hàng và hiển thị các mặt hàng thú vị cho khách hàng hoạt động trong có thật cũng như một nhân tạo Môi trường.

Thuộc tính của môi trường

Môi trường có nhiều thuộc tính như được thảo luận bên dưới:

  • Rời rạc / liên tục – Nếu có giới hạn các trạng thái riêng biệt, xác định rõ ràng của môi trường thì môi trường là rời rạc, ngược lại là liên tục. Ví dụ, cờ vua là một môi trường rời rạc và lái xe là một môi trường liên tục.

  • Có thể quan sát được / Có thể quan sát được một phần – Nếu có thể xác định được trạng thái hoàn chỉnh của môi trường tại từng thời điểm từ các khái niệm thì có thể quan sát được; nếu không thì nó chỉ có thể quan sát được một phần.

  • Tĩnh / Động – Nếu môi trường không thay đổi trong khi một tác nhân đang hoạt động, thì nó là tĩnh; nếu không thì nó là động.

  • Tác nhân đơn / Nhiều tác nhân – Môi trường có thể chứa các tác nhân khác có thể cùng loại hoặc khác loại với tác nhân đó.

  • Có thể truy cập / Không thể truy cập – Nếu bộ máy cảm quan của tác nhân có thể tiếp cận được trạng thái hoàn chỉnh của môi trường, thì tác nhân đó có thể tiếp cận được với môi trường đó; nếu không thì không thể truy cập được.

  • Xác định / Không xác định – Nếu trạng thái tiếp theo của môi trường được xác định hoàn toàn bởi trạng thái hiện tại và các hành động của tác nhân, thì môi trường là xác định; nếu không nó là không xác định.

  • Sử thi / Không theo tập – Trong môi trường nhiều tập, mỗi tập bao gồm tác nhân nhận thức và sau đó hành động. Chất lượng của các hành động của nó chỉ phụ thuộc vào chính tập phim. Các tập tiếp theo không phụ thuộc vào các hành động trong các tập trước. Môi trường Episodic đơn giản hơn nhiều vì tác nhân không cần phải suy nghĩ trước.

Thuộc tính của môi trường

Xây dựng môi trường với Python

Đối với tác nhân học tập củng cố xây dựng, chúng tôi sẽ sử dụng Phòng tập thể dục OpenAI gói có thể được cài đặt với sự trợ giúp của lệnh sau:

pip install gym

Có nhiều môi trường khác nhau trong phòng tập thể dục OpenAI có thể được sử dụng cho các mục đích khác nhau. Một số ít trong số họ là Cartpole-v0, Hopper-v1MsPacman-v0. Họ yêu cầu các động cơ khác nhau. Tài liệu chi tiết về Phòng tập thể dục OpenAI có thể được tìm thấy trên https://gym.openai.com/docs/#enosystem.

Đoạn mã sau đây cho thấy một ví dụ về mã Python cho môi trường cartpole-v0:

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
   env.render()
   env.step(env.action_space.sample())

Xây dựng môi trường với Python

Bạn có thể xây dựng các môi trường khác theo cách tương tự.

Xây dựng tác nhân học tập với Python

Đối với tác nhân học tập củng cố xây dựng, chúng tôi sẽ sử dụng Phòng tập thể dục OpenAI gói như hình –

import gym
env = gym.make('CartPole-v0')
for _ in range(20):
   observation = env.reset()
   for i in range(100):
      env.render()
      print(observation)
      action = env.action_space.sample()
      observation, reward, done, info = env.step(action)
      if done:
         print("Episode finished after {} timesteps".format(i+1))
         break

Xây dựng tác nhân học tập với Python

Quan sát xem cartpole có thể tự cân bằng không.