Skip to main content

Reinforcement Learning (Học tăng cường) là gì? Hiểu bản chất qua giải thích về cách AI tự học

Nếu học có giám sát giúp AI học từ những đáp án đã biết trước, còn học không giám sát giúp AI tự khám phá cấu trúc của dữ liệu, thì học tăng cường (Reinforcement Learning - RL) lại đi theo một hướng hoàn toàn khác: AI học bằng chính trải nghiệm của mình.

Deep Reinforcement Learning là gì? Vì sao AI cần kết hợp Học sâu với Học tăng cường

Reinforcement Learning (Học tăng cường) hoạt động như thế nào? Dynamic Programming, Monte Carlo và các ứng dụng thực tế

Thay vì được hướng dẫn từng bước, tác nhân (agent) liên tục tương tác với môi trường, thử nhiều hành động khác nhau và nhận phần thưởng hoặc hình phạt. Sau hàng nghìn, thậm chí hàng triệu lần thử nghiệm, AI dần học được chiến lược tối ưu để đạt mục tiêu.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu bản chất của học tăng cường, các thành phần quan trọng như Agent, Environment, Reward, Action và Observation, đồng thời minh họa bằng ví dụ trực quan để thấy AI thực sự "học" như thế nào.

1. Học có giám sát (Supervised learning)

Học có giám sát (Supervised learning) là lĩnh vực được nghiên cứu kỹ lưỡng và nổi tiếng nhất trong học máy. Câu hỏi cốt lõi mà nó giải quyết là: Làm thế nào để xây dựng một hàm số có khả năng tự động ánh xạ (map) một đầu vào thành một đầu ra tương ứng, khi chúng ta đã có sẵn một tập hợp các cặp ví dụ mẫu?.

Mặc dù định nghĩa nghe có vẻ đơn giản, nhưng thực tế bài toán này chứa đựng nhiều thách thức hóc búa mà máy tính chỉ mới bắt đầu giải quyết thành công trong thời gian gần đây. Có một số ví dụ thực tế:

  • Phân loại văn bản: Xác định một tin nhắn email là thư rác (spam) hay không?.
  • Phân loại hình ảnh: Bức ảnh này chụp con mèo, con chó hay một vật thể nào khác?
  • Bài toán hồi quy: Dựa trên dữ liệu từ các cảm biến, thời tiết ngày mai sẽ như thế nào?
  • Phân tích cảm xúc: Mức độ hài lòng của khách hàng thông qua một bài đánh giá là bao nhiêu?

Đặc điểm chính của Học có giám sát:

  • Học từ ví dụ: Chúng ta cung cấp cho máy tính rất nhiều ví dụ bao gồm cả đầu vào và đầu ra mong muốn. Từ đó, máy tính phải học cách dự đoán đầu ra cho những dữ liệu mới mà nó chưa từng gặp trước đó.
  • Nguồn dữ liệu chuẩn (Ground truth): Tên gọi "có giám sát" xuất phát từ việc quá trình học dựa trên những câu trả lời đã biết từ trước, được cung cấp bởi một nguồn dữ liệu tin cậy (gọi là "ground truth") đóng vai trò như một "người giám sát" đưa ra đáp án đúng để máy tính đối chiếu và học hỏi.

Tinh thần của học có giám sát là xây dựng một hệ thống biết rút ra quy luật từ những cặp "câu hỏi - câu trả lời" có sẵn để sau đó có thể tự trả lời những câu hỏi mới một cách chính xác. Tuy nhiên, cũng lưu ý rằng trong thế giới thực, ngay cả những bài toán tưởng chừng như tĩnh (đầu vào - đầu ra cố định) này cũng có thể thay đổi theo thời gian, đòi hỏi chúng ta phải cập nhật dữ liệu liên tục.

2. Học không giám sát (Unsupervised learning)

Khác với học có giám sát, Học không giám sát không có sự giám sátkhông có các nhãn (labels) biết trước được gán cho dữ liệu. Mục tiêu chính của nó là khám phá ra những cấu trúc ẩn bên trong tập dữ liệu mà chúng ta đang có.

Có hai ví dụ tiêu biểu:

  • Phân cụm dữ liệu (Clustering): Đây là ví dụ phổ biến nhất. Thuật toán sẽ tự động tìm cách nhóm các mục dữ liệu có đặc điểm giống nhau thành từng cụm. Qua đó, chúng ta có thể phát hiện ra các mối quan hệ mới mẻ trong dữ liệu, ví dụ như:
    • Tìm các hình ảnh tương tự nhau.
    • Nhận diện các nhóm khách hàng có chung hành vi mua sắm.
  • Generative Adversarial Networks - GANs: Đây là một phương pháp đang ngày càng phổ biến. Trong mô hình này, có hai mạng lưới thần kinh "cạnh tranh" với nhau:
    • Mạng thứ nhất cố gắng tạo ra dữ liệu giả để "đánh lừa" mạng thứ hai.
    • Mạng thứ hai cố gắng phân biệt giữa dữ liệu thật và dữ liệu giả.
    • Theo thời gian, cả hai đều trở nên điêu luyện hơn và giúp máy tính nắm bắt được những quy luật, chi tiết cực kỳ tinh vi trong tập dữ liệu.

Nếu học có giám sát là học từ các câu trả lời đúng có sẵn, thì học không giám sát giống như việc máy tính tự mày mò để tìm ra các khuôn mẫu (patterns) mà không cần ai chỉ bảo. Nếu đặt học không giám sát ở một đầu cực, học có giám sát ở đầu cực kia, thì Học tăng cường (Reinforcement Learning) nằm đâu đó ở giữa hai phương pháp này.

3. Học tăng cường (Reinforcement Learning - RL)

Học tăng cường (Reinforcement Learning - RL) là một phương pháp học máy, trong đó mô hình AI học cách đưa ra quyết định thông qua quá trình thử và sai. Thay vì được cung cấp sẵn đáp án đúng như học có giám sát, AI sẽ tương tác với môi trường, thực hiện các hành động và nhận phần thưởng nếu hành động mang lại kết quả tốt hoặc hình phạt nếu kết quả không mong muốn. Qua nhiều lần lặp lại, mô hình dần học được chiến lược tối ưu để tối đa hóa tổng phần thưởng nhận được. Phương pháp này đặc biệt phù hợp với các bài toán ra quyết định liên tục như điều khiển robot, xe tự lái, chơi trò chơi hoặc tối ưu hóa quy trình.

Ví dụ về Con chuột Robot trong mê cung

Con chuột Robot trong mê cung - Ví dụ về học tăng cường

  • Môi trường (Environment): Là mê cung với thức ăn (phần thưởng dương) và các điểm gây sốc điện (phần thưởng âm).
  • Tác nhân (Agent): Là con chuột robot, nó có thể thực hiện các Hành động (Actions) như rẽ trái, rẽ phải hoặc tiến lên.
  • Phần thưởng (Reward): Con chuột cố gắng tìm nhiều thức ăn nhất có thể và tránh bị giật điện.

Chúng ta không cần lập trình sẵn cho con chuột phải làm gì trong mọi tình huống. Nó sẽ tự học thông qua thử và sai.

Sự khác biệt so với các phương pháp khác

  • So với Học có giám sát: RL không có "người thầy" nào dán nhãn cho mọi hành động là đúng hay sai. Con chuột không được bảo trước là nên rẽ hướng nào để tới chỗ có phô mai.
  • So với Học không giám sát: RL không hoàn toàn "mù quáng" vì nó có hệ thống phần thưởng (Reward) để điều hướng.

Tại sao RL lại khó và thách thức?

Sự linh hoạt của RL đi kèm với cái giá là sự phức tạp. Có ba yếu tố chính làm RL trở nên hóc búa:

  • Dữ liệu không độc lập: Những gì tác nhân quan sát được phụ thuộc vào chính hành vi của nó trong quá khứ.
  • Tiến thoái lưỡng nan giữa Khám phá và Khai thác (Exploration vs Exploitation): Tác nhân phải cân bằng giữa việc thử những hành động mới để tìm phần thưởng lớn hơn (Khám phá) và việc sử dụng những gì đã biết là tốt (Khai thác).
  • Phần thưởng bị trì hoãn (Delayed Reward): Một hành động cực kỳ tốt lúc này có thể chỉ mang lại kết quả sau rất nhiều bước nữa (ví dụ: một nước đi hay trong cờ vua có thể thay đổi cục diện cả trận đấu về sau).

Nói chúng: RL là một phương pháp giúp máy tính học cách hành xử tối ưu trong những môi trường phức tạp và thay đổi, nơi mà các câu trả lời đúng không được biết trước mà phải được khám phá thông qua trải nghiệm.

4. Phần thưởng (Reward)

Đây là một thành phần cốt lõi để điều hướng hành vi của tác nhân (agent).

Bản chất của Phần thưởng: Chỉ là một con số

Trong Học tăng cường, phần thưởng đơn giản là một giá trị vô hướng (scalar value) mà tác nhân nhận được định kỳ từ môi trường. Con số này có thể là số dương hoặc số âm, lớn hoặc nhỏ, nhưng nó chỉ là một con số thuần túy.

Mục đích duy nhất của nó là cho tác nhân biết nó đã hành động tốt đến mức nào. Thuật ngữ "tăng cường" (reinforcement) xuất phát từ việc phần thưởng sẽ củng cố hành vi của tác nhân theo hướng tích cực hoặc tiêu cực.

Tính chất "Cục bộ" và bài học về sự đánh đổi

Một điểm quan trọng cần lưu ý là phần thưởng mang tính cục bộ (local). Nó phản ánh sự thành công của các hoạt động gần đây, chứ không phải toàn bộ thành công mà tác nhân đã đạt được từ đầu đến giờ.

Mục tiêu cuối cùng: Tích lũy lâu dài

Dù phần thưởng nhận được theo từng bước, nhưng mục tiêu thực sự của tác nhân là đạt được tổng phần thưởng tích lũy lớn nhất trong suốt chuỗi hành động của nó.

Các ví dụ thực tế dễ hiểu

  • Giao dịch tài chính: Số lợi nhuận kiếm được chính là phần thưởng.
  • Chơi cờ: Phần thưởng nhận được ở cuối ván đấu (thắng, thua hoặc hòa).
  • Trò chơi điện tử: Điểm số hoặc số quân địch bị tiêu diệt.
  • Trường học: Điểm số là hệ thống phần thưởng để phản hồi cho học sinh về việc học tập.

Phần thưởng là động lực chính thúc đẩy quá trình học tập của máy. Nếu hệ thống phần thưởng bị thiết kế sai, nhiễu hoặc lệch lạc, tác nhân có thể học theo những hướng hoàn toàn sai lầm.

5. Tác nhân (Agent)

Tác nhân (Agent) là một trong hai thành phần chính của hệ thống Học tăng cường.

Tác nhân (Agent) là gì trong Reinforcement Learning?

Trong học tăng cường (Reinforcement Learning - RL), tác nhân (agent) không phải là đoạn mã phần mềm mà lập trình viên viết ra, mà là thực thể ra quyết định. Đoạn mã chỉ là cách để hiện thực hóa tác nhân trên máy tính.

Nói cách khác, tác nhân là thành phần có nhiệm vụ quan sát môi trường, lựa chọn và thực hiện các hành động tương tác với môi trường, nhận phần thưởng và học hỏi từ kết quả để cải thiện quyết định theo thời gian. Khi lập trình RL, bạn sẽ viết mã để xây dựng tác nhân, nhưng điều quan trọng là tác nhân không được lập trình sẵn mọi quyết định. Thay vào đó, nó tự học chiến lược tối ưu thông qua quá trình thử và sai.

Ví dụ, nếu bạn muốn tạo một AI chơi cờ vua:

  • Đoạn mã bạn viết định nghĩa luật chơi, cách AI quan sát bàn cờ, cách tính phần thưởng và thuật toán học.
  • Tác nhân là AI đang chơi cờ. Ban đầu nó có thể đi những nước rất kém, nhưng sau hàng triệu ván đấu, nó học được cách chọn các nước đi giúp tăng xác suất chiến thắng.

Vì vậy, có thể hiểu ngắn gọn rằng tác nhân là chương trình AI mà bạn xây dựng để giải quyết một bài toán, nhưng điểm khác biệt cốt lõi là nó không chỉ thực thi các quy tắc được lập trình sẵn mà còn có khả năng tự học và cải thiện chiến lược từ kinh nghiệm. Chính khả năng học hỏi này là yếu tố phân biệt tác nhân trong học tăng cường với một chương trình phần mềm thông thường chỉ thực hiện các lệnh đã được lập trình cố định.

Các ví dụ thực tế để hình dung

Để giúp bạn hiểu rõ hơn "ai" hoặc "cái gì" đóng vai trò là tác nhân, có một số ví dụ cụ thể như sau:

  • Giao dịch tài chính: Tác nhân là hệ thống giao dịch tự động hoặc chính nhà giao dịch đưa ra quyết định mua/bán.
  • Chơi cờ: Tác nhân là người chơi hoặc chương trình máy tính đang tính toán nước đi.
  • Trò chơi máy tính: Tác nhân là người chơi hoặc chương trình máy tính điều khiển nhân vật.

Vai trò của Tác nhân trong vòng lặp RL

Tác nhân không hoạt động cô lập. Nó nằm trong một vòng lặp giao tiếp liên tục với môi trường thông qua ba kênh chính:

1.    Hành động (Actions): Những gì tác nhân thực hiện và tác động lên môi trường.

2.    Phần thưởng (Reward): Phản hồi mà tác nhân nhận được để biết mình làm tốt hay tệ.

3.    Quan sát (Observations): Những thông tin khác (ngoài phần thưởng) mà môi trường cung cấp để tác nhân hiểu tình hình xung quanh.

Tác nhân như là một "trung tâm điều khiển" có khả năng học hỏi từ những phản hồi của môi trường để dần hoàn thiện hành vi của mình nhằm đạt được mục tiêu cuối cùng là tối đa hóa phần thưởng tích lũy.

6. Môi trường (Environment)

Môi trường (Environment) trong học tăng cường (Reinforcement Learning - RL) là tất cả những gì mà tác nhân tương tác để hoàn thành một nhiệm vụ. Môi trường sẽ cung cấp trạng thái hiện tại, tiếp nhận hành động do tác nhân thực hiện, sau đó phản hồi bằng trạng thái mới cùng với phần thưởng hoặc hình phạt tương ứng. Thông qua quá trình tương tác liên tục với môi trường, tác nhân dần học được những hành động nào mang lại kết quả tốt nhất.

Ví dụ, trong một trò chơi cờ vua, môi trường chính là bàn cờ cùng các quân cờ và luật chơi; còn trong xe tự lái, môi trường bao gồm đường sá, phương tiện khác, biển báo và mọi yếu tố xung quanh mà xe phải quan sát và phản ứng.

7. Hành động (Actions)

Hành động (Action) trong học tăng cường (Reinforcement Learning - RL) là quyết định hoặc thao tác mà tác nhân thực hiện tại một thời điểm để tác động lên môi trường. Sau mỗi hành động, môi trường sẽ chuyển sang một trạng thái mới và trả về phần thưởng hoặc hình phạt, giúp tác nhân đánh giá xem quyết định đó có mang lại kết quả mong muốn hay không. Qua quá trình thử và sai lặp đi lặp lại, tác nhân dần học được nên chọn hành động nào trong từng trạng thái để đạt được mục tiêu với hiệu quả cao nhất. Ví dụ, trong trò chơi cờ vua, một hành động là di chuyển một quân cờ; còn đối với xe tự lái, hành động có thể là tăng tốc, giảm tốc, rẽ trái, rẽ phải hoặc phanh.

Có thể chia hành động thành hai loại chính:

  • Hành động rời rạc (Discrete actions): Là một tập hợp hữu hạn các lựa chọn loại trừ lẫn nhau. Ví dụ: rẽ trái hoặc rẽ phải, nhấn nút hoặc thả nút. Tại một thời điểm, tác nhân chỉ có thể chọn một hành động duy nhất trong danh sách có sẵn.
  • Hành động liên tục (Continuous actions): Là những hành động đi kèm với một giá trị cụ thể. Ví dụ: khi lái xe, hành động "xoay vô lăng" không chỉ là xoay hay không, mà là xoay một góc bao nhiêu độ.

Sự tương tác giữa Môi trường và Hành động

1.    Tác nhân thực hiện một Hành động gửi tới Môi trường.

2.    Môi trường thay đổi trạng thái dựa trên hành động đó và phản hồi lại cho tác nhân hai thứ: một Quan sát mới và một Phần thưởng.

8. Quan sát (Observations)

Quan sát (Observations) là kênh thông tin quan trọng thứ hai (sau Phần thưởng) mà tác nhân nhận được từ môi trường.

Nếu Phần thưởng cho tác nhân biết nó đang làm tốt đến mức nào, thì Quan sát là những mẩu thông tin cho tác nhân biết "chuyện gì đang xảy ra xung quanh mình".

Quan sát có thể phản ánh đầy đủ trạng thái của môi trường hoặc chỉ cung cấp một phần thông tin, tùy thuộc vào bài toán. Dựa trên các quan sát liên tục, tác nhân học cách lựa chọn những hành động phù hợp nhằm tối đa hóa tổng phần thưởng. Ví dụ, trong xe tự lái, quan sát có thể bao gồm hình ảnh từ camera, dữ liệu từ cảm biến và tốc độ hiện tại của xe; còn trong trò chơi cờ vua, quan sát chính là cách các quân cờ đang được bố trí trên bàn cờ.

Quan sát là cách tác nhân "nhìn" thế giới. Một hệ thống RL tốt phải học được cách đưa ra quyết định thông minh dựa trên những thông tin quan sát đôi khi là mơ hồ và không đầy đủ.

9. Ví dụ Tác nhân RL trong thế giới lưới

Thiết lập môi trường và mục tiêu

Tác nhân RL trong thế giới lưới

Hãy hình dung một môi trường là một lưới ô vuông 3x3, bao gồm các ô từ A đến I.

  • Tác nhân (Agent): Là robot bắt đầu tại ô A.
  • Mục tiêu: Di chuyển từ ô A đến ô I (ô đích).
  • Mối nguy hiểm: Có các ô bị gạch chéo (B, C, G, và H) mà tác nhân cần tránh.

Các yếu tố cơ bản của bài toán

Để tác nhân có thể học, chúng ta thiết lập các quy tắc sau:

  • Trạng thái (States): Chính là vị trí của các ô từ A đến I.
  • Hành động (Actions): Tác nhân có thể di chuyển theo 4 hướng: lên, xuống, trái, phải.
  • Phần thưởng (Reward):
    • Nếu đi vào ô bị gạch chéo: Nhận phần thưởng tiêu cực (-1).
    • Nếu đi vào ô không bị gạch chéo: Nhận phần thưởng tích cực (+1).

Quá trình học tập qua phương pháp "Thử và sai"

Trong lần đầu tiên, tác nhân chưa biết gì về thế giới này nên sẽ hành động ngẫu nhiên. Quá trình này diễn ra qua các lần lặp:

Lần lặp 1 (Iteration 1):

Tác nhân thử đi sang Phải từ A và rơi vào ô B (ô bị gạch chéo). Nó nhận ngay phần thưởng -1. Lúc này, tác nhân hiểu rằng: "Tại ô A, đi sang phải là một hành động xấu". Sau đó, từ B nó đi Xuống ô E (+1), sang Phải ô F (+1) và đi Xuống để tới đích I (+1).

Lần lặp 2 (Iteration 2):

Lần này, tác nhân không đi sang phải từ A nữa vì đã có kinh nghiệm đau thương. Nó thử đi Xuống ô D và nhận +1 (hành động tốt). Tuy nhiên, từ D nó lại đi tiếp xuống G (gạch chéo, -1) rồi sang H (gạch chéo, -1). Cuối cùng nó mới sang được I. Tác nhân học được thêm: "Tại D, đi xuống là không tốt".

Lần lặp 3 (Iteration 3):

Tác nhân giờ đã khôn ngoan hơn nhờ các bài học trước:

1.    Tại A: Nó đi Xuống ô D (vì biết đi phải là xấu).

2.    Tại D: Nó không đi xuống tiếp mà chọn đi sang Phải để vào ô E (vì biết đi xuống là xấu).

3.    Từ E: Nó đi sang Phải ô F và đi Xuống ô I.

Kết quả: Hình thành Chính sách tối ưu

Sau nhiều lần lặp lại như vậy, tác nhân đã học được cách đi từ A đến I bằng con đường A -> D -> E -> F -> I mà không hề va vào bất kỳ ô nguy hiểm nào.

Có thể thấy rằng: Học tăng cường (RL) không dạy tác nhân phải làm gì, mà chỉ đưa ra phần thưởng. Thông qua việc tối đa hóa phần thưởng tích lũy, tác nhân sẽ tự tìm ra con đường tốt nhất để đạt được mục tiêu. Quá trình này biến các hành động ngẫu nhiên ban đầu thành một Chính sách tối ưu (Optimal Policy) – một "bộ não" giúp tác nhân đưa ra quyết định thông minh trong từng trạng thái.

Kết luận

Học tăng cường không dạy AI phải làm gì trong từng tình huống mà chỉ cung cấp phản hồi dưới dạng phần thưởng. Chính quá trình thử và sai liên tục giúp tác nhân tự xây dựng chiến lược tối ưu.

Sau bài viết này, bạn sẽ hiểu rằng mọi thuật toán RL đều xoay quanh năm thành phần cốt lõi: Agent, Environment, Action, Observation và Reward. Đây chính là nền tảng để tìm hiểu các thuật toán RL hiện đại cũng như bước sang Deep Reinforcement Learning (Học tăng cường sâu).

Comments

Popular posts from this blog

Cloud Native là gì? Tư duy thiết kế hệ thống hiện đại cho thời đại đám mây

Cloud Native đang trở thành nền tảng của hầu hết các hệ thống hiện đại từ Netflix, Amazon đến Google. Nhưng Cloud Native thực sự là gì? Liệu việc đưa ứng dụng lên AWS hay Google Cloud đã đủ để gọi là Cloud Native chưa? Trong bài viết này, chúng ta sẽ tìm hiểu nguồn gốc của khái niệm Cloud Native, bài học từ sự cố AWS năm 2015, và những đặc tính quan trọng giúp các hệ thống hiện đại đạt được khả năng mở rộng, chống chịu và triển khai liên tục. 1. Bài học từ sự cố AWS: Lỗi là “Luật”, không phải “Ngoại lệ” Vào năm 2015, Amazon Web Services (AWS) gặp sự cố sập mạng chấn động. Trong khi các “ông lớn” như Airbnb hay Nest đều bị tê liệt, thì Netflix chỉ bị ảnh hưởng rất nhỏ và phục hồi gần như ngay lập tức. AWS phân vùng các dịch vụ mà nó cung cấp thành các vùng (region) và vùng khả dụng (Availability Zone - AZ). Các vùng ánh xạ đến các khu vực địa lý (như Virginia, California, Oregon) và AZ cung cấp thêm dự phòng và cô lập trong một vùng duy nhất. Hình bên dưới hoàn toàn là giả định (nhưng v...

Kiến trúc cho xử lý dữ liệu luồng (Streaming Architecture) - Phần 3: Continuous Intelligence và AI thời gian thực

Khi hệ thống đã có khả năng thu thập dữ liệu liên tục và phân tích sự kiện theo thời gian thực, câu hỏi tiếp theo là: liệu máy tính có thể tự đưa ra quyết định thay con người hay không? Kiếntrúc cho xử lý dữ liệu luồng (Streaming Architecture) - Phần 1: Giá trị củaStreaming và Kiến trúc Streaming Ingest Kiếntrúc cho xử lý dữ liệu luồng (Streaming Architecture) - Phần 2: Real-timeDashboards và Stream Analytics Đó chính là mục tiêu của Continuous Intelligence – giai đoạn cao nhất trong kiến trúc xử lý dữ liệu luồng. Thay vì chỉ hiển thị cảnh báo trên dashboard, hệ thống có thể liên tục huấn luyện mô hình AI, thực hiện suy luận (Inference) ngay khi dữ liệu phát sinh và tự động kích hoạt các hành động phù hợp. Trong bài viết cuối cùng của series Kiến trúc cho xử lý dữ liệu luồng , chúng ta sẽ cùng khám phá cách xây dựng một hệ thống dữ liệu thông minh có khả năng học hỏi, thích nghi và phản ứng gần như theo thời gian thực. 5. Continuous Intelligence (Trí tuệ liên tục) Đây là cấp...