Mạng nơ-ron nhân tạo (Neural networks, Artificial Neural networks hay ANN) dường như đã trở thành cơn sốt trong Machine Learning do hiệu suất tốt hơn đáng kể khi so với các thuật toán truyền thống trong nhiều trường hợp. Deep Learning được xây dựng dựa trên nền tảng của ANN và hoạt động của chúng. Do đó, tìm hiểu về ANN sẽ là bước đầu tiên trong việc nghiên cứu Deep Learning. Hãy khám phá chi tiết cùng mình qua bài viết này nhé!
Mạng nơ-ron nhân tạo là gì? Về cơ bản, chúng ta hiểu nôm na nó như cách bộ não của chúng ta đang hoạt động. ANN bắt chước bản chất và vận hành của mạng nơ-ron một cách nhân tạo, bao gồm một số lượng lớn các nơ-ron hoạt động đồng bộ để giải quyết các vấn đề. ANN được cấu hình cho một ứng dụng cụ thể, chẳng hạn như nhận dạng mẫu hoặc phân loại dữ liệu, Nhận dạng hình ảnh, nhận dạng giọng nói thông qua một quá trình học tập. Quá trình học tập này giống như con người – học bằng cách bắt chước các mẫu có sẵn.
Mạng nơ-ron nhân tạo bao gồm 3 nhóm layers: input layer → hidden layer → output layer.

Ở hình trên, mỗi ô tròn tương ứng một đơn vị cơ bản trong ANN, gọi là nút (node hoặc unit). Nó nhận đầu vào từ một số node khác hoặc từ input ban đầu và tính toán kết quả output đầu ra. Mỗi đầu vào có một trọng số liên quan (w), được tính toán phụ thuộc vào tầm quan trọng của nó đối với các đầu vào khác.

Ở đây ta lấy ví dụ về những gì đang xảy ra với một nút trong mạng. Ở đây xét tất cả các giá trị từ lớp trước kết nối với một nút trong lớp tiếp theo. Trong đó
- Y là giá trị cuối cùng của nút.
- W đại diện cho trọng số giữa các nút ở lớp trước và nút đầu ra.
- X đại diện cho các giá trị của các nút của lớp trước đó.
- B đại diện cho hệ số bias.
- H là giá trị nút trung gian. Đây không phải là giá trị cuối cùng của nút.
- f () được gọi là hàm kích hoạt và nó là thứ chúng ta có thể chọn.
Vì vậy, cuối cùng, giá trị đầu ra của nút này sẽ là f (0,57)
Bây giờ chúng ta hãy tìm hiểu đến các phép tính giữa hai lớp:

Các trọng số w trong hình trên đã được biểu diễn bằng màu sắc để dễ hiểu hơn. Chúng ta có thể biểu diễn toàn bộ phép tính dưới dạng một phép nhân ma trận. Nếu chúng ta biểu diễn các trọng số tương ứng với mỗi nút đầu vào dưới dạng vectơ và sắp xếp chúng theo chiều ngang, chúng ta có thể tạo thành một ma trận, đây được gọi là ma trận trọng số. Bây giờ chúng ta có thể nhân ma trận trọng số với vectơ đầu vào và sau đó thêm vectơ bias để nhận các giá trị nút trung gian.

Chúng ta có thể tóm tắt toàn bộ phép tính là Y = f (W * X + B). Ở đây, Y là vector đầu ra, X là vector đầu vào, W đại diện cho ma trận trọng số giữa hai lớp và B là vector bias. Chúng ta có thể xác định kích thước của ma trận trọng số bằng cách xem xét số lượng nút đầu vào và nút đầu ra. Ma trận trọng số M * N có nghĩa là nó nằm giữa hai lớp với lớp thứ nhất có N nút và lớp thứ hai có M nút.

Bây giờ chúng ta hãy xem xét một mạng nơ-ron hoàn chỉnh

Đây là một mạng nơ-ron nhỏ bao gồm bốn lớp. Lớp đầu vào là nơi chúng ta cung cấp dữ liệu mà mạng nơ-ron của chúng ta phải học từ đó. Lớp đầu ra là nơi chúng ta phải lấy giá trị mục tiêu, điều này thể hiện chính xác những gì mạng nơ-ron của chúng ta đang cố gắng dự đoán hoặc học hỏi. Tất cả các lớp ở giữa được gọi là các lớp ẩn. Khi chúng ta đưa các đầu vào vào lớp đầu tiên, giá trị của các nút sẽ được tính toán từng lớp bằng cách sử dụng phép nhân ma trận và các hàm kích hoạt cho đến khi chúng ta nhận được giá trị cuối cùng ở lớp đầu ra. Đó là cách chúng ta lấy đầu ra từ mạng nơ-ron.
Vì vậy nói một cách đơn giản, mạng nơ-ron là một chuỗi các phép nhân ma trận và các hàm kích hoạt. Khi chúng ta nhập một vectơ chứa dữ liệu đầu vào, dữ liệu sẽ được nhân với chuỗi ma trận trọng số và qua các hàm kích hoạt cho đến khi nó đến lớp đầu ra, lớp này chứa các dự đoán của mạng nơ-ron tương ứng với đầu vào cụ thể đó.
Tóm lại, thông qua bài viết này bạn có thể có nhìn nhận ban đầu cũng như cách hoạt động của mạng nơ-ron nhân tạo. Hy vọng những kiến thức hữu ích này có thể giúp bạn thành công trong quá trình tìm hiểu về Deep Learning nói riêng và ngành Trí tuệ nhân tạo nói chung.
Tài liệu tham khảo
- Introduction to Neural Networks – Harsha Bommana
- A Beginner Intro to Neural Networks – Purnasai Gudikandula