NhimLongXanh.comNhím Lông Xanh
AI và robot

Machine learning là gì? Học máy, học sâu và AI khác nhau thế nào qua ví dụ

Machine learning là gì và khác AI, deep learning ra sao: ba vòng tròn lồng nhau, học có giám sát, không giám sát, học tăng cường, mạng nơ-ron và vì sao cần GPU.

Over-the-shoulder view of a Vietnamese father and daughter sorting fruit into three nested woven baskets on a wooden floor, soft window light, olive green and tangerine palette

Machine learning (học máy) là cách làm AI bằng cách cho máy học quy luật từ dữ liệu, thay vì viết tay từng quy tắc. Ba khái niệm hay bị dùng lẫn có quan hệ như ba vòng tròn lồng nhau: AI là vòng ngoài cùng (mọi kỹ thuật giúp máy làm việc cần trí tuệ), học máy là vòng giữa (nhánh AI học từ dữ liệu), học sâu (deep learning) là vòng trong cùng (nhánh học máy dùng mạng nơ-ron nhiều lớp).

Vậy mọi hệ thống học sâu đều là học máy, mọi hệ thống học máy đều là AI, nhưng chiều ngược lại không đúng. Phần dưới đi qua từng vòng bằng ví dụ quen thuộc, rồi giải thích vì sao học sâu đòi hỏi nhiều dữ liệu và chip đồ hoạ.

Ba vòng tròn: AI ⊃ học máy ⊃ học sâu

Bảng so sánh giúp thấy mỗi vòng thêm điều kiện gì so với vòng bao ngoài nó.

AIHọc máyHọc sâu
Ý chínhMáy làm việc cần trí tuệ, bằng bất kỳ cách nàoMáy tự rút quy luật từ dữ liệuHọc máy bằng mạng nơ-ron nhiều lớp
Ví dụ không thuộc vòng trongHệ chuyên gia chẩn đoán bằng hàng nghìn quy tắc "nếu… thì…" viết tay; máy chơi cờ dò mọi nước điCây quyết định duyệt hồ sơ vay; hồi quy dự đoán giá nhà(là vòng trong cùng)
Ví dụ thuộc vòngCả ba cộtLọc thư rác, gợi ý sản phẩm, dự báo nhu cầuNhận diện khuôn mặt, dịch máy, chatbot, tạo ảnh
Cần dữ liệuKhông nhất thiếtCó, từ vài trăm đến hàng triệu mẫuRất nhiều, thường hàng triệu mẫu trở lên
Người phải làm gìViết quy tắc hoặc thuật toánChọn đặc trưng đưa vào (diện tích, số phòng…) và thuật toánChủ yếu chuẩn bị dữ liệu và thiết kế mạng; mạng tự tìm đặc trưng

Dòng cuối là khác biệt cốt lõi giữa học máy cổ điển và học sâu. Muốn dự đoán giá nhà bằng học máy cổ điển, người làm phải tự chọn các cột thông tin có ích. Với ảnh hay âm thanh, chẳng ai liệt kê nổi "đặc trưng của khuôn mặt" bằng tay; học sâu giải quyết bằng cách để mạng tự học các đặc trưng ấy từ điểm ảnh thô.

Ba kiểu học chính, kể bằng chuyện đời thường

Học có giám sát: có đáp án mẫu. Giống học sinh luyện đề có lời giải. Dữ liệu gồm cặp "đầu vào – đáp án": ảnh X-quang kèm kết luận của bác sĩ, email kèm nhãn rác/không rác, căn nhà kèm giá bán thật. Mô hình học cách đi từ đầu vào tới đáp án. Phần lớn ứng dụng thương mại thuộc kiểu này. Khó khăn lớn nhất là gán nhãn: hàng triệu ảnh cần người ngồi đánh dấu, tốn tiền và thời gian.

Học không giám sát: tự tìm nhóm. Không có đáp án, máy tự tìm cấu trúc ẩn. Ví dụ một siêu thị đưa lịch sử mua hàng của 100.000 khách, thuật toán tự chia thành vài nhóm: nhóm mua đồ trẻ em mỗi tuần, nhóm chỉ mua cuối tháng khi có khuyến mãi, nhóm mua đồ ăn sẵn buổi tối. Không ai dạy trước tên các nhóm; người phân tích nhìn kết quả rồi mới đặt tên và quyết định chăm sóc thế nào.

Học tăng cường: thử, sai, nhận thưởng. Giống dạy chó ngồi bằng cách cho bánh khi nó làm đúng. Máy (gọi là tác tử) hành động trong một môi trường, được cộng điểm khi kết quả tốt, trừ điểm khi tệ, và dần tìm chiến lược tối đa điểm thưởng. Các chương trình chơi cờ vây, điều khiển cánh tay robot học cầm nắm, tối ưu điều hoà trong trung tâm dữ liệu từng dùng cách này. Giai đoạn học từ phản hồi của người khi làm chatbot cũng mượn ý tưởng học tăng cường.

Tự giám sát: tự tạo đáp án từ dữ liệu thô. Một biến thể quan trọng gần đây. Che một phần dữ liệu rồi bắt mô hình đoán phần bị che, như che chữ tiếp theo trong câu hoặc che một mảng ảnh. Đáp án có sẵn trong dữ liệu nên không cần người gán nhãn, nhờ vậy học được trên lượng dữ liệu khổng lồ. Mô hình ngôn ngữ lớn được huấn luyện trước theo cách này.

Mạng nơ-ron nhân tạo là gì

Tên gọi lấy cảm hứng từ não, nhưng mạng nơ-ron nhân tạo đơn giản hơn não rất nhiều. Mỗi "nơ-ron" là một phép tính nhỏ: nhận vài con số đầu vào, nhân mỗi số với một trọng số, cộng lại, rồi đưa qua một hàm quyết định có "bật" mạnh hay không. Hàng nghìn nơ-ron xếp thành một lớp, nhiều lớp nối tiếp nhau thành mạng. Đầu ra của lớp trước là đầu vào của lớp sau.

Lấy ví dụ mạng nhận diện chữ số viết tay. Lớp đầu nhận độ sáng của từng điểm ảnh. Sau khi huấn luyện, người ta thấy các lớp đầu thường phản ứng với nét đơn giản như cạnh thẳng, cạnh cong; lớp giữa ghép nét thành vòng tròn, góc nhọn; lớp cuối ghép tiếp để quyết định đây là số 8 hay số 3. Không ai lập trình sẵn "lớp hai phải tìm vòng tròn" — mạng tự hình thành cách phân tầng này khi được huấn luyện.

Quá trình huấn luyện dùng một thuật toán gọi là lan truyền ngược (backpropagation): đưa ảnh vào, xem mạng đoán sai bao nhiêu so với đáp án, rồi tính ngược từ lớp cuối về lớp đầu xem mỗi trọng số góp phần vào cái sai đó ra sao để chỉnh từng chút. Chữ "sâu" trong học sâu chỉ đơn giản là mạng có nhiều lớp, từ vài chục đến hàng trăm.

Vì sao học sâu cần nhiều dữ liệu và GPU

Nhiều tham số thì cần nhiều ví dụ. Một mạng sâu có hàng triệu đến hàng tỷ trọng số. Nếu chỉ cho xem vài trăm ảnh, mạng dễ "học thuộc lòng" chính những ảnh đó (gọi là quá khớp – overfitting) mà không nhận được ảnh mới. Cần hàng triệu ví dụ đa dạng thì các trọng số mới buộc phải học quy luật chung. Năm 2012, một mạng sâu huấn luyện trên bộ dữ liệu hơn một triệu ảnh đã thắng cách biệt cuộc thi nhận diện ảnh ImageNet, mốc thường được nhắc như khởi đầu của làn sóng học sâu.

Phép tính đơn giản nhưng khổng lồ, lại làm song song được. Phần lớn khối lượng tính của mạng nơ-ron là nhân ma trận: hàng triệu phép nhân rồi cộng độc lập với nhau. CPU trong máy tính có vài đến vài chục lõi rất mạnh, giỏi xử lý việc tuần tự phức tạp. GPU, vốn thiết kế để tô màu hàng triệu điểm ảnh cho trò chơi, có hàng nghìn lõi nhỏ chạy cùng lúc, nên làm phép nhân ma trận nhanh gấp nhiều lần. Về sau còn có các chip chuyên cho AI theo cùng triết lý.

Đó cũng là lý do học máy cổ điển vẫn được dùng rất nhiều. Với bảng dữ liệu vài nghìn dòng như danh sách khách hàng, các thuật toán như cây quyết định chạy nhanh trên máy tính thường, dễ giải thích kết quả với sếp hay khách hàng, và nhiều khi chính xác ngang hoặc hơn mạng sâu. Chọn công cụ theo bài toán, không phải theo độ "hot" của tên gọi.

Gặp một sản phẩm "có AI", hỏi gì để biết nó thuộc loại nào

Biết ba vòng tròn rồi, bạn có thể đặt câu hỏi sắc hơn khi nghe quảng cáo hay đọc tin công nghệ:

  • Nó học từ dữ liệu nào, của ai? Một ứng dụng chẩn đoán bệnh da học từ ảnh người châu Âu có thể kém chính xác với da người châu Á. Câu hỏi này áp dụng cho mọi hệ học máy.
  • Có thật là học máy hay chỉ là quy tắc viết sẵn? Nhiều thiết bị gắn nhãn AI nhưng thực chất chạy theo ngưỡng cố định như "độ ẩm trên 70% thì bật hút ẩm". Không sai, nhưng không phải học máy.
  • Có tự cập nhật không? Hầu hết mô hình đóng băng sau huấn luyện. Nếu nhà sản xuất nói thiết bị "học thói quen của bạn", hãy hỏi nó học gì, lưu ở đâu, xoá được không.
  • Sai thì sai kiểu gì? Mọi mô hình học máy đều có tỷ lệ sai. Quan trọng là sai một lần có hậu quả gì và có người kiểm lại không.
  • Giải thích được kết quả không? Mô hình cây quyết định cho biết "từ chối vì thu nhập dưới ngưỡng X"; mạng sâu thường khó giải thích hơn. Với việc ảnh hưởng tới quyền lợi con người, khả năng giải thích là điểm cộng lớn.

Những câu này không cần biết lập trình, chỉ cần nắm khung khái niệm ở trên, và giúp tránh trả tiền cho chữ "AI" dán ngoài vỏ hộp.

Một phép thử nhỏ: hỏi người bán xem nếu tắt kết nối mạng thì thiết bị còn làm được những gì. Nhiều tính năng "thông minh" thật ra chạy trên máy chủ của hãng, nên mất mạng hoặc hãng ngừng dịch vụ là thiết bị quay về mức cơ bản.

Câu hỏi thường gặp

Data science và machine learning khác nhau thế nào?

Khoa học dữ liệu rộng hơn: thu thập, làm sạch, phân tích, trực quan hoá dữ liệu để trả lời câu hỏi kinh doanh hoặc nghiên cứu. Học máy là một bộ công cụ trong đó, dùng khi cần dự đoán hoặc phân loại tự động. Nhà khoa học dữ liệu không phải lúc nào cũng xây mô hình học máy.

Học machine learning nên bắt đầu từ đâu?

Thứ tự phổ biến: học lập trình Python cơ bản, ôn xác suất thống kê và đại số tuyến tính, rồi học các thuật toán cổ điển như hồi quy, cây quyết định trên bộ dữ liệu nhỏ. Sau đó mới sang mạng nơ-ron. Làm dự án nhỏ với dữ liệu thật giúp nhớ lâu hơn chỉ xem bài giảng.

Mạng nơ-ron nhân tạo có giống não người không?

Chỉ giống ở ý tưởng gốc là nhiều đơn vị nhỏ nối với nhau. Nơ-ron sinh học phức tạp hơn nhiều, giao tiếp bằng xung điện và hoá chất, não học liên tục với rất ít năng lượng. Mạng nhân tạo là mô hình toán học đơn giản hoá, không mô phỏng não.

Máy tính cá nhân có chạy được học sâu không?

Được, với mô hình nhỏ và vừa. Máy có card đồ hoạ rời dung lượng bộ nhớ lớn sẽ huấn luyện nhanh hơn nhiều. Nhiều người học dùng dịch vụ máy tính đám mây có GPU, một số cho dùng miễn phí giới hạn thời gian, đủ để thực hành.

Thuật toán và mô hình khác nhau ra sao?

Thuật toán là công thức học, giống phương pháp ôn thi. Mô hình là kết quả sau khi áp thuật toán lên dữ liệu cụ thể, giống kiến thức học sinh có sau khi ôn. Cùng một thuật toán, đổi dữ liệu sẽ ra mô hình khác.

Bài viết liên quan

Có câu hỏi hay góp ý? Viết cho Nhím Lông Xanh

Thấy bài sai, muốn đề xuất chủ đề, hay có điều muốn hỏi? Để lại lời nhắn, Nhím Lông Xanh sẽ trả lời.