Nhảy tới nội dung

Học Tăng Cường

Giới thiệu về Học Tăng Cường

Học tăng cường là một loại học máy mà trong đó một tác nhân được huấn luyện để tương tác với một môi trường và học cách thực hiện các hành động tốt nhất trong các tình huống khác nhau. Tác nhân nhận phản hồi dưới dạng phần thưởng hoặc hình phạt dựa trên các hành động của nó, và mục tiêu của nó là tối đa hóa tổng phần thưởng mà nó nhận được theo thời gian. Học tăng cường được lấy cảm hứng từ cách mà con người và động vật học từ việc thử nghiệm và sai lầm, và nó đã được áp dụng thành công cho một loạt các vấn đề, bao gồm game, robotics và phân bổ tài nguyên.

Bối cảnh

Học tăng cường dựa trên ý tưởng về một tác nhân tương tác với một môi trường để học cách thực hiện các hành động tốt nhất trong các tình huống khác nhau. Tác nhân nhận phản hồi dưới dạng phần thưởng hoặc hình phạt dựa trên các hành động của nó, và mục tiêu của nó là tối đa hóa tổng phần thưởng mà nó nhận được theo thời gian. Tác nhân học hỏi bằng cách khám phá môi trường và thử nghiệm các hành động khác nhau, và nó sử dụng phản hồi mà nó nhận được để cập nhật chính sách hoặc chiến lược của mình để lựa chọn hành động.

Các Thành Phần của Học Tăng Cường

Tác nhân: Thực thể tương tác với môi trường và học cách thực hiện các hành động để tối đa hóa phần thưởng của nó.

Môi trường: Môi trường mà tác nhân tương tác và nhận phản hồi.

Trạng thái: Tình huống hoặc bối cảnh hiện tại mà tác nhân đang gặp phải.

Hành động: Một quyết định có thể thay đổi mà tác nhân có thể thực hiện trong một trạng thái nhất định.

Phần thưởng: Phần thưởng mà tác nhân nhận được từ môi trường sau khi thực hiện một hành động trong một trạng thái nhất định.

Chính sách: Một ánh xạ từ các trạng thái đến các hành động mà tác nhân sử dụng để đưa ra quyết định.

Hàm Giá Trị: Một hàm ước lượng phần thưởng tổng kỳ vọng mà tác nhân sẽ nhận được từ một trạng thái nhất định.

Mô hình: Một đại diện của môi trường mà tác nhân sử dụng để dự đoán trạng thái và phần thưởng tiếp theo dựa trên trạng thái và hành động hiện tại của nó.

Vấn đề giữa Khám phá và Khai thác trong Học Tăng Cường

Khám Phá là quá trình thử nghiệm các hành động mới để thu thập thông tin về môi trường. Nó cho phép tác nhân khám phá các trạng thái mới và học cách hành xử trong những trạng thái đó. Tuy nhiên, việc khám phá quá mức có thể ngăn cản tác nhân khai thác kiến thức hiện tại của nó về môi trường.

Khai Thác là quá trình thực hiện các hành động mà tác nhân tin rằng sẽ tối đa hóa phần thưởng tích lũy kỳ vọng của nó dựa trên kiến thức hiện tại về môi trường. Nó cho phép tác nhân tối đa hóa phần thưởng của mình trong ngắn hạn. Tuy nhiên, việc khai thác quá mức có thể ngăn cản tác nhân khám phá các chính sách tốt hơn.

Để tìm chính sách tối ưu, tác nhân phải cân bằng giữa khám phá và khai thác. Nó phải khám phá đủ để phát hiện các trạng thái và hành động mới, nhưng cũng phải khai thác đủ để thực hiện các hành động tối đa hóa phần thưởng tích lũy kỳ vọng của mình.

Giải Pháp cho Sự Cân Bằng:

  • Chính Sách Epsilon-Greedy: Tác nhân chọn một hành động ngẫu nhiên với xác suất epsilon và hành động tốt nhất với xác suất 1-epsilon.

  • Chính Sách Softmax: Tác nhân chọn hành động một cách xác suất dựa trên giá trị ước lượng của chúng.

  • Upper Confidence Bound (UCB): Tác nhân chọn hành động dựa trên giá trị ước lượng của chúng và một phép đo độ không chắc chắn.

Các Thuật Toán Học Tăng Cường

Phương Pháp Giải Pháp Bảng

1. Quy Trình Quyết Định Markov (MDP)

Trạng Thái Markov: Một trạng thái trong đó trạng thái tương lai chỉ phụ thuộc vào trạng thái và hành động hiện tại.

Ví dụ:

MưaNhiều MâyNắng
Mưa0.30.40.3
Nhiều Mây0.20.60.2
Nắng0.10.20.7

MDP MDP cung cấp một khuôn khổ toán học để mô hình hóa các vấn đề ra quyết định trong đó một tác nhân tương tác với một môi trường theo thời gian.

Bao gồm

  • Các trạng thái khả thi của môi trường
  • Các hành động khả thi mà tác nhân có thể thực hiện
  • Hàm phần thưởng
  • Các xác suất chuyển tiếp

Demo cho MDP: MDP Demo

Với các tham số dưới đây:

Demo

Trên toàn bộ MDP, tác nhân có thể thực hiện các hành động để di chuyển từ trạng thái này sang trạng thái khác. Tác nhân nhận phần thưởng cho mỗi hành động mà nó thực hiện, và mục tiêu của nó là tối đa hóa tổng phần thưởng mà nó nhận được theo thời gian:

alt text

Hệ Số Chiết Khấu: Một hệ số chiết khấu được sử dụng để chiết khấu phần thưởng tương lai so với phần thưởng ngay lập tức. Nó được sử dụng để đảm bảo rằng tác nhân coi trọng phần thưởng ngay lập tức hơn phần thưởng tương lai. Nó được ký hiệu bằng ký hiệu gamma (γ) và là một giá trị giữa 0 và 1.

Ví dụ:

  • Nếu hệ số chiết khấu là 0, tác nhân chỉ quan tâm đến các phần thưởng ngay lập tức.
  • Nếu hệ số chiết khấu là 1, tác nhân coi trọng tất cả các phần thưởng như nhau.
  • Nếu hệ số chiết khấu nằm giữa 0 và 1, tác nhân coi trọng phần thưởng ngay lập tức hơn phần thưởng tương lai.

Phương Trình Bellman

Chúng chia sẻ cùng một hàm giá trị trạng thái, được gọi là hàm giá trị trạng thái tối ưu, được ký hiệu là vv_*, và được định nghĩa như sau:

v(s)=maxπvπ(s)   sSv_*(s) = \max_{\pi} v_{\pi}(s) \ \ \ \forall s \in S

Hàm giá trị hành động tối ưu, được ký hiệu là (q), và được định nghĩa như sau:

q(s,a)=maxπqπ(s,a)   sS,aAq_*(s, a) = \max_{\pi} q_{\pi}(s, a) \ \ \ \forall s \in S, a \in A

Do đó, chúng ta có thể viết (q) theo (v) như sau:

q(s,a)=E[Rt+1+γv(St+1)St=s,At=a]q_*(s, a) = \mathbb{E}[R_{t+1} + γv_*(S_{t+1}) | S_t = s, A_t = a]

Vì nó là hàm giá trị tối ưu, điều kiện nhất quán cho vv có thể được viết theo một dạng đặc biệt mà không tham chiếu đến bất kỳ chính sách cụ thể nào. Đây là phương trình Bellman cho vv, hoặc phương trình tối ưu Bellman. Theo bản chất, phương trình tối ưu Bellman diễn đạt thực tế rằng giá trị của một trạng thái theo chính sách tối ưu phải bằng phần thưởng kỳ vọng cho hành động tốt nhất từ trạng thái đó:

v(s)=maxaA(s)qπ(s,a)v_*(s) = \max_{a \in A(s)} {q_\pi}_*(s, a) =maxaEπ[GtSt=s,At=a]= \max_{a} \mathbb{E_\pi*} \left[G_t \mid S_t = s, A_t = a \right] =maxaEπ[k=0Rt+k+1St=s,At=a]= \max_{a} \mathbb{E_\pi*} \left[ \sum_{k=0}^{\infty} R_{t+k+1} \mid S_t = s, A_t = a \right] =maxaEπ[Rt+1+γk=0γRt+k+2St=s,At=a]= \max_{a} \mathbb{E_\pi*} \left[ R_{t+1} + γ\sum_{k=0}^{\infty} γR_{t+k+2} \mid S_t = s, A_t = a \right] =maxaE[Rt+1+γv(St+1)St=s,At=a]= \max_{a} \mathbb{E} \left[ R_{t+1} + γv_*(S_{t+1}) \mid S_t = s, A_t = a \right] =maxaA(s)s,rp(s,rs,a)(r+γv(s))= \max_{a \in A(s)} \sum_{s', r} p(s', r \mid s, a) \left( r + γ v_*(s') \right)

The last two equations are two forms of the Bellman optimality equation for vv. The Bellman optimality equation for qq is:

q(s,a)=E[Rt+1+γmaxaq(St+1,a)St=s,At=a]q_*(s, a) = \mathbb{E} \left[ R_{t+1} + γ \max_{a'} q_*(S_{t+1}, a') \mid S_t = s, A_t = a \right] =s,rp(s,rs,a)(r+γmaxaq(s,a))= \sum_{s', r} p(s', r \mid s, a) \left( r + γ \max_{a'} q_*(s', a') \right)

Demo cho Bellman Equation: Bellman Equation

2. Monte Carlo Methods

3. Dynamic Programming

4. Temporal Difference Learning

Approximate Solution Methods

1. Value Prediction with Function Approximation

2. Gradient-Descent Methods

3. Linear Methods

Q-Learning

Deep Learning

Deep Q-Networks (DQN)

Double Deep Q Networks (DDQN)

Reinforcement Learning in Practice

Conclusion