

Trong bài hướng dẫn về Học máy (Machine Learning) này, chúng ta sẽ tìm hiểu về các thuật toán Mạng nơ-ron hàng đầu. Các thuật toán này được sử dụng để huấn luyện Mạng nơ-ron nhân tạo (ANN). Bài viết này cung cấp cho bạn kiến thức chuyên sâu về Gradient Descent, Thuật toán Tiến hóa (Evolutionary Algorithms) và Thuật toán Di truyền (Genetic Algorithm) trong Mạng nơ-ron.
Hãy cùng bắt đầu tìm hiểu về các Thuật toán Mạng nơ-ron.
Việc học của mạng nơ-ron diễn ra trên cơ sở một mẫu của quần thể đang được nghiên cứu. Trong quá trình học, giá trị được đưa ra bởi đơn vị đầu ra sẽ được so sánh với giá trị thực tế. Sau đó, trọng số của tất cả các đơn vị sẽ được điều chỉnh để cải thiện khả năng dự đoán.
Có nhiều thuật toán Mạng nơ-ron có sẵn để huấn luyện Mạng nơ-ron nhân tạo. Chúng ta hãy xem xét một số thuật toán quan trọng:
Chúng ta sẽ tìm hiểu chi tiết về chúng bên dưới.
Chúng ta sử dụng thuật toán Gradient Descent để tìm điểm nhỏ nhất cục bộ của một hàm số. Thuật toán Mạng nơ-ron sẽ hội tụ về điểm nhỏ nhất này bằng cách tiếp cận theo hướng ngược lại (âm) với gradient của hàm số. Để tìm cực đại cục bộ, ta thực hiện các bước tỷ lệ thuận với gradient dương của hàm số (quá trình này gọi là Gradient Ascendant).
Trong các mô hình tuyến tính, bề mặt sai số là một đối tượng toán học được xác định rõ ràng có hình dạng một parabol. Khi đó, việc tìm điểm thấp nhất là thông qua tính toán. Khác với mô hình tuyến tính, mạng nơ-ron là các mô hình phi tuyến phức tạp. Tại đây, bề mặt sai số có bố cục không đều, đan xen với đồi núi, thung lũng, cao nguyên và những khe vực sâu. Để tìm điểm cuối cùng trên bề mặt này (nơi không có bản đồ sẵn có), người dùng phải tự khám phá nó.
Trong thuật toán này, bạn di chuyển trên bề mặt sai số bằng cách đi theo đường có độ dốc lớn nhất. Nó mang lại khả năng đạt đến điểm thấp nhất có thể. Sau đó, bạn phải tính toán tốc độ tối ưu để di chuyển xuống dốc.
Tốc độ chính xác tỷ lệ thuận với độ dốc của bề mặt và tốc độ học (learning rate). Tốc độ học kiểm soát mức độ sửa đổi các trọng số trong quá trình học.
Do đó, đà (momentum) của mạng nơ-ron có thể ảnh hưởng đến hiệu suất của Perceptron đa lớp.
Thuật toán này dựa trên khái niệm chọn lọc tự nhiên hoặc sự tồn tại của những cá thể thích nghi nhất trong Sinh học. Khái niệm chọn lọc tự nhiên phát biểu rằng – đối với một quần thể nhất định, các điều kiện môi trường tạo ra áp lực dẫn đến sự gia tăng của những cá thể thích nghi nhất trong quần thể đó.
Để đo lường độ thích nghi trong một quần thể, bạn có thể áp dụng một hàm số như một thước đo trừu tượng.
Trong bối cảnh thuật toán tiến hóa, việc tái tổ hợp được gọi là một toán tử. Sau đó, áp dụng nó cho hai hoặc nhiều ứng viên (được gọi là cha mẹ) để tạo ra một hoặc nhiều ứng viên mới (được gọi là con cái). Việc đột biến được áp dụng trên một ứng viên duy nhất để tạo ra ứng viên mới. Bằng cách áp dụng tái tổ hợp và đột biến, chúng ta có được một tập hợp các ứng viên mới cho thế hệ tiếp theo dựa trên thước đo độ thích nghi của chúng.
Hai yếu tố cơ bản của thuật toán tiến hóa trong Mạng nơ-ron là:
Các đặc điểm chung của thuật toán tiến hóa là:
Tùy vào chi tiết và bài toán thực tế, chúng ta sử dụng các định dạng thuật toán tiến hóa khác nhau:
Trong tất cả các thuật toán này, Thuật toán Di truyền là phổ biến nhất.

Thuật toán di truyền được phát triển bởi nhóm của John Holland từ đầu những năm 1970. Nó cho phép lựa chọn các quy tắc phù hợp nhất để giải quyết một vấn đề, từ đó chúng truyền "vật chất di truyền" (các biến và danh mục của chúng) cho các quy tắc "con".
Ở đây, một quy tắc có thể được hiểu là một tập hợp các danh mục biến. Ví dụ: khách hàng từ 36 đến 50 tuổi, có tài sản tài chính dưới 20.000 USD và thu nhập hằng tháng trên 2.000 USD.
Một quy tắc tương đương với một nhánh của cây quyết định; nó cũng tương tự như một gen. Bạn có thể hiểu gen là các đơn vị bên trong tế bào kiểm soát cách các sinh vật thừa hưởng đặc điểm từ cha mẹ. Vì vậy, Thuật toán di truyền nhằm mục đích tái hiện cơ chế chọn lọc tự nhiên bằng cách chọn ra các quy tắc thích nghi tốt nhất cho việc dự đoán, sau đó lai chéo và đột biến chúng cho đến khi có được một mô hình dự đoán tối ưu.
Cùng với mạng nơ-ron, chúng tạo thành loại thuật toán thứ hai mô phỏng các cơ chế tự nhiên để giải thích các hiện tượng không nhất thiết phải là tự nhiên.
Các bước thực hiện thuật toán di truyền:
Thuật toán kết thúc khi đạt được một trong hai điều kiện:
Các thuật toán mạng nơ-ron giúp huấn luyện và cải thiện mô hình. Lan truyền ngược (Backpropagation) là một trong những thuật toán quan trọng nhất, hoạt động bằng cách tính toán sai số và điều chỉnh trọng số để giảm thiểu nó. Quá trình học này được lặp lại nhiều lần cho đến khi mô hình đạt độ chính xác.
Các thuật toán hữu ích khác bao gồm Gradient Descent (giúp tìm trọng số tốt nhất) và các hàm kích hoạt như ReLU, sigmoid hoặc tanh (quyết định lượng tín hiệu truyền đến lớp tiếp theo). Các bộ tối ưu hóa (optimizers) như Adam và RMSProp giúp việc học nhanh hơn và hiệu quả hơn.
Việc chọn đúng thuật toán phụ thuộc vào loại dữ liệu và nhiệm vụ. Các thuật toán tốt giúp mạng học nhanh hơn, đạt hiệu suất cao hơn và đóng vai trò then chốt trong việc xây dựng các hệ thống học máy thông minh và hiệu quả.
