Thuyết Củng Cố Động Lực ( Reinforcement Là Gì, Nghĩa Của Từ Reinforcement

Trong lĩnh vực trí tuệ nhân tạo nói chung và lĩnh vực học máy nói riêng thì Reinforcement learing (RL) là một cách tiếp cận tập trung vào việc học để hoàn thành được mục tiêu bằng việc tương tác trực tiếp với môi trường.

Bạn đang xem: Reinforcement là gì

1. Reinforcement Learning (RL):

RL là học cái để thực thi, tức là từ những trường hợp thực tiễn để đưa ra những action nhất định, miễn là maximize được reward. Machine không được bảo về cái action để thực thi mà thay vào đó phải tò mò ra action hoàn toàn có thể tạo ra được nhiều reward nhất. Trong quốc tế của RL thì tất cả chúng ta có khái niệm gọi là agent, nó có một chút ít gì đó hàm ý về một thực thể mà bạn mong ước train nó để hoàn toàn có thể làm được một task nào đó mà bạn phó thác ( đương nhiên là nó sẽ triển khai theo cách đạt được reward nhiều nhất ) .

Vì RL được ứng đụng rất nhiều trong robotic và game nên tôi sẽ lấy một ví dụ từ đây cho bạn hình dung. Dưới đây là 1 tựa mini game mà tôi muốn bạn xem qua. Cách chơi thì tôi nghĩ các bạn sẽ dễ dàng để hiểu được. Tên của nó là CoastRunners

Nhiệm vụ của bạn là hoàn thành được chặng đua thuyền một cách nhanh nhất và nếu có thể thì nên ở top trên. Giả sử như bạn muốn training một agent để nó có thể hoàn thành chặng đua nhanh nhất thì về cơ bản bạn phải thiết kế được một reward function và từ đó bạn sẽ train agent dựa trên reward function này. Bạn có thể xem nó là Loss function nhưng thay vì phải minimize hàm loss như trong các mạng Neural Network thông thương thì ở đây chúng ta sẽ phải maximize nó như tôi đã nói ở trên. Việc chọn ra một reward function thoạt nhìn trong khá đơn giản vì nó chỉ dựa trên các tiêu chí rất hiển nhiên của một task cụ thể, chẳng hạn như ở trò chơi ở trên thì ta có dựa trên tiêu chí là thời gian hoàn thành chặng đua chẳng hạn. (Việc thiết kế cụ thể tôi xin phép dời lại ở một bài viết khác về sau). Tuy nhiên, nếu như bạn đưa ra các tiêu chí không tốt thì sẽ agent mà bạn train có thể có các behavior tương đối kỳ lạ giống như thử nghiệm dưới đây mà team OpenAI đã trải qua khi reward mà họ chọn lại dưa trên tiêu chí của score trong game thay vì là thời gian hoàn thành chặng đua. Và đây là kết quả.

Agent không cần phải hoàn thành chặng đua nhưng vẫn có thể đạt được score cao.

Điều này thoạt nhìn qua cái vẻ khá ” mê hoặc ” trong toàn cảnh của video game nhưng trong nghành tự động hoá hay robotics ví dụ điển hình thì những cái behavior này hoàn toàn có thể gây ra những hành vi không mong ước hoặc thậm chí còn nguy khốn. Rộng hơn, những agent này ( được nhúng vào trong robot ví dụ điển hình ) hoàn toàn có thể có những hành vi không không thay đổi hoặc không tuân theo những nguyên tắc cơ bản về mặt kỹ thuật nói chung mà hoàn toàn có thể dãn đến những hiểm hoạ rất tiềm tàng .*Các bạn hoàn toàn có thể tìm hiểu thêm thêm về idea trong bài báo của OpenAI về cái mà họ gọi là Safety AI

2. Mô hình hoá toán học của RL:

Bây giờ tôi sẽ dẫn những bạn đi qua một chút ít về những khái niệm chính trong RL : | .Các hình dưới đây tôi tìm hiểu thêm từ khoá học 6. S191 intro deep learning của MIT2.1 Đây là một ví dụ trực quan về Agent :*2.2 Enviroment xung quang của Agent, nơi mà agent sống sót và tương tác :*

2.3 Dựa trên State S(t) của enviroment hiện tại mà agent sẽ đưa ra action a(t):

*

2.4 Sau khi nhận được sự tương tác từ agent thì enviroment có sự chuyển đổi trạng thái đối với agent:

*

2.5 State lúc này của enviroment là S(t+1), tức ở thời điểm t+1:

*

2.6 Lúc này, agent nhận được reward r(t). Reward này phụ thuộc vào action a(t) của agent và State S(t) của enviroment ở thời điểm trước đó, tức là ở thời điểm t:

*2.7 Vì ta không biết thời gian kết thúc của sự lặp đi lặp lại này nên tổng reward sẽ là một chuỗi vô hạn của những reward thành phần tại những thời gian khác nhau kể từ thời gian t ( lúc đầu ) :*2.8 Chúng ta hoàn toàn có thể khai triển chuỗi vô hạn này như sau :*

2.9 Vì chuỗi này không thể nào hội tụ (convergence) được nên trên thực tế các nhà nghiên cứu có thể dùng một cái trick để chuỗi này có thể hội tụ được. Như hình dưới đây, họ đưa vào thêm một term thường được gọi là discount factor (discount rate) để làm cho chuỗi này hội tụ.

Xem thêm: Dân Tộc Tiếng Anh Là Gì – Người Dân Tộc (Thiểu Số) Trong Tiếng Anh Là Gì

* Nên nhớ việc quy tụ là bắt buộc nếu bạn muốn train thành công xuất sắc một agent nói riêng hay một mạng Neural Network nào đó nói chung .*

Tất cả những thứ mà mình vừa trình bày sơ qua nó dựa trên một framework được gọi là Markov Decision Processes (MDPs). Về cơ bản thì một MDP cung cấp một framework toán học cho việc modelling các tình huống decision-making. Ở đây, các kết quả (outcomes) xảy ra một cách ngẫu nhiên một phần và phần còn lại thì phụ thuộc trên các action của agent (hoặc decision maker) đã tạo ra trước đó. reward thu được bởi decision maker phụ thuộc trên action mà decision maker chọn và dựa trên cả hai State mới (S(t+1)) và cũ (S(t)) của enviroment.

Một reward Rai ( sj, sk ) R_ { ai } ( s_j, s_k ) Rai ​ ( sj ​, sk ​ ) thu được khi agent chọn action aia_iai ​ ở state sjs_jsj ​ và làm cho enviorment quy đổi từ state sjs_jsj ​ sang sks_ksk ​. Agent nó follow theo một policy π \ piπ. Cụ thể là π ( ⋅ ) : S → A \ pi ( \ cdot ) : \ mathcal { S } \ rightarrow \ mathcal { A } π ( ⋅ ) : S → A sao cho với mỗi một state sj ∈ Ss_j \ in \ mathcal { S } sj ​ ∈ S thì agent chọn cho nó một action ai ∈ Aa_i \ in \ mathcal { A } ai ​ ∈ A. Vậy nên policy là thứ bảo với agent cái action nào nên được chọn trong mỗi state .Để hoàn toàn có thể train được agent thì tiềm năng của tất cả chúng ta là phải tìm được policy π \ piπ sao cho :*

*β\betaβ là discount factor và β\betaβ reward (có tình đến discount factor như đã đề cập ở trên) ở mỗi state cụ thể từ lúc bắt đầu đến khi kết thúc (dẫu cho T →\rightarrow→ ∞\infty∞, vì chúng ta chưa biết khi nào thì quá trình này kết thúc nên nó vẫn luôn là một chuỗi vô hạn), và đương nhiên là phải dựa trên policy π\piπ vì agent của chúng ta base trên nó để chọn reward tốt nhất mà. Bản chất thì đây là một bài toán tối ưu (optimazation problem).

Ở trên là một tiêu chí mà chúng ta có thể dùng để optimize cho việc tìm ra nghịệm (optimal policy). Cụ thể chúng ta gọi tiêu chí này là infinite horizon sum reward criteria. Cũng có một vài reward criteria khác mà tôi tạm thời không gác lại trong khuôn khổ bài viết này.

Phụ thuộc vào các criteria khác nhau mà chúng ta sẽ có các algorithm khác nhau để tìm ra optimal policy. Với infinite horizon sum reward criteria thì chúng ta có thể sử dụng một thuật toán RL cũng khá kinh điển đó là Q-Learning để giải quyết (tôi sẽ nói về alogorithm này ở một bài viết khác).

Xem thêm: Up-To-Date Là Gì ? Tại Sao Phải Up To Date? Nghĩa Của Từ Up

Tôi xin trong thời điểm tạm thời gác lại phần triết lý sơ bộ ở đây. Hẹn gặp lại bạn ở bài viết sau về Q-Learning và cách để impement nó .