1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo môn học các mô hình ngẫu nhiên và ứng dụng đề tài reinforcement learning for recommendation system

42 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Quá trình biến đổi trạng thái của máy M được biểu diễn nhưHình1.1:Hình 1.1: Chuỗi các sự kiện trong quá trình quyết định MarkovTại thời điểm , quá trình đang ở trạng tháin ivà hành động

Trang 1

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC

BÁO CÁO MÔN HỌC

CÁC MÔ HÌNH NGẪU NHIÊN VÀỨNG DỤNG

ĐỀ TÀI:

REINFORCEMENT LEARNINGFOR RECOMMENDATION SYSTEMGV hướng dẫn: TS NGUYỄN THỊ NGỌC ANHNhóm sinh viên thực hiện:

Trần Thị Thanh Tươi 20185423

Hà Nội, tháng 6 năm 2021

Trang 2

Mục lục

1.1 Ví dụ quá trình quyết định Markov 5

1.2 Định nghĩa quá trình quyết định Markov 6

2 Reinforcement Learning 72.1 Giới thiệu về học tăng cường 7

2.2 Mô hình hóa 8

2.3 Mục tiêu của reinforcement learning 10

2.3.1 Lợi nhuận (Return) 10

2.3.2 Chiến lược (Policy) và hàm giá trị (value function) 11

2.3.3 Chiến lược tối ưu (Optimal policies) và hàm giá trị tốiưu (optimal value functions) 12

2.4 Policy gradient method 13

2.4.1 Xấp xỉ policy (policy approcimation) 14

2.4.2 Thuật toán REINFORCE 15

2.4.3 Advantages 15

2.4.4 Stochastic Actor-Critic 16

2.4.5 Actor-Critic Algorithm 16

2.4.6 Từ Stochastic Actor-Critic tới Q-Learning 17

2.4.7 Từ Deep Q-Network đến Deep Deterministic Policy dient 19

Gra-3 Recommendation System 213.1 Utility matrix 22

3.1.1 Xây dựng Utility matrix 23

3.2 Content-Based Recommendations 24

3.2.1 Item profiles 24

3.3 Collaborative filtering 25

Trang 3

3.3.1 Khi có bias 26

4 Ứng dụng Reinforcement Learning cho Recommendation tem 284.1 Phát biểu bài toán 28

sys-4.2 Actor Framework 29

4.3 Critic Framework 30

4.4 Thủ tục huấn luyện và sơ đồ chung 31

5 Experiment 345.1 Evaluation Metric 34

5.1.1 MAP for Recommender Algorithms 34

5.1.2 Precision and Recall at Cutoff k 35

Trang 4

Lời mở đầu

Ngày nay, mua sắm là nhu cầu thiết yếu của mỗi con người Với lượng thôngtin ngày càng tăng trên internet và số lượng người dùng tăng lên đáng kể,điềuquan trọng đối với các công ty là tìm kiếm, liên kết và cung cấp cho khách hàngnhững sản phẩm liên quan theo sở thích và thị hiếu của họ Người dùng cáchệ thống thông tin, đặc biệt là các website thương mại điện tử thường gặp cácvấn đề về tìm kiếm sản phẩm phù hợp với nhu cầu của họ do lượng sản phẩmlớn, thời gian có hạn Và đó là lý do trong thời đại kỹ thuật số ngày nay, bấtkỳ cửa hàng trực tuyến nào chúng ta ghé thăm cũng đều sử dụng một số loạihệ thống gợi ý.

Trong báo cáo này, chúng ta sẽ tìm hiểu khái niệm chung về hệ thống gợi ý,sau đó sẽ tập trung vào tìm hiểu thuật toán phổ biến trong các hệ thống gợi ýhiện nay đó là Q-Learning Cuối cùng, sẽ là phần kết quả thử nghiệm trên bộdữ liệu thực tế, qua đó hiểu rõ ưu điểm và nhược điểm của các phương phápnày khi được áp dụng.

Mục tiêu của báo cáo là tìm hiểu được lý thuyết chung về hệ thống gợi ý,sau đó xây dựng thuật toán dựa trên lý thuyết và đánh giá kết quả trên dữ liệuthực tế Có các cách tiếp cận chính sau để xây dựng hệ thống gợi ý: nhóm giảithuật lọctheo nội dung (content-based filtering), nhóm giải thuật lọc cộng tác(collaborativefiltering) Các phương pháp này sẽ được giới thiệu chi tiết trongcác chương tiếp theo Bản báo cáo sẽ được trình bày theo 5 phần:

•Chương 1: Quá trình Markov

•Chương 2: Reinforcement Learning

•Chương 3: Recommendation System Giới thiệu về hệ thống gợi ý(recommender system) và các loại của hệ thống gợi ý cũng như các nhómgiải thuật liên quan.

•Chương 4: Ứng dụng Reinforcement Learning cho tion system

Recommenda-•Chương 5: Experiment Đánh giá kết quả và một số kết luận.

Chúng em xin gửi lời cảm ơn sâu sắc đến TS Nguyễn Thị Ngọc Anh đãtruyền đạt cho chúng em những kiến thức nền tảng để hoàn thành bài báo cáo

Trang 5

này Báo cáo không tránh khỏi những thiếu sót, chúng em kính mong nhậnđược sự nhận xét, góp ý của cô để báo cáo được hoàn thiện hơn.

Trang 6

Chương 1

Quá trình quyết định Markov

1.1 Ví dụ quá trình quyết định Markov

Để định nghĩa quá trình quyết định Markov, ta bắt đầu bằng việc xét mộtví dụ đơn giản.

Ví dụ 1.1 ChoX = {X0,X , 1 }là một quá trình ngẫu nhiên với không giantrạng tháiE = {a,b,c,d} Quá trình này biểu diễn cho trạng thái của máy M.Các trạng thái từacho đếndbiểu diễn mức độ xuống cấp tăng dần của máy.Máy càng xuống cấp thì chi phí để vận hành máy càng tăng và năng suất củamáy càng giảm Do đó, trong quá trình vận hành máy, các kĩ sư phải theo dõiđể tiến hành bảo dưỡng phù hợp, đảm bảo cho máy hoạt động hiệu quả Hoạtđộng bảo dưỡng sẽ được thực hiện khi máy ở các trạng tháib,c,d Khi máy cầnđược bảo dưỡng, sẽ có một hành động (quyết định) được đưa ra, hành độngnày thuộc không gian các hành động (action)A = {a1,a2}với:

• a1: Chọn một kĩ sư mới ra trường, chưa có kinh nghiệm để bảo dưỡng máy.

• a2: Chọn một kĩ sư giàu kinh nghiệm tiến hành công việc.

Để hoàn thiện mô tả cho một quá trình quyết định Markov, ta cần bổ sungthêm véc tơ chi phífivà ma trận xác suất chuyểnPicho mỗi hành độngai

trong không gian các hành độngAnhư sau:

f1= (100,150 225 400), , T, f2= (200 250 350 550), , , T,

0.1 0 3 0 6 0 0 .0.0 0 2 0 5 0 3 .0.0 0 1 0 2 0 7 .

0.8 0 1 0 0 0 1 , P2=

0.6 0.3 0.1 0 0.0.75 0 1 0 1 0 05 .

0.8 0.2 0.0 0 0.0.9 0.1 0.0 0 0.

.

Trang 7

Quá trình biến đổi trạng thái của máy M được biểu diễn nhưHình1.1:

Hình 1.1: Chuỗi các sự kiện trong quá trình quyết định Markov

Tại thời điểm , quá trình đang ở trạng tháin ivà hành động kđược chọnthì sẽ phát sinh chi phífk(i)và xác suất để trạng thái tiếp theo là được xácj

định bởiPk( )i,j Cụ thể hơn, giả sử máy M đang ở trạng thái và chọn hànhc

độnga1, khi đó chi phí phát sinh là$225và xác suất để sau khi bảo dưỡng,máy ở trạng tháiblàP (Xn+1 = b) = 0.1 Ngược lại, nếu hành độnga2đượcchọn, chi phí phát sinh là$350vàP (Xn+1 = b) = 0.2.

1.2 Định nghĩa quá trình quyết định Markov

Định nghĩa 1.2 (Quá trình quyết định Markov - Markov decision process).ChoX là một quá trình mô tả hệ thống với không gian trạng tháiEvà gọiD

là một quá trình quyết định trong không gian hành động (action space) QuáA

trình(X,D)là một quá trình quyết định Markov nếu: vớij ∈ E,n = 0, ,1 ···,ta có:

Pr Xn+1 = j | X0,D0, ···,X ,Dnn = Pr Xn+1 = j | Xn,Dn

Ngoài ra, với mỗik ∈ A, gọifklà véc tơ chi phí vàPklà một ma trận Markov.Khi đó:

Pr Xn+1 = j | Xn= i,D = k = Pnk( )i,j

vàfk(i)là chi phí phát sinh khiXn= ivàDn= k.

Như vậy, quá trình quyết định Markov có tính Markov, xác suất xuất hiệntrạng thảij ở thời điểmn + 1chỉ phụ thuộc vào trạng thái và hành động ởthời điểm liền trước và là khải niệm mở rộng hơn so với xích Markov.n

Trang 8

Chương 2

Reinforcement Learning

Học tăng cường (Reinforcement learning) là một phương thức học trongmachine learning Khác với các phương thức khác dùng dữ liệu và nhãn (nếucó) để thực hiện xử lý, reinforcement learning là phương thức học dựa trên sựtương tác với môi trường Và do đó, nó có thể giúp cho một hệ thống tự độngxác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất Ý tưởng vềphương thức học tăng cường xuất phát từ chính con người Khi một đứa trẻchơi đùa, vẫy tay hoặc nhìn xung quanh, không có người dạy rõ ràng, nhưngđứa trẻ vẫn có mối liên hệ trực tiếp về động cơ cảm ứng với môi trường Nhữnghành động học như thế diễn ra lặp đi lặp lại trong suốt cuộc đời của mỗi ngườivà cũng là cách con người học hỏi, nhìn nhận mọi thứ xung quanh.

2.1 Giới thiệu về học tăng cường

Reinforcement Learning hay học củng cố/tăng cường, là lĩnh vực liên quanđến việc dạy cho máy (agent) thực hiện tốt một nhiệm vụ (task) bằng cáchtương tác với môi trường (environment) thông qua hành động (action) và nhậnđược phần thưởng (reward) Cách học này rất giống với cách con người học từmôi trường bằng cách thử sai Lấy ví dụ 1 đứa vào mùa đông đến gần lửa thìthấy ấm, đứa trẻ sẽ có xu hướng đến gần lửa nhiều hơn (vì nhận được phầnthưởng là ấm áp), nhưng chạm vào lửa nóng, đứa trẻ sẽ có xu hướng tránhchạm vào lửa (vì bị là bỏng tay).

Trong ví dụ trên, phần thưởng xuất hiện ngay, việc điều chỉnh hành động làtương đối dễ Tuy nhiên, trong các tình huống phức tạp hơn khi mà phần thưởngở xa trong tương lai, điều này trở nên phức tạp hơn Làm sao để đạt được tổngphần thưởng cao nhất trong suốt cả quá trình? Reinforcement Learning (RL)là các thuật toán để giải bài toán tối ưu này.

Dưới đây là định nghĩa của các thuật ngữ hay xuất hiện trong RL:

•Environment(Môi trường): là không gian mà máy tương tác.

Trang 9

•Agent(Máy): máy quan sát môi trường và sinh ra hành động tương ứng.

•Policy(Chiến lược): máy sẽ theo chiến thuật như thế nào để đạt được mụcđích.

•Reward(Phần thưởng): phần thưởng tương ứng từ môi trường mà máynhận được khi thực hiện một hành động.

•State(Trạng thái): trạng thái của môi trường mà máy nhận được.

•Episode(tập): một chuỗi các trạng thái và hành động cho đến trạng tháikết thúc : s1,a ,s ,a , s ,a1 2 2TT

•Accumulative Reward (phần thưởng tích lũy): tổng phần thưởng tích lũytừ state đầu tiên đến state cuối cùng Như vậy, tại state , agent tương tácst

với environment với hành độngat, dẫn đến state mớist+1 và nhận đượcreward tương ứngrt+1 Vòng lặp như thế cho đến trạng thái cuối cùngsT.

Hình 2.1: Reinforcement learning

2.2 Mô hình hóa

Trong reinforcement learning, xét quá trình quyết định Markov (MDP) làbộ(S,A,p,γ,r), trong đó:

-Slà tập các trạng thái (Ví dụ: trong bài toán máy bay trực thăng tự hành,

Slà tập hợp tất cả các vị trí và hướng có thể có của trực thăng.)

-Alà tập các hành động (Ví dụ, tập hợp tất cả các hướng có thể mà bạncó thể đẩy cần điều khiển của máy bay trực thăng.)

Trang 10

-p : S× R × × A 7→[0, 1]S là xác suất chuyển trạng thái và phần thưởngtương ứng, biểu diễn xác suất chuyển sang trạng tháis0và nhận được phầnthưởngrsau khi thực hiện hành độngaở trạng thái :s

p s0,r s,a| = Pr S. t=s0,Rt=r | St−1= s,At−1= a ,

trong đó, kí hiệu’ ’ biểu diễn xác suất điều kiện Ở đây, chú ý rằng là một| p

phân phối xác suất cho các trường hợp có thể xảy ra sau khi thực hiện hànhđộngaở trạng tháis, do đó ta có:

-γ ∈ [0, 1)được gọi là tỷ lệ chiết khấu (discount factor, discount rate) Tỷlệ chiết khấu xác định giá trị hiện tại của phần thưởng trong tương lai: phầnthưởng nhận được ởkbước thời gian trong tương lai chỉ đáng giáγk−1lần giátrị của nó nếu nó nhận được ngay lập tức.

-r : S × A × S 7→Rlà hàm phần thưởng (reward function) Phần thưởngđôi khi là hàm chỉ phụ thuộc vào trạng thái , khi đó ta cós R : S × S 7→R).

Quá trình quyết định Markov diễn ra như sau: Bắt đầu từ trạng thái ,s0

ta chọn một hành độnga0∈ Ađể đưa vào MDP Sau đó, trạng thái sẽ đượcchuyển đổi ngẫu nhiên tới trạng thái kế thừa Tiếp theo, ta tiếp tục chọn mộts1

Trang 11

hành động Kết quả của hành động đó chính là trạng thái lại được chuyểna1

đổi, trạng thái mới là Quá trình này cứ lặp đi lặp lại như thế.s2

Đặtri+1 = R (si,ai) là phần thưởng nhận được khi chuyển từ trạng thái

sisang trạng tháisi+1 thông qua hành độngai, ta có thể biểu diễn quá trìnhtương tác giữa agentvà môi trường bằng chuỗi:

s0,a ,r ,s ,a ,r ,s ,a ,r , 0 1 1 1 2 2 2 3

2.3 Mục tiêu của reinforcement learning

Trong reinforcement learning, tín hiệu truyền từ môi trường tới agentđượccụ thể hóa bằng phần thưởng (reward) Tại thời điểm ở từng bước, phần thưởngnhận được là một số thực Phần thưởng giúp xác định đâu là sự kiện tốt vàxấu đối vớiagent, đồng thời nó cũng là cơ sở chính để thay đổi lựa chọn hànhđộng Do vậy, mục tiêu củaagentlà tối đa hóa tổng phần thưởng mà nó nhậnđược, hay chính là phần thưởng tích lũy (cumulative reward) trong cả một quátrình chứ không phải phần thưởng tức thời (immediate reward) Việc sử dụngreward để cụ thể hóa các tín hiệu của environment là một trong những nét đặctrưng tiêu biểu nhất của RL.

2.3.1 Lợi nhuận (Return)

Lợi nhuận (Return), kí hiệu làGtvà được xác định bởi công thức:

Gtlà tổng tất cả các reward nhận được kể từ statestđến tương lai, với gọiγ

là discount factor0 <γ <1 Càng xa hiện tại, reward càng bị discount nhiều,agent quan tâm nhiều hơn đến reward ở gần hơn là ở xa.

Trang 12

2.3.2 Chiến lược (Policy) và hàm giá trị (value function)

Chiến lược (Policy) là yếu tố xác định cách thức hoạt động củaagenttạimột thời điểm nhất định Nói cách khác, chiến lượcπ : S 7→[0, 1]là một ánhxạ từ các trạng thái (state) của môi trường đến xác suất các hành động sẽ đượcthực hiện khi ở trong các trạng thái đó Nếu agent tuân theo chiến lượcπtạimột thời điểmtnào đó, thìπ(a | s)là xác suất đểAt= anếuSt= s.

Chiến lược là cốt lõi củaagenttrong việc xác định hành vi Các thuật toánRL sẽ chỉ định cách mà agent thay đổi policy dựa vào chính những trải nghiệm(các bước đi và hành động trong quá khứ) của nó Trong một số trường hợp,chiến lược có thể là một hàm hoặc bảng tra cứu đơn giản Trong một số trườnghợp khác, chiến lược có thể liên quan đến tính toán mở rộng, ví dụ như quátrình tìm kiếm.

Giá trị của trạng tháistuân theo chiến lượcπ, kí hiệu là Vπ( ))s , là kỳ vọnglợi nhuận khi bắt đầu từ trạng thái và đi theo policy :s π

Vπ(s) .

=Eπ G St| t= s =Eπ∞

Chú ý rằng ta luôn cóVπ(s) = 0khislà trạng thái dừng (terminal state).HàmVπ(s)được xác định như trên được gọi là hàm giá trị trạng thái (state-value function) của policy π

Tương tự, ta định nghĩa giá trị của hành độngaở trạng tháistheo chiếnlượcπ, kí hiệu là Qπ( )s,a, là kỳ vọng lợi nhuận khi bắt đầu từ trạng thái ,s

chọn hành độngavà sau đó tuân theo chiến lược :π

Qπ(s,a) .

=Eπ G St| t=s,At=a =Eπ∞

Trang 13

Mặt khác, với mọis ∈S, ta có:

Vπ(s) .

=Eπ G St| t= s

=Eπ Rt+1+ γGt+1 |St= s=Xa π(a | s)X

(s)với mọis ∈S Luôn có ít nhất một chiến lược tốt hơn hơnhoặc bằng tất cả các chiến lược khác Đây là một chiến lược tối ưu Mặc dù cóthể có nhiều hơn một, chúng ta biểu thị tất cả các chiến lược tối ưu bằng π∗

Chúng có cùng một hàm giá trị trạng thái, được gọi là hàm tối ưu hàm giátrị trạng thái (optimal state-value function), được ký hiệu làV∗, và được địnhnghĩa bởi:

Trang 14

quán được cho bởi phương trình Bellman cho các giá trị trạng thái Ta có:

V∗(s) = max

a∈A( )sQπ∗(s,a)= max

Eπ∗ G St| t= s,At= a= max

Eπ∗ Rt+1+γGt+1 | St= s,At= a= max

E Rt+1 +γV S∗( t+1) | St= s,At= a= max

s ,r0 p s0,r s,a| hr +γV∗ s0 i

Hai công thức cuối chính là hai dạng của phương trình tối ưu Bellman cho

V∗ Một cách trực quan, 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 một chiến lược tối ưu phải bằng với lợi nhuận mongđợi cho hành động tốt nhất từ trạng thái đó.

Ta cũng có phương trình tối ưu Bellman choQ∗ như sau:

Q∗(s,a) =E Rt+1 + γ max

a0 Q∗ St+1,a0 | St= s,At= a=Xs ,r0 p s0,r s,a| r + γ max

a0 Q∗ s0,a0

Đối với MDP hữu hạn, phương trình tối ưu Bellman chovpicó một nghiệmduy nhất độc lập với policy Phương trình tối ưu Bellman thực chất là một hệphương trình, mỗi phương trình cho mỗi trạng thái, vì vậy nếu có trạng thái,n

thì sẽ cónphương trình với ẩn số Nếu biết của môi trường, thì về nguyênn p

tắc người ta có thể giải hệ phương trình này với giáv∗bằng cách sử dụng bấtkỳ một trong các phương pháp giải hệ phương trình phi tuyến.

2.4 Policy gradient method

Trong phần này, chúng ta xem xét các phương pháp tìm hiểu một chiến lượcđược tham số hóa có thể chọn các hành động mà không cần tham khảo mộthàm giá trị Hàm giá trị vẫn có thể được sử dụng để tìm hiểu tham số policy,nhưng không bắt buộc đối với lựa chọn hành động Kí hiệuθ ∈Rd0 là vectortham số policy Khi đó ta có:π(a | s,θ) = Pr At= a |St= s,θt=θ là xácsuất để hành động được chọn tại thời điểm khi environment đang ở trạnga t

tháisvới tham số θ

Trong phần này, ta xem xét các phương pháp học tham số policy dựa trêngradient của một số độ đo hiệu suấtJ(θ)đối với tham số policy Các phươngpháp này tìm cách tối đa hóa hiệu suất, vì vậy công thức cập nhật xấp xỉ dựatrên hướng tăng của gradient trong :J

Trang 15

θt+1 =θt+ α\∇J (θt

trong đó \∇J (θt) là một ước lượng ngẫu nhiên mà kỳ vọng của nó xấp xỉgradient của độ đo hiệu suất đối với θt Các phương pháp tuân theo lượcđồ chung này được gọi là phương pháp gradient chiến lược (policy gradientmethods).

2.4.1 Xấp xỉ policy (policy approcimation)

Giả sử rằng mỗi episode bắt đầu từ trạng thái Trong mỗi episode, tas0

định nghĩa hiệu suất theo công thức:

Trang 16

Gradient của hàm mục tiêu lúc này:

∇θJ(θ) = Eτ∼pθ( )τ ∇θlog pθ( ) ( )τ r τ= Eτ∼pθ( )τ

t=1 ∇θlog πθ at| stt=T

t=1 r (at,st)

Tương tự, sau khi trải quaN episodes, expectation của hàm gradient này là:

∇θJ(θ) = 1N

Cuối cùng, chúng ta update như dùng gradient ascent:θ θ ← θ + ∇θJ(θ).

2.4.2 Thuật toán REINFORCE

Tổng hợp các kết quả trên ta có thuật toán REINFORCE như dưới đây:

1 Lấy 1 tậpNchuỗi τi dựa theo policyπθ

2 Tính gradient:

∇θJ(θ) = 1N

2.4.3 Advantages

π

Trang 17

Gradient của hàm mục tiêu cho thấy việc tăng khả năng thực hiện action a

nếu nhận đượcQπ(s,a)cao Giả sử agent ở tại state , việc ở tại state là đãs s

có lợi cho agent rồi, thực hiện action nào cũng cho ra giá trịa Qπ(s,a)cao thìta không thể phân tách (discriminate) các actionavới nhau và từ đó khôngbiết được actionanào là tối ưu Do đó ta cần có 1 baseline để so sánh các giátrịQπ( )s,a Như đã trình bày, ta có Vπ(s)là expectation của accumulativereward tại states, không quan trọng tại agent thực hiện action gì, chúng tas

mong đợi 1 accumulative reward làVπ(s) Do đó, 1 actionamđược đánh giálà tệ nếu nhưQπ(s,am) < Vπ(s)và 1 actionanđược đánh giá là tốt nếu như

Qπ(s,an) > Vπ(s) Từ đây ta có được 1 baseline để so sánh Qπ(s,a)đó là

Vπ(s) Gradient của objective function bây giờ có thể viết lại được như sau:

2.4.4 Stochastic Actor-Critic

Stochastic Actor (ngẫu nhiên Actor) ý chỉ policyπθ(a | s)là một hàm phânphối xác suất của action a tạis Ta gọi Stochastic Actor để phân biệt vớiDeterministic Actor (hay Deterministic Policy) mang ý chỉ policy không còn làmột hàm phân phối xác suất của các actionatạis, mà dưới ta chỉ thực hiệns

chính xác một action nhất định mà thôia = µθ(s), hay nói cách khác xác suấtthực hiệnatạisbây giờ là 1 Xem xét gradient của hàm mục tiêu mà ta đãcó ở phần trên:

Trang 18

Hình 2.2: Actor và CitricBatch Actor-Critic:

1 Lấy 1 chuỗi đến terminal state dựa theo policyτ πθ

2 FitVφvớiy =PTiri

Như vậy, chúng ta cùng lúc update cả 2 hàm xấp xỉVφvàπθ.

2.4.6 Từ Stochastic Actor-Critic tới Q-Learning

Xét một policy như sau:

π0 at| st = 1nếuat= arg maxatAπ(st,at)

Policyπ0này là một Deterministic Policy: cho trước một policyπvà giả sửta biết được Advantage của các action tại statestdưới policy , ta luôn chọnπ

action cho ra giá trị Advantage lớn nhất tại statestđó, probability của actionđó là 1, tất cả các action khác tạistbằng0.

Policyπ0sẽ luôn tốt hơn hoặc ít nhất là tương đương với policyπ Một policyđược đánh giá là tương đương hay tốt hơn khi ta có:Vπ(s) ≤Vπ0

(s)∀s ∈ S :

Trang 19

với mọi state trong miền state , giá trị returns S Vπ(s)luôn nhỏ hơn hoặc bằnggiá trị returnVπ0

( )s

Ví dụ ta có như sau: tại state , ta có 4 cách đi sang states s0ứng với 4 actionvà ứng vớiAπ,Aπ,Aπ,Aπ Kể từ states0, ta lại đi theo policyπ Từssangs0,nếu chọn action theo stochastic policy , Expected Advantage làπ Pa∈Ap(a)Aπa

,lượng này chắc chắn nhỏ hơnmaxaAπ

Như vậy, thuật toán trở thành:

1 Đánh giáQπ(s,a) ← r(s,a) + γVπ(s0)với các action khác nhaua

2 Tối ưuπ ← π0: chọn ra action choAcao nhất, hay cũng chính làQ

Đến đây thì thực sự ta không cần quan tâm đến policy nữa, mà bước 2 cóthể viết lại thành:

1 Đánh giáQπ(s,a) ← r(s,a) + γVπ(s0)với các action khác nhaua

2.Vπ(s) ← maxaQπ s,a( )

Nếu xử dụng một hàm xấp xỉ choVφ( )s, ta có thuật toán như sau:

1 Đánh giáVπ(s) ←maxa r(s,a) + γVπ(s0)

2.φ ← arg minφ Qφ(s,ai) − yi 2(*)

Dây chính là thuật toán Q-Learning Để ý rằng, reward ở trên không phụr

thuộc vào state transition phụ thuộc vào policy dùng để sinh ra sample, nênπ

ta chỉ cần sample(s,a,r,s0)là có thể cải thiện được policy mà không cần biếtnó được sinh ra từ policy nào Do đó, thuật toán này được gọi là off-policy Saunày, chúng ta sẽ có các thuật toán on-policy, các thuật toán on-policy thì phảidựa vào sample được sinh ra tại policy hiện tại để có thể cải thiện policy mới.

Ta có thuật toán Online Q-Learning như sau:1 Thực hiện action để cóa (s,a,s0,r)

Trang 20

2 Đánh giáyi← r (s,ai) + γ maxa0Qφ(s0,a0)

3.φ ← φ − αdQφ

dφ(s,a) Qφ(s,ai) − yi

Chú ý bước 3 , đó có phải là gradient descent như ở ( ) không? Không,?

thực ra chúng ta đã lờ đi phần thay đổi củayitheoφ (yi cũng phụ thuộc vào

φ) Như vậy, mỗi khi update theo thuật toán này, thì giá trị của mục tiêuφ yi

cũng bị thay đổi theo! Mục tiêu luôn thay đổi khi ta cố gắng tiến gần lại nó,điều này làm cho thuật toán trở nên không ổn định.

Để giải quyết điều này, ta cần một hàm xấp xỉ khác gọi là target network,khác với train network chúng ta vẫn chạy Target network sẽ được giữ cố địnhđể tính và update dần dần.y

Một vấn đề khác là các sample sinh ra liên tục nên nó rất liên quan tion) với nhau Thuật toán trên cũng giống như Supervised Learning - ta mapQ-value với giá trị mục tiêu, ta muốn các sample là độc lập (i.i.d) với nhau Đểphá vỡ correlation giữa các sample, ta có thể dùng 1 experience buffer: 1 listchứa rất nhiều sample(s,a,r,s0)khác nhau, và ta chọn ngẫu nhiên 1 batch từbuffer để train thuật toán Tóm lại, để thuật toán ổn định và hội tụ, ta cần:

(correla-1 Hàm target network riêng biệt, gọi đó làQφ0.2 Experience buffer.

Thuật toán bây giờ được viết như sau:

1 Thực hiện actionaiđể có si,a ,si 0i,ri và bỏ nó vào buffer.2 Lấy ngẫu nhiên 1 batchN sample từ buffer si,a ,si 0i,ri

3 Đánh giáyi← r (s,ai) + γ maxa0Qφ0(s0,a0)(dùng target network ở đây)4.φ ← φ − α1

Thuật toán này chính là Deep Q-Network (DQN).

2.4.7 Từ Deep Q-Network đến Deep Deterministic Policy ent

Gradi-Thuật toánDQNđã thành công trong việc sấp xỉ Q-value, nhưng có mộthạn chế ở bước 3 : chúng ta cần đánh giáQφ0với tất cả các action khác nhauđể chọn raQlớn nhất Với discrete action space như các game, khi mà actionchỉ là các nút bấm lên xuống qua lại, số lượng action là hữu hạn, điều này cóthể thực hiện được Tuy nhiên, với continuous action space, ví dụ action có thểtrong khoảng từ 0 đến 1, ta cần có một cách tiếp cận khác.

Cách ta có thể nghĩ đến đó là tìm cách phân nhỏ action space, phân nhỏcontinuous space thành các khoảng nhỏ, ví dụ như từ 0 đến 1 , ta có thể phân

Trang 21

PNi dQφ

dφ(s,ai) Qφ(s,ai) − yi

5.θ ← θ − β1N

PNi dµdθθ(s)dQφ

6 Update target networkφ0← (1 − τ )φ0+ τφvàθ0← (1 − τ )θ0+ τθ

Ngày đăng: 13/06/2024, 10:13

Xem thêm: