Tại sao học máy và thống kê bổ sung cho nhau?

Bản dịch của bài viết “Are ML and Statistics Complementary?” của tác giả Max Welling, đại học Amsterdam.

Tôi từng được yêu cầu đưa ra các bình luận về chủ đề “Khoa học dữ liệu trong 50 năm tới” (Data Science in the next 50 years), và đặc biệt là mối liên hệ giữa học máy (machine learning) và thống kê (statistics). Học máy – ngành non trẻ hơn trong hai ngành, được xây dựng trên nền tảng của xác suất/thống kê, trong nhiều năm đã tiếp nhận rất nhiều “triết lý” cũng như các kỹ thuật trong thống kê. Ví dụ trong học máy, chúng ta hầu như đi theo hướng sử dụng Maximum Likelihood hoặc Bayesian trong khi ước lượng (estimation) và chúng ta sử dụng các thuật toán cực đại kỳ vọng (expectation maximization – EM) để xử lý các biến ẩn. Cũng như vậy, “trào lưu” (hype) trước kia trong học máy (trước khi “học sâu” hay deep learning ra đời) là các phương pháp Bayesian không tham số (nonparametric Bayesian methods), rõ ràng là một lĩnh vực nòng cốt trong thống kê. Cùng thời gian đó, tồn tại những sự khác biệt mang tính “văn hoá” giữa hai ngành. Trong đó ngành thống kê tập trung hơn vào các “suy diễn thống kê” (statistical inference), tức là giải thích và kiểm định các thuộc tính của một quần thể (population) dựa vào phân tích các mẫu lấy ngẫu nhiên từ đó. Học máy quan tâm nhiều hơn đến việc đưa ra các dự đoán (making prediction), mặc dù các dự đoán có thể không thể giải thích được rõ ràng (các dự đoán thuộc dạng này được biết đến như một dự đoán hộp đen – black-box prediction)

Sự chuyển dịch căn bản theo hướng “deep learning” mà hiện nay chúng ta đang chứng kiến cho ta một thí dụ minh hoạ của “khoảng trống văn hoá” (cultural gap) giữa học máy và xác suất. Nó theo sau một thập kỷ của sự hội tụ giữa hai ngành – khi mà các mô hình đồ thị (graphical models) và các phương pháp không tham số (nonparametric methods) là các công cụ được lựa chọn, và các phương pháp học/suy diễn (learning/inference) như cực đại kỳ vọng (EM) và MCMC (tham khảo tài liệu: An Introduction to MCMC for Machine Learning, của CHRISTOPHE ANDRIEU) còn thống trị.

Những thành công của “deep learning” có thể được giải thích bởi ba yếu tố:

  1. Việc tăng quy mô tính toán (như dùng các GPU)
  2. Việc thu thập và xử lý dữ liệu lớn
  3. Việc sử dụng các mô hình với số lượng tham số rất lớn, cho dù số các tham số không thể xác định và không thể diễn giải được.

Yếu tố 1 và 2 là bản chất thứ hai đối với “học máy” xét trên khía cạnh khoa học máy tính (chứ không phải là toán học). Yếu tố thứ 3 là kết quả của yếu tố 1 và 2. Yếu tố thứ 3 tập trung vào việc đưa ra các dự đoán chính xác hơn là các suy diễn thống kê. Các mô hình trong “deep learning” ngày càng giống giống như sau: thu thập một tập dữ liệu (lớn), xác định hàm số chi phí (cost function) chúng ta muốn tìm cực tiểu, và cuối cùng áp dụng một vài phiên bản của kỹ thuật “stochastic gradient descend” để cực tiểu “cost function” cho đến hết số vòng lặp tối đa được quy định. Các mô hình có thể giống hoặc khác khuôn mẫu này, nhưng điều ngạc nhiên là có vẻ không có mô hình nào có thể đánh bại khuôn mẫu này về khả năng dự đoán chính xác.

Trong một thập kỷ của các mô hình đồ thị (graphical models), xu hướng hiện tại có vẻ chuyển dịch theo hướng xa rời các nguyên lý xác suất/thống kê  và đi về phía các nguyên lý tính toán. Không có một chút hy vọng nào để diễn giải hàng tỷ các tham số của một kiến trúc mạng neural. Thậm chí còn có một sự miễn cưỡng nhất định trong việc đưa ra các xác suất cho các đầu ra nhằm lượng hoá tính không chắc chắn của các dự đoán.

Tuy nhiên, tôi dự đoán hai ngành sẽ không tách rời nhau. Cả hai thể hiện hai khía cạnh then chốt của khoa học dữ liệu – ngành nên trở thành ngành tích hợp (integrated) trong tương lai xa. (vâng, điều này sẽ khả thi hơn nếu chúng ta không xếp hai ngành ở các khoa riêng biệt). Đối với các nhà thống kê học tôi sẽ nói: trong thế giới ngày nay, sẽ là ngu ngốc khi từ chối các dữ liệu rất lớn hiện có thể dùng được cho việc phân tích (và các nhiều nhà thống kê thực sự nhận thức được thực tế này). Để phân tích dữ liệu lớn, chúng ta cần quan tâm về vấn đề lưu trữ và tính toán (phân tán). Tôi đã thường xuyên nghe các nhà nghiên cứu làm việc trong các khoa thống kê than vãn về kỹ năng lập trình của các sinh viên của họ. Vì vậy, đưa các môn trong khoa học máy tính vào chương trình giảng dạy của ngành thống kê là rất hợp lý. Một câu hỏi nữa là chúng ta sẽ xử lý các mô hình dự đoán hộp đen phức tạp và khó diễn giải như thế nào (complex black-box prediction models)? Câu trả lời phụ thuộc vào bài toán, nhưng có vẻ là, dưới giả thuyết rằng thế giới thực phức tạp vô cùng (infinitely complex), câu trả lời được chấp nhận là độ phức tạp của mô hình nên tăng theo lượng dữ liệu và có lẽ đây là cái giá mà chúng ta phải trả (khi dùng dữ liệu lớn để phân tích).

Một nơi mà khoa học thống kê và tính toán dường như hội tụ là khi các mô hình được biểu diễn bằng một mô phỏng. Trong thực tế, đây là cách hầu hết các ngành khoa học thể hiện các tri thức chuyên gia của một lĩnh vực cụ thể (các bạn hãy thử nghĩ về vấn đề dự báo thời tiết). Trong mô phỏng, tất cả các biến số có những diễn giải rõ ràng, và nhiệm vụ của chuyên gia thống kê là thực hiện các suy diễn trên các biến số đó. Tuy nhiên, nhiệm vụ này đòi hỏi khắt khe về năng lực tính toán của máy tính và yêu cầu sự suy tính cẩn trọng về vị trí cũng như cách thức chúng ta sử dụng năng lực tính toán hiện có. Trong thống kê, lĩnh vực này có tên gọi “tính toán xấp xỉ Bayes” (approximate Bayesian computation – ABC). Trong học máy, một mô hình mới rất hấp dẫn có tên “lập trình xác suất” (probabilistic programming) hướng tới giải quyết các bài toán suy diễn (inference tasks) giống như trong thống kê, nhưng bên cạnh đó phát triển các ngôn ngữ lập trình đặc biệt (ví dụ, dựa trên các mô hình đồ thị) nhằm biểu diễn các mô hình thống kê.

Một câu hỏi then chốt là liệu thống kê học và học máy sẽ hội tụ ở các lĩnh vực như “deep learning”? Nói cách khác, liệu các nhà thống kê sẽ tiếp nhận các mô hình deep learning với yêu cầu cao về năng lực tính toán, và liệu ngành học máy sẽ tiếp nhận một vài công cụ trong thống kê để làm ngành của mình thêm phong phú? Dự đoán của tôi là “có”,  nó sẽ là như vậy, và sau đây là lý do. Trong khi, với một số ứng dụng, chỉ đưa ra dự đoán là đủ, nhưng có rất nhiều ngành trong đó dự đoán thôi là chưa đủ. Lấy ví dụ về việc dự đoán quảng cáo nào nào được hiển thị lên trang Web. Về nguyên tắc, chỉ cần đưa ra dự đoán đúng sẽ đem lại lợi nhuận. Tuy nhiên, việc xác định những yếu tố nào là nguyên nhân của các đầu ra (một dạng của suy diễn thống kê) sẽ cho ta những hiểu biết sâu sắc (insight) và trợ giúp đắc lực cho việc thiết kế các công cụ dự đoán mạnh mẽ ngay cả khi phạm vi ứng dụng hay miền dữ liệu thay đổi (shifting input domains). Cũng như vậy, tính toán, lượng hoá được độ không chắc chắn của dự báo (calibrated uncertainty estimate) có thể giúp xác định liệu có nên đưa ra các dự báo dựa vào các “đại lượng thay đổi cùng nhau” (tức là covariates. Tham khảo content based filtering) hay dựa vào hành vi kích chuột của những người dùng trước (Tham khảo collaborative filtering). Hơn nữa, nó có thể giúp chúng ta cân bằng giữa “khai thác” (hiển thị các quảng cáo chúng ta biết một người dùng sẽ thích) và “khám phá” (hiển thị các quảng cáo mà từ đó chúng ta có thể học một vài điều về người dùng).

Tổng quát hơn, tôi sẽ nói rằng chúng ta cần các công cụ của ngành thống kê (ví dụ, suy luận nhân quả — causal reasoning, đồ thị xác định lỗi – calibrated error-bars) khi chúng ta phát triển các công cụ dự báo trong thực tế, chẳng hạn có thể cho các công cụ này tương tác với con người và đưa ra quyết định dựa trên sự tương tác đó. Ví dụ, một bác sỹ có thể sẽ muốn hiểu tại sao một thuật toán đưa ra dự báo bệnh nhân này sẽ mắc bệnh Alzeheimer và anh ta/cô ta cũng sẽ muốn biết xác suất dự báo đúng là bao nhiêu. Cũng như vậy, một xe tự lái sẽ cần biết khi nào nó không phán đoán được tình huống trên đường và cần chuyển điều khiển tay lái cho lái xe. Vì thế, với nhiều ứng dụng, để có thể tương tác thành công với con người, máy sẽ cần lý giải các suy luận của chúng cho con người, bao gồm lượng hoá mức độ chắc chắn về một dự báo.

Cuối cùng, người làm học máy có xu hướng tập trung nhiều hơn vào các khía cạnh thực hành và phương pháp luận của mô hình hoá (mặc dù có cả một nhánh trong lý thuyết học máy giải quyết các câu hỏi lý thuyết). Kết quả là, tồn tại một số các phương pháp được chấp nhận trong học máy nhưng rất hạn chế về cơ sở lý thuyết, hay nói cách khác các thuộc tính lý thuyết của chúng chưa được nghiên cứu sâu. Ví dụ, trong khi có một nhóm rất lớn các nhà nghiên cứu sử dụng hoặc phát triển các phương pháp học máy bán giám sát (semi-supervised learning methods) nhưng chúng ta không biết rõ ràng trong điều kiện nào các phương pháp này hoạt động hiệu quả. Theo ý kiến của tôi, đây cũng là lĩnh vực mà các nhà thống kê thiên về nghiên cứu lý thuyết có rất nhiều đất để đóng góp cho ngành học máy.

Có rất nhiều câu hỏi hấp dẫn về khoa học dữ liệu nữa mà các thống kê và học máy gặp nhau, ví dụ như 1) đưa ra các quyết định bình đẳng (ví dụ các quyết định không phụ thuộc vào chủng tộc hay giới tính), 2) loại bỏ “bias” từ dữ liệu thu thập (ví dụ, các dữ liệu không tuân theo “nghi thức” lấy mẫu ngẫu nhiên), 3) các dự báo bảo toàn sự riêng tư (privacy preserving predictions), 4) thoát khỏi sự rối rắm giữa quan hệ tương quan và nhân quả, 5) phát triển các thủ tục thống kê hoàn chỉnh với dữ liệu nhiều chiều, và rất nhiều câu hỏi khác nữa.

Tôi hy vọng rằng, cả hai ngành tiếp tục nhận thức rõ rằng các công cụ của mình thực sự bổ sung cho nhau, và sẽ có thêm nhiều sự hợp tác nghiên cứu giữa hai ngành trong những năm sắp tới.

=======================================

Đọc thêm các bài viết về “machine learning hay statistics” của GS Nguyễn Xuân Long đăng trên blog khoa học máy tính.

  1. machine learning hay statistics (1)
  2. machine learning hay statistics (2)
  3. machine learning hay statistics (3)
  4. What is statistics
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: