Category: AI-ML

Một chút lịch sử về mạng thần kinh nhân tạo

Published / by admin

Ngày nay, các mạng thần kinh nhân tạo (artificial neural networks – ANN) chiếm vị trí trung tâm trong lĩnh vực  trí tuệ nhân tạo. Bài viết này sẽ điểm qua lịch sử sự hình thành và phát triển của ANN.

 

Neurons

Khi ngành trí tuệ nhân tạo (AI) hình thành, có một ý tưởng rất tự nhiên và quan trọng được những nhà toán học như John von Neumann và Robert Wiener tuyên truyền, đó là nghiên cứu cấu trúc hoạt động của hệ thần kinh của con người và động vật, rồi mô phỏng hoạt động đó bằng máy để tạo các mạng thần kinh nhân tạo có khả năng học cho thông minh lên tương tự như người.

Từ thế kỷ 19, các nhà khoa học đã quan tâm nhiều đến hoạt động của hệ thần kinh. Một điểm mốc là công trình “The principles of psychology” (“Các nguyên lý của tâm lý”) của nhà tâm lý học thực tiễn William James vào năm 1890, trong đó ông có mô tả các cách thức hoạt động của não (brain activity patterns).

Vào năm 1943, nhà vật lý thần kinh học Warren McCullogh và cùng với nhà toán học trẻ tuổi Walter Pitts lúc đó là những người đầu tiên đã phân tích các tế bào thần kinh nhân tạo đơn giản hoá (idealized artificial neurons, mô phỏng một cách lý tưởng hoá sự hoạt động của các tế bào thần kinh thật), và chỉ ra cách chúng có thể thực hiện các phép tính lô-gíc. Về cơ bản, mô hình neuron nhân tạo của McCullough và Pitts vẫn được dùng cho đến ngày nay, và gồm có hai thành phần: thành phần đầu tiên thực hiện phép tính tổng tuyến tính của các đầu vào với các hệ số tỷ trọng nào đó, còn thành phần thứ hai là một hàm số nhận tổng này làm biến số. Những neuron nhân tạo như vậy có thể được thiết kế bằng mạng điện (electrical circuits).

Vào năm 1949, trong cuốn sách nhan đề The Organization of Behavior (Sự tổ chức của hành vi), nhà thần kinh học Donald Hebb  đưa ra lý thuyết về truyền tín hiệu giữa các tế bào thần kinh bằng synapsis (khớp thần kinh; còn viết là synapse). Hebb đã chỉ ra rằng synapsis nào càng được dùng nhiều để truyền tín hiệu thì càng mạnh lên, tức là sẽ càng dễ truyền tín hiệu những lần sau đó. Đến năm 1951, “đồ chơi” ANN đầu tiên – gọi là SNARC (Stochastic Neural Analog Reinforcement Calculator) – được một học trò của McCullough và Pitts tên là Marvin Minsky, lúc đó mới 24 tuổi, chế tạo với sự giúp đỡ của  một người thông thạo về điện tử tên là Dean Edmonds, sử dụng khoảng 40 khớp thần kinh. Minsky sẽ  “làm mưa làm gió” trong lĩnh vực AI suốt nửa thế kỷ sau đó. Máy ANN của Minsky đã có một số yếu tố của một mạng thần kinh nhân tạo hiện đại, như là tạo các tham số xác suất truyền tín hiệu tại các khớp thần kinh, rồi thay đổi dần các tham số theo hướng làm cho máy “thông minh lên”.

Trong những năm 1957-1958, một bạn học phổ thông của Minksy tên là Frank Rosenblatt, người sẽ được hậu thế mệnh danh là cha đẻ của neurocomputing  (tính toán bằng thần kinh), cùng với Charles Wightman và một số người khác đã thiết kế thành công chiếc máy tính mạng thần kinh (neuro-computer) đầu tiên, gọi là “Mark 1 Perceptron“(“Máy nhận biết Mark 1”), dùng để nhận dạng ảnh, dựa trên nghiên cứu về … ruồi bay. Perceptron của Rosenblatt sử dụng cùng một lúc nhiều input (nhiều “khớp thần kinh”, mỗi khớp nhận một input) qua một hàm tuyến tính nhiều biến, rồi kết hợp với thành phần thứ hai là một hàm một biến để cho ra kết quả dạng “YES/NO”.

 

Perceptron

(Hình minh hoạ: sơ đồ của một Perceptron, là một dạng ANN đơn giản chỉ có một lớp)

Sau Rosenblatt một chút, có một kiểu ANN khác gọi là ADALINE (adaptive linear neuron network) do  do Bernard Widrow cùng với học trò của mình là Ted Hoff (người về sau phát minh ra microprocessor) xây dựng vào năm 1960, dựa trên thuật toán gọi là “least mean square filter” (trung bình bình phương nhỏ nhất, LMS). Phương pháp back propagation (lan truyền ngược lại) nảy sinh từ thuật toán này chính là một phương pháp thông dụng ngày nay trong các chương trình học máy. Máy ADALINE của Widrow và Hoff không chỉ là “đồ chơi” mà được dùng thực sự trong các sản phẩm công nghiệp cho đến ngày nay, ví dụ như để lọc đi tiếng ồn trong điện thoại.

Rosenblatt rất lạc quan về Perceptron, và đã phán đoán rằng “nó sẽ có thể học, đưa ra các quyết định, và dịch các ngôn ngữ”. Một chương trình nghiên cứu sôi động về Perceptron diễn ra trong những năm 1960. Tuy nhiên, vào năm 1969 Minsky và Papert xuất bản một quyển sách về Perceptron, trong đó đưa ra nhiều phê phán, và nói rằng những người nghiên cứu Perceptron đã quá lạc quan tếu, vẽ ra một viễn tưởng vể Perceptron mà họ không thể thực hiện được. Minsky và Papert chỉ ra rằng máy Perceptron của Rosenblatt thậm chí không mô phỏng được một số hàm lô-gíc cơ bản như là XOR.

Bản thân Minsky và Papert có biết rằng, nếu dùng ANN với từ hai lớp neuron trở lên (là điều mà các ANN ngày nay có, càng nhiều lớp thì được coi là càng sâu), thay vì chỉ có một lớp neuron như Perceptron, thì giải quyết được vấn đề mô phỏng các hàm lô-gíc mà ANN một lớp không mô phỏng được. Tuy nhiên, từ quyển sách của Minsky và Papert xuất hiện, việc nghiên cứu ANN bị chững lại trong vòng cả chục năm, cùng với “mùa đông” của toàn bộ lĩnh vực AI. Ít ai còn dám dùng cụm từ “neuron network”. Trong những năm 1970, người ta vẫn dè dặt nghiên cứu ANN, nhưng đội lốt dưới các tên gọi khác, như là adaptive signal processing (xử lý tín hiện một cách thích nghi), pattern recognition (nhận dạng kiểu cách), biological modeling (mô hình dựa theo sinh học). Một số chuyên gia hàng đầu về ANN như Amari, Fukushima, Grossberg, Klopf, Gose xuất hiện  từ thời thập kỷ 1970 đó, âm thầm xây dựng nền tảng, chuẩn bị cho sự hồi sinh của ngành ANN. ANN nhiều lớp xuất hiện từ năm 1975.

Đến thập kỷ 1980, việc nghiên cứu ANN nở rộ trở lại cùng với sự hồi sinh của AI sau “mua đông AI thứ nhất”, bởi sự tác động của nhiều yếu tố: chương trình “máy tính thế hệ thứ 5” của Nhật Bản dẫn tới việc các nước Âu-Mỹ sợ Nhật sẽ chiếm thế áp đảo, cũng phải đổ tiền vào nghiên cứu AI để chạy đua; sự xuất hiện của “tính toán song song” (parallel computing) là thứ rất cần cho các ANN phức tạp; triết lý thực dụng mới về ANN không coi việc mô phỏng giống não người là quan trọng mà đặt trọng tâm vào việc chế ra các ANN có ích (dù có suy nghĩ theo kiểu não người suy nghĩ hay theo bất kỳ kiểu gì khác; phương pháp back propagation (Hinton và các đồng nghiệp) từ năm 1986; v.v. Vào năm 1987, hội nghị quốc tế về ANN đầu tiên do IEEE (Hiệp hội công nghệ điện và điện tử của Mỹ) tổ chức thu hút tới 1800 người tham dự.

ANN nhiều lớp là khi output của lớp này được dùng làm input của lớp khác trong một ANN. Một trong những thành công đầu tiên của ANN nhiều hơn một lớp trong công nghiệp là ANN dạng CNN (convolutional neural network – dùng phép toán convolution) được Yann LeCun phát triển từ những năm 1990 và áp dụng vào việc tự động đọc mã số bưu điện trên các thư. Tuy nhiên, phải đợi đến thập kỷ 2010s thì ANN nhiều lớp mới trở nên thực sự phổ biến, vì chúng đòi hỏi máy tính phải có sức mạnh tính toán thô rất lớn, là thứ mà các thập kỷ trước chưa có được. Các chương trình học máy sử dụng ANN nhiều lớp gọi là deep learning (học sâu). Tuy deep learning chỉ là một bộ phận của machine learning / AI nói chung, nhưng ngày nay hầu hết các chương trình AI quan trọng nhất và thành công nhất đều sử dụng deep learning, tức là dùng các mạng thần kinh nhân tạo có nhiều lớp.

 

F1