Mạng nơ-ron nhân tạo (Artificial Neural Network – ANN) là một mô hình tính toán được lấy cảm hứng từ cấu trúc và chức năng của hệ thần kinh, đặc biệt là não bộ con người. ANN gồm nhiều đơn vị xử lý đơn giản (gọi là nơ-ron) được kết nối với nhau, có khả năng học hỏi từ dữ liệu và cải thiện hiệu suất theo thời gian. Mạng nơ-ron nhân tạo được sử dụng rộng rãi trong nhiều lĩnh vực như nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên, dự đoán chuỗi thời gian và nhiều ứng dụng khác trong lĩnh vực trí tuệ nhân tạo.
ANN bao gồm nhiều loại kiến trúc và mô hình khác nhau, mà trong nội dung bài viết này tôi sẽ chỉ tập trung giải thích về hai dạng đơn giản, là nền tảng đầu tiên của ANN: Perceptron và Perceptron đa lớp (Multilayer Perceptron – MLP).
Hình 1. Sơ sánh giữa nơ-ron sinh học so với nơ-ron nhân tạo: (a) một nơ-ron sinh học; (b) một nơ-ron nhân tạo – Perceptron; (c) mạng nơ-ron sinh học; và (d) Mạng Perception Đa lớp – MLP (Nguồn: Suzuki K., 2013).
1. Bình minh của mạng nơ-ron nhân tạo
2. Cấu trúc mạng Perceptron
Perceptron là một trong những mô hình cơ bản nhất trong lĩnh vực học máy, nhưng chính sự đơn giản đó đã giúp nó trở thành nền tảng quan trọng để hiểu các khái niệm phức tạp hơn trong mạng nơ-ron và trí tuệ nhân tạo.
Perceptron là mạng mô phỏng lại mạng lưới thần kinh một nơ-ron. Perceptron có một tầng đầu vào và một tập hợp các kết nối giữa những đơn vị đầu vào với đơn vị đầu ra. Các đầu vào được nhân với trọng số tương ứng, sau đó các giá trị này được cộng lại. Tổng này sau đó được đưa qua một hàm kích hoạt, thường là một hàm bậc (step function), để quyết định đầu ra.
Công thức toán học cơ bản của Perceptron:
Trong đó:
- là trọng số.
- là các giá trị đầu vào.
- là hàm kích hoạt, ví dụ như hàm bậc: Hàm kích hoạt này đảm bảo rằng Perceptron sẽ đưa ra kết quả nhị phân, chẳng hạn như 0 hoặc 1, làm cho nó có thể hoạt động như một cổng logic.
Perceptron vs. Hồi quy Logistic
Hình 3. Sơ sánh giữa Perception và Hồi quy Logistic.
Dưới đây là bảng so sánh giữa mạng Perceptron và hồi quy Logistic:
Perceptron | Hồi quy Logistic | |
---|---|---|
Cấu trúc mạng |
Sử dụng hàm kích hoạt bậc (step function) để phân loại nhị phân. | Sử dụng hàm sigmoid để tính xác suất và phân loại. |
Khả năng xử lý dữ liệu phi tuyến | Chỉ xử lý được các bộ dữ liệu tuyến tính phân tách. | Xử lý tốt hơn với dữ liệu gần như tuyến tính, nhưng vẫn gặp khó khăn với dữ liệu phi tuyến. |
Phương pháp học và tối ưu hóa | Điều chỉnh trọng số dựa trên lỗi phân loại. | Sử dụng thuật toán gradient descent để tối ưu hóa hàm lỗi (entropy chéo). |
Khả năng dự đoán xác suất | Không đưa ra xác suất, chỉ dự đoán 0 hoặc 1. | Cung cấp dự đoán xác suất, cho biết khả năng thuộc về một lớp cụ thể. |
Khả năng hội tụ và độ ổn định | Có thể không hội tụ nếu dữ liệu không tuyến tính phân tách. | Hội tụ ngay cả khi dữ liệu không hoàn toàn tuyến tính phân tách, ổn định hơn. |
Ứng dụng | Phù hợp cho các bài toán đơn giản với dữ liệu tuyến tính. | Phù hợp cho các bài toán phân loại nhị phân yêu cầu dự đoán xác suất, dữ liệu phức tạp hơn. |
3. Quá Trình Huấn Luyện Perceptron
Trong công thức cơ bản của mạng Perceptron, trọng số là thước đo ảnh hưởng của mỗi đầu vào đối với quyết định cuối cùng của đơn vị đầu ra. Nhưng làm thế nào chúng ta có thể tìm thấy một tập hợp các trọng số có thể phân loại chính xác đầu vào?
Đối với trường hợp đặc biệt của hai đầu vào, có thẻ vẽ các đầu vào trên biểu đồ hai chiều. Mỗi đầu vào là một điểm trong biểu đồ và hai trọng số trong mạng tạo nên một đường thẳng. Mục đích của việc học là di chuyển đường thẳng đó sao cho nó tách biệt hoàn toàn các ví dụ âm và dương. Đối với ba đầu vào, không gian của các đầu vào là ba chiều, và Perceptron chỉ định một mặt phẳng phân tách các ví dụ huấn luyện âm và dương. Nguyên tắc tương tự được giữ trong trường hợp tổng quát nhiều chiều.
Vẻ đẹp của thuật toán học Perceptron là nó đảm bảo tìm thấy một tập hợp các trọng số một cách tự động nếu tập hợp các trọng số đó tồn tại và nếu các đủ các ví dụ. Rosenblatt đã chứng minh định lý hội tụ Perceptron vào năm 1957. Việc “học tập” này diễn ra dần dần sau mỗi ví dụ trong tập dữ liệu huấn luyện và đầu ra được so sánh với câu trả lời đúng. Nếu câu trả lời là chính xác, không có thay đổi nào được thực hiện với các trọng số. Nhưng nếu câu trả lời của nó không đúng (kết quả dự đoán là 1 nhưng lẽ ra phải là 0, hoặc ngược lại), thì sau đó các trọng số sẽ được thay đổi từng chút một để lần sau với cùng một đầu vào, nó sẽ tiến gần hơn tới câu trả lời đúng.
Perceptron được huấn luyện bằng cách điều chỉnh các trọng số dựa trên lỗi giữa giá trị dự đoán và giá trị thực tế. Quá trình huấn luyện thường sử dụng một thuật toán gọi là “Thuật toán điều chỉnh trọng số” hoặc thuật toán lan truyền ngược (backpropagation) trong các mạng nơ-ron sâu.
Công thức cập nhật trọng số của một Perceptron đơn giản là:
Trong đó:
- là trọng số cũ.
- là sự thay đổi trọng số, được tính bằng cách sử dụng sai số dự đoán và tốc độ học (learning rate).
-
- là tốc độ học.
- là giá trị đầu ra thực tế.
- là giá trị dự đoán từ perceptron thường là giá trị nhị phân: 0 hoặc 1)
- là giá trị đầu vào thứ .
Cuối cùng, nếu có một giải pháp khả thi, trọng số sẽ ngừng thay đổi, có nghĩa là Perceptron đã phân loại chính xác tất cả các ví dụ trong tập huấn luyện. Tuy nhiên, cũng có trường hợp rơi vào tình huống mà ta gọi là “Mô hình quá khớp” (overfitting) nghĩa là mạng chỉ đơn giản ghi nhớ các ví dụ cụ thể đã biết trong tập huấn luyện, mà không có khả năng khái quát hóa cho những cái mới. Khái quát hóa là một khái niệm quan trọng vì trong thực thế cuộc sống, chúng ta hiếm khi thấy cùng một vật thể theo cùng một cách, hoặc gặp phải 1 tình huống y nguyên như trước đây đã gặp. Nhưng nếu chúng ta có thể khái quát từ kinh nghiệm trước đó sang các tình huống mới, thì chúng ta có thể xử lý một loạt các vấn đề trong thế giới thực.
Để tránh rơi vào tình huống overfitting trên, điều quan trọng là phải có một tập dữ liệu khác, được gọi là tập kiểm tra, không được sử dụng để huấn luyện mạng, mà chỉ được dùng để đánh giá khả năng khái quát hóa với các ví dụ mới chưa được biết của mô hình mạng sau khi được huấn luyện.
4. Mạng Perceptron Đa lớp – MLP
Mặc dù Perceptron đơn giản là một mô hình nền tảng quan trọng, nó có một số hạn chế. Một trong những hạn chế lớn nhất là nó chỉ có thể phân loại các bộ dữ liệu tuyến tính phân tách được. Điều này có nghĩa là nếu không thể phân tách các lớp bằng một đường thẳng (hoặc mặt phẳng trong không gian đa chiều), perceptron sẽ không thể học được. Để khắc phục điều này, chúng ta cần sử dụng các mô hình phức tạp hơn, chẳng hạn như Mạng Perceptron đa lớp (Multilayer Perceptron – MLP).
Để vượt qua hạn chế của perceptron trong việc phân loại các bộ dữ liệu không tuyến tính, mạng nơ-ron đa lớp (MLP) đã được phát triển. MLP gồm nhiều lớp perceptron kết nối với nhau: một lớp đầu vào, một hoặc nhiều lớp ẩn, và một lớp đầu ra.
Mỗi lớp trong MLP có vai trò xử lý thông tin một cách phức tạp hơn, cho phép mạng học các mối quan hệ phi tuyến tính giữa đầu vào và đầu ra. Thuật toán lan truyền ngược (backpropagation) là chìa khóa để huấn luyện các mạng nơ-ron này. Nó hoạt động bằng cách truyền tín hiệu lỗi từ đầu ra trở lại qua các lớp, cập nhật các trọng số một cách hiệu quả.
Hình 4. Mô hình mạng Perception Đa lớp.
Lan Truyền Ngược (Backpropagation)
Thuật toán lan truyền ngược được sử dụng để tính toán sự chênh lệch giữa giá trị đầu ra dự đoán và giá trị đầu ra thực tế trong MLP. Sau đó, thuật toán điều chỉnh các trọng số của từng perceptron trong mạng để giảm sai số. Điều này giúp mạng có thể học được các hàm phi tuyến tính và trở nên mạnh mẽ hơn trong việc phân loại và dự đoán.
- 1. Khởi tạo trọng số : Trong đó, là nơ-ron từ lớp trước, là nơ-ron từ lớp tiếp theo, và là chỉ số lớp.
- 2. Với mỗi điểm dữ liệu trong tập dữ liệu:
- a. Truyền qua mạng nơ-ron (quá trình forward pass).
- b. Tính toán hàm lỗi giữa đầu ra dự đoán và giá trị thực .
- c. Sử dụng quy tắc chuỗi (chain rule) để tính tất cả các đạo hàm của hàm lỗi đối với trọng số.
- d. Cập nhật trọng số từ cuối mạng về đầu mạng bằng công thức:
Trong đó, là tốc độ học (learning rate).
- 3. Lặp lại bước 2 cho đến khi hội tụ, tức là khi
Ưu điểm của thuật toán lan truyền ngược:
- Hiệu quả trong việc học các mối quan hệ phi tuyến tính phức tạp.
- Khả năng tự động trích xuất đặc trưng từ dữ liệu thô.
- Linh hoạt và có thể áp dụng cho nhiều loại kiến trúc mạng nơ-ron khác nhau.
Hạn chế:
- Có thể bị mắc kẹt trong cực tiểu cục bộ.
- Đòi hỏi lượng dữ liệu lớn và tính toán nhiều để huấn luyện hiệu quả.
- Khó giải thích các quyết định của mô hình (black-box nature).
Thuật toán lan truyền ngược đã mở ra kỷ nguyên mới cho việc huấn luyện mạng nơ-ron đa lớp và là nền tảng cho sự phát triển của deep learning trong những năm gần đây.
Tổng kết: Perceptron và MLP đánh dấu những bước tiến quan trọng trong lĩnh vực trí tuệ nhân tạo, chuyển từ phương pháp lập trình logic sang phương pháp học từ dữ liệu. Mặc dù có những hạn chế nhất định, MLP vẫn là một công cụ mạnh mẽ trong học máy và là nền tảng cho nhiều phát triển tiên tiến trong deep learning. Sự phát triển của MLP không chỉ mở ra khả năng giải quyết các vấn đề phức tạp mà còn thúc đẩy sự tiến bộ trong nhiều lĩnh vực ứng dụng.
Các bài trong cùng chủ đề:
Bài 3: Mô hình hồi quy tuyến tính
Bài 4.1: Phân loại với hồi quy Logistic
Bài 4.2: Hồi quy Logistic cho phân loại đa lớp và Ứng dụng phân loại cảm xúc văn bản
Bài 5.1. Một ứng dụng của học không giám sát
Bài 5.2. Thuật toán K-Means và Ứng dụng phân cụm khách hàng
Bài 6. Bình minh của mạng nơ-ron nhân tạo – Cấu Trúc Perceptron
Pingback: [ML] Bài 3: Mô hình Hồi quy tuyến tính - Nền tảng cho phân tích dữ liệu và học máy - Greenwich Vietnam
Pingback: [ML] Bài 1: Học AI bắt đầu từ đâu? - Greenwich Vietnam
Pingback: [ML] Bài 4.1: Phân loại với hồi quy Logistic - Greenwich Vietnam
Pingback: [ML] Bài 5.1. Một ứng dụng của học không giám sát - Greenwich Vietnam
Pingback: [ML] Bài 5.2. Thuật toán K-Means và Ứng dụng phân cụm khách hàng - Greenwich Vietnam