5. Cấu trúc của luận văn:
2.4. Đào tạo mạng neural tích chập
Ta tiến hành huấn luyện các tham số của CNN. Trong lúc huấn luyện, m i mô hình đều cho ngẫu nhiên các tr ng số W, để tìm ra tr ng số tối ƣu cho mô hình. Ta cần một hàm để đo độ chính xác dự đoán của mô hình. Hàm này đƣợc g i là hàm mất mát (loss function).
Việc xây dựng mạng neural network với lớp cuối cùng đƣợc kích hoạt bằng hàm Softmax thì mỗi output sẽ không còn là một giá trị tƣơng ứng với mỗi class nữa mà sẽ là một vector có đúng 1 phần tử bằng 1, các phần tử còn lại bằng 0. Phần tử bằng 1 nằm ở vị trí tƣơng ứng với class đó, thể hiện rằng điểm dữ liệu đang xét rơi vào class này với xác suất bằng 1.
Khi sử dụng lớp Softmax làm lớp kích hoạt cuối thì với mỗi đầu vào là vector x, ta sẽ có đầu ra dự đoán là a = ( 𝑇𝑥 + 𝑏) Trong khi đó, đầu ra thực sự vector y đƣợc biểu diễn dƣới dạng one hot coding [0,..1,..0].
Việc xây dựng hàm mất mát nhằm mục đích tối thiểu sự khác nhau giữa giá trị đầu ra dự đoán a và giá trị đầu ra thực sự y. Giải pháp đầu tiên là dùng tổng bình phƣơng sai số:
∑ ) (2. 10) Trong đó:
+ L là hàm mất mát.
+ C là số class của mô hình. + là giá trị đầu ra dự đoán. + là giá trị đầu ra thực tế.
Nhƣng chúng ta không lấy hàm này mà một đại lƣợng đ c trƣng cho nó và hiệu quả hơn. Đó là cross entropy – khoảng cách giữa hai phân bố xác suất.
Cross entropy giữa 2 phân phối xác suất p và q đƣợc định nghĩa là H(p,q) = Ep[−logq]
Đối với đại lƣợng phân phối đúng và đại lƣợng phân phối ƣớc tính q (nhƣ mô hình là y và a), hàm entropy:
) ∑ ) (2. 11) Đối với từng dữ liệu đầu vào (𝑥,) thì hàm loss đƣợc tính bằng:
𝑥 ) ∑ (2. 12) Trong đó:
+ 𝑗 là xác suất của vector đầu ra thực tế ⃗⃗⃗ , với ⃗⃗⃗ biểu diễn dƣới dạng one hot coding [0,..1,..0].
+ 𝑗 là xác suất của vector đầu ra dự đoán ⃗⃗⃗⃗ ,. Trong đó ⃗⃗⃗ phụ thuộc vào 𝑥⃗⃗⃗ với bộ tr ng số W.
Trong thực tế, việc huấn luyện thực hiện cùng một lúc nhiều dữ liệu N lớn hơn 1 nhƣng nhỏ hơn dữ liệu tổng thể g i là batch, nên hàm loss L sẽ có dạng:
𝑥 ) ∑ ∑ ) (2. 13) Trong đó:
+ 𝑥, là c p dữ liệu [1,2,3,..N] trong một batch. + là ma trận tr ng số.
+ 𝑁 là kích thƣớc một batch. + là số class
Với một c p dữ liệu (𝑥,) và vector bias lúc này bằng 0, ta có:
𝑥 ) ∑ ∑ ( 𝑥 ) ∑ 𝑥 ( 𝑥 )) ∑ ( 𝑥 (∑ 𝑥 ( 𝑥 ) )) ∑ ( 𝑥 ) (∑ 𝑥 ( 𝑥 )) (2. 14) Trong đó tổng xác suất của giá trị đầu ra luôn luôn bằng 1:
∑ (2. 15) Đạo hàm của hàm mất mát lúc bây giờ sẽ là:
) 𝑥 𝑥 ) ∑ 𝑥 𝑥 )𝑥 𝑥 𝑥 ) ∑ 𝑥 𝑥 )𝑥 𝑥 𝑥
𝑥 )
𝑥 ( ) (2. 16) Giá trị 𝑗 = 𝑗 − 𝑗 có thể đƣợc coi là sai số dự đoán.
)
∑ 𝑥 ∑ 𝑥 ) (2. 17)
Trong các biến thể của Gradient Descent, chúng tôi ch n Mini-batch Gradient Descent bởi vì nó tránh đƣợc 2 nhƣợc điểm của SGD và Batch Gradient Descent. Khi đó công thức cập nhật tr ng số W sẽ là:
* ∑ 𝑥 ( ) + (2. 18)