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

Học tăng cường và quyết định markov

131 9 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 131
Dung lượng 3,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Rõ ràng là để làm được điều này thì agent phải có khả năng cảm nhận được tình thế của mình trong môi trường và ở một chừng mực nào đó phải có khả năng thực thi các action để có thể thay

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI -

CHÂU MẠNH QUANG

LUẬN VĂN THẠC SĨ KHOA HỌC

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

********* ♦*********

CHÂU MẠNH QUANG

HỌC TĂNG CƯỜNG VÀ QUYẾT ĐỊNH MARKOV

LUẬN VĂN THẠC SĨ KHOA HỌC CHUYÊN NGÀNH: XỬ LÝ THÔNG TIN VÀ TRUYỀN THÔNG

NGƯỜI HƯỚNG DẪN KHOA HỌC :

TS NGUY ỄN LINH GIANG

HÀ NỘI 2009

Trang 3

M ỤC LỤC

MỞ ĐẦU 2

1 H ỌC TĂNG CƯỜNG CƠ BẢN 6

1.1 Các thành ph ần: 6

1.2 Lý thuy ết học tăng cường 7

1.2.1 Ation-Value method 7

1.2.2 Phương pháp Softmax 8

1.2.3 Incremental evaluation 8

1.2.4 Vấn đề về môi trường bất định (nonstationary environment) 9

1.2.5 Reinforcement comparison 10

1.2.6 Pursuit method 11

1.2.7 Associative search 11

1.3 Các v ấn đề về học tăng cường 12

1.3.1 Agent-environment interface 12

1.3.2 Goal và reward 13

1.3.3 Giá trị Return 13

1.3.4 Markov Decision Process 14

1.3.4.1 Markov property 14

1.3.4.2 Markov decision process 14

1.3.4.3 Value function 18

1.3.4.4 Optimal value function 19

1.4 Các gi ải pháp cơ bản cho học tăng cường 23

1.4.1 Dynamic programming 23

1.4.1.1 Policy evaluation 24

1.4.1.2 Policy improvement 27

1.4.1.3 Policy iteration 28

1.4.1.4 Value iteration 29

Trang 4

0

1.4.1.5 Generalized policy iteration 30

1.4.1.6 Độ phức tạp của thuật toán lập trình động 31

1.4.2 Phương pháp Monte-Carlo 31

1.4.2.1 Policy evaluation 31

1.4.2.2 Vấn đề về xác định action value 34

1.4.2.3 Monte-Carlo control 34

1.4.2.4 On-policy Monte-Carrlo control 36

1.4.2.5 Phương pháp đánh giá một policy trong khi thực hiện policy khác 38

1.4.2.6 Off-policy Monte-Carlo control 38

1.4.2.7 Cách thực hiện theo kiểu incremental 40

1.4.3 Phương pháp Temporal-Difference 40

1.4.3.1 TD prediction 41

1.4.3.2 Sarsa: on-policy TD control 46

1.4.3.3 Q-learning: off-policy TD control 47

1.4.3.4 Actor-critic method 48

1.4.3.5 R-learning 49

1.4.3.6 Phương pháp TD(λ) 51

1.4.4 Học tăng cường có sử dụng các approximation function 66

1.4.4.1 Phương pháp gradient-descendent 68

1.4.4.2 Phương pháp tuyến tính 70

1.4.4.3 Control có sử dụng hàm xấp xỉ 74

2 LÝ THUY ẾT HỌC TĂNG CƯỜNG MỞ RỘNG 78

2.1 Thu ật toán chuyển giao (Transfer Algorithms) 78

2.1.1 Phương pháp PPR 80

2.1.2 Phương pháp MGE 80

2.1.3 Phương pháp AdaTran 82

2.1.4 Ví dụ minh hoạ: bài toán gridworld 83

2.2 POMDP và phương pháp policy search 86

2.2.1 Giải pháp 1 86

Trang 5

2.2.2 Giải pháp 2 93

2.2.3 Giải pháp 3 95

2.3 K ết hợp giữa học tăng cường với thuật toán đàn kiến – Ant-Q 96

2.3.1 Ant System 98

2.3.2 ACO 98

2.3.3 Ant-Q 99

2.4 Ứng dụng của học tăng cường kết hợp với suy diễn ngữ pháp 99

2.4.1 Các khái niệm cơ bản 101

2.4.2 Mô hình ngữ pháp cho MDP 102

2.4.3 Simple Context-Free Markov decision process 104

2.4.4 Thuật toán RSG-QL 110

2.4.5 Ví dụ minh hoạ 111

3 K ẾT QUẢ THỰC NGHIỆM 114

4 K ẾT LUẬN 123

5 TÀI LI ỆU THAM KHẢO 126

Trang 6

1

CÁC T Ừ THUẬT NGỮ VIẾT TẮT

MDP: Markov Decision Process

POMDP: Partially Observable Markov Decision Process GPI: Generalized Policy Iteration

TD: Temporal Difference

PPR: Probability Policy Reuse

MGE: Memory Guided Exploration

CFG: Context Free Grammar

SG: Simple Grammar

VSG: Very Simple Grammar

RSG: Right-Unique Simple Grammar

PSG: Probabilistic Simple Grammar

USG: Unifiable Simple Grammar

Trang 7

M Ở ĐẦU

Ý tưởng về việc học thông qua tương tác với môi trường có lẽ là cái mà ta nghĩ đến đầu tiên khi ta xem xét đến các quá trình học trong tự nhiên Khi một đứa trẻ chơi, vẫy tay, nhìn ngó xung quanh, lúc đó mặc dù không có ai dạy bảo nhưng đứa trẻ có tương tác với môi trường Qua đó, thu nhận được rất nhiều thông tin về nguyên nhân và hệ quả, về những tác động của từng hành động và từ đó đứa trẻ có thể từng bước xác định được làm thế nào để đạt được một mục đích nào đó Trong cuộc đời chúng ta, những sự tương tác với môi trường như vậy mang lại cho chúng

ta nhiều kiến thức nhất về môi trường và bản thân Bất kỳ lúc nào khi ta lái xe hay nói chuyện thì chúng ta đều nhận thức được môi trường đáp ứng lại mỗi hành động

các hành động của mình Việc học thông qua tương tác với môi trường là một trong những ý tưởng cơ sở của lý thuyết máy học Phương pháp học này được gọi là học tăng cường

Học tăng cường là phương pháp học cách hành động thích hợp để đáp ứng với tình huống sao cho giá trị reward thu được là tối ưu Người học không được hướng dẫn trước cách hành động như những phương pháp học khác mà phải tự khám phá

ra những hành động nào thì cho ra được giá trị reward lớn nhất bằng cách thử thực hiện chúng Trong một số trường hợp đặc biệt, action có thể ảnh hưởng đến không những giá trị reward tức thời mà còn cả những tình huống tiếp theo và dẫn đến ảnh hưởng cả những reward kế tiếp Hai đặc tính này: trial-and-error search và delayed reward là hai đặc trưng riêng của học tăng cường

Quá trình học tăng cường thường được áp dụng trong hoàn cảnh mà một agent nào đó học cách tương tác với môi trường để đạt đến được đích của mình Rõ ràng

là để làm được điều này thì agent phải có khả năng cảm nhận được tình thế của mình trong môi trường và ở một chừng mực nào đó phải có khả năng thực thi các action để có thể thay đổi được tình thế Như vậy là trong quá trình học tăng cường

có 3 yếu tố là nhận thức (sensation), hành động (action) và đích (goal)

Trang 8

3

Học tăng cường khác với học có giám sát (supervised learning) ở chỗ là học

có giám sát thì học theo các mẫu kiến thức đã được xác định trước, và ứng với mỗi mẫu input thì cho ra giá trị output nhất định Với cách học này thì không thể đủ để học bằng cách chỉ thông qua việc tương tác với môi trường Nguyên nhân là ở chỗ chỉ bằng cách tương tác với môi trường thì khó có thể xác định được các mẫu mà cho ra kết quả như ý cũng như không thể xác định hết tất cả các mẫu tình huống mà agent gặp phải trong cả quá trình hành động của mình

Một trong những vấn đề mà quá trình học tăng cường phải giải quyết là phải cân bằng được 2 quá trình khai thác (exploitation) và khám phá (exploration) Tại một thời điểm nếu agent hành động theo hướng này thì phải bỏ qua hướng kia Để nhận được nhiều reward thì agent phải ưu tiên thực hiện các action mà đã gặp trong quá khứ mà cho ra nhiều reward (exploitation) Nhưng để khám phá ra được các action đó thì agent buộc phải thử các action mà chưa được thử bao giờ (exploration) Nói cách khác agent phải đồng thời khai thác những kiến thức đã học được nhưng đồng thời cũng phải học hỏi cái mới

Vấn đề khác đối với học tăng cường là agent phải tương tác với môi trường không xác định

Lý thuyết về học tăng cường đã làm cho 2 lĩnh vực engineering và trí tuệ nhân tạo xích lại gần nhau hơn Trước đây trí tuệ nhân tạo chỉ thuần tuý là các LISP programs, không liên quan nhiều đến những thứ như linear algebra, differential equation, và statistic Nhưng gần đây, với sự phát triển của neural network, intelligent control, và học tăng cường thì nhiều lĩnh vực của engineering bắt đầu được áp dụng trong trí tuệ nhân tạo

Trong thưc tế, học tăng cường được ra đời và được thúc đẩy phát triển bới nhiều bài toán cần giải quyết cũng như từ sự quan sát các quá trình học tự nhiên Dưới đây là một số ví dụ điển hình:

Người chơi bài: khi đánh quân bài thì sự lựa chọn quân bài thì sự lựa chọn quân bài đựa trên thông tin thu nhận được từ 2 nguồn Thứ nhất là sự kết hợp của việc lập kế hoạch (planning) và phỏng đoán khả năng đáp trả của đối phương

Trang 9

(anticipation) Nguồn thứ hai là từ việc đánh giá tình hình một cách trực giác (intuitive)

Adaptive controller điều chỉnh các thông số của nhà máy lọc dầu: controller phải điều chỉnh một cách thích hợp và tối ưu các giá trị của yield, cost, và quality có cân nhắc đến ảnh hưởng lẫn nhau của các giá trị Để công việc điều chỉnh trên đạt hiệu quả cao thì controller không thể chỉ dựa vào các tập hợp các giá trị được định trước của kỹ sư

Con nai con khi mới ra đời phải tập cách giữ thăng bằng để có thể đứng được trên 4 chân, để rồi 30 phút sau nó có thể chạy được với tốc độ 20 dặm/giờ

Mobile robot sử dụng năng lượng acquy khi hoạt động phải cân nhắc thực hiện công việc một cách có hiệu quả dựa theo lượng điện còn lại trong ăcquy để còn đủ điện để quay trở về chỗ nạp điện

Những ví dụ trên đều có chung một đặc điểm dễ nhìn thấy: đó là tất cả mọi agent đều phải tương tác với môi trường để từ đó agent có thể tìm cách đạt đến đích mặc dù môi trường là không xác định đối với agent Các action của agent có thể có ảnh hưởng đến các bước quyết định tiếp theo (ví dụ: tiếp theo đánh quân bài nào, lượng dầu trong các bể chứa, vị trí tiếp theo của robot), và từ đó ảnh hưởng đến các chọn lựa và cơ hội đạt đến đích của agent trong giai đoạn về sau Để có được quyết định chính xác thì cần phải áp dụng các phương pháp dự đoán (foresight) và lập kế hoạch (planning) Tại mỗi thời điểm thì tác động của các action đến giai đoạn tiếp theo chưa thể xác định và cũng không dễ gì tiên đoán được Do đó, agent cần phải thường xuyên quan sát môi trường và ra quyết định phù hợp với môi trường ở mọi

những những kiến thức mà đã cảm nhận hoặc đánh giá được trong gia đoạn trước

Ví dụ, người đánh bài nhìn vào những quân bài đã đánh có thể biết được họ có thể thắng hoặc thua, controller biết được có bao nhiêu dầu đã được xử lý, mobile robot biết còn bao nhiêu điện Những gì agent thu nhận được qua sự tương tác với môi trường được gọi là experience Những experience này được sử dụng để làm tăng hiệu quả của các action theo thời gian

Trang 10

5

Trong học tăng cường thì các thuật toán tiến hoá (evolutionary methods) như

là genetic algorithms, genetic programming, simulated annealing, vv… ít khi được

sử dụng Nguyên nhân là do học tăng cường học từ quá trình tương tác với môi trường còn các phép tính tiến hoá thì thường không quan tâm đến từng state được đi qua hay từng action được chọn tại mỗi thời điểm Thay vào đó thì các phép tính tiến hoá lại thường xử lý thông tin bằng cách gộp tất cả lại

Đề tài của luận văn cao học này mang tính lý thuyết kết hợp với thực nghiệm

để kiểm chứng một số phần của lý thuyết Mục đích của luận văn gồm có:

-Nghiên cứu một cách có hệ thống về lý thuyết học tăng cường

-Nghiên cứu về các lý thuyết mở rộng về học tăng cường cũng như việc kết hợp giữa học tăng cường với các lý thuyết khác

-Tiến hành thực nghiệm với một bài toán để kiểm chứng lý thuyết và minh họa cho sự khác biệt giữa một số phương pháp học tăng cường

Trang 11

1 H ọc tăng cường cơ bản

1.1 Các thành ph ần:

Ngoài agent và môi trường được đề cập ở trên thì học tăng cường còn được đặc trưng bởi các thành phần như: policy, reward function, value function và trong một số trường hợp còn có cả model

thể hơn thì policy quyết định cách chọn action tại mỗi thờid điểm Định nghĩa một cách đơn giản thì policy là mapping từ trạng thái của môi trường vào action Trong một số trường hợp thì policy chỉ là hàm đơn giản hay là lookup table Một số trường hợp khác thì policy lại là một quá trình tính toán rất phức tạp ví dụ như là quá trình tìm kiếm (search process) Policy chính là thành phần quan trọng nhất của học tăng cường bởi vì nó điều khiển các action của agent Xét về tổng quan thì policy có thể mang tính ngẫu nhiên, không thể dự đoán được (stochastic)

giá trị của reward là lớn nhất Những vị trí mà khả năng đạt được đích cao hơn thì giá trị reward cũng cao hơn Định nghĩa một cách đơn giản thì hàm reward map các state (hay các cặp state-action) vào các giá trị số (reward) Các giá trị số này chỉ thị mức độ quan trọng của state trong quá trình đạt đến đích

Giá trị Value function xác định mức độ “tốt” của quá trình tìm đến đích của agent xét trong cả một giai đoạn dài, khác với giá trị reward chỉ xác định mức độ

“tốt” ở thời điểm hiện tại Định nghĩa một cách đơn giản thì value của một state nào

đó là tổng của tất cả các reward mà agent trông đợi là sẽ đạt được trong gia đoạn tính từ state hiện tại tới khi đạt được đích

Một thành phần nữa của học tăng cường là model Model là mô hình mô phỏng lại các quy luật hành xử của môi trường Nếucó model thì có thể tiên đoán được các state và reward tiếp theo của từng cặp action-state xác định

Trang 12

7

1.2 Lý thuy ết học tăng cường

Giá trị của feedback cho phép ta xác định được các action được thực hiện là

“tốt” đến mức nào chứ không xác định được action nào là tốt nhất, hay action nào là

“kém” nhất Dưới đây là một số phương pháp đánh giá feedback:

1.2.1 Ation-Value method

Phương pháp này sử dụng hàm đánh giá cho action thay vì hàm đánh giá cho state như truyền thống Ta gọi:

Q*(a) là giá trị đích thực (true value) của action a

giá trị trung bình của các reward của a Giả sử đến thời điểm t thì action a đã được thực hiện ka lần với các reward r1, r2, …, rka thì:

(a)

Phương pháp xác chọn action đơn giản nhất là phương pháp lựa chọn action theo kiểu “greedy”, có nghĩa là tại thời điểm t ta chọn một trong số các action

value function của các action được xét Khi đó ta có:

Qt(a*) = maxaQt(a)

Một phương pháp khác có mức độ “greedy” nhỏ hơn được gọi là ε-greedy Khi đó với xác suất (1 – ε) ta chọn action theo kiểu greedy, còn với xác suất ε ta chọn action một cách ngẫu nhiên Với cách chọn như vậy thì đảm bảo vừa có khám phá vừa có khai thác

Trang 13

1.2.2 Phương pháp Softmax

Mặc dù chọn action theo phương pháp ε – greedy là khá hiệu quả nhưng phương pháp này cũng có một nhược điểm là khi khám phá (exploration) thì mọi action đều được chọn lựa với xác suất như nhau Với cách chọn này thì cả những

điểm này là gán xác suất chọn lựa action với giá trị value ước đoán của nó Đó là phương pháp Softmax Phương pháp này sử dụng luật phân bố Boltzmann (Boltzmann distribution) Với luật này thì action a được chọn với xác suất:

Trong đó τ là nhiệt độ Nếu nhiệt độ thật cao thì các xác suất là gần bằng nhau -> chọn lựa trở thành phương pháp ngẫu nhiên Nếu nhiệt độ càng thấp thì mức độ chọn lựa kiểu greedy càng cao Nếu τ = 0 thì phương pháp trở thành greedy hoàn toàn

một đơn vị bộ nhớ cho mỗi action để lưu giá trị Q Khi đó ta có thể tính giá trị của

Q theo giá trị trước đó như sau:

Trang 14

9

Có nghĩa là các giá trị được điều chỉnh theo quy luật sau:

Biểu thức [Target - OldEstimate] gọi là error

Giá trị step-size 0 < α <= 1 là hằng số (constant)

Khi đó ta có thể tính Qk theo Q0:

Trang 15

Ta gọi cách tính này là weighted average bởi vì tổng các weight là:

Gọi pt(a) là giá trị preference của action a

Xác suất chọn action a được tính theo luật Softmax:

Trang 16

11

1.2.6 Pursuit method

Với phương pháp này thì xác suất lựa chọn action theo kiểu greedy tăng dần theo thời gian Khi sử dụng phương pháp này thì cần thiết phải lưu giữ các giá trị của value estimate và cả action reference

Trang 17

của tập các action xác định được cách học như vậy được gọi là associative search

1.3 Các v ấn đề về học tăng cường

Học tăng cường như đã trình bày ở trên là quá trình học từ sự tương tác giữa agent với môi trường Quá trình học có thể là thụ động (passive) hoặc chủ động (active)

Quá trình học thụ động, hay còn gọi là on-policy, sử dụng policy cố định cho

cả quá trình Nhiệm vụ của agent chỉ là xác định các value function và từ đó chọ lựa action theo policy đã định sẵn

Trong quá trình học chủ động (off-policy) thì agent còn phải học cách hành xử,

có nghĩa là phải thực hiện cả quá trình exploration Với quá trình exploration thì agent phải khám phá càng nhiều càng tốt môi trường để từ đó có thể điều chỉnh policy một cách linh hoạt

Để hoàn thành một quá trình học tăng cường thì phải thực hiện nhiều bài toán

rewards, giá trị return, và áp dụng nhiều lý thuyết quyết định như MDP (Markov decision process), Bellmann equation, value iteration, policy iteration, vv… Tiếp theo đây các vấn đề nêu trên sẽ được trình bày tuần tự

1.3.1 Agent-environment interface

Giao diện biểu diễn tương tác giữa agent và môi trường được biểu diễn dưới đây:

Trang 18

13

Trong đó: agent có nhiệm vụ học và đưa ra quyết định Môi trường là những

gì tồn tại xung quanh agent, tương tác với agent

Agent tương tương tác với môi trường, ra quyết định chọn action và thu nhận

về các giá trị reward và chuyển trạng thái sang state khác hoạt động cụ thể của agent được trình bày như sau: tại thời điểm t agent tìm hiểu các thông số của mô trường tại thời điểm đó Sau đó agent chọn action a(t) theo một policy nào đó Action cho ra giá trị output nào đó Hiệu quả của action và ảnh hưởng của nó đối với môi trường được thông báo lại cho agent thông qua giá trị reward r(t) Môi trường chịu tác động của action a(t),

Trong học tăng cường thì goal được hình thức hoá bằng cách dùng giá trị của reward Ở mỗi bước thì giá trị của reward thường là một con số đơn giản Nếu dạt được đến goal thì giá trị reward tổng hợp trong cả quá trình lâu dài sẽ đạt đến giá trị tối đa Để đạt được điều này thì vị trí goal thường có giá trị reward rất lớn

1.3.2 Goal và reward

Trong học tăng cường thì trạng thái đích (goal state) thường được hiển thị bằng giá trị reward đặc biệt, thông thường là giá trị rất lớn so với reward ở các state khác

1.3.3 Giá tr ị Return

Gọi chuỗi các reward nhận được sau thời điểm t là rt+ 1, rt+2, …

của các reward tính từ thời điểm t:

Nếu cả quá trình học tăng cường được chia thành nhiều giai đoạn thì mỗi giai đoạn được gọi là một episode Mỗi episode đều có terminal state riêng Và sau đó quá trình lại bắt đầu từ starting state của episode tiếp theo Trong trường hợp continuing task thì cả quá trình không chia thành episode mà tiếp diễn liên tục, và final step T có thể tiên tới ∞ Với những trường hợp này thì giá trị reward phải lựa

Trang 19

chọn một cách thích hợp để các giá trị đó và kết quả của các phép tính dựa trên các giá trị đó nằm trong khoảng xác định

Trong trường hợp có áp dụng discounting cho các bước thì:

Trong đó 0 <= γ <= 1 gọi là discount rate

1.3.4 Markov Decision Process

1.3.4.1 Markov property

trên các state signal thu được từ môi trường Nếu một state signal chứa được đủ thông tin cần thiết (ví dụ như về quá trình trong quá khứ) để agent có thể ra quyết định thì gọi là Markov property Thuộc tính này rất quan trọng đối với học tăng cường vì các quyết định và các giá trị của các bước trong học tăng cường chỉ dựa vào bước trước đó Ví dụ như ta có probability distribution của một quá trình tại thời điểm t+1:

Nếu state signal của quá trình này có thuộc tính Markov thì ta có thể tiên đoán cho bước tiếp theo mà chỉ dựa vào các thông số của bước hiện tại (bởi vì các state signal của bước hiện tại đã chứa đủ thông tin cần thiết rồi) Khi đó probability distribution sẽ được xác định như sau:

Trong thực tế thì có một số trường hợp các state signal không hoàn toàn mang thuộc tính Markov nhưng vẫn có thể xem như là xấp xỉ Markov để ứng dụng trong quá trình học tăng cường

1.3.4.2 Markov decision process

Học tăng cường chủ yếu được dựa trên mô hình Markov Decision Process (MDP) Với môi trường “Markov chain” thì state tiếp theo chỉ phụ thuộc vào state trước đó do state signal của bước trước đó đã bao gồm các thông tin cần thiết MDP

là sự mở rộng của “Markov chain” với sự có mặt của các action và reward Môi trường Markov có thể là non-deterministic (với state và action xác định thì có thể cho ra các state kế tiếp khác nhau ở những thời điểm khác nhau) hay stationary

Trang 20

15

(state và action xác định cho ra state kế tiếp giống nhau ở mọi thời điểm)

MDP được định nghĩa là 4-tuple:

S: tập hợp của các state

A: tập hợp của các action

T: SxA -> P(S): là mapping từ states và actions vào giá trị probabilistic distribution

ρ: SxA -> R: là payoff function, mapping từ state và action vào reward

Trong trường hợp phức tạp hơn ta có POMDP (partially observable Markov decision process) Đây là trường hợp mà agent không hề biết mình đang ở state nào

mà thay vào đó chỉ nhận được giá trị observation là một giá trị nào đó mà agent quan sát được sau khi thực hiện 1 action Ở mỗi bước trong POMDP, agent quan sát được giá trị o(t) và thực hiện action a(t) rồi nhận được giá trị reward r(t)

Về mặt hình thức POMDP được định nghĩa là tuple(S, O, A, B, T, ρ):

S: là tập hợp của các states

O: là tập các observations

A: là tập các actions

B: là observation function B:S->P(O)

T: SxA->P(S) là mapping từ state và action vào probability distributions ρ:SxA->R là payoff function, mapping từ state và action vào reward

Với MDP, Xác suất của state tiếp theo s’ là:

Expected value của reward tiếp theo là:

Ví dụ: Recycling Robot MDP

Recycling robot (robot nhặt rác) là một ví dụ đơn giản của MDP Robot được trang bị ăc qui và trong quá trình vận hành thì phải cân nhắc đến lượng điện còn lại trong ăc qui để sắp xếp công việc sao cho hiệu quả nhất và dặc biệt là luôn phải có

đủ năng lượng đủ để quay về nạp lại điện Tại mỗi thời điểm, robot quyết định giữa các việc sau:

Tiếp tục tiếp tục tìm rác (tốn nhiều năng lượng nhất)

Đứng yên tại chỗ chờ người đem rác tới (ít tốn năng lượng hơn)

Trang 21

Quay về nạp lại điện (năng lượng sắp hết)

Cách tốt nhất để nhận được rác là tích cực tìm kiếm, tuy nhiên làm như vậy thì

sẽ hết điện nhanh hơn Nếu trong quá trình làm việc mà robot hết điện giữa chừng thì sẽ nhận đwợc reward rất thấp

Như vậy trạng thái (state) của robot gồm có High và Low Các action có thể lựa chọn là:

Khi mà năng lượng ở mức High thì bước tìm kiếm rác tiếp theo luôn kết thúc

mà không bị hết pin giữa chừng Tuy nhiên sau bước tìm kiếm rác thì năng lượng giữ nguyên mức High với xác suất α và chuyển sang trạng thái Low với xác suất (1 – α) Nếu bước tìm kiếm rác được thực hiện khi năng lượng ở mức Low thì xác suất năng lượng giữ nguyên mức Low là β còn xác suất hết pin là (1 – β) Trong trường hợp hết pin giữa chừng thì robot phải đươc “cứu” và khi đó thì reward nhận được là -3 Gọi Rsearch

bước chờ rác Trong những bước này thì nếu được bao nhiêu rác thì được bấy nhiêu reward Còn với bước về nạp lại điện thì reward = 0

Bảng dưới đây liệt kê các action cùng với reward của từng action:

Trang 22

17

Transition graph được biểu diễn bằng đồ thị sau:

Trang 23

1.3.4.3 Value function

Hầu như tất cả các thuật toán học tăng cường đều dựa trên sự ước đoán giá trị của value function Giá trị ước đoán này thể hiện mức độ “tốt” của của vị trí hiện tại của agent, được xác định bằng các reward của các bước tiếp theo Value function được xác định dựa theo từng policy nhất định

state s với policy π là π(s,a) Khi đó giá trị value function của state s với policy π là

theo policy π Với MDP thì giá trị value function được tính như sau:

Ta cũng định nghĩa value function cho việc chọn action a tại state s với policy

pháp cụ thể sẽ được trình bày ở phần sau Các hàm này có thể được khai triển theo

Công thức trên được gọi là Bellman equation

Trang 24

19

Ví dụ: bài toán gridworld

Đồ thị dưới đây biểu diễn các giá trị của value function cho các state trong bài toán 4x3 gridworld:

Bài toán gridworld này được mô tả như sau: ta có (4x3) gridworld, vị trí khởi đầu là (1,1) đích đến (goal) là (4,3) Giá trị reward cho mỗi bước đi là -0.04, còn reward của goal là +1 Nếu đi vào ô (4,2) thì nhận được reward là -1 Giá trị discount γ = 1 Nếu xác định giá trị reward cho các vị trí theo phương pháp value iteration (sẽ được trình bày trong phần kế tiếp) thì giá trị value function cho các state sẽ như là hình vẽ

1.3.4.4 Optimal value function

Giải quyết bài toán về học tăng cường có nghĩa là tìm ra policy mà nhận được nhiều reward nhất, gọi là optimal policy Tương tự cũng cần xác định các hàm tối

ưu của state-value function và action-value function

Gọi Π* là optimal policy, V* là optimal state-value function, Q* là optimal action-value function Khi đó ta có:

Nếu tính Q* theo V* thì:

Trang 25

Nếu sử dụng Bellman Optimality function thì:

Để tính được các giá trị tối ưu này thì ta dùng phương pháp iteration Với Value function thì thuật toán như sau:

function VALUE- ITERATION(^^^, E) returns a Value function

discount γ, ε: giá trị error tối đa cho phép

δ, giá trị thay đổi lớn nhất của bất kỳ state nào trong một iteration nào đó repeat

Trang 26

lần iteration phải càng lớn

Thuật toán trên áp dụng cho giá trị γ < 1 Với γ = 1 thì giá trị của value function hội tụ rất nhanh Đồ thị dưới đây biểu diễn cho trường hợp γ = 1: khi số lượng iteration đạt đến 10 thì sai số đã gần như = 0

Trang 27

Với policy thì thuật toán iteration được khởi đầu với policy π0, gồm các bước lặp đi lặp lại như sau:

bước i

Tính optimal policy cho πi+ 1 dựa trên các value của Vi

Thuật toán được trình bày như sau:

function POLICY- ITERATION(^^^) returns a policy

π, policy vector được đánh chỉ số theo các state, khởi đầu được gán giá trị ngẫu nhiên

Trang 28

1.4 Các gi ải pháp cơ bản cho học tăng cường

Các giải pháp cơ bản cho học tăng cường bao gồm dynamic programming, Monte-Carlo, và temporal-difference Mỗi phương pháp có ưu điểm và nhược điểm riêng Phương pháp dynamic programming dễ dàng được khai triển theo phương pháp toán học tuy nhiên lại đòi hỏi phải xác lập được một cách chính xác mô hình của môi trường, hơn nữa để thực hiện dynamic programming thì đòi hỏi độ phức tạp của phép toán lớn Monte-Carlo thì nói chung đơn giản, không đòi hỏi mô hình nhưng không thích hợp cho kiểu tính incremental cho từng bước một do đó trong một số trường hợp là không thích hợp Temporal-difference thì không đòi hỏi mô hình và hoàn toàn dựa trên phương pháp tính incremental tuy nhiên khó phân tích Phần tiếp theo của tài liệu sẽ mô tả chi tiết cho từng giải pháp

1.4.1 Dynamic programming

Dynamic programming là tập hợp của những thuật toán học tăng cường được dùng để tính toán xác định policy tối ưu với điều kiện là mô hình của môi trường được xác định một cách rõ ràng và là môi trường Markov Các phương pháp dynamic programming cơ bản nói chung ít có ứng dụng trong thực tế vì đòi hỏi môi trường phải có mô hình xác định và độ phức tạp tính toán là lớn Tuy nhiên các phương pháp này vẫn có ý nghĩa về nghiên cứu lý thuyết, hơn nữa nếu phối hợp với các phương pháp khác thì cũng đem lại hiệu quả trong một số trường hợp

Trang 29

Goi S là tập hợp của các state, A(s) là tập hợp của các action thuộc state s Xác suất từ state s thực hiện action a để chuyển sang state s’ là:

Và giá trị reward được mong đợi tương ứng là:

Ý tưởng chính của dynamic programming là sử dụng value function để tìm kiếm policy tốt nhất Áp dụng Bellman equation ta có:

1.4.1.1 Policy evaluation

Để xác định được policy tốt thì với dynamic programming trước tiên cần tính giá trị cho state-value function ứng với policy đó:

Trong đó π(s,a) là xác suất chọn action a tại state s với policy π

cách tuỳ ý, còn các giá trị V tiếp theo thì được tính dựa trên các giá trị đã được tính trước Áp dụng công thức Bellman ta có thể tính giá trị V sau dựa trên giá trị V

Trang 30

25

trước đó như sau:

các state, khi k → ∞ Như vậy cách xác định các giá trị V dựa trên cách tính lặp đi lặp lại như vậy gọi là iterative policy evaluation

trị mới được tính từ giá trị reward tức thời và giá trị V cũ Như vậy đòi hỏi phải có một cơ chế back-up các giá trị cũ Có nhiều phương pháp back-up khác nhau, ví dụ như là back-up giá trị cho từng state hoặc cho từng cặp state-action

Một vấn đề khác của quá trình iteration cần được quan tâm là điều kiện kết

→ ∞ Tuy nhiên trong thực tế thì số lượng lần lặp đi lặp lại không thể tiến tới vô cùng Do đó ta cần phải chấp nhận một mức độ sai số cho phép, ở đây là hiệu số

MaxsS|Vk+1(s) – Vk(s)| ≤ θ

Thuật toán iterative policy evaluation được trình bày như sau:

Trang 31

Ví dụ: ta có 4x4 gridworld như hình vẽ:

Tập hợp S = {1, 2, …, 14}

Tập action tại s: A(s) = {up, down, right, left}

Mọi action có xác suất thực hiện như nhau, nếu action làm agent đi ra khỏi grid thì agent vẫn đứng yên tại vị trí cũ và các giá trị trong trường hợp đó là không đổi Giá trị reward tức thời là -1 cho mọi action cho đến khi đạt đến terminal state Quá trình iteration ứng với greedy policy được biểu diễn như sau:

Trang 33

nào đó khác với π thì theo định lý về policy improvement, nếu như:

Thì ta có:

Định lý này được chứng minh như sau:

Và π’(s) được xác định như sau:

1.4.1.3 Policy iteration

Với phương pháp policy iteration thì ta thực hiện lặp đi lặp lại các bước mà mỗi bước gồm một quá trình policy evaluation và một quá trình policy improvement như sơ đồ dưới đây:

Thuật toán được trình bày như sau:

Trang 34

29

1.4.1.4 Value iteration

Policy iteration có một nhược điểm là mỗi vòng lặp thì bao gồm luôn cả một quá trình evaluation cũng bao gồm nhiều vòng lặp Muốn loại bỏ vòng lặp của quá trình evaluation thì ta có thể xác định value function theo cách sau:

Thuật toán này được gọi là value iteration, được trình bày như sau:

Trang 35

1.4.1.5 Generalized policy iteration

Trong policy iteration thì có 2 quá trình được thực hiện luân phiên với nhau Quá trình evaluation xác định giá trị dựa trên policy định sẵn, còn quá trình improvement thì xác định policy theo kiểu tham lam Một ý tưởng khác là cho 2 quá trình trên tương tác với nhau, có nghĩa là sử dụng quá trình evaluation để xác định

improvement Sau đó lại dùng π* để thực hiện quá trình evaluation và thao tác như vậy lặp đi lặp lại cho đến khi các giá trị đạt đến mức hội tụ cần thiết

Với 2 quá trình tương tác với nhau theo phương pháp này thì tốc độ hội tụ của thuật toán diễn ra nhanh hơn, như được biểu diễn ở hình vẽ dưới đây:

Trang 36

31

Nếu MDP có m actions và n states thì độ phức tạp của bài toàn vào khoảng

quả

1.4.2 Phương pháp Monte-Carlo

Ở phần trên của tài liệu đã trình bày về thuật toán lập trình động Với phương pháp ở trên thì policy tối ưu được xác định thông qua việc tính toán các giá trị của value function Để thực hiện được điều này thì cần phải có hiểu biết về mô hình của môi trường Thuật toán Monte-Carlo khác với lập trình động ở chỗ không cần biết đến mô hình của môi trường, mà chỉ cần dựa vào các experiences Các experience thu được từ việc thực hiện các chuỗi action-state Như vậy là việc học được thực hiện bằng các tương tác với môi trường theo kiểu on-line hay bằng mô phỏng Quá trình học theo kiểu Monte-Carlo được chia thành nhiều giai đoạn (episode) Các thông số của value function thu được trong mỗi episode được tính giá trị trung bình rồi từ đó xác định policy tối ưu Các episode của đều có kết thúc bất kể action nào được thực hiện trong episode

1.4.2.1 Policy evaluation

Như đã nói ở trên, việc xác định các thông số trong thuật toán Monte-Carlo được dựa trên việc lấy giá trị trung bình của các lần thực nghiệm

Monte-Carlo ta có thể sử dụng phương pháp every-visit hoặc first-visit Từ visit ở

Trang 37

đây có nghĩa là một lần đi qua state s Với phương pháp first-visit thì ta chỉ lấy giá trị trung bình cho lần visit đầu tiên tới s trong mỗi episode Với phương pháp every-visit thì ta lấy giá trị trung bình cho mọi lần visit

Phương pháp tính theo kiểu first-visit được mô tả như sau:

Giá trị value thu được từ cả 2 phương pháp first-visit và every-visit đều hội tụ

Việc áp dụng thuật toán Monte-Carlo được thể hiện qua ví dụ về chơi bài blackjack:

Blackjack là một kiểu chơi bài rất phổ biến trong các casino Mục đích cần đạt đến là làm sao để nhận được một số quân bài có tổng số điểm càng cao càng tốt nhưng không được vượt quá 21 Tất cả các quân bài có mặt (J, Q, K) được tính 10 điểm, và quân át có giá trị 1 hoặc 11 Ta xét trường hợp từng người một đánh bài với người cầm cái (chỉ có 2 người chơi) Ván bài bắt đầu với mỗi người chơi có 2 quân bài Một quân bài của người cầm cái để ngửa và quân còn lại để sấp Nếu người chơi có được tổng số điểm là 21 chỉ với 2 quân bài đầu tiên thì gọi là natural Trong trường hợp này người chơi sẽ thắng nếu người cầm cái không có natural Nếu người chơi không có được natural thì có quyền yêu cầu thêm quân bài mới, từng quân một (gọi là hit), cho tới khi người chơi ngừng lấy thêm quân bài (lúc này gọi là stick) hay khi mà tổng số quân bài của người chơi vượt quá 21 (lúc này gọi là goes bust) Nếu người chơi mà goes bust thì sẽ thua Nếu người chơi dừng (stick) thì đến lượt người cầm cái lấy quân bài (hit) hay dừng (stick) theo quy luật chơi định sẵn: hit nếu tổng số điểm nhỏ hơn 17, nếu vượt quá 17 thì dừng (stick) Nếu người cầm

Trang 38

33

cái goes bust thì thua, nếu không thì so điểm với người chơi xem ai thắng

Quá trình chơi bài blackjack được mô hình hoá thành episodic finite MDP Mỗi một game của blackjack là một episode Giá trị reward là 1 nếu thắng, -1 nếu thua và 0 nếu hoà Tất cả các reward khác trong game là bằng 0 Ở đây không có discount (γ = 0) Các action gồm có hit hoặc stick Các state thì phụ thuộc vào những quân bài mà người chơi có và quân bài mà người cầm cái để ngửa, do đó số lượng state là rất lớn Trong bài toán này ta cho rằng số quân bài là vô tận (do được

bổ sung sau mỗi khi chia) và do đó không cần phải quan tâm đến những quân bài đã được chơi Nếu người chơi có quân át thì anh ta có thể tính thành 11 mà không bị bust, khi đó quân át được gọi là usable Do đó quyết định của người chơi dựa trên 3 yếu tố: tổng số điểm hiện có, quân bài để ngửa của người cầm cái và anh ta có quân bài át usable hay không

Ta chọn một policy là người chơi sẽ stick nếu tổng số điểm là 20 hoặc 21, và

phải thực hiện nhiều lần chơi rồi lấy giá trị trung bình của reward của terminal state Trong trường hợp này thì rõ ràng là terminal state chỉ xuất hiện 1 lần trong cả episode nên phương pháp first-visit hay every-visit đều như nhau Những trường hợp mà quân át là usable thì giá trị của value function nói chung ít ổn định hơn Nếu

số lượng lần chơi vào khoảng 500 000 trở lên thì giá trị của value function xem như

là hội tụ Đồ thị dưới đây hiển thị giá trị của value function phụ thuộc vào 2 tham số

là số điểm người cầm cái show bài và tổng số điểm của người chơi

Trang 39

Trong trường hợp chơi bài blackjack thì môi trường là xác định tuy nhiên không dễ gì có thể áp dụng phương pháp lập trình động ở đây vì nó đòi hỏi phải có quy luật về xác suất chuyển đổi từ state này sang state khác mà ở đây không thể xác định được Do đó với trường hợp blackjack thì thuật toán Monte-Carlo là thích hợp

Để xác định được policy tối ưu thì việc trước tiên là xác định các giá trị

Về tổng quan thì phương pháp Monte-Carlo cũng tương tự như phương pháp xác định policy dựa vào state value Các value của các cặp state-action pair được tính trung bình và hội tụ khi số lần thực hiện lớn Tuy nhiên vấn đề là ở chỗ phương pháp Monte-Carlo nhiều khi bỏ qua mà không thực hiện một số state-action pair,

mà các trường hợp này nhiều khi lại là rất quan trọng vì có thể dẫn đến giải pháp tối

ưu Khi đã thiếu đi một số state-action pair quan trọng thì policy cuối cùng tìm được

có thể sẽ rất không hiệu quả

Giải pháp cho vấn đề được trình bày ở trên là phải đảm bảo thực hiện quá trình khám phá (exploration) để mọi action-state đều được thực hiện Một giải pháp

là mỗi episode được khởi đầu với một cặp action-state và số lượng episode phải đảm bảo để tất cả mọi cặp action-state đều được thực hiện Phương pháp này được gọi là exploration starts

1.4.2.3 Monte-Carlo control

Phương pháp Monte-Carlo control được dựa trên ý tưởng của phương pháp generalized policy iteration (GPI) của lập trình động Ý tưởng của GPI là cho các

Trang 40

35

quá trình evaluation và improvement thực hiện xen kẽ, cả 2 quá trình tương tác với nhau, hỗ trợ nhau để dạt đến policy tối ưu một cách nhanh chóng

Tương tự, quá trình policy iteration của Monte-Carlo cũng cho thực hiện 2 quá

đến lúc hội tụ

Policy tối ưu được xác định từ các action mà cho ra giá trị Q tối ưu:

trên giá trị của Qπk

:

Phương pháp thực hiện xen kẽ 2 quá trình evaluation và improvement dựa trên các episode, thực hiện theo kiểu exploration starts được đặt tên là Monte-Carlo ES, được mô tả như sau:

Ngày đăng: 25/02/2021, 16:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w