BÀI BÁO CÁO PHƯƠNG PHÁP HỌC TĂNG CƯỜNG Q-LEARNING VÀ ỨNG DỤNG I. ĐẶT VẤN ĐỀ Trước đây người ta giải quyết bài toán tìm đường bằng cách sử dụng các thuật toán tìm đường cổ điển. Tuy nhiên các thuật toán tìm đường có rất nhiều hạn chế ví dụ như đòi hỏi môi trường phải xác định và cố định và không xử lý được nhiều tình huống thực tế. Với sự phát triển của trí tuệ nhân tạo, ngày nay các phương tiện với sự trợ giúp của máy tính có thể “học”, hay nói cách khác là tự tìm ra được quy luật hành động nói chung hay tìm đường nói riêng thông qua các kinh nghiệm thu được từ những hành động được thực hiện trước đó. Cách học từ những kinh nghiệm trong quá khứ này được gọi là học tăng cường. Có nhiều phương pháp học tăng cường khác nhau, trong đó phương pháp Q-learning là có hiệu quả nhất trong việc giải quyết bài toán tìm đường. Nội dung của bài bào này minh họa cho tính hiệu quả của phương pháp Q- learning và một số biến thể của phương pháp này để giải quyết bài toán tìm đường trong những môi trường đặc biệt như mạng máy tính hay multi-agent. II. HỌC TĂNG CƯỜNG Học tăng cường là phương pháp học thông qua tương tác với môi trường. Mô hình của học tăng cường gồm có 3 thành phần chính: tác tử (agent), môi trường (environment) và giá trị phản hồi (reward). Quá trình học là một quá trình lặp đi lặp lại (iteration) các hành động (action). Sau khi thực hiện mỗi hành động thì agent nhảy từ vị trí (hay trạng thái - state) này sang vị trí (trạng thái) khác, và đồng thời nhận được giá trị phản hồi (reward) từ hành động cũ. Dựa vào các giá trị phản hồi nhận được agent có thể điều chỉnh luật chọn hành động (policy) của mình trong các bước tiếp theo. Việc điều chỉnh và tối ưu hóa luật chọn hành động dựa vào các giá trị phản hồi chính là quá trình học tăng cường. Rõ ràng là quy luật chọn lựa hành động của agent thu được sau quá trình học càng gần tối ưu nếu quá trình học càng kéo dài và số lượng các tình huống mà agent gặp phải là càng nhiều. Nguyễn Văn Hoàng Lớp cao học: TP. HCM ss' t+1 t t Hình 1. Mô hình tương tác agent - môi trường Với mô hình học tăng cường như vậy thì vấn đề cần giải quyết là các thông tin phản hồi (reward) được xử lý như thế nào. Sau mỗi hành động thì agent nhận được một giá trị phản hồi và sau một quá trình học lâu dài thì số lượng các thông tin phản hồi này là rất lớn mà tại mỗi thời điểm không thể quan tâm đến tất cả mọi giá trị này được. Để giải quyết vấn đề này thì mô hình học tăng cường được đưa về mô hình Markov (MDP - Markov Decision Process), là sự mở rộng của chuỗi Markov. Chuỗi Markov là một quá trình ngẫu nhiên mà giá trị hàm xác suất (probability distribution function) của mỗi bước tiếp theo chỉ phụ thuộc vào các thông số của bước trước đó, điều này cho phép ta chỉ quan tâm tới giá trị phản hồi ngay trước đó tại mỗi vị trí. Lý thuyết học tăng cường hiện nay dựa vào mô hình Markov, do đó các bài toán không thể đưa về được mô hình Markov thì không thể giải quyết được bằng phương pháp học tăng cường. Mô hình Markov (MDP) được định nghĩa là tập hợp (tuple) <S, A, T, ρ>: S: tập các vị trí (hay trạng thái- state). A: tập các hành động (action). T: SxA -> P(S): là hàm xác suất (probability distribution function) cho từng cặp vị trí - hành động. Hàm này gán giá trị xác suất cho từng cặp vị trí - hành động. ρ: SxA -> R: là payoff function, gán giá trị phản hồi cho từng hành động tại vị trí xác định. Mô hình Markov có thể là xác định (với từng cặp vị trí - hành động xác định thì cho ra vị trí kế tiếp giống nhau ở mọi thời điểm) hoặc không xác định. Với mô hình Markov xác suất chuyển đến vị trí s’ từ vị trí s và hành động a là: Và giá trị phản hồi là: Ta gọi giá trị “return” là tổng của các giá trị phản hồi tính từ thời điểm hiện tại cho đến khi agent đạt đến đích, hoặc đến cuối giai đoạn (nếu quá trình học được chia thành nhiều giai đoạn - episode). Trong đó T là bước cuối cùng trước khi đến đích. Thực nghiệm cho thấy nếu ta giảm dần mức độ quan trọng của các bước ở các thời điểm xa với thời điểm hiện tại thì quá trình học sẽ hội tụ nhanh hơn. Điều đó có nghĩa là ta cần thêm vào hệ số khấu hao γ. Giá trị phản hồi ở thời điểm cách hiện tại bao nhiêu bước thời gian thì sẽ được nhân với giá trị khấu hao γ bấy nhiêu lần. Như vậy giá trị “return” sẽ được tính như sau: 0 13 2 21 k kt k tttt rrrrR Mọi thuật toán của học tăng cường đều dựa trên hàm giá trị. Hàm giá trị cung cấp giá trị dự đoán mức độ “tốt” của agent ở vị trí hiện tại trong quá trình tìm đến đích. Hàm này chính là giá trị “return” ước tính tại từng vị trí (hay cặp vị trí - hành động) ứng với một luật chọn hành động (policy) xác định nào đó. Ta có thể xác định hàm giá trị theo vị trí hay theo cặp giá trị vị trí - hành động. Hàm giá trị theo vị trí (state - value function) V ứng với luật chọn hành động π tại vị trí s được xác định như sau: Hàm giá trị theo cặp vị trí - hành động (action - state value function) Q được xác định như sau: Quá trình học tăng cường là quá trình tìm kiếm policy tối ưu, có nghĩa là quá trình điều chỉnh giá trị của hàm giá trị về giá trị tối ưu. Quá trình điều chỉnh được thực hiện bởi việc lặp đi lặp lại một số lượng lớn bước thực hiện các hành động, gọi là iteration. Một luật chọn hành động là tối ưu nếu và chỉ nếu giá trị của hàm giá trị ứng với luật chọn hành động đó luôn lớn hơn hoặc bằng hàm giá trị của các luật chọn hành động khác. Gọi V* và Q* là các hàm giá trị tối ưu ta có thể xác định các hàm này bằng cách sau: Có nghĩa là giá trị các hàm V* và Q* chính là giá trị của các hàm V và Q ứng với luật chọn hành động tối ưu (cho ra giá trị V(s) hay Q(s, a) lớn nhất tại mỗi vị trí s) [2]. Các loại thuật toán học tăng cường thông thường gồm có lập trình động (dynamic programming), Monte-Carlo và phương pháp TD (temporal- difference). Tuy nhiên các phương pháp lập trình động và Monte-Carlo không hiệu quả do đòi hỏi bộ nhớ quá lớn, hoặc mô hình phải xác định hay khó hội tụ nên ít khi cho ra kết quả tối ưu. Phương pháp TD là sự kết hợp của những phương pháp kể trên và cho phép giải quyết được nhiều bài toán thực tế bởi vì phương pháp này không đòi hỏi môi trường xác định và có khả năng hội tụ cao. Một biến thể của phương pháp TD được gọi là Q- learning, là phương pháp học kiểu TD theo hướng off-policy, rất hiệu quả trong việc giải quyết các bài toán tìm đường. III. PHƯƠNG PHÁP Q-LEARNING Đây là phương pháp học theo kiểu off-policy. Quá trình học tăng cường có thể được thực hiện theo hai cách: off-policy và on-policy. On-policy sử dụng một luật chọn hành động để thực hiện các bước hành động để tối ưu hóa chính luật chọn hành động đó. Phương pháp off-policy sử dụng một luật chọn hành động để thực hiện các hành động nhưng với mục đích là để tối ưu hóa một luật chọn hành động khác. Phương pháp này sử dụng hàm Q (action-state value function). Hàm Q được xác định bằng phương pháp Q-learning như sau: Với γ là giá trị khấu hao cho giá trị Q của bước tiếp theo như đã được trình bày ở phần trước, và α là “step size” - tham số đưa thêm vào để điều chỉnh mức độ tối ưu của quá trình học. Luật hành động học được chính là tập các hành động tại từng vị trí mà Q(s,a) tại vị trí đó lớn nhất [2]. Với cách điều chỉnh giá trị của hàm Q theo từng bước như vậy ta có thể mô tả thuật toán như sau: đầu tiên ta gán giá trị Q ban đầu cho các vị trí. Vị trí đích có giá trị phản hồi (reward) rất lớn. Vị trí “nguy hiểm” có giá trị âm rất lớn. Các vị trí khác có giá trị phản hồi là 1. Khi agent nhảy vào vị trí nào thì nhận được giá trị phản hồi của vị trí đó. Sau đó ta thực hiện lặp đi lặp lại các quá trình thực hiện hành động và cứ sau mỗi bước thực hiện hành động thì lại điều chỉnh lại giá trị hàm Q cho các vị trí liên quan đến hành động vừa được thực hiện. Luật chọn hành động dùng để học thông thường là ε-greedy. Toàn bộ quá trình thực hiện thuật toán cho một quá trình (episode) được trình bày như sau: Gán giá trị khởi đầu cho Q(s, a) Repeat (cho từng episode) Đặt s vào vị trí bắt đầu Repeat (cho từng bước của episode) Chọn hành động a (chẳng hạn bằng phương pháp ε-greedy) Thực hiện bước a, nhận được giá trị phản hồi r và vị trí tiếp theo s’ Điều chỉnh giá trị hàm Q: Until s là vị trí đích hoặc đã thực hiện hết số lượng bước giới hạn của episode. Hoặc 1. Giải thuật Q { 2. Với mỗi s,a khởi tạo một ô Q’(s,a) bằng 0 3. Chọn trạng thái hiện tại s 4. Lặp vô hạn{ 5. Chọn hành dộng a và thực thi 6. Nhận khoản thuởng tức thì r 7. Chọn trạng thái mới s’ 8. Cập nhật ô Q’(s,a) nhu sau: Q’(s,a) Q’(s’,a’) 9. s s’ 10. } 11. } Với phương pháp này thì luật chọn hành động để học thông thường được thực hiện theo phương pháp ε-greedy trong khi việc điều chỉnh giá trị hàm Q ứng với mỗi cặp vị trí – hành động (s,a) được thay đổi dựa trên giá trị Q tối ưu của cặp (s’,a’) kế tiếp mà hành động a’ không nhất thiết là hành động được chọn theo “policy” đang được áp dụng. Do đó phương pháp này thuộc loại off-policy. Xét về lý thuyết ta có thể nhận thấy phương pháp kiểu off-policy cho phép khám phá được nhiều hơn so với on-policy nên khả năng tìm ra được những lối đi mới có quãng đường ngắn hơn là cao hơn so với phương pháp on-policy. Thực nghiệm cũng xác nhận quan điểm này. Để minh họa cho lập luận trên và đồng thời để mô tả cách áp dụng thuật toán Q-learning vào bài toán tìm đường thông thường ta có thể thực hiện bài toán kinh điển gridworld bằng phương pháp Q-learning và bằng một phương pháp khác theo kiểu on-policy và so sánh kết quả. Phương pháp on-policy được chọn là SARSA – là phương pháp học rất hiệu quả theo kiểu on- policy. Với phương pháp SARSA thì hàm Q được điều chỉnh sau mỗi bước thực hiện hành động theo công thức sau: Bài toán được thực hiện bằng việc cho agent tìm đường di chuyển từ điểm khởi đầu đến điểm đích với các chướng ngại vật. Agent sẽ khởi động từ vị trí ô xanh và đích là ô đỏ. Các ô màu xám biểu thị cho vật cản. Các bước đi gồm có sang trái, sang phải, đi lên, đi xuống. Luật hành động chính là hướng đi tối ưu cho từng vị trí để đến được đích với số bước đi ngắn nhất (hình vẽ 2). Quá trình thực hiện được chia thành nhiều giai đoạn (episode), mỗi giai đoạn được kết thúc sau khi agent đến được đích hoặc agent thực hiện hết một số lượng bước được quy định. Trong quá trình thực hiện các bước đều có điều chỉnh lại giá trị hàm Q cho các vị trí liên quan. Thực nghiệm được tiến hành với các tham số thay đổi nhằm kiểm tra hiệu quả của từng thuật toán với từng điều kiện nhất định. Trong quá trình thực nghiệm thì số lượng giai đoạn cũng như bước nhảy cho mỗi giai đoạn được chọn thích hợp để thể hiện rõ sự khác biệt về kết quả các phương pháp học. Mỗi lần học thì kết quả được đo 3 lần và chọn ra kết quả tốt nhất. Bài toán được thực hiện cho cả 2 phương pháp SARSA và Q-learning, áp dụng phương pháp ε- greedy để chọn hành động và thay đổi giá trị các tham số α, γ, ε trong khoảng từ 0 - 1. Hình 2. Chương trình thực nghiệm. Các mũi tên màu xanh là các hướng đi tối ưu - chính là bộ luật hành động tối ưu. Các mũi tên màu hồng là các hướng đi tối ưu đã học được. Các thông số cần được xác định là số ô chưa được tìm ra “policy” tối ưu và quãng đường ngắn nhất xác định được. Kết quả thống kê số ô chưa tìm được “policy” tối ưu được ghi lại trong các bảng thực nghiệm của [5]. Do khuôn khổ của bài báo có hạn nên chỉ trình bày được một vài kết quả thực nghiệm: Q-learning, ε = 0.75, 100 episode, max 100 bước/episode γ = 1 γ = 0.75 γ = 0.5 γ = 0.25 γ = 0 α = 1 72 22 31 66 74 α = 0.75 50 64 66 51 74 α = 0.5 55 41 42 46 74 SARSA, ε = 0.75, 100 episode, max 100 bước/episode γ = 1 γ = 0.75 γ = 0.5 γ = 0.25 γ = 0 α = 1 72 74 68 73 74 α = 0.75 72 64 60 73 74 α = 0.5 66 68 51 54 74 Từ kết quả thực nghiệm được tiến hành ở [5] cho thấy mặc dù kết quả thực nghiệm phụ thuộc vào nhiều yếu tố (các tham số α, γ, ε), đặc biệt là giá trị ε có ảnh hưởng rất nhiều đến kết quả học của Q-learning (ε càng bé thì quá trình khám phá được thực hiện càng ít dẫn đến kết quả học của Q- learning càng xấu đi), tuy nhiên xét về kết quả chung thì Q-learning thường tìm được luật hành động tối ưu cho nhiều ô hơn. Thực nghiệm tiếp theo so sánh kết quả thực tế của hai phương pháp học trong cùng điều kiện tham số. Kết quả được xác định ở đây là đường đi ngắn nhất từ điểm khởi đầu đến đích sau khi thực hiện từng phương pháp học, được trình bày trong bảng dưới đây: ε = 0.75, α = 0.5, 80 episode, max 100 bước/episode γ = 1 γ = 0.75 γ = 0.5 γ = 0.25 γ = 0 Q- learning 22 18 18 18 24 SARSA 75 75 75 75 75 ε = 0.2, α = 0.5, 80 episode, max 100 bước/episode γ = 1 γ = 0.75 γ = 0.5 γ = 0.25 γ = 0 Q- learning 75 75 73 75 75 SARSA 75 75 75 75 75 Với kết quả thu được ở trên ta có thể kết luận rằng bài toán gridworld thích hợp hơn với phương pháp off-policy do cần phải tìm kiếm rộng ra cho mọi ô. Kết quả thực nghiệm cũng cho thấy với điều kiện chỉ thực hiện 80 giai đoạn, với tối đa là 100 bước đi cho mỗi giai đoạn và với giá trị ε khá lớn (ở đây là 0.75) thì phương pháp Q-learning đã bắt đầu cho ra kết quả tối ưu (18 bước). Trong khi đó phương pháp SARSA với mọi giá trị của ε vẫn chưa cho ra được kết quả tối ưu. Qua đó ta có thể kết luận rằng phương pháp Q-learning mang lại hiệu quả lớn trong việc giải quyết bài toán tìm đường. Do có hiệu quả cao trong các bài toán tìm đường nên phương pháp Q- learning còn được điều chỉnh hoặc kết hợp với các thuật toán khác để giải quyết các bài toán đặc biệt. Phần tiếp theo sẽ trình bày về phương pháp Q- routing áp dụng cho tìm đường trên mạng và phương pháp Ant-Q áp dụng cho việc tìm đường của hệ thống multi-agent, là những phương pháp kết hợp với Q-learning. VI. KẾT LUẬN Sử dụng phương pháp học tăng cường hiệu quả hơn sử dụng các phương pháp tìm đường cổ điển trong việc giải quyết bài toán tìm đường do đòi hỏi ít điều kiện ràng buộc hơn (môi trường không nhất thiết phải xác định, cố định, v.v …). Ngoài ra bằng cách áp dụng học tăng cường ta có thể xử lý được nhiều tình huống ví dụ như như là giúp agent tránh được các vị trí “nguy hiểm” như “rơi xuống hố” hay “ngã xuống từ vách đá” từ nhiều bước trước đó - và những vấn đề mà các phương pháp tìm đường cổ điển không xử lý được. Q-learning là phương pháp học tăng cường rất hiệu quả trong việc giải quyết bài toán tìm đường. Nguyên nhân là do phương pháp này được thực hiện theo kiểu off-policy, có nghĩa là áp dụng một luật hành động để học và lại tối ưu hóa cho luật hành động khác. Do Q-learning hiệu quả trong việc giải quyết bài toán tìm đường nên phương pháp này được điều chỉnh hoặc kết hợp với một số phương pháp khác để giải quyết các bài toán đặc biệt như tìm đường trong mạng (Q- routing) hay tìm đường của hệ thống multi-agent (Ant-Q).