Tải bản đầy đủ (.pdf) (42 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.54 MB, 42 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="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 SYSTEM

GV 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

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="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 tố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: Q 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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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 hồn thiện hơn.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Chương 1

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

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

Để định nghĩa q 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 = {X<small>0</small>,X ,...<small>1</small> }là một q 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 q 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 = {a<small>1</small>,a<small>2</small>}với:

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

• a<small>2</small>: Chọn một kĩ sư giàu kinh nghiệm tiến hành cơng việc.

Để hồn thiện mơ tả cho một q trình quyết định Markov, ta cần bổ sungthêm véc tơ chi phíf<small>i</small>và ma trận xác suất chuyểnP<small>i</small>cho mỗi hành độnga<small>i</small>

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

f<small>1</small>= (100,150 225 400), , <small>T</small>, f<small>2</small>= (200 250 350 550), , , <small>T</small>,

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. . . <sup>, P</sup><small>2</small>=

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.

.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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:

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

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íf<small>k</small>(i)và xác suất để trạng thái tiếp theo là được xácj

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

độnga<small>1</small>, 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 (X<small>n+1</small> = b) = 0.1. Ngược lại, nếu hành độnga<small>2</small>đượcchọn, chi phí phát sinh là$350vàP (X<small>n+1</small> = 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 q 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 X<small>n+1</small> = j | X<small>0</small>,D<small>0</small>, ···,X ,D<small>nn</small> = Pr X<small>n+1</small> = j | X<small>n</small>,D<small>n</small>

Ngoài ra, với mỗik ∈ A, gọif<small>k</small>là véc tơ chi phí vàP<small>k</small>là một ma trận Markov.Khi đó:

Pr X<small>n+1</small> = j | X<small>n</small>= i,D = k = P<small>nk</small>( )i,j

vàf<small>k</small>(i)là chi phí phát sinh khiX<small>n</small>= ivàD<small>n</small>= k.

Như vậy, q 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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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 : s<small>1</small>,a ,s ,a ,...s ,a<small>1 2 2TT</small>

•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ács<small>t</small>

với environment với hành độnga<small>t</small>, dẫn đến state mớis<small>t+1</small> và nhận đượcreward tương ứngr<small>t+1</small>. Vòng lặp như thế cho đến trạng thái cuối cùngs<small>T</small>.

<small>Hình 2.1: Reinforcement learning</small>

2.2 Mơ hình hóa

Trong reinforcement learning, xét q 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.)

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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áis<small>0</small>và nhận được phầnthưởngrsau khi thực hiện hành độngaở trạng thái :s

p s<small>0</small>,r s,a| <sub>= Pr S</sub><sup>.</sup> <sub>t</sub><sub>=</sub><sub>s</sub><small>0</small>,R<small>t</small><sub>=</sub>r | S<small>t−1</small>= s,A<small>t−1</small>= 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áγ<small>k−1</small>lầ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).

Q trình quyết định Markov diễn ra như sau: Bắt đầu từ trạng thái ,s<small>0</small>

ta chọn một hành độnga<small>0</small>∈ 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ộts<small>1</small>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

hành động . Kết quả của hành động đó chính là trạng thái lại được chuyểna<small>1</small>

đổi, trạng thái mới là . Quá trình này cứ lặp đi lặp lại như thế.s<small>2</small>

Đặtr<small>i+1</small> = R (s<small>i</small>,a<small>i</small>) là phần thưởng nhận được khi chuyển từ trạng thái

s<small>i</small>sang trạng tháis<small>i+1</small> thông qua hành độnga<small>i</small>, ta có thể biểu diễn q trìnhtương tác giữa agentvà môi trường bằng chuỗi:

s<small>0</small>,a ,r ,s ,a ,r ,s ,a ,r ,...<small>0 1 1 1 2 2 2 3</small>

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 qtrì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àG<small>t</small>và được xác định bởi công thức:

G<small>t</small>là tổng tất cả các reward nhận được kể từ states<small>t</small>đế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.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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 tn theo chiến lượcπtạimột thời điểmtnào đó, thìπ(a | s)là xác suất đểA<small>t</small>= anếuS<small>t</small>= 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 tố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<small>π</small>( ))s , là kỳ vọnglợi nhuận khi bắt đầu từ trạng thái và đi theo policy :s π

V<small>π</small>(s) <sup>.</sup>

=E<small>π</small> G S<small>t</small>| <small>t</small>= s =E<small>π∞</small>

Chú ý rằng ta ln cóV<small>π</small>(s) = 0khislà trạng thái dừng (terminal state).HàmV<small>π</small>(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<small>π</small>( )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<small>π</small>(s,a) <sup>.</sup>

=E<small>π</small> G S<small>t</small>| <small>t</small>=s,A<small>t</small>=a =E<small>π∞</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

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

V<small>π</small>(s) <sup>.</sup>

=E<small>π</small> G S<small>t</small>| <small>t</small>= s

=E<small>π</small> R<small>t+1</small>+ γG<small>t+1</small> |S<small>t</small>= s=<sup>X</sup><small>a</small> π(a | s)<sup>X</sup>

(s)với mọis ∈S. Ln 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 .π<small>∗</small>

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<small>∗</small>, và được địnhnghĩa bởi:

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

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

V<small>∗</small>(s) = max

<small>a∈A( )s</small>Q<small>π∗</small>(s,a)= max

E<small>π∗</small> G S<small>t</small>| <small>t</small>= s,A<small>t</small>= a= max

E<small>π∗</small> R<small>t+1</small>+γG<small>t+1</small> | S<small>t</small>= s,A<small>t</small>= a= max

E R<small>t+1</small> +γV S<small>∗</small>( <small>t+1</small>) | S<small>t</small>= s,A<small>t</small>= a= max

<small>s ,r0</small> p s<small>0</small>,r s,a| <sup>h</sup>r +γV<small>∗</small> s<small>0</small> 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<small>∗</small>. 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<small>∗</small> như sau:

Q<small>∗</small>(s,a) =E R<small>t+1</small> + γ max

<small>a0</small> Q<small>∗</small> S<small>t+1</small>,a<small>0</small> | S<small>t</small>= s,A<small>t</small>= a=<sup>X</sup><small>s ,r0</small> p s<small>0</small>,r s,a| r + γ max

<small>a0</small> Q<small>∗</small> s<small>0</small>,a<small>0</small>

Đối với MDP hữu hạn, phương trình tối ưu Bellman chov<small>pi</small>có 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ề ngunn p

tắc người ta có thể giải hệ phương trình này với giáv<small>∗</small>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θ ∈R<small>d0</small> là vectortham số policy. Khi đó ta có:π(a | s,θ) = Pr A<small>t</small>= a |S<small>t</small>= s,θ<small>t</small>=θ 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

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

θ<small>t+1</small> =θ<small>t</small>+ α<sup>\</sup>∇J (θ<small>t</small>

trong đó \∇J (θ<small>t</small>) 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 θ<small>t</small>. 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, tas<small>0</small>

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

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

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

∇<small>θ</small>J(θ) = E<small>τ∼pθ( )τ</small> ∇<small>θ</small>log p<small>θ</small>( ) ( )τ r τ= E<small>τ∼pθ( )τ</small>

<small>t=1</small> ∇<small>θ</small>log π<small>θ</small> a<small>t</small>| s<small>tt=T</small>

<small>t=1</small> r (a<small>t</small>,s<small>t</small>)

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

∇<small>θ</small>J(θ) = <sup>1</sup>N

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

2.4.2 Thuật tố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 τ<small>i</small> dựa theo policyπ<small>θ</small>

2. Tính gradient:

∇<small>θ</small>J(θ) = <sup>1</sup>N

2.4.3 Advantages

<small>π</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="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<small>π</small>(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<small>π</small>(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<small>π</small>( )s,a. Như đã trình bày, ta có V<small>π</small>(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<small>π</small>(s). Do đó, 1 actiona<small>m</small>được đánh giálà tệ nếu nhưQ<small>π</small>(s,a<small>m</small>) < V<small>π</small>(s)và 1 actiona<small>n</small>được đánh giá là tốt nếu như

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

V<small>π</small>(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π<small>θ</small>(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 = µ<small>θ</small>(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:

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<small>Hình 2.2: Actor và Citric</small>Batch Actor-Critic:

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

2. FitV<small>φ</small>vớiy =<sup>P</sup><sup>T</sup><sup>i</sup>r<small>i</small>

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

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

Xét một policy như sau:

π<small>0</small> a<small>t</small>| s<small>t</small> = 1nếua<small>t</small>= arg max<small>at</small>A<small>π</small>(s<small>t</small>,a<small>t</small>)

Policyπ<small>0</small>nà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 states<small>t</small>dưới policy , ta luôn chọnπ

action cho ra giá trị Advantage lớn nhất tại states<small>t</small>đó, probability của actionđó là 1, tất cả các action khác tạis<small>t</small>bằng0.

Policyπ<small>0</small>sẽ 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<small>π</small>(s) ≤V<small>π0</small>

(s)∀s ∈ S :

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

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

( )s

Ví dụ ta có như sau: tại state , ta có 4 cách đi sang states s<small>0</small>ứng với 4 actionvà ứng vớiA<small>π</small>,A<small>π</small>,A<small>π</small>,A<small>π</small>. Kể từ states<small>0</small>, ta lại đi theo policyπ. Từssangs<small>0</small>,nếu chọn action theo stochastic policy , Expected Advantage làπ <sup>P</sup><sub>a∈A</sub>p(a)A<small>π</small><sup>a</sup>

,lượng này chắc chắn nhỏ hơnmax<small>a</small>A<small>π</small>

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

1. Đánh giáQ<small>π</small>(s,a) ← r(s,a) + γV<small>π</small>(s<small>0</small>)với các action khác nhaua

2. Tối ưuπ ← π<small>0</small>: 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<small>π</small>(s,a) ← r(s,a) + γV<small>π</small>(s<small>0</small>)với các action khác nhaua

2.V<small>π</small>(s) ← max<small>a</small>Qπ s,a( )

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

1. Đánh giáV<small>π</small>(s) ←max<small>a</small> r(s,a) + γV<small>π</small>(s<small>0</small>)

2.φ ← arg min<small>φ</small> Q<small>φ</small>(s,a<small>i</small>) − y<small>i</small> <sup>2</sup>(*)

Dây chính là thuật tố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,s<small>0</small>)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 tốn này được gọi là off-policy. Saunày, chúng ta sẽ có các thuật tốn on-policy, các thuật tố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 tốn Online Q-Learning như sau:1. Thực hiện action để cóa (s,a,s<small>0</small>,r)

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

2. Đánh giáy<small>i</small>← r (s,a<small>i</small>) + γ max<small>a0</small>Q<small>φ</small>(s<small>0</small>,a<small>0</small>)

3.φ ← φ − α<sup>dQ</sup><small>φ</small>

<small>dφ</small>(s,a) Q<small>φ</small>(s,a<small>i</small>) − y<small>i</small>

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

thực ra chúng ta đã lờ đi phần thay đổi củay<small>i</small>theoφ (y<small>i</small> cũng phụ thuộc vào

φ). Như vậy, mỗi khi update theo thuật tốn này, thì giá trị của mục tiêuφ y<small>i</small>

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 tố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,s<small>0</small>)khác nhau, và ta chọn ngẫu nhiên 1 batch từbuffer để train thuật tố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<small>φ0</small>.2. Experience buffer.

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

1. Thực hiện actiona<small>i</small>để có s<small>i</small>,a ,s<small>i</small> <sup>0</sup><small>i</small>,r<small>i</small> và bỏ nó vào buffer.2. Lấy ngẫu nhiên 1 batchN sample từ buffer s<small>i</small>,a ,s<small>i</small> <sup>0</sup><sub>i</sub>,r<small>i</small> .

3. Đánh giáy<small>i</small>← r (s,a<small>i</small>) + γ max<small>a0</small>Q<small>φ0</small>(s<small>0</small>,a<small>0</small>)(dùng target network ở đây)4.φ ← φ − α<small>1</small>

Thuật tố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 tố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<small>φ0</small>vớ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

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

P<sub>N</sub><small>i</small> <sup>dQ</sup><sup>φ</sup>

<small>dφ</small>(s,a<small>i</small>) Q<small>φ</small>(s,a<small>i</small>) − y<small>i</small>

5.θ ← θ − β<small>1N</small>

P<sub>N</sub><small>i</small> <sup>dµ</sup><small>dθ</small><sup>θ</sup>(s)<sup>dQ</sup><small>φ</small>

6. Update target networkφ<small>0</small>← (1 − τ )φ<small>0</small>+ τφvàθ<small>0</small>← (1 − τ )θ<small>0</small>+ τθ

</div>

×