Deep learning (1): góc nhìn giáo dục

Xin chào các bạn, hôm nay mình có thời gian nên quyết định bắt đầu series deep learning như đã hứa hẹn cả năm.

Deep learning hiện đang là công nghệ machine learning hot nhất hiện giờ, kể cả trong giảng đường nghiên cứu hoặc trong các công ty trên thị trường. Các công ty bá chủ của công nghiệp phần mềm và mạng Internet như Google, Microsoft, Facebook đều nắm trong tay những công nghệ deep learning quy mô lớn nhất. Mình có may mắn được chứng kiến cuộc cách mạng deep learning ồ ạt tại Google. Đây không phải là chuyện đơn giản bởi vì giới công nghiệp thường tiếp nhận tinh hoa từ giới nghiên cứu khoa học khá dè dặt vì chúng thường phức tạp và phải trải qua nhiều công đoạn thử nghiệm. Giới nghiên cứu hàn lâm thì đương nhiên vô cùng sốt sắng về deep learning. Đơn cử là việc người ta thấy các conference (hội thảo) cũ về machine learning không còn đủ chỗ để chứa các paper (bài báo) về deep learning nữa nên đã lập ra riêng một số conference như ICLR chỉ chuyên về deep learning.

Vậy tóm lại, deep learning là gì mà thế giới phải phát điên lên vì nó? Trong bài này mình đưa đến một câu trả lời dưới góc nhìn giáo dục, vì dẫu sau đi nữa, machine learning chung quy cũng là về chuyện dạy và học 🙂

Vắn tắt lịch sử

Deep learning thường được gắn với cụm từ neural network. Neural network hoàn toàn không mới, thậm chí chúng là những model machine learning đầu tiên xuất hiện từ những năm 1950 khi machine learning mới phôi thai. Tuy nhiên, khi ấy, dữ liệu chưa nhiều, máy tính chưa mạnh nên những model này không thể sánh kịp với những model đơn giản như logistic regression hay support vector machines. Yann LeCunn, hiện giờ là Director of Research tại Facebook, từng khốn đốn trong thời gian dài vì các paper về deep learning của nhóm ông liên tục bị từ chối bởi các conference lớn. Đến nỗi, ông viết một bức thư gửi cho ban tổ chức một conference thuộc dạng lớn nhất trong giới Computer Vision, bảo là tôi sẽ không bao giờ gửi paper đến cho conference này, trừ phi các ngài xóa bỏ định kiến về deep learning.

Deep learning muốn phát triển được cần ba yếu tố sau:

1. Lượng dữ liệu dồi dào.

2. Tốc độ tính toán của máy tính nhanh hơn.

3. Các kỹ thuật nâng cao để huấn luyện neural network ra đời.

Dòng chảy của lịch sử khiến 2 yếu tố đầu dần dần đạt được. Mãi đến năm 2006, bài báo của Geoff Hinton trên tạp chí Nature gây được sự chú ý lớn trong cộng đồng khoa học. Năm 2010, AlexNet, một model convolutional neural network, chiến thắng ImageNet Challenge (một cuộc thi về nhận diện đồ vật trong hình ảnh) một cách ngoạn mục, bỏ xa các model truyền thống về độ chính xác. Từ đó người ta nhận ra được tiềm năng của neural network và dần dần hoàn thiện kỹ thuật huấn luyện chúng. Khi 3 yếu tố kể trên được hội tụ, kỷ nguyên deep learning được mở ra.

Deep learning: một góc nhìn giáo dục

Tại sao thế giới lại bỏ những model cũ trước kia như logistic regression hay là support vector machines mà đi theo deep learning? Với dạng câu hỏi dạng “tại sao A tốt hơn B” như thế này thì câu trả lời thường nghe được sẽ là: à, A có ưu điểm này này, B có nhược điểm kia kia, …

Nhưng bản thân tác giả cảm thấy không nên tách biệt giữa deep learning và các model cũ hơn như vậy. Bản thân deep learning chính là một sự kế thừa từ các model cũ. Hơn hết, sự kế thừa này mang tính tự nhiên và tất yếu.

Để dễ hiểu, ta có thê hình dung lịch sử machine learning như thế này. Giả sử machine learning là một hệ thống giáo dục. Lúc trước thì hệ thống giáo dục chỉ có một lớp duy nhất. Học xong lớp này là tốt nghiệp đi làm luôn. Các nhà hoạch địch chính sách lúc ấy thì chỉ chăm chăm vào việc thêm vào môn học gì, bớt ra môn học gì. Tức là tất cả mục tiêu phát triển đều là theo chiều ngang. Mô hình này được (tác giả) gọi là shallow learning.

Dần dần người nhận ra rằng nếu cứ học tất cả các môn cùng một lúc như thế sẽ có nhiều bất cập. Thứ nhất là trong các môn học, có môn dễ, môn khó. Có khi phải học hết môn này mới có nền tảng học môn kia. Thứ hai là không phải môn học nào cũng hữu ích. Thứ ba, phức tạp hơn là có khi một môn học một mình nó lại không hữu ích nhưng khi ghép chung với các môn khác nó lại có ích. Ví dụ một mình môn toán không thể làm cho anh giàu có được, nhưng nếu vì thế mà anh bỏ môn toán đi thì quá là sai lầm, vì nó là nền tảng cốt yếu cho các môn học ứng dụng khác. Cuối cùng là nếu mọi người cứ đua nhau thí điểm thêm môn này bớt môn kia như thế thì rất lâu mới tìm ra được phương án tối ưu (tại vì có N môn học thì có tới 2N cấu hình mất rồi). Lúc ấy thì cả bao nhiêu thế hệ học sinh bị đem ra làm thí nghiệm, bao nhiêu tiền của bị hoang phí.

Cho đến một ngày, người ta mới suy nghĩ là: thay vì phát triển theo chiều ngang, sao ta không nghĩ về chiều sâu? Thay vì học hết các môn trong vòng một lớp thì giờ ta chia thành 12 lớp học. Mỗi lớp dạy ít ít môn thôi và nội dung giảng dạy nâng cao dần sau từng lớp. Sự phân tầng cụ thể như vậy có những ưu điểm sau. Đầu tiên là làm cho kiến thức có cơ hội lắng đọng lại. Hơn nữa, các môn học có cơ hội hỗ tương lẫn nhau chặt chẽ hơn. Ví dụ như lên cấp hai mới học môn Hóa, nhưng từ cấp một đã được chuẩn bị môn Toán để làm bước đệm. Mô hình này chính là tư tưởng cơ bản của deep learning. Chữ “deep” trong deep learning là thể hiện cho sự phân hóa luồng thông tin từ sơ cấp đến cao cấp như vậy.

Sau đó, người ta bước thêm một bước tinh vi hơn. Lúc này, người học sinh được cho phép tự tìm lấy những môn học ở từng cấp bậc luôn chứ không áp đặt giáo án có sẵn. Người học sinh sẽ được giao nhiệm vụ như thế này:

1. Anh phải đạt được những mục tiêu như sau;

2. Anh phải học tập theo mô hình phân tầng có số lượng cấp bậc do tôi đưa ra;

3. Mỗi cấp anh phải học số lượng môn học được quy định sẵn;

4. Học môn gì trong mỗi cấp là do anh tự chọn.

Vì mỗi người mỗi sức, mỗi mục tiêu mỗi chiến lược, nên mô hình này vận dụng được sự sáng tạo và linh động của học sinh, miễn là anh ta luôn tập trung vào việc hoàn thành mục tiêu. Các bạn có nhận ra không, cách làm này gần giống với cách chúng ta học đại học. Và tất nhiên, nó cũng gần giống với cách deep learning hoạt động.

Như vậy ta thấy rằng, từ mô hình một lớp học kiểu nhà nho phong kiến đến hệ thống 12 lớp 3 cấp học, rồi đến mô hình đại học tự do, là những cuộc cách mạng tất yếu trong giáo dục. Từ shallow learning đến deep learning cũng là một cuộc cách mạng như vậy.

Trong những bài sau, mình sẽ đưa góc nhìn giáo dục này trở về góc nhìn toán học thông thường. Mình sẽ giải thích sự tiến hóa từ shallow learning lên deep learning. Mình cũng sẽ cụ thể hóa các bước để “giao nhiệm vụ” cho mô hình deep learning. Ví dụ như, “anh phải đạt mục tiêu như sau” chính là việc lựa chọn hàm mất mát, “phải học tập theo mô hình phân tầng do tôi đưa ra” là việc chọn xem neural network có bao nhiêu layer (lớp), “mỗi cấp phải học số môn quy định” là việc chọn số lượng neuron ở mỗi lớp,…

Comments

comments