Phần 21: Reinforcement Learning – Lập trình AI bằng Python

Phần 21: Reinforcement Learning                        – Lập trình AI bằng Python
Trong bài này, ta cùng nhau tìm hiểu chi tiết về các khái niệm học củng cố trong AI với Python.

1. Kiến thức căn bản về học củng cố

Loại hình học tập này được dùng để củng cố hay tăng cường mạng lưới dựa vào thông tin phê bình. Đó là, 1 mạng lưới đang được đào tạo theo cách học tăng cường, được nhận những phản hồi từ môi trường. Tuy nhiên, phản hồi chỉ mang lại tính đánh giá chứ không mang lại tính hướng dẫn như ở trong trường hợp học có theo dõi. Dựa vào phản hồi này, mạng thực hiện các điều chỉnh trọng số để nhận được thông tin phê bình tốt hơn trong tương lai.
Quá trình học tập này giống nhau như học tập có theo dõi nhưng chúng ta sẽ có thể có ít thông tin. Hình sau cho ta thấy sơ đồ khối của học củng cố

2. Xây dựng blocks: Môi trường và Tác nhân

Môi trường và Tác nhân là những 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 –
a. Tác nhân :
Tác nhân là bất kỳ thứ gì có thể nhận biết môi trường của nó qua các cảm biến và tác động lên môi trường đó qua các tác nhân.
  • 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 cùng với các cảm biến, và các cơ quan khác như tay, chân, miệng đối với những tác nhân.
  • 1 tác nhân robotic 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 cũng như là các động cơ và bộ truyền động khác nhau cho những hiệu ứng.
  • Tác nhân 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ó
Các thuật ngữ về tác nhân :
Các thuật ngữ sau được dùng thường xuyên hơn trong học tập củng cố trong AI
  • Performance Measure of Agent : Đây chính là tiêu chí quyết định mức độ thành công của 1 agent
  • Hành vi của Tác nhân – 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 – Đây chính là đầu vào tri giác của tác nhân tại 1 trường hợp chi tiết.
  • Trình tự nhận thức : Đó là lịch sử của toàn bộ những gì 1 tác nhân đã nhận thức được cho tới nay.
  • Agent Function : Nó là 1 bản đồ từ trình tự giới hạn tới 1 hành động.
b. Môi trường :
Những chương trình hoạt động trong 1 môi trường hoàn toàn nhân tạo chỉ giới hạn ở đầu vào bàn phím, cơ sở dữ liệu, hệ thống file máy tính và đầu ra ký tự trên màn hình.
Ngược lại, những tác nhân phần mềm, ví dụ như rô bốt phần mềm hay rô bốt phần mềm, có trong các miền softbot đa dạng và không giới hạn. Trình mô phỏng có 1 môi trường rất chi tiết và phức tạp. Tác nhân phần mềm cần chọn từ 1 loạt các hành động trong khoảng thời gian thực.
Ví dụ: 1 softbot được thiết kế để quét các sở thích online 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 môi trường thực cũng như là nhân tạo.

3. 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 gói OpenAI Gym có thể được cài đặt như dưới đây :
pip set up fitness center
Có nhiều môi trường khác nhau trong phòng tập thể thao OpenAI có thể được dùng cho những mục đích khác nhau. Những ít trong số đó là Cartpole-v0, Hopper-v1 và MsPacman-v0. Họ yêu cầu các động cơ khác nhau
Đoạn mã dưới đây cho ta thấy 1 ví dụ về mã Python cho môi trường cartpole-v0
import fitness center
env = fitness center.make('CartPole-v0')
env.reset()
for _ in vary(1000):
   env.render()
   env.step(env.action_space.pattern())
Bạn sẽ có thể xây dựng các môi trường khác theo cách giống nhau.

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

Đối với việc xây dựng 1 agent học củng cố, mình sẽ sử dụng thư viện OpenAi Gym như dưới đây :
import fitness center
env = fitness center.make('CartPole-v0')
for _ in vary(20):
   remark = env.reset()
   for i in vary(100):
      env.render()
      print(remark)
      motion = env.action_space.pattern()
      remark, reward, finished, data = env.step(motion)
      if finished:
         print("Episode completed after {} timesteps".format(i+1))
         break

admin

Leave a Reply

Your email address will not be published. Required fields are marked *