Công đoạn huấn luyện mô hình

Một phần của tài liệu Xây dựng hệ thống hỏi đáp (Trang 47 - 48)

5 Hiện thực mô hình

5.3 Công đoạn huấn luyện mô hình

Chúng ta đã đi qua bước tiền xử lý dữ liệu và huấn luyện mô hình. Với các bài toán trong lĩnh vực học sâu, việc huấn luyện mô hình chúng ta thường huấn luyện mô hình theobatchgiúp mô hình huấn luyện hiệu quả về mặt thời gian và độ chính xác. Với mô hình QANet, chúng tôi thường thử nghiệm với cácbatchcó kích thước là 16 hoặc 32. Để tạo ra tập dữ liệu theo kiểu bó này và có thể tạo ra một kiểu dữ liệu kiểuiterablechúng tôi sử dụng thử viện hỗ trợ của PyTorch làtorch.utils.data.DataLoader, thư viện này giúp hỗ trợ việc chia tập dữ liệu thành các batch, có hỗ trợ chuyển các dữ liệu dạngNumpy, Pythonnumerical valuesang dạng PyTorch Tensors. Khi huấn luyện với một mô hình nói chung, kết quả sẽ tốt hơn nếu giữ sự biến đổi của các tham số học trong mô hình ở một mức nào đó. Thực nghiệm cho thấy áp dụng sự biến đổi trung bình dịch chuyển theo cấp số nhân (EMA1) là phổ biến nhất. Với phương pháp tối ưu cho mô hình, chúng tôi chọn giải thật Adam [6]. Huấn luyện mô hình học sâu thì cần một cơ chế điều chỉnh hệ số họclearing rate, torch.optim.lr_scheduler2 cung cấp một vài các phương thức để điều chỉnh hệ số học qua mỗi epouch. Hệ số học ở đây kiểm soát việc thay đổi mô hình một lượng bao nhiêu để tương ứng với lỗi ước lượng mỗi khi cập nhật trọng số mô hình. Điều này rất hữu ích, bởi khi ta huấn luyện mô hình, chúng ta muốn mô hình đạt các kết quả cao ở những epouch đầu tiên, nhưng để mô hình ổn định và hội tụ chúng ta muốn mô hình trở nênoverfitting

bằng cách giảm hệ số học.

Với mô hình hỏi đáp QANet này, chúng tôi huấn luyện mô hình với khoảng 30 epouch. Với từng epoch chúng tôi sẽ duyệt qua hết tất cả các bó để huấn luyện, với mỗi điểm dữ liệu trong bó sẽ trả về hai vector phân phối xác suất sau đó chúng ta sẽ tích hàm mất mát của mô hình với hai vector phân phối xác xuất thực tế rồi cập nhật trọng số mô hình thông qua quá trình lan truyền ngược. Chúng tôi sử dụng thư việnTensorBoard để ghi lại giá trị mất mát của mô hình, điểm F1_score cũng như là điểm EM để trực quan hóa quá trình huấn luyện.

1Exponential moving average

Chương 6

Xây dựng mô hình Hỏi-đáp tiếng Việt

Khi tiếp cận giải quyết bài toán hỏi đáp. Chúng tôi đặt mục tiêu sẽ giải quyết bài toán trên ngôn ngữ tiếng Anh và tiếng Việt. Với bài toán hỏi đáp trên ngôn ngữ tiếng Anh, đã có nhiều công trình nghiên cứu và dữ liệu hỗ trợ cho bài toán này. Đầu tiên chúng tôi tìm hiểu các phương pháp và hiện thực trên mô hình tiếng Anh, tiếp theo chúng tôi nghiên cứu và áp dụng bài toán này trên mô hình tiếng Việt. Trong phần này chúng tôi sẽ trình bày cách áp dụng mô hình QANet trên ngôn ngữ tiếng Việt.

Một phần của tài liệu Xây dựng hệ thống hỏi đáp (Trang 47 - 48)

Tải bản đầy đủ (PDF)

(71 trang)