
Reinforcement Learning – Khai Thác Và Khám Phá
Đã bao giờ bạn lên các trang thương mại điện tử để mua đồ, sau đó được hệ thống gợi ý cho một số món đồ rất phù hợp với nhu cầu? Hay bạn vừa xem xong một bộ phim thì được Netflix gợi ý cho 1 danh sách các bộ phim tiếp theo cũng đúng thể loại mà bạn yêu thích. Bạn đã từng đọc và nhìn thấy sự xuất hiện của những chiếc xe tự hành? Hay bạn nghe ở đâu đó 1 team các cỗ máy đã đánh bại các game thủ hàng đầu thế giới trong bộ môn Dota 2? Vậy thực sự, thứ gì ẩn đằng sau công nghệ này để làm giúp ta tất cả điều đó?
Câu trả lời chính là Reinforcement Learning hay còn gọi là Học tăng cường. Trong bài viết này, chúng ta hãy cùng tìm hiểu xem Reinforcement Learning là gì mà có thể làm được những việc “vi diệu” đó nhé!
Reinforcement Learning là một nhánh của Machine Learning
“Machine learning (ML) is a process whereby a computer program learns from experience to improve its performance at a specified task” (Kiran, 2020). Hiểu đơn giản machine learning (học máy) là kỹ thuật giúp cho máy tính có thể tự học và đưa ra quyết định mà không cần phải cài đặt các quy tắc, luật lệ. Machine learning đang là lĩnh vực công nghệ được quan tâm nhiều nhất hiện nay. Nó ngày càng được ứng dụng vào thực tế cuộc sống, từ các ứng dụng mạng xã hội, thương mại điện tử hay marketing… tạo ra những giá trị to lớn cho các dịch vụ này.
Mối liên hệ giữa AI, Machine learning và Deep learning (Ảnh: intel)
Các thuật toán học máy thường được phân thành 3 loại lớn: supervised learning (học có giám sát), unsupervised learning (học không giám sát) và reinforcement learning (học tăng cường). Nếu như supervised learning là học tập từ một tệp các dữ liệu được gắn nhãn để suy luận ra quan hệ giữa đầu vào và đầu ra, thì unsupervised learning không được cung cấp các dữ liệu được gắn nhãn ấy, thay vào đó chỉ được cung cấp dữ liệu mà thuật toán tìm cách mô tả dữ liệu và cấu trúc của chúng. Loại thứ 3 là reinforcement learning – phương pháp tập trung vào việc làm thế nào để cho một tác tử trong môi trường có thể hành động sao cho lấy được phần thưởng nhiều nhất có thể. Khác với học có giám sát, học tăng cường không có cặp dữ liệu gán nhãn trước làm đầu vào và cũng không có đánh giá các hành động là đúng hay sai.
“Reinforcement learning là đào tạo các mô hình học máy để đưa ra một chuỗi các quyết định. Tác tử học cách đạt được mục tiêu trong một môi trường không chắc chắn, có thể là phức tạp.”
Đến đây ta có thể thấy, reinforcement learning là một nhánh của machine learning.
3 loại chính của Học máy (Ảnh: Google)
Các thuật ngữ thông dụng
Trong reinforcement learning có rất nhiều các thuật ngữ khác nhau. Sau đây chúng ta cùng liệt kê các thuật ngữ thông dụng và tìm hiểu ý nghĩa của từng thuật ngữ đó nhé!
1. Agent
Trong reinforcement learning có một thuật ngữ gọi là agent – được định nghĩa là “anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators” (máy quan sát môi trường và sinh ra hành động tương ứng).
2. Environment
Môi trường là không gian xung quanh của agent, nơi mà agent tồn tại và tương tác
3. Action
Hành động là phương thức của agent cho phép nó tương tác với môi trường và thay đổi môi trường. Dựa trên State S(t) của environment hiện tại mà agent sẽ đưa ra action a(t)
4. Observation
Sau khi nhận được sự tương tác từ agent thì environment có sự chuyển đổi trạng thái đối với agent
5. State
Là trạng thái của môi trường mà agent nhận được
6. Policy
Chính sách là yếu tố xác định cách thức hoạt động của agent tại một thời điểm nhất định. Nói cách khác, chính sách là một ánh xạ từ các trạng thái (state) của môi trường đến các hành động sẽ được thực hiện khi ở trong các trạng thái đó. Chính sách là cốt lõi của agent trong việc xác định hành vi. Trong một số trường hợp, chính sách có thể là một hàm hoặc bảng tra cứu đơn giản. Trong một số trường hợp khác, chính sách có thể liên quan đến tính toán mở rộng, ví dụ như quá trình tìm kiếm.
7. Reward
Ở mỗi hành động, môi trường gửi đến cho agent một phần thưởng xác định. Mục tiêu của agent là tối đa hóa tổng phần thưởng mà nó nhận được trong một thời gian dài. Tín hiệu phần thưởng (reward signal) giúp xác định đâu là sự kiện tốt và xấu đối với agent, đồng thời nó cũng là cơ sở chính để thay đổi chính sách. Nếu một hành động được lựa chọn bởi chính sách mang đến phần thưởng thấp, thì chính sách đó có thể bị thay đổi. Agent sẽ lựa chọn các hành động khác trong các tình huống tương tự ở tương lai.
Khai thác và khám phá
Một trong những thách thức nảy sinh trong reinforcement learning, đó là sự đánh đổi giữa khai thác và khám phá (exploit or explore). Để nhận được nhiều phần thưởng, agent phải ưu tiên lựa chọn các hành động mà nó đã từng thử trong quá khứ và giúp nó đạt được phần thưởng. Agent sẽ xem tất cả các hành động có thể xảy ra cho một trạng thái nhất định, sau đó lựa chọn hành động dựa trên giá trị tối đa của những hành động đó. Đây gọi là khai thác (exploit) vì chúng ta sử dụng thông tin có sẵn để đưa ra một quyết định (make a decision).
Ngoài ra, agent thay vì chọn các hành động dựa trên phần thưởng tối đa trong tương lai, nó có thể chọn hành động một cách ngẫu nhiên. Hành động ngẫu nhiên rất quan trọng vì nó cho phép agent thăm dò và khám phá các trạng thái mới mà không được lựa chọn trong quá trình khai thác. Tóm lại, agent phải khai thác những gì mà nó đã trải qua để nhận được phần thưởng, nhưng cũng phải khám phá để đưa ra lựa chọn hành động tốt hơn trong tương lai.
Ví dụ về Reinforcement Learning
Để hiểu rõ hơn về reinforcement learning, ta sẽ xem xét một số ví dụ và các ứng dụng khả thi đã định hướng cho sự phát triển của nó.
- Một người chơi cờ vua thực hiện một nước đi. Nước đi được lựa chọn dựa trên việc lên chiến lược (dự đoán các nước đi của đối thủ có thể xảy ra), và bằng các phán đoán trực quan về các vị trí và nước đi cụ thể mà người chơi đó mong muốn thực hiện.
- Một con bê linh dương vật lộn để đứng dậy vài phút sau khi được sinh ra. Nửa giờ sau nó đang chạy ở mức 20 dặm một giờ.
- Robot di động quyết định xem nó có nên vào một căn phòng mới để tìm thêm rác để thu dọn hay cố gắng tìm đường trở lại trạm sạc pin của nó. Nó đưa ra quyết định dựa trên mức sạc hiện tại của pin và mức độ nhanh chóng và dễ dàng mà nó có thể tìm thấy bộ sạc trong quá khứ.
Tất cả những ví dụ trên đều liên quan đến sự tương tác giữa agent và môi trường của nó, trong đó agent tìm cách đạt được mục tiêu bất chấp sự không chắc chắn về môi trường nơi mà nó tồn tại. Các hành động của agent ảnh hưởng đến trạng thái tương lai của môi trường (thế cờ tiếp theo, tốc độ của bê linh dương sau 2 giờ, vị trí tiếp theo của robot và mức sạc trong tương lai của pin…), do đó nó cũng ảnh hướng đến các hành động và cơ hội của agent trong những lần tiếp theo.
Đồng thời, trong tất cả các ví dụ này, không thể dự đoán đầy đủ các ảnh hưởng của hành động; do đó agent phải theo dõi môi trường của nó thường xuyên và phản hồi thích hợp. Các ví dụ trên đều liên quan đến các mục tiêu rõ ràng, nghĩa là agent có thể đánh giá tiến trình đạt được mục tiêu của mình dựa trên những gì nó cảm nhận trực tiếp (người chơi cờ vua biết mình có thắng hay không, con linh dương biết khi nào nó ngã, robot di động biết khi nào pin cạn). Agent có thể sử dụng kinh nghiệm để cải thiện hiệu suất của nó theo thời gian (người chơi cờ tinh chỉnh trực giác mà anh ta sử dụng để đánh giá các vị trí, từ đó cải thiện cách chơi của mình; bê linh dương cải thiện khả năng chạy của nó…)
Reinforcement Learning – Những ứng dụng tuyệt vời
Một trong những thành tựu đầu tiên của Reinforcement Learning là việc chinh phục thành công các trò chơi của con người như cờ vua, cờ vây, Starcraft 2 hay Dota, mở ra một kỷ nguyên mới cho con đường phát triển Trí tuệ nhân tạo. AlphaGo của Google DeepMind là thành quả của việc kết hợp deep ANN, supervised learning, Monte Carlo tree search và reinforcement learning để đánh bại kỳ thủ cờ vây vĩ đại nhất lịch sử Lee Sedol với tỉ số 4-1. Bạn có thể xem chi tiết Hành trình đánh bại kỳ thủ cờ vây vĩ đại nhất lịch sử để biết rõ hơn về sự kiện này. Hay AlphaStar của DeepMind cũng đã xuất sắc đánh bại 2 game thủ chuyên nghiệp TLO và MaNa (Team Liquid) trong thể loại game StarCraft 2 với tỉ số 10-1, giúp Cuộc chạm trán giữa Trí tuệ nhân tạo và StarCraft có kết quả bước đầu thuận lợi cho Trí tuệ nhân tạo. OpenAI Five – con AI thông minh của OpenAI cũng đã đánh bại đương kim vô địch thế giới DOTA 2 là OG với tỉ số 2-0 trong một trận đấu BO3. Đến đây, reinforcement learning cùng Trí tuệ nhân tạo đã có một bước tiến lớn khi đã chinh phục thành công một trong những thể loại trò chơi phức tạp nhất lịch sử.
Các chương trình “Alpha” của Google DeepMind là những ví dụ tiêu biểu của Reinforcement Learning (Ảnh: Cộng đồng Reinforcement Learning Việt Nam)
Xe tự hành cũng là một trong những ứng dụng nổi bật của reinforcement learning. Các nhà khoa học cho rằng các thuật toán học tăng cường chính là trái tim hay linh hồn của các mạng deep learning network – khi máy sẽ tự học nhờ quá trình thực hiện, lặp đi lặp lại và cải tiến liên tục. Một số nhiệm vụ mà lái xe tự hành có thể áp dụng phương pháp học tăng cường bao gồm tối ưu hóa quỹ đạo, lập kế hoạch chuyển động, dẫn động, tối ưu hóa bộ điều khiển và chính sách học tập dựa trên kịch bản cho đường cao tốc.
Reinforcement learning còn được ứng dụng trong rất nhiều các lĩnh vực khác: từ giao dịch và tài chính khi agent có thể quyết định khi nào thì nên “hold”, khi nào nên mua vào hay bán ra; trong lĩnh vực y tế: bệnh nhân có thể được điều trị từ những chương trình chữa bệnh được học từ hệ thống reinforcement learning; trong lĩnh vực robotics – khi sử dụng deep learning và reinforcement learning để huấn luyện robot có khả năng cầm nắm các vật thể khác nhau ngay cả khi chúng không nhìn thấy những vật thể đó trong quá trình huấn luyện – đây là ứng dụng tuyệt vời để xây dựng các sản phẩm trong dây chuyền lắp ráp.
Tổng kết
Trong bài viết này, chúng ta đã cùng nhau tìm hiểu khái niệm về reinforcement learning hay học tăng cường, biết được các thuật ngữ cơ bản, các ứng dụng và ví dụ minh họa về nó. Đây là một ngành vẫn còn tương đối mới tại Việt Nam, chính vì thế nó mang trong mình rất nhiều thách thức cũng như cơ hội. Hãy cùng khai thác và khám phá lĩnh vực đầy tiềm năng này nhé!
Post Comment