Hinh 2.5: Mg : ới hai lớp ẩn
2.1.5 Huấn luyện mạng nơron
Huấn luyện mạng noron là điều chỉnh các tham số của nó dựa trên dit liệu đầu vào và kết quả
kỳ vọng, cụ thể là giảm thiểu sự khác biệt giữa kết quả dự đoán và kết quả thực tế cho mỗi ví
dụ trong dit liệu huấn luyện.
2.1.5.1 Hàm mất mát
Khi huấn luyện mạng nơron, một hàm mắt mát (loss function) L(y, ÿ) trả về một số thực khong
âm thể hiện sự chênh lệch giữa hai đại lượng: label được dự đoán ÿ và label đúng y. Hàm mắt mát được dùng để đánh giá mé hình đang hoạt động tốt như thế nào trên bộ dit liệu. Nếu kết
13
Hàm mất mát Hinge (Hinge Loss)
quả của mô hình trả về tệ, giá trị kết quả của hàm mat mát trả về sẽ là một số thực dương lớn; ngược lại nếu kết qua của mô hình trả về tốt, giá trị kết quả của hàm mat mát trả về sẽ là một
số thực dương nhỏ. Việc đánh giá như vậy của hàm mat mát giúp gợi ý cho việc huấn luyện.
có thể thay đổi như thé nào cho phù hợp với dữ liệu. Sau day sẽ là các hàm mất mát thường.
được sử dụng trong bài toán xử lý ngôn ngữ tự nhiên.
Ham mat mát Hinge (Hinge Loss) được thiết kế để sử dụng với bài toán phan loại nhị phan trong đó các giá trị mục tiêu nhận một trong 2 giá trị —1,1. Mô hình được xem là cho kết quả đúng nếu giá trị dự đoán ÿ và giá trị thực có cùng dấu, nghĩa là y - ÿ > 0. Hàm mất mát hinge còn được biết đến với tên hàm mat mát biên hay hàm mat mát SVM:
Lứu.) = max(0, 1 — - ÿ) (2.6)
Ham mat mát Cross-entropy là một hàm mất mát phổ biến được sử dụng trong học có
giám sát. Hàm được sử dụng để
các biến ngẫu nhiên hay
[0.1] đại điện cho kết q á ding hay sai (positive or negative), néu kết quả nhỏ hơn 0.5 nghĩa là kết quả dự M ⁄ ức tổng quái của hanf mất mát cross-entropy:
Hàm cross-entroy Ợ Oni Fross-entropy cho bài toán có nhiều lớp. Gọi = gì suất của các lớp 1,....m và ÿ = Yasin là vectd được biến dot am softmax được sử dụng ở đây có tác dụng giúp mô. hình tạo ra tập các giá trị đại diện cho xác suất tương đối của các nhãn. Mất mát categorical cross-entropy được tính bằng cách lấy logarit tuyệt đối của xác suất dự đoán cho mỗi lớp và cộng lại trên tất cả các lớp. Công thức tổng quát của hàm mắt mát categorical cross-entropy:
Lerossentropy Ys) = — > yi log Gi (2.8)
i=l
Việc huấn luyện một mạng nơron bắt đầu với việc khởi tao các trọng số một cách ngẫu nhiên. Tat nhiên lúc này kết quả dự đoán của mô hình sé không tốt và hàm mắt mát sẽ trả về kết quả rất lớn. Từ khởi điểm như vậy ta bắt đầu quá trình huấn luyện mô hình bằng cách đưa dữ liệu đầu vào vào mô hình tính toán kết quả trên các trọng số, đánh giá hiệu quả mô hình hiện tại thông qua hàm mat mát, đưa ra các điều chỉnh và thực hiện việc điều chỉnh với các trọng.
số ban đầu bằng phương pháp lan truyền ngược.
Stochastic Gradient Descent
Lan truyền ngược là một phương pháp hiệu quả dé cập nhật trong số cho mô hình. Như ngụ ý
từ chính tên của nó, lan truyền ngược hoạt động bằng cách đi ngược chiều xuôi khi tính toán kết quả, mỗi khi đi qua một nút trong mô hình đều sẽ thực hiện việc cập nhật lại trọng số hướng. tới mục tiêu giảm mất mát của mô hình. Việc tính toán điều chỉnh trọng số này sử dụng đại lượng gọi là gradient (đạo hàm riêng), thuật toán phổ biến được sứ dụng là Stochastic Gradient Descent. Ngoài ra, có một số thuật toán cũng được sử dụng khác như AdaGrad, Adam.
2.1.5.2 Stochastic Gradient Descent
Stochastic Gradient Descent (SGD) là một thuật toán học máy phổ biến, dùng để tìm bộ tham
số tốt nhất của một mô hình dựa trên dữ liệu huấn luyện. Nó là một thuật toán dựa trên gradient descent, nhưng thay vì tính gradient trên toàn bộ tập dit liệu huấn luyện, nó chỉ tính trên một vài mẫu dữ liệu ngẫu nhiên (ngẫu nhiên lấy ra từ tập dữ liệu huấn luyện) tại mỗi
vòng lặp. Thuật toán được mô tả như
Algorithm 1 Thuật toán t © alan C@p nhật thứ k
Đầu vào: Tốc độ học ¢
Đầu vào: Khởi tao the
Chọn ngẫu nhié
Tính đạo hàm:
Cập nhật: ỉ
end while
Tham số quan ti M tiên phải kể đến đó là tham số tốc độ học
(learning rate) €,. ằG WẾC, ta dé dàng thấy được tham số này có ảnh hưởng
đến việc cập nhật trọng số. Trên thực tế, người ta thấy việc giảm dần tham số này trong quá trình học có ảnh hưởng tích cực đến việc huấn luyện, và tốc độ hoc ở lần lặp thứ k có giá trị
cx. Thuật toán sẽ tính dao hàm của hàm mất mát ÿ¿3;U(ƒ(f;8),yŒ trên tập m điểm dữ liệu. Việc sử dụng m điểm di liệu có tác dụng giúp quá trình cập nhật diễn ra nhanh hơn so với việc tính trên từng mỗi điểm dữ liệu, và còn cho phép tận dụng hiệu quả nguồn GPUS với
khá năng tính toán song song.
2.1.5.3 Quán tính trong SGD
“Thuật toán SGD với quán tính (SGD with momentum) cũng giống như SGD với cơ chế sử dụng, điểm dữ liệu ngẫu nhiên dé cập nhật trọng số dua mô hình về điểm hội tụ, tuy nhiên quá trình train SGD vẫn gây tốn rất nhiều thời gian. Với cơ chế quán tính, nhược điểm này của SGD có thể phần nào được khắc phục, bằng cách sử dụng cơ chế giống như quán tính, kỳ vọng có thể
lỗ
AdaGrad
đấy mô hình về hướng điểm hội tụ. Hình 2.7 thể hiện ảnh hưởng của quán tính trong thuật toán SGD. Thuật toán tích lũy cấp số nhân các giá trị đạo hàm đã tính toán được và hướng,
~30 -30 ~20 -10 0 10 20
Tình 2.7: Giá trị hàm mất mát trong quá trình huấn luyện, đường màu đỏ thể hiện cho giá trị của hàm khi sử dụng thuật toán SGD với quán tinh, mũi tên màu đen thể hiện cho “xu hướng” biến thiên của hàm mat mát khi không sử dụng quán tính
mô hình trượt theo hướng đó. Dé làm được việc này, thuật toán sử dụng một tham số v giống như biểu trưng cho vận tốc tro ạ tả như sau:
Algorithm 2 Thuật toa
Đầu vào: Tốc độ học
Đầu vào: Khởi tạo t
while chưa đạt điề
Chọn ngẫu nhiê
end while
2.1.5.4. AdaGrad
Thuat toán AdaGrad có sự đổi mới trong các thuật toán tối ưu trước nó trong việc nó xem tốc
độ học như một tham số có thể điều chỉnh được. Nó điều chỉnh tốc độ học của từng phần tử của tất cả các tham số trong mô hình bằng cách chia tỷ lệ chúng theo tỷ lệ nghịch với căn bậc hai của tổng tất cả các giá trị bình phương của chúng. Các tham số có đạo hàm riêng lớn nhất của hàm mất mát có tốc độ học giảm nhanh tương ứng, trong khi các tham số có đạo ham riêng nhỏ có tốc độ học giảm tương đối nhỏ.
2.1.5.5 Adam
Thuat toán tối ưu Adam hiện đang là thuật toán tối ưu được ưa dùng nhất hiện nay trong huấn luyện các mạng học sâu kể cả trên độ chính xác và tốc độ tính toán của nó.
Adam