Deep learning, hành trình 70 năm đi tìm chân ái
Hôm nay tranh thủ cậu con trai về quê với ông bà nội, có thời gian thảnh thơi đầu óc ngẫm nghĩ nhân tình thế thái. Lượn qua lượn lại trên các diễn đàn, hội nhóm thấy người ta nói nhiều về Deep Learning, đến cả đứa bạn mình học kinh tế cũng hỏi học code AI, Deep Learning …. Cao hứng chia sẻ ít hiểu biết bản thân về cái thứ “so deep” đang làm mưa làm gió khắp các mặt trận này.
Cái gì cũng có điểm bắt đầu, đối với Deep Learning điểm khởi thủy phù hợp nhất tôi nghĩ có lẽ là vào những năm 1950, ở một lĩnh vực không liên quan đến AI: Sinh học.
Người thợ xây đặt viên gạch đầu tiên này là David H. Hubel, ở một thí nghiệm không lấy gì làm liên quan. Ông và đồng nghiệp của mình (Wiesel) đặt những điện cực nhỏ vào trong phần vỏ não xử lý thị giác của những con mèo đã được gây mê, họ chiếu các kiểu tia sáng khác nhau lên một màn hình trước con mèo và nhận thấy một số neuron nhất định phản ứng nhanh hơn với một vài kiểu sáng này, trong khi các neuron khác phản nhanh hơn ở kiểu sáng khác.
Tức mỗi neuron có 1 trạng thái kích thích khác nhau (weight) trước cùng một đối tượng . Từ đó mở ra một chương mới cho lịch sử nghiên cứu hoạt động của neuron thần kinh con người. Nhờ những đóng góp đó, năm 1981 ông được nhận giải Nobel về sinh học và y học (đồng nhân giải với Wiesel).
Nhưng có nằm mơ Hubel cũng không tưởng tượng ra được tác động lớn lao của những nghiên cứu của ông trên lên lĩnh vực AI những năm sau đó.
Vào một ngày đẹp trời mùa thu năm 1958, Frank Rosenblatt nhâm nhi một tách cafe trong phòng lab Naval Research, ông nhìn ra dòng kênh xanh ngát phía cửa sổ nghĩ miên man về cách làm cho máy tính trở nên hữu dụng hơn, giải được nhiều bài toán hơn và đặc biệt là có thể suy nghĩ như con người.
Ông tình cờ đọc được nghiên cứu của Hubel về cơ chế vận hành của các neuron thần kinh, về cách chúng phản ứng nhiều ít khác nhau với cùng 1 kích thích.Ông lẩm nhẩm: nếu mỗi neuron là 1 biến, và mức phản ứng là giá trị cao thấp của biến đó thì như nào nhỉ, có phải, có phải …
Như sét đánh ngang tai!
Ông vỗ đùi cái rộp, rồi chạy ngay xuống phòng lab nơi chiếc máy tính IBM 704 nặng 5 tấn đang chạy các phép toán, tiếng ồn phát ra cỡ ngang lúc bạn đứng ở ngã tư Lê Văn Lương giờ tan tầm.
Vừa chạy vừa hô lớn: “Đù, tìm ra rồi! tìm ra rồi” (hoặc cũng có thể lịch sự hơn)
Rosenblatt đã tạo ra được hệ thống mô phỏng lại hoạt động của neuron não bộ (neural network) đầu tiên đầu tiên chỉ gồm 2 layer (input, output), đầu vào là ma trận 20×20 chứa pixel hình ảnh con vật, đầu ra chỉ có 2 node (2 class) phân biệt đó là chó hay mèo.
Cũng như trending AI hiện giờ, khi có 1 khám phá mới, báo chí sẽ viết bài rần rần.
Trên tờ New York Time lúc đó có đưa bài trên trang nhất “NEW NAVY DEVICE LEARNS BY DOING: Psychologist Shows Embryo of Computer Designed to Read and Grow Wiser”. Đại khái dịch là những nhà tâm lý học đã làm cho máy tính có thể đọc, và trở nên thông minh hơn.
Những phóng viên nhiệt tình không quên “chém”: “Đối thủ nặng kỳ đầu tiên của não bộ con người đã được tạo ra”, rằng có thể chúng ta sắp mô phỏng lại được bộ não của con người, rằng máy tính sắp suy nghĩ, làm việc, giải quyết vấn đề như con người bla bla … Sau hơn nửa thế kỷ điều đó vẫn chưa đến, thế mới thấy sự lạc quan của con người là vô hạn. May mà họ chưa lạc quan đến mức lo ngại về việc bị máy tính lấy mất việc làm của con người như chúng ta hiện nay.
Thời gian chứng minh chương trình của Rosenblatt là chưa hoàn hảo, vẫn nhiều dự đoán sai dù traning nhiều lần như nào chăng nữa. Mọi thứ lại đi vào bế tắc. Báo chí lại tiếp tục chuyển chủ đề sang cướp, giết, hiếp như thường lệ.
Phải đến năm 1960, khi Marvin Minsky nhà khoa học máy tính đến từ MIT trong cuốn sách mang tên “Perceptrons” của mình chứng minh bằng toán học rằng 2 layer là không đủ, chúng ta cần nhiều hơn thế. Đến nay đó vẫn được coi là một cuốn sách quan trọng trong lịch sử AI.
Nhưng với trực giác thiên tài của mình, ông cũng không quên cảnh báo: “Không phải cứ cho càng nhiều node là ta giải quyết được mọi vấn đề”.
Đến tận ngày nay, sau 60 năm cuốn sách ra đời, những hậu bối chúng ta vẫn hay vướng phải lỗi đó. Mỗi khi model neuron network cho tỉ lệ chính xác thấp, việc đầu tiên chúng ta hay nghĩ đến là “add more node, more layer” (hay là chỉ mình tôi mắc lỗi tư duy đó?)
Trong suốt giai đoạn 1960-2000, neuron network chứng kiến sự hưng thịnh và thoái trào dần dần. Sự nhiệt tình nào rồi cũng lúc nguội lạnh khi đường đi ngày một tối.
Người kiên trì theo đuổi Neuron Network nhất có thể kể đến một vài cái tên như Yoshua Bengio, Geoff Hinton mà không thể không nhắc đến Yann Lecun.
Chúng ta phải trở lại bối cảnh giai đoạn năm 1990-2010. Lúc này Neuron Network ít nhiều thoái trào, nhường chỗ cho những phương pháp Marchine Learning thời thượng khác. Tiền ngân sách (funding) về Neuron Network thì khó xin như đi lên trời, các Shark quan tâm nhiều đến các hướng đi mới, đồng nghiệp, rồi nghiên cứu sinh dưới quyền ai cũng uể oải, chán chường rồi lũ lượt rủ nhau bỏ cuộc chơi.
Ấy vậy mà Yan Lecun vẫn không bỏ cuộc, không gì ngăn được sự nhiệt tình của tuổi trẻ.
Năm 1990 ông cùng đồng nghiệp ra được model nhận diện chữ viết tay có tên LeNet (đầu vào là ma trận 16×16 pixcel) cho độ chính xác khá cao, tạo được ít nhiều tiếng vang. Nhiều người thế hệ đó lại được truyền cảm hứng quay trở lại với neuron network. Ứng dụng rõ nhất thời điểm đó là trong các ngân hàng để nhận diện chữ viết tay. Ước lượng có khoảng 10% giao dịch bằng xéc (check) trên đất Mỹ được nhận diện qua hệ thống nhân diện tự động. Nhưng ấy là khi SVM chưa ra đời!
Năm 1992: Vapnik đồng nghiệp của Yan Lecun (phòng thí nghiệm AT&Bell), dìm Neuron Network chìm sâu vào vùng quên lãng bằng việc tạo ra thuật toán SVM (Support Vector Machine) cho độ chính xác hơn nhiều Neuron Network trong rất nhiều bài đặc biệt là nhận dạng chữ viết, phân loại ảnh, NLP (xử lý ngôn ngữ tự nhiên). Người ta ăn SVM, ngủ SVM, cà phê bàn luận về SVM. Tiền lại có nơi để đổ, báo chí lại được dịp ra bài lia lịa.
Giai đoạn này nghĩ cũng tội ông Yan Lecun, vẫn ra bài đều tầm 5-10 bài 1 năm nhưng quá nổi bật, không nhiều người “like” (cited theo ngôn ngữ khoa học), mãi sau tên tuổi nổi như cồn thì lại thi nhau cite lại cả các bài cổ, người đời vốn vậy.
Năm 2010 diễn ra một biến cố quan trọng trong lĩnh vực AI, đặt nền móng cho Deep Learning ngày nay cũng như đưa Yan Lecun trở thành người mà ai cũng biết. Người đóng góp cho sự kiện này là thầy của Yan Lecun: Geoffrey Hinton. Nhưng hãy chờ, nói một chút về GPU đã.
Một trong những thách thức lớn nhất của mạng neuron (neural network) là việc tính toán rất nặng, thêm một node hay 1 layer vào thôi là phải thêm cả trăm, cả nghìn phép toán, cứ thế cấp số nhân lên. CPU thời bấy giờ vẫn cùi bắp, nhiều nhà khoa học thời bấy giờ chia sẻ, để training một mạng neuron cho tử tế có khi mất cả tuần, hoặc thậm chí tính bằng tháng. Loay hoay điều chỉnh tham số, chạy vài turn training như vậy không khéo lỡ toi mất kỳ báo báo.
GPU ra đời ban đầu với mục đích dung tục hơn là phục vụ các máy chơi game và xử lý đồ họa. Nhưng dần dà người ta phát hiện ra cách tính toán của GPU cực kỳ phù hợp với việc nhân chập ma trận (việc mà neuron network thường xuyên phải xử lý). Ấy thế là lại tìm ra ánh sáng cuối đường hầm. Nhờ GPU, giờ đây ta đã có thể training những mạng neuron rất lớn mà thời gian chờ không quá lâu.
Chuyện gì đến sẽ đến!
Năm 2012, Geoffrey Hinton ra một công trình sáng chói, đặt điểm khởi đầu cho mọi thứ mà người ta gọi là Deep Learning hiện nay. Với sức mạnh của GPU, và tất nhiên cả “mạnh vì gạo, bạo vì tiền”, ông cùng đội nghiên cứu của mình (không có Yan Lecun) tiến hành traning (huấn luyện) trên network gồm 60 triệu tham số, 650.000 neuron, thực hiện trên training data set (dữ liệu huấn luyện) 1.2 triệu hình ảnh (down từ google và các nguồn khác), 1000 class (thư mục hình ảnh), test trên 150.000 hình ảnh với độ chính xác lên tơi 84%, gây xốc nặng giới computer science lúc bấy giờ (75% đã là cao hết tầm rồi). Một điều tôi rất nể Geoffrey Hinton ở chỗ, ông không quên cite bài của học trò của mình năm 1990 về nhận dạng chữ viết tay, nói rằng công trình của ông kế thừa nhiều từ bài báo đó. Yan Lecun lên hương, Geoffrey Hinton cũng hưởng đủ (thành lập công ty riêng về AI).
Người quen hơn nhau là ở chỗ đó.
Nhưng có vẻ người trẻ nhắc đến Yan Lecun nhiều hơn Geoffrey Hinton nhỉ?
Sau công trình của Geoffrey Hinton, hàng loạt net mới ra đời, với nhiều tham số hơn, nhiều layer hơn, data set khủng hơn, kỷ lục liên tục bị xô đổ. Deep Learning dần trở thành cuộc chơi của những đội lắm tiền, lắm gạo. Những diễn biến gần đây chắc ai cũng cập nhật rồi nên tôi ko nhắc lại nữa.
Google cũng không nằm ngoài trending này, DeepMind được google mua lại với giá 500 triệu đô trump năm 2014. Từ đây AlphaStar, AlphaGo, AlphaFold được ra đời và nổi tiếng toàn thế giới. Chỉ tháng trước thôi, AlphaFold đã dự đoán rất chính xác cấu trúc cuộn 3D của protein, viết nên lịch sử ngành sinh học phân tử.
Một con đường dài còn ở phía trước, phong trào nghiên cứu Deep Learning đang nổi lên rất mạnh trên toàn thế giới, trong đó người trẻ Việt Nam cũng tham gia rất tích cực.
Ơ mây zing, gút chóp my friends.
Chém gió cho vui thế thôi, giờ phải đi thay bỉm cho con đã. Hẹn gặp ngày gần đây nhất.
Nguồn tham khảo:
Paper: Handwritten digit recognition with a back-propagation network. In Advances in Neural Information Processing Systems (1990)
Tác giả: Dương Thịnh