Logo Zephyrnet

Khóa học thực hành củng cố học tập, Phần 1

Ngày:

By Pau Labarta Bajo, nhà toán học và nhà khoa học dữ liệu.

Phần đầu tiên này đề cập đến khái niệm và lý thuyết tối thiểu mà bạn cần để bắt đầu hành trình này từ các nguyên tắc cơ bản đến học tăng cường tiên tiến (RL), từng bước một, với các ví dụ và hướng dẫn mã hóa bằng Python. Ở mỗi chương tiếp theo, chúng ta sẽ giải một bài toán khác nhau với độ khó tăng dần.

Cuối cùng, các vấn đề RL phức tạp nhất liên quan đến sự kết hợp của các thuật toán học tăng cường, tối ưu hóa và Học sâu. Bạn không cần phải biết học sâu (DL) để theo dõi khóa học này. Tôi sẽ cung cấp cho bạn đủ bối cảnh để bạn làm quen với triết lý DL và hiểu cách nó trở thành một thành phần quan trọng trong học tập tăng cường hiện đại.

Trong bài học đầu tiên này, chúng ta sẽ đề cập đến các nguyên tắc cơ bản của học tăng cường bằng các ví dụ, 0 môn toán và một chút về Python.

1. Vấn đề Học tăng cường là gì?

Học tăng cường (RL) là một lĩnh vực của Học máy (ML) liên quan đến các vấn đề học tập trong đó

Trí thông minh đại lý cần phải học, thông qua thử và sai, cách thực hiện hành động bên trong và môi trường để tối đa hóa một phần thưởng tích lũy.

Học tăng cường là loại học máy gần nhất với cách học của con người và động vật.

Đại lý là gì? Và một môi trường? Chính xác thì những hành động này mà tác nhân có thể thực hiện là gì? Và phần thưởng? Tại sao bạn nói phần thưởng tích lũy?

Nếu bạn đang tự hỏi mình những câu hỏi này thì bạn đang đi đúng hướng.

Định nghĩa tôi vừa đưa ra giới thiệu một loạt thuật ngữ mà có thể bạn chưa quen. Trên thực tế, chúng có mục đích mơ hồ. Tính tổng quát này là điều khiến RL có thể áp dụng được cho nhiều vấn đề học tập có vẻ khác nhau. Đây là triết lý đằng sau mô hình toán học, vốn là nền tảng của RL.

Chúng ta hãy xem xét một số vấn đề học tập và xem cách họ sử dụng ống kính RL.

Ví dụ 1: Học cách đi bộ

Là cha của một đứa bé mới tập đi, tôi không thể ngừng tự hỏi: làm sao anh ấy học được điều đó?

Kai và Pau.

Với tư cách là một kỹ sư Học máy, tôi mơ ước về việc hiểu và tái tạo đường cong học tập đáng kinh ngạc đó bằng phần mềm và phần cứng.

Hãy thử mô hình hóa vấn đề học tập này bằng cách sử dụng các thành phần RL:

  • Sản phẩm đại lý là con trai tôi, Kai. Và anh ấy muốn đứng dậy và bước đi. Cơ bắp của anh ấy đủ khỏe vào thời điểm này để có cơ hội. Vấn đề học tập đối với cháu là: làm thế nào để điều chỉnh tuần tự các tư thế của cơ thể, bao gồm nhiều góc độ trên chân, eo, lưng và tay để giữ thăng bằng cho cơ thể và không bị ngã.

Sai xin chào Kai!

  • Sản phẩm môi trường là thế giới vật chất xung quanh anh ta, bao gồm cả các định luật vật lý. Điều quan trọng nhất trong số đó là trọng lực. Nếu không có trọng lực, vấn đề học cách đi sẽ thay đổi đáng kể và thậm chí trở nên không phù hợp: tại sao bạn lại muốn đi bộ trong một thế giới nơi bạn có thể bay một cách đơn giản? Một định luật quan trọng khác trong vấn đề học tập này là định luật thứ ba của Newton, nói một cách dễ hiểu là nếu bạn ngã trên sàn, sàn sẽ đập bạn trở lại với cùng một lực. Ôi!
  • Sản phẩm hành động đều là những cập nhật về các góc cơ thể này quyết định vị trí và tốc độ cơ thể của anh ấy khi anh ấy bắt đầu đuổi theo mọi thứ xung quanh. Chắc chắn anh ta có thể làm những việc khác cùng lúc, chẳng hạn như bắt chước âm thanh của một con bò, nhưng những điều này có lẽ không giúp anh ta đạt được mục tiêu của mình. Chúng tôi bỏ qua những hành động này trong khuôn khổ của chúng tôi. Việc thêm các hành động không cần thiết không làm thay đổi bước lập mô hình nhưng nó khiến vấn đề khó giải quyết hơn về sau. Một nhận xét quan trọng (và hiển nhiên) là Kai không cần học vật lý Newton để đứng dậy và đi lại. Anh ta sẽ học thông qua việc quan sát nhà nước của môi trường, thực hiện hành động và thu thập phản hồi từ môi trường này. Anh ta không cần phải học một mô hình môi trường để đạt được mục tiêu của mình.
  • Sản phẩm khen thưởng anh ta nhận được là một kích thích đến từ não khiến anh ta hạnh phúc hoặc khiến anh ta cảm thấy đau đớn. Có phần thưởng tiêu cực mà anh ta trải qua khi ngã xuống sàn, đó là nỗi đau thể xác, có thể kéo theo đó là sự thất vọng. Mặt khác, có một số điều góp phần tích cực vào hạnh phúc của anh ấy, như niềm vui khi đến nơi nhanh hơn hoặc sự kích thích bên ngoài đến từ vợ tôi Jagoda và tôi khi chúng tôi nói “làm tốt lắm!” hoặc “Hoan hô!” đối với mỗi nỗ lực và sự cải thiện nhỏ mà anh ấy thể hiện.

Thêm một chút về phần thưởng

Phần thưởng là tín hiệu cho Kai biết những gì cậu ấy đang làm là tốt hay xấu cho việc học của mình. Khi anh ấy thực hiện những hành động mới và trải qua nỗi đau hoặc hạnh phúc, anh ấy bắt đầu điều chỉnh hành vi của mình để thu thập nhiều phản hồi tích cực hơn và ít phản hồi tiêu cực hơn. Nói cách khác, anh ta học

Một số hành động ban đầu có vẻ rất hấp dẫn đối với bé, chẳng hạn như cố gắng chạy để tăng hứng thú. Tuy nhiên, anh ấy sớm biết rằng trong một số (hoặc hầu hết) trường hợp, anh ấy sẽ ngã sấp mặt và trải qua một thời gian dài đau đớn và nước mắt. Đây là lý do tại sao các tác nhân thông minh tối đa hóa phần thưởng tích lũy chứ không phải phần thưởng cận biên. Họ trao đổi những phần thưởng ngắn hạn với những phần thưởng dài hạn. Một hành động có thể mang lại phần thưởng ngay lập tức nhưng lại khiến cơ thể tôi rơi vào tình thế sắp ngã không phải là hành động tối ưu.

Niềm hạnh phúc lớn lao kèm theo nỗi đau lớn hơn không phải là công thức cho hạnh phúc lâu dài. Đây là điều mà trẻ sơ sinh thường học dễ dàng hơn người lớn chúng ta.

Tần suất và cường độ của phần thưởng là chìa khóa để giúp nhân viên học hỏi. Phản hồi rất không thường xuyên (thưa thớt) có nghĩa là học tập khó hơn. Hãy thử nghĩ xem, nếu bạn không biết việc mình làm là tốt hay xấu thì làm sao bạn có thể học được? Đây là một trong những lý do chính khiến một số bài toán RL khó hơn những bài khác.

Định hình phần thưởng là một quyết định khó khăn về mô hình đối với nhiều vấn đề RL trong thế giới thực.

Ví dụ 2: Học chơi Monopoly như PRO

Khi còn bé, tôi dành nhiều thời gian chơi Monopoly với bạn bè và người thân. Chà, ai chưa? Đây là một trò chơi thú vị kết hợp giữa may mắn (bạn tung xúc xắc) và chiến lược.

Monopoly là một trò chơi cờ bất động sản dành cho từ hai đến tám người chơi. Bạn tung hai viên xúc xắc để di chuyển quanh bàn cờ, mua và giao dịch tài sản cũng như phát triển chúng bằng nhà ở và khách sạn. Bạn thu tiền thuê từ đối thủ của mình với mục tiêu là đẩy họ vào tình trạng phá sản.

Photo by Cây phỉ từ Pexels.

Nếu bạn say mê trò chơi này đến mức muốn tìm ra những cách thông minh để chơi nó, bạn có thể sử dụng một số phương pháp học tăng cường.

4 thành phần RL sẽ là gì?

  • Sản phẩm đại lý chính bạn là người muốn giành chiến thắng ở Monopoly.
  • trên màn hình hành động là những cái bạn nhìn thấy trên ảnh chụp màn hình bên dưới:

Không gian hành động trong Monopoly. Các khoản tín dụng để aleph aseffa.

  • Sản phẩm môi trường là trạng thái hiện tại của trò chơi, bao gồm danh sách tài sản, vị trí và số tiền mặt mà mỗi người chơi có. Ngoài ra còn có chiến lược của đối thủ, đây là điều bạn không thể đoán trước và nằm ngoài tầm kiểm soát của bạn.
  • khen thưởng là 0, ngoại trừ nước đi cuối cùng của bạn, trong đó +1 nếu bạn thắng trò chơi và -1 nếu bạn phá sản. Công thức khen thưởng này có lý nhưng lại khiến vấn đề trở nên khó giải quyết. Như chúng tôi đã nói ở trên, phần thưởng thưa thớt hơn có nghĩa là giải pháp khó hơn. Bởi vì điều này, có những cách khác để làm mẫu cho phần thưởng, khiến chúng ồn ào hơn nhưng bớt thưa thớt hơn.

Khi bạn chơi với người khác trong Monopoly, bạn không biết người đó sẽ chơi như thế nào. Những gì bạn có thể làm là chơi với chính mình. Khi bạn học cách chơi tốt hơn, đối thủ của bạn cũng vậy (vì đó là bạn), buộc bạn phải nâng cấp trò chơi của mình để tiếp tục giành chiến thắng. Bạn thấy vòng phản hồi tích cực.

Thủ thuật này được gọi là tự chơi. Nó cho chúng ta một con đường để khởi động trí thông minh mà không cần sử dụng lời khuyên bên ngoài của một người chơi chuyên nghiệp. Tự chơi là sự khác biệt chính giữa AlphaGoAlphaGo Zero, hai mô hình do DeepMind phát triển chơi trò chơi cờ vây tốt hơn bất kỳ con người nào.

Ví dụ 3: Học lái xe

Trong vài thập kỷ nữa (có thể ít hơn), máy móc sẽ lái ô tô, xe tải và xe buýt của chúng ta.

Photo by Ruiyang Zhang từ Pexels.

Nhưng bằng cách nào?

Học lái xe ô tô không hề dễ dàng. Mục tiêu của người lái xe rất rõ ràng: đi từ điểm A đến điểm B một cách thoải mái cho mình và bất kỳ hành khách nào trên xe.

Có nhiều khía cạnh bên ngoài đối với người lái xe khiến việc lái xe trở nên khó khăn, bao gồm:

  • hành vi của người lái xe khác
  • biển báo giao thông
  • hành vi của người đi bộ
  • điều kiện mặt đường
  • điều kiện thời tiết
  • …thậm chí tối ưu hóa nhiên liệu (ai muốn chi thêm tiền cho việc này?)

Chúng ta sẽ tiếp cận vấn đề này như thế nào với học tăng cường?

  • Sản phẩm đại lý là người lái xe muốn đi từ A đến B một cách thoải mái.
  • Sản phẩm nhà nước Môi trường mà người lái xe quan sát có rất nhiều thứ, bao gồm vị trí, tốc độ và gia tốc của ô tô, tất cả các ô tô khác, hành khách, điều kiện đường xá hoặc biển báo giao thông. Bạn có thể tưởng tượng rằng việc chuyển đổi một lượng lớn dữ liệu đầu vào thành một hành động thích hợp là một thách thức.
  • Sản phẩm hành động về cơ bản có ba: hướng lái, cường độ ga và cường độ phanh.
  • Sản phẩm khen thưởng sau mỗi hành động là tổng trọng số của các khía cạnh khác nhau mà bạn cần cân bằng khi lái xe. Việc giảm khoảng cách đến điểm B mang lại phần thưởng tích cực, trong khi tăng phần thưởng âm. Để đảm bảo không xảy ra va chạm, việc đến quá gần (hoặc thậm chí va chạm) với một ô tô khác hoặc thậm chí là người đi bộ sẽ mang lại phần thưởng tiêu cực rất lớn. Ngoài ra, để khuyến khích việc lái xe suôn sẻ, những thay đổi đột ngột về tốc độ hoặc hướng sẽ góp phần tạo ra phần thưởng tiêu cực.

Sau 3 ví dụ này, tôi hy vọng cách trình bày sau đây về các phần tử RL và cách chúng phối hợp với nhau sẽ có ý nghĩa:

RL một cách ngắn gọn. Các khoản tín dụng để Wikipedia.

Bây giờ chúng ta đã hiểu cách hình thành một bài toán RL, chúng ta cần giải nó.

Nhưng bằng cách nào?

2. Chính sách và chức năng giá trị

Điều Luật

Tác nhân chọn hành động mà cô ấy cho là tốt nhất dựa trên tình trạng hiện tại của môi trường. Đây là chiến lược của đại lý, thường được gọi là chiến lược của đại lý. điều luật.

A điều luật là một ánh xạ đã học từ trạng thái đến hành động.

Giải quyết vấn đề học tăng cường có nghĩa là tìm ra chính sách tốt nhất có thể.

Chính sách được xác định khi họ ánh xạ từng trạng thái tới một hành động,

or ngẫu nhiên khi họ ánh xạ từng trạng thái tới một phân bố xác suất trên tất cả các hành động có thể xảy ra.

Stochastic là từ bạn thường đọc và nghe thấy trong Machine Learning, và về cơ bản nó có nghĩa là không chắc chắn or ngẫu nhiên. Trong những môi trường có độ không chắc chắn cao, như Monopoly nơi bạn đang tung xúc xắc, các chính sách ngẫu nhiên sẽ tốt hơn các chính sách xác định.

Có tồn tại một số phương pháp để thực sự tính toán chính sách tối ưu này. Chúng được gọi là phương pháp tối ưu hóa chính sách.

Hàm giá trị

Đôi khi, tùy theo vấn đề, thay vì trực tiếp cố gắng tìm ra chính sách tối ưu, người ta có thể thử tìm hàm giá trị liên quan đến chính sách tối ưu đó.

Nhưng, hàm giá trị là gì? Và trước đó, giá trị có ý nghĩa gì trong bối cảnh này?

Sản phẩm giá trị là một số liên kết với mỗi trạng thái s của môi trường ước tính mức độ tốt của tác nhân ở trạng thái s.

Đó là phần thưởng tích lũy mà đại lý thu thập được khi bắt đầu ở trạng thái s và lựa chọn hành động theo chính sách π.

Hàm giá trị là ánh xạ đã học từ trạng thái sang giá trị.

Hàm giá trị của một chính sách thường được ký hiệu là

Các hàm giá trị cũng có thể ánh xạ các cặp (hành động, trạng thái) thành các giá trị. Trong trường hợp này, chúng được gọi giá trị q chức năng.

Hàm giá trị tối ưu (hoặc hàm giá trị q) thỏa mãn một phương trình toán học, được gọi là Phương trình Bellman.

Phương trình này rất hữu ích vì nó có thể được chuyển đổi thành một thủ tục lặp để tìm hàm giá trị tối ưu.

Nhưng tại sao các hàm giá trị lại hữu ích?
Bởi vì bạn có thể suy ra chính sách tối ưu từ hàm giá trị q tối ưu.

Làm thế nào?
Chính sách tối ưu là chính sách mà tại mỗi bang s tác nhân chọn hành động a tối đa hóa hàm giá trị q.

Vì vậy, bạn có thể chuyển từ chính sách tối ưu sang hàm q tối ưu và ngược lại.

Có một số thuật toán RL tập trung vào việc tìm các hàm giá trị q tối ưu. Chúng được gọi là Phương pháp Q-learning.

Động vật học của các thuật toán học tăng cường

Có rất nhiều thuật toán RL khác nhau. Một số cố gắng trực tiếp tìm ra các chính sách tối ưu và các hàm giá trị q khác và cả hai chính sách khác cùng một lúc.

Bản chất động vật của thuật toán RL rất đa dạng và hơi đáng sợ.

Không có một kích cỡ phù hợp với tất cả khi nói đến thuật toán RL. Bạn cần thử nghiệm một vài trong số chúng mỗi khi bạn giải quyết vấn đề RL và xem điều gì phù hợp với trường hợp của bạn.

Khi theo dõi khóa học này, bạn sẽ triển khai một số thuật toán trong số này và hiểu rõ hơn về những gì hoạt động tốt nhất trong từng tình huống.

3. Tạo dữ liệu huấn luyện như thế nào?

Các tác nhân học tăng cường RẤT đói dữ liệu.

Ảnh của Karsten Winegeart

Để giải quyết vấn đề RL, bạn cần rất nhiều dữ liệu.

Một cách để vượt qua trở ngại này là sử dụng môi trường mô phỏng. Viết công cụ mô phỏng môi trường thường đòi hỏi nhiều công sức hơn là giải quyết vấn đề RL. Ngoài ra, những thay đổi giữa việc triển khai công cụ khác nhau có thể khiến việc so sánh giữa các thuật toán trở nên vô nghĩa.

Đây là lý do tại sao những người ở OpenAI đã phát hành Bộ dụng cụ tập gym trở lại năm 2016. Phòng tập thể dục của OpenAIs cung cấp API tiêu chuẩn hóa cho một tập hợp môi trường cho các vấn đề khác nhau, bao gồm

  • trò chơi Atari cổ điển,
  • cánh tay robot
  • hoặc hạ cánh trên Mặt trăng (tốt, một cách đơn giản hóa)

Cũng có những môi trường độc quyền, như MuJoCo (được DeepMind mua gần đây). MuJoCo là môi trường nơi bạn có thể giải quyết các nhiệm vụ điều khiển liên tục trong không gian 3D, chẳng hạn như học cách đi bộ.

OpenAI Gym cũng xác định API tiêu chuẩn để xây dựng môi trường, cho phép các bên thứ ba (như bạn) tạo và cung cấp môi trường của bạn cho người khác.

Nếu bạn quan tâm đến ô tô tự lái thì bạn nên xem CARLA, trình mô phỏng lái xe đô thị mở phổ biến nhất.

4. Mã soạn sẵn Python

Bạn có thể nghĩ:

Những gì chúng tôi trình bày cho đến nay thật thú vị, nhưng làm cách nào để tôi thực sự viết tất cả những điều này bằng Python?

Và tôi hoàn toàn đồng ý với bạn

Hãy xem tất cả điều này trông như thế nào trong Python.

Bạn có tìm thấy điều gì đó không rõ ràng trong mã này không?

Còn dòng 23 thì sao? Epsilon này là gì?

Không hoảng loạn. Tôi chưa từng đề cập đến điều này trước đây, nhưng tôi sẽ không để bạn lại mà không có lời giải thích.

Epsilon là thông số quan trọng để đảm bảo đặc vụ của chúng tôi khám phá đủ môi trường trước khi đưa ra kết luận rõ ràng về hành động tốt nhất nên thực hiện ở mỗi trạng thái.

Nó có giá trị từ 0 đến 1 và thể hiện xác suất tác nhân chọn một hành động ngẫu nhiên thay vì hành động mà cô ấy cho là tốt nhất.

Sự cân bằng giữa việc khám phá các chiến lược mới và gắn bó với những chiến lược đã biết được gọi là vấn đề thăm dò-khai thác. Đây là thành phần quan trọng trong các vấn đề RL và là yếu tố giúp phân biệt các vấn đề RL với học máy có giám sát.

Về mặt kỹ thuật, chúng tôi muốn tác nhân tìm ra mức tối ưu toàn cục chứ không phải mức tối ưu cục bộ.

Bạn nên bắt đầu quá trình tập luyện với giá trị lớn (ví dụ: 50%) và giảm dần sau mỗi tập. Bằng cách này, tác nhân sẽ khám phá rất nhiều ngay từ đầu và ít khám phá hơn khi hoàn thiện chiến lược của mình.

5. Tóm tắt và bài tập về nhà

Những điểm chính của phần 1 này là:

  • Mọi vấn đề RL đều có một tác nhân (hoặc các tác nhân), môi trường, hành động, trạng thái và phần thưởng.
  • Tác nhân tuần tự thực hiện các hành động với mục tiêu tối đa hóa tổng phần thưởng. Để làm được điều đó cần phải tìm ra chính sách tối ưu.
  • Các hàm giá trị rất hữu ích vì chúng cung cấp cho chúng ta một con đường thay thế để tìm ra chính sách tối ưu.
  • Trong thực tế, bạn cần thử các thuật toán RL khác nhau cho vấn đề của mình và xem thuật toán nào hoạt động tốt nhất.
  • Đại lý RL cần rất nhiều dữ liệu đào tạo để học hỏi. Phòng tập thể dục OpenAI là một công cụ tuyệt vời để tái sử dụng và tạo môi trường của bạn.
  • Việc thăm dò và khai thác là cần thiết khi đào tạo tác nhân RL để đảm bảo tác nhân không bị mắc kẹt trong các mức tối ưu cục bộ.

Một khóa học không có một chút bài tập về nhà sẽ không phải là một khóa học.

Tôi muốn bạn chọn một vấn đề trong thế giới thực mà bạn quan tâm và bạn có thể lập mô hình cũng như giải quyết bằng cách học tăng cường.

Xác định (các) tác nhân, hành động, trạng thái và phần thưởng là gì.

Vui lòng gửi email cho tôi tại [email được bảo vệ] với vấn đề của bạn và tôi có thể cung cấp cho bạn thông tin phản hồi.

Nguyên. Đăng lại với sự cho phép.

Nguồn: https://www.kdnuggets.com/2021/12/hands-on-reinforcement-learning-course-part-1.html

tại chỗ_img

Tin tức mới nhất

tại chỗ_img