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
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ột ví 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 gian trạ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ủa má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 động nà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ổ sung thê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 ,
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ọn thì 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được chọn, chi phí phát sinh là$350vàP (Xn+1 = b) = 0.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 ,Dn n = 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 = Pn k( )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ện trạ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
Học tăng cường (Reinforcement learning) là một phương thức học trong machine learning Khác với các phương thức khác dùng dữ liệu và nhãn (nếu có) để 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ự động xá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ững hà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ười và cũng là cách con người học hỏi, nhìn nhận mọi thứ xung quanh.
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ách tươ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ần thưởng là ấm áp), nhưng chạm vào lửa nóng, đứa trẻ sẽ có xu hướng tránh chạ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ổng phầ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.
•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áy nhậ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ái kết thúc : s1,a ,s ,a , s ,a1 2 2 T T
•Accumulative Reward (phần thưởng tích lũy): tổng phần thưởng tích lũy từ 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 được reward tương ứngrt+1 Vòng lặp như thế cho đến trạng thái cuối cùngsT.
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ạn có thể đẩy cần điều khiển của máy bay trực thăng.)
-p : S× R × × A 7→[0, 1]S là xác suất chuyển trạng thái và phần thưởng tương ứng, biểu diễn xác suất chuyển sang trạng tháis 0 và nhận được phần thưởngrsau khi thực hiện hành độngaở trạng thái :s p s 0 ,r s,a|
= Pr St=s 0 ,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ó:
Xr∈R p s 0 ,r s,a| = 1, với mọis∈S,a∈A(s)là tập các hành động có thể xảy ra ở trạng tháisvà
Rlà tập các phần thưởng có thể nhận được.
Từ đó, ta có thể tính được xác suất chuyển trạng thái từssangs 0 thông qua hành động :a p s 0 | s,a
Ta cũng tính được kỳ vọng phần thưởng nhận được khi thực hiện hành động aở trạng tháis: r(s,a)
=E R St| t−1= s,At−1=a =X r∈R rX s S 0 ∈ p s 0 ,r s,a| hoặc kỳ vọng phần thưởng nhận được khi chuyển từssangs 0 sau khi thực hiện hành động :a r s,a,s 0
=E Rt| St−1=s,At−1=a,St=s 0 =X r∈R rp s 0 ,r s,a| p s 0 | s,a
-γ∈[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ần thưởng nhận được ởkbước thời gian trong tương lai chỉ đáng giáγ k−1 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). 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ẽ được chuyể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 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 s0 a 0
Qua lần lượt chuỗi trạng tháis0,s , 1 với các hành động tương ứnga0,a , 1 , phần thưởng tích lũy nhận được được tính như sau:
Trong trường hợp phần thưởng chỉ phụ thuộc vào trạng thái, ta có phần thưởng tích lũy nhận được là:
R(s0) + γR(s1) + γ 2 R(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ình tương tác giữaagentvà 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
Mục tiêu của reinforcement learning
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 i
Tiếp theo sau khi tính toán hàm tính điểm cho từng gói cước, RA chọn gói cước có điểm cao nhất để thực hiện hành động cona k t cuả hành độngat.
Critic Framework
Thủ tục Critic thiết kế để tìm một xấp xỉ hàm cho hàm hành độngQ (st,at), để đánh giá một hành động sinh ra bởi Actor có thoả mãn trạng tháistkhông. Sau đó theoQ (st,at), Actor cập nhật tham số theo hướng cải thiện hiệu quả khi thực hiện hành động trong những vòng lặp tiếp theo Nhiều ứng dụng của học tăng cường sử dụng hàm hành động tối ưuQ ∗ (st,at) Đó là kì vọng cực
Báocáocuốikỳ 30 đại khi thực hiện theo quy tắc tối ưu và tuân theo công thức Bellman như sau:
Q ∗ (st,at) =Es t+1 rt+ γ max a t+1 Q ∗ (st+1,at+1) |st,at
Trong thực tế, để chọn hành động tối ưuat+1, đánh giá|A|là cần thiết Điều này ngăn công thức trên có thể thực thi trong thực tế khi không gian hành động là quá lớn Tuy nhiên kiến trúc Actor đã đề xuất một hành động xác định cho Critic, nhằm tránh tính toán phức tạp cho|A|như sau :
Q (st,at) =Es t+1 rt+ γQ(st+1 t+1,a ) |st,at
Trong đó hàm giá trịQ (st,at)là kì vọng trả về phụ thuộc trạng thái stvà hành động at
Trong hệ thống khuyến nghị thực tế, các không gian trạng thái và hành động là vô cùng lớn, vì vậy để tính toán hàmQ(s,a)cho mỗi cặp trạng thái hành động là bất khả thi Hơn nữa, nhiều cặp trạng thái hành động không xuất hiện vì rất khó để cập nhật giá trị của chúng Vì vậy để dễ dàng và thực tế hơn chỳng ta dựng một hàm xấp xỉ cho hàm hành độngQ(s,a) ≈ Q ( ; θs,a à ). Trong thực tế hàm giá trí hành động thường xuyên là phi tuyến nên chúng ta sẽ sử dụng một mạng học sõu với tham sốθ à hay cũn gọi là deep Q-network (DQN) DQN cú thể được huấn luyện bằng cỏch cực tiểu hoỏ hàm mất mỏtθ à sau :
L (θ à ) =Es t,a ,r ,st t t+1 ,a h yt− Q (st t; θ à ) 2 i trong đúyt=E s t+1 rt+ γQ 0 st+1,at+1; θ à 0 | st,at là hàm mục tiờu cho vũng lặp Tham sốθ à của vũng lặp trước sẽ được cố định khi tối ưu hàm mất mỏt
Thủ tục huấn luyện và sơ đồ chung
Evaluation Metric
Thực tế cho thấy mAP cũng hữu ích cho các hệ thống đề xuất của người dùng, chẳng hạn như khi Shopee hiển thị cho bạn một danh sách ngắn các sản phẩm mà họ cho rằng bạn có thể muốn mua sau khi bạn đã thêm thứ gì đó vào giỏ hàng của mình Sử dụng mAP để đánh giá recommender algorithm tương tự như việc bạn đang coi việc đề xuất giống như một nhiệm vụ xếp hạng Người dùng có một lượng thời gian và sự chú ý hữu hạn, vì vậy nhà cung cấp sản phẩm không chỉ muốn biết năm sản phẩm mà người dùng có thể thích mà còn cả những sản phẩm được yêu thích nhất hoặc nhà cung cấp tự tin nhất Điều này cho phép bạn hiển thị các đề xuất hàng đầu trước tiên và có thể tiếp thị chúng mạnh mẽ hơn.
Ta có định nghĩa 2 khái niệm quan trọng được đề cập khá nhiều trong các bài toán object detection để có hiểu rõ hơn về mAP đó là P(Precision) vs R (Recall): precision: P = correct positive predicted positive (5.1) recall: R =correct positive with condition (5.2)
Vậy làm thế nào để tính mAP cho recommender system? Ta sẽ định nghĩa lại
1 chút 2 khái niệm P và R cho dễ hiểu hơn. recommender system precision: P =sản phẩm gợi ý có liên quan sản phẩm gợi ý (5.3) recommender system recall: R = sản phẩm gợi ý có liên quan tất cả mặt hàng có liên quan (5.4)
34 Để dễ hiểu hơn chúng ta có ví dụ sau: VD: Gợi ý một sản phẩm cho người dùng sản phẩm của 1 công ty viễn thông Kết quả của gợi ý sẽ được so sánh với sản phẩm ( gói dịch vụ khách hàng đăng ký vào tháng sau): Chúng ta gợi ý 2 sản phẩm A,B Người dùng đăng ký 4 gói dịch vụ là A, C, D, E Chúng ta đã dự đoán đúng 1 sản phẩm Vậy lúc này:
•sản phẩm gợi ý có liên quan = 1.
•tất cả mặt hàng có liên quan = 4.
•Precision: tỉ lệ sản phẩm phù hợp với khách hàng mà hệ thống gợi ý trên tổng số sản phẩm mô hình gợi ý.
•Recall: tỉ lệ sản phẩm phù hợp với khách hàng mà hệ thống gợi ý trên tổng số sản phẩm thực sự phù hợp với khách hàng,
5.1.2 Precision and Recall at Cutoff k
Hãy tưởng tượng lấy danh sách N đề xuất và chỉ xem xét phần tử đầu tiên, sau đó chỉ xem xét hai phần tử đầu tiên, sau đó chỉ ba phần tử đầu tiên, v.v các tập hợp con này có thể được lập chỉ mục theo k Precision và Recall ở ngưỡng k, P (k) và r (k), chỉ đơn giản là precision và recall được tính bằng cách chỉ xem xét tập hợp con của các đề xuất của bạn từ xếp hạng 1 đến hạng k.
5.1.3 Average Precision Đối với hệ thống gợi ý N sản phẩm, số lượng của sản phẩm liên quan trong toàn bộ không gian là m, ta có:
( (P k)ifk th item was relevant)
Phần trên chúng ta đã tìm hiểu và AP ( Average Precision) được áp dụng cho 1 điểm dữ liệu hay cho 1 người dùng Vậy mAP@N là gì? mAP@N là kỳ vọng của AP@N cho tất cả|U| người dùng được tính bới công thức:
Trong hệ thống đề xuất, MAP tính giá trị trung bình của Độ chính xác trung bình (AP) trên tất cả người dùng AP là một thước đo đưa vào danh sách được xếp hạng gồm N đề xuất và so sánh nó với danh sách tập hợp các đề xuất "đúng" hoặc "có liên quan" cho người dùng đó AP thưởng cho ta khi có nhiều đề xuất "đúng" (có liên quan) trong danh sách gợi ý và thưởng cho ta vì đã đưa các đề xuất có khả năng đúng nhất lên đầu (bạn bị phạt nhiều hơn khi đoán sai có vị trí cao hơn trong bảng xếp hạng) Vì vậy, thứ tự quan trọng rất nhiều trong việc tính điểm AP, nhưng một khi bạn đã tải trước các dự đoán tốt nhất của mình, bạn không bao giờ có thể giảm AP của mình bằng cách tăng thêm.
Datasets
Bộ dataset của một công ty cung cấp mạng Internet cho một khu vực tại Việt Nam trong năm 2010 Dataset gồm 3 file:
•File 1: Data_Acc_Item.csv
Bao gồm các bản ghi theo ngày (Date) các accounts thực hiện một giao dịch với công ty cung cấp mạng Internet về một loại mạng cụ thể (item) và số tiền phải trả (Money).
Bao gồm các bản ghi thống kê lượng sử dụng mạng Internet(bao gồm cả tiêu dùng trong hay ngoài nước cũng như các mục đích giải trí, mạng xã hội, ) của từng account trong một khoảng thời gian(’PERIOD’)
Bao gồm các thông tin về các items - các sản phẩm mạng mà công ty cung cấp.
5.2.2 Thuận lợi và khó khăn
•Số lượng data đủ lớn để mô hình học được một cách chung nhất cho tất cả các người dùng, khách hàng.
•Với mỗi data point (khách hàng), số lượng về thông tin khá lớn bao gồm nhiều thời điểm khác nhau, các khoản tiêu dùng khác nhau cũng như thông tin tài khoản đăng ký.
•Số lượng dữ liệu về khách hàng lớn (343800 khách hàng) tuy nhiên lượng dữ liệu nhiễu khá nhiều bao gồm dữ liệu bị lặp (21586 khách hàng)
•Dữ liệu bị bias khi số lượng người dùng đăng ký gói cước tháng sau giống như tháng trước chiếm xấp xỉ 75%.
Kết quả thực nghiệm
Quá trình huấn luyện model được thực hiện trên NVIDIA Tesla T4 giúp tăng tốc độ tính toán cũng như xử lý.
Do data ban đầu có khá nhiều nhiễu được nêu ở trên nên trước tiên cần phải làm sạch dữ liệu Quá trình này được thực hiện trên excel với các bước sau:
•Loại bỏ nhiễu bao gồm các trường hợp trùng lặp, các trường hợp mà user không thực hiện bất kỳ giao dịch tiêu dùng cũng như dữ liệu nào.
•Chiếu bộ dữ liệu lên các trường ID (ID người dùng), TD_VN_GT (Số tiền cho các trang mạng Việt Nam nhằm mục đích giải trí), TD_VN_khac (Số tiền cho các trang mạng Việt Nam nhằm mục đích khác), TD_NN_GT
(Số, tiền cho các trang mạng nước ngoài nhằm mục đích giải trí), TD_NN_khac (Số tiền cho các trang mạng nước ngoài nhằm mục đích khác), TD_MXH (Số tiền cho các trang mạng xã hội), PERIOD (khoảng thời gian).
•Chia data thành 2 bộ dữ liệu là train và test với tỷ lệ 8:2
Ta thử với lần lượt 1 2 3 4 state trên tập data có kích thước nhỏ có kết quả như sau:
Qua đây chúng ta sẽ chọn 4 state trước sẽ cho kết quả tốt nhất.
Quá trình training được thực hiên qua 100 vòng lặp, thời gian chạy mỗi vòng lặp trung bình là 17s Đầu vào của model sẽ là 4 state trước và nhiệm vụ của model sẽ là dự đoán state tiếp theo hay là gói cước tiếp theo mà người dùng có thể muốn.
Hàm loss hội tụ tốt và không giảm kể từ sau vòng lặp thứ 100.
Sau khi training trên 2 tập data acc-inf và acc-item ta được kết quả 0.48 map@1 trên acc-inf và 0.63 map@3 trên acc-item.
Trong vài thập kỷ qua, với sự nổi lên của Youtube, Amazon, Netflix và nhiều dịch vụ web khác, các hệ thống giới thiệu ngày càng có nhiều vị trí hơn trong cuộc sống của chúng ta Từ thương mại điện tử (gợi ý cho người mua những sản phẩm mà họ có thể quan tâm) đến quảng cáo trực tuyến (gợi ý cho người dùng những nội dung phù hợp, phù hợp với sở thích của họ), hệ thống giới thiệu ngày nay không thể tránh khỏi trong hành trình trực tuyến hàng ngày của chúng ta.
Hệ thống giới thiệu thực sự rất quan trọng trong một số ngành vì chúng có thể tạo ra một khoản thu nhập khổng lồ khi chúng hoạt động hiệu quả hoặc cũng là một cách để nổi bật đáng kể so với các đối thủ cạnh tranh Như một bằng chứng về tầm quan trọng của hệ thống giới thiệu, chúng ta có thể đề cập rằng, một vài năm trước, Netflix đã tổ chức một thử thách (“giải thưởng Netflix”) với mục tiêu là tạo ra một hệ thống giới thiệu hoạt động tốt hơn thuật toán của chính nó với giải thưởng 1 triệu đô la để giành chiến thắng. Tùy mục đích của người sử dụng thì sẽ cần tạo ra một hệ thống gợi ý khác nhau, tuy nhiên cơ chế chung của một hệ thống gợi ý vẫn là dựa vào các hành động mà người dùng đã trải qua hay sự tương quan giữa các người dùng với nhau để giúp đưa ra quyết định đúng đắn.
Nhóm báo cáo đã xây dựng một hệ thống gợi ý áp dụng Reinforcement Learning Tuy nhiên, mô hình vẫn còn khá nhiều điều cần cải tiến Để cải tiến hiệu quả của hệ thống, dữ liệu đòi hỏi phỉa được thu thập đủ tốt, hệ thống phải được lập trình sao cho có thể xử lý dữ liệu và học một cách hiệu quả và nhanh chóng hơn.