Chương 2 CÁC KIẾN THỨC NỀN TẢNG
2.3. Kỹ thuật học tăng cường Q-Learning
2.3.1. Học tăng cường Q-Learning
Học tăng cường (RL - Reinforcement Learning) [114] là một kỹ thuật học máy mà một tác tử học bằng cách tương tác với môi trường xung quanh để tối đa hóa điểm thưởng nhận được. Các yếu tố chính trong học tăng cường bao gồm: Tác tử tương tác với môi trường bằng các hành động. Sau mỗi hành động, môi trường trả lại cho tác tử một trạng thái và điểm thưởng tương ứng với trạng thái đó. Một chuỗi các trạng thái và hành động từ trạng thái bắt đầu đến trạng thái kết thúc được gọi là một tập (episode). Trong một tập, tác tử sẽ chọn ra các hành động tối ưu để tối đa hóa điểm thưởng nhận được sau mỗi tập. Cách mà tác tử chọn những hành động đó gọi là chiến lược và mục đích là tìm ra chiến lược tốt nhất. Hình 2.20 dưới đây mơ tả tương tác giữa tác tử - mơi trường.
Hình 2.20. Mơ hình học tăng cường
Tác tử sẽ thực thi một chuỗi hành động mà tạo ra tổng điểm thưởng lớn nhất dựa trên điểm thưởng mong muốn của mỗi hành động ở mỗi bước. Tổng điểm thưởng này còn được gọi là giá trị Q (Q-value), được tính theo cơng thức sau:
( , ) ( , ) max ( ', )
a
Q s a r s a Q s a
(2.38) trong đó: Q(s,a) là Q-value khi thực hiện hành động a tại trạng thái s, r(s,a) là điểm thưởng nhận được, s' là trạng thái kế tiếp, γ là hệ số tiêu hao (discount factor) kiểm sốt sự đóng góp của điểm thưởng để đảm bảo càng "xa" đích thì Q-value càng nhỏ.
Công thức (2.38) tạo ra một ma trận trạng thái - hành động được xem như một bảng tra cứu Q (Q-table). Với mỗi cặp trạng thái - hành động tác tử chỉ cần tìm hành động có Q-value lớn nhất bằng việc tra cứu bảng Q-table. Tuy nhiên, học tăng cường là một tiến trình ngẫu nhiên nên Q-value ở thời điểm (t-1) và thời điểm t sau khi thực hiện hành động là khác nhau và giá trị này được tính theo cơng thức:
1 ' ( , ) ( , ) max ( ', ') t ( , ) a TD a s r s a Q s a Q s a (2.39) với: a' là hành động kế tiếp, α là hệ số học.
Tại thời điểm t, ma trận Q(s,a) cần phải cập nhật trọng số dựa trên giá trị
TD(a,s) như sau:
1
( , ) ( , ) ( , )
t t t
Q s a Q s a TD a s (2.40)
Quá trình này được gọi là học Q (Q-Learning) và thuật toán Q-Learning [114] học tất cả các giá trị Q(s,a) của môi trường bằng việc thử và cập nhật để xây dựng Q-table.
2.3.2. Thuật tốn học tăng cường Deep Q-Learning
Thuật tốn Q-Learning có nhược điểm là u cầu số lượng trạng thái xác định để kích thước bảng Q-table khơng q lớn để có thể dự đoán được. Để giải quyết vấn đề này, kỹ thuật học tăng cường Deep Q-Learning [114] sử dụng mạng nơ ron (đầu vào là trạng thái, đầu ra là Q-value của tất cả các hành động) thay thế bảng Q- table để ước lượng các giá trị Q-value với từng cặp trạng thái - hành động. Deep Q- Learning khắc phục vấn đề qúa khớp (overfitting) của mạng nơ ron sử dụng kỹ thuật kinh nghiệm phát lại (Experience Replay) được mô tả như sau: Hệ thống sẽ lưu lại các trạng thái vào bộ nhớ thay vì mỗi trạng thái mạng cập nhật một lần, sau đó thực hiện lấy mẫu thành các lơ (batch) và đưa vào mạng nơ ron.
Thuật toán học tăng cường Deep Q-Learning với kỹ thuật kinh nghiệm phát lại [114] được tóm tắt sau đây.
phát lại
Đầu vào: Các trạng thái s;
Đầu ra: Các Q-value của các hành động tương ứng; Thuật toán:
1: Tác tử chọn hành động bằng một chiến lược và thực hiện hành động đó;
2: Mơi trường trả lại trạng thái s' và điểm thưởng r là kết quả của hành động a và lưu bộ kinh nghiệm (experience) (s, a, r, s') vào bộ nhớ;
3: Thực hiện lấy mẫu các experience thành các lô (batch) và huấn luyện mạng nơ ron;
4: Lặp lại đến khi kết thúc M tập (episode); 5: Return;