Reinforcement Learning: Q-Learning

Chúng tôi vui mừng chia sẻ kiến thức về từ khóa Reinforcement learning la gi để tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích và lựa chọn từ khóa phù hợp, cùng với chiến lược và công cụ hữu ích. Hy vọng thông tin này sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog để cập nhật kiến thức mới nhất.

Introduction

Trong một vài năm trở lại đây, tất cả chúng ta đã có những bước tiến dài cùng với những mô hình Deep Learning. Các mô hình này đã hỗ trợ tất cả chúng ta thực hiện được những công việc tưởng nghe đâu là không thể trước đó. Tuy nhiên, theo ý kiến member mình thấy, dường như ngành này đang dần chạm tới mốc bão hòa. Và thay vào đó, sự lưu ý của giới công nghệ đang dần chuyển sang Reinforcement Learning (RL). Vậy trong nội dung bài viết này tất cả chúng ta hãy cùng đi tìm hiểu về RL và nhất là mô hình Quận-Learning nhé. Let’s go!!!!

Bạn Đang Xem: Reinforcement Learning: Q-Learning

Reinforcement Learning

Trong RL, máy sẽ học cách thực hiện nhiệm vụ bằng phương pháp tương tác với môi trường tự nhiên thông qua các hành động và dựa trên phần thưởng qua từng hành động mà đưa ra lựa chọn tối ưu. Cách xây dựng của thuật toán này khá giống với cách mà con người tất cả chúng ta học, qua thử nghiệm và sai trái.

Sau đây là một sơ đồ mô tả cách hoạt động của RL, nhưng trước lúc đi vào giảng giải kĩ hơn, tất cả chúng ta hãy cùng làm quen với một số thuật ngữ được sử dụng ở đây:

  • Environment (Môi trường thiên nhiên): là không gian mà máy tương tác
  • Agent (Máy): là chủ thể tương tác với môi trường tự nhiên qua hành động
  • Policy (Chiến thuật): là chiến thuật mà máy sử dụng để mang ra hành động
  • State (Trạng thái): mô tả trạng thái ngày nay của máy
  • Reward (Phần thưởng): phần thưởng từ môi trường tự nhiên tương ứng với hành động được thực hiện
  • kích hoạt (Hành động): là những gì máy có thể thực hiện

Tất cả chúng ta sẽ khởi nguồn từ state S(t), tại trạng thái này, agent sẽ dựa trên policy đã được thiết kế sẵn để mang ra một action A(t) trong environment. Environment sau lúc quan sát hành động sẽ chuyển đổi sang trạng thái tiếp theo S(t+1) so với agent và song song dựa theo hành động mà agent đã thực hiện, environment sẽ đưa ra phần thưởng R(t) tương ứng. Agent sẽ lặp đi tái diễn qui trình này cho đến lúc tìm được chuỗi những hành động tối đa hóa phần thưởng được trao.

Giả sử rằng tất cả chúng ta có một trò chơi đơn giản minh họa bởi ảnh phía trên với mục tiêu là lấy được viên xoàn, agent sẽ khởi nguồn từ ô s9, vậy một giải pháp đơn giản tất cả chúng ta có thể thấy là agent sẽ vận chuyển tuần tự qua các ô s5-s1-s2-s3 để tới được viên xoàn với quãng đường là ngắn nhất. Tuy nhiên, nếu agent được đặt tại vị trí s1, khi đó agent sẽ sở hữu được 2 phía đi với những giá trị như nhau. Vậy tất cả chúng ta làm thế nào để đảm bảo được agent sẽ thực hiện đúng những hành động tối ưu mà tất cả chúng ta muốn? Đó là tạo một memory (bộ nhớ) cho agent, sử dụng Bellman Equation. Sau đây là công thức:

V(s)=max⁡a(R(s,a)+γV(s′))V(s) = max_{substack{a}} (R(s, a) + γV(s’)) V(s)=a​max​(R(s,a)+γV(s′))

Trong số đó,

  • s: Một state cụ thể
  • a: Một action do agent thực hiện
  • *s’: Trạng thái trước đó *
  • γgammaγ: Discount factor (tất cả chúng ta sẽ tìm hiểu phía bên dưới)
  • R(s, a): Hàm số phần thưởng với biến là trạng thái s và hành động a và trả lại kết quả là giá trị của phần thưởng
  • V(s): giá trị tại một trạng thái cụ thể

Xem Thêm : Portfolio design là gì? Gợi ý 10 mẹo thiết kế portfolio hoàn hảo nhất

Vậy sau lúc vận dụng Bellman Equation, ta có mức giá trị tại những state thay đổi như hình ở đây. Rõ ràng và cụ thể các bước tính toán xin xem tại đây.

Hàm max⁡maxmax giúp agent có thể tìm được chuỗi hành động tối ưu trong đó discount factor γgammaγ giúp thông tin cho agent còn cách đích đến bao xa. Tuy nhiên, trong nhiều trường hợp phải quyết định giữa nhiều lựa chọn, Bellman Equation vẫn có một tỉ lệ nhỏ khiến agent bị rối loạn. Vấn đề ở đây là quá trình quyết định vừa tình cờ vừa trong tầm kiểm soát. Trong tầm kiểm soát vì agent vẫn tuân thủ những chiến lược tất cả chúng ta đã đưa ra tuy nhiên lại tình cờ vì tất cả chúng ta không biết khi nào thì agent sẽ rối loạn. Thế nhưng tất cả chúng ta có thể đưa concept này vào trong Bellman Equation với một số chỉnh sửa nhỏ:

V(s)=max⁡a(R(s,a)+γ∑s′P.(s,a,s′)V(s′))V(s) = max_{substack{a}} (R(s, a) + gamma sum_{substack{s’}} P.(s, a, s’) V(s’)) V(s)=a​max​(R(s,a)+γs′​∑​P.(s,a,s′)V(s′))

  • P.(s, a, s’): xác suất vận chuyển từ trạng thái s sang s’ với hành động a

Quá trình này được nghe biết với cái tên Markov’s Decision Process (MDP).

Phía bên trên là sơ lược những tri thức tất cả chúng ta cần nắm được trước lúc chuyển sang phần tiếp theo: Quận-Learning

Quận-Learning

Mô hình Quận-Learning cũng gần giống với quá trình đã đưuọc đề cập ở trên. Tuy nhiên, thay vì dựa trên giá trị của đa số state V(s) mà quyết định về hành động thì Quận-Learning tập trung hơn vào việc định hình chất lượng sản phẩm của một hành động Quận(s, a). Vậy tất cả chúng ta làm như nào để định hình được những hành động này? Từ phía trên tất cả chúng ta có công thức:

V(s)=max⁡a(R(s,a)+γ∑s′P.(s,a,s′)V(s′))V(s) = max_{substack{a}} (R(s, a) + gamma sum_{substack{s’}} P.(s, a, s’) V(s’))V(s)=maxa​​(R(s,a)+γ∑s′​​P.(s,a,s′)V(s′))

Trong công thức này tất cả chúng ta đang quan tâm đến tất cả những state và tất cả những action khả thi. Vậy khi bỏ hàm max⁡maxmax, tất cả chúng ta sẽ tiến hành công thức R(s,a)+γ∑s′P.(s,a,s′)V(s′)R(s, a) + gamma sum_{substack{s’}} P.(s, a, s’) V(s’)R(s,a)+γ∑s′​​P.(s,a,s′)V(s′) và hãy nghĩ nó như thể giá trị của một state được tạo ra cho chỉ một hành động khả thi. Tất cả chúng ta sẽ lấy phương trình này làm phương trình định hình hành động Quận(s, a) như sau:

Xem Thêm : Định mức nguyên vật liệu (Bill of Materials – BOM) là gì?

Quận(s,a)=R(s,a)+γ∑s′P.(s,a,s′)V(s′)Quận(s, a) = R(s, a) + gamma sum_{substack{s’}} P.(s, a, s’) V(s’) Quận(s,a)=R(s,a)+γs′​∑​P.(s,a,s′)V(s′)

Để giảm thiểu các công việc tính toán song song để tạo nên sự đồng nhất, tất cả chúng ta có thể tiến hành cải tiến công thức thêm một bước nữa:

Quận(s,a)=R(s,a)+γ∑s′P.(s,a,s′)max⁡a′Quận(s′,a′)Quận(s, a) = R(s, a) + gamma sum_{substack{s’}} P.(s, a, s’) max_{substack{a’}} Quận(s’, a’) Quận(s,a)=R(s,a)+γs′​∑​P.(s,a,s′)a′​max​Quận(s′,a′)

Sỡ dĩ tất cả chúng ta thay V(s) bằng max⁡Quận(s,a)max Quận(s, a)maxQ(s,a) bởi ở đây, tất cả chúng ta coi giá trị của một state được tính bằng giá trị lớn số 1 có thể của Quận(s, a). Giá trị được tính toán từ công thức này được gọi là Quận-values và agent sẽ học cách tự tính toán Quận-values và đưa ra hành động dựa trên các giá trị này. Ở trên tất cả chúng ta đã hiểu agent đưa ra lựa chọn dựa trên Quận-values ra sao, vậy giờ hãy cùng đến với một phần cuối đó là phương pháp để agent có thể tự tính toán Quận-values.

Temporal Difference (TD)

Tất cả chúng ta đã biết môi trường tự nhiên không phải ổn định mà sẽ thay đổi theo thời kì, vậy phài làm như nào để nắm bắt được sự thay đổi của môi trường tự nhiên? Đơn giản thôi, đó đây là tính lại Quận-values mới sử dụng công thức vừa xây dựng ở trên sau đó trừ đi Quận-values đã biết.

TD(a,s)=R(s,a)+γ∑s′P.(s,a,s′)max⁡a′Quận(s′,a′)⏟new Quận-value−Quận(s,a)TD(a, s) = underbrace{R(s, a) + gamma sum_{substack{s’}} P.(s, a, s’) max_{substack{a’}} Quận(s’, a’)}_{text{new Quận-value}} -Quận(s, a) TD(a,s)=new Quận-valueR(s,a)+γs′​∑​P.(s,a,s′)a′​max​Quận(s′,a′)​​−Quận(s,a)

Phương trình trên cho thấy một sự thay đổi tạm thời của môi trường tự nhiên dựa theo Quận-values. Vậy việc tất cả chúng ta cần làm là update các Quận-values mới sử dụng công thức:

Qt(s,a)=Qt−1(s,a)+αTDt(s,a)Q_{substack{t}}(s, a) = Q_{substack{t-1}}(s, a) + alpha TD_{substack{t}}(s, a) Qt​​(s,a)=Qt−1​​(s,a)+αTDt​​(s,a)

Trong số đó,

  • αalphaα: là tốc độ học (learning rate) tượng trưng cho việc agent thích ứng nhanh chóng ra sao với sự thay đổi của môi trường tự nhiên
  • Qt(s,a)Q_{substack{t}}(s, a)Qt​​(s,a): là Quận-value ngày nay
  • Qt−1(s,a)Q_{substack{t-1}}(s, a)Qt−1​​(s,a): là Quận-value trước đó

Và đến đây là đã đầy đủ tri thức cần hiểu rõ để tất cả chúng ta có thể xây dựng một mô hình Quận-Learning cho riêng mình rồi. Cảm ơn đã đọc và hứa hẹn tái ngộ các bạn ở các nội dung bài viết sau!

You May Also Like

About the Author: v1000