3 CƠ SỞ LÝ THUYẾT
3.5 Mô hình hỏi đáp dựa trên BERT
Sau thành công của BERT [2], nhiều mô hình hỏi đáp phát triển thành phần nhận thức ngôn ngữ dựa trên BERT. Mô hình BERT là một hàm có thể nhận một hoặc nhiều chuỗi (được nối bởi [SEP]) làm đầu vào và đầu ra một tập hợp các vectơ mã hóa BERT cho token [CLS] đặc biệt và mọi token đầu vào:
BERT(s1,s2, ...) = [h[CLS],h(1),h(2), ...] (5) trong đóh[CLS] vectơ embedding cho token [CLS] đặc biệt vàhi là vectơ embedding cho token thứ i. Để sử dụng BERT để đọc hiểu, nó học hai trọng số bổ sung, Ws vàWe vàso f tmax(h)∗Ws)vàso f tmax(hi∗We)xác định hai phân phối xác suất của vị trí bắt đầu và kết thúc của khoảng dự đoán trên mỗi token. Toàn bộ tiến trình pre-training và fine-tuning của BERT. Một kiến trúc tương tự được sử dụng cho cả pretrain-model và fine-tuning model. Chúng ta sử dụng cùng một tham số pretrain để khởi tạo mô hình cho các tác vụ down stream khác nhau. Trong suốt quá trình fine-tuning thì toàn bộ các tham số của layers học chuyển giao sẽ được fine-tune. Đối với các tác vụ sử dụng input là một cặp sequence (pair-sequence) ví dụ như câu hỏi và câu trả lời thì ta sẽ thêm token khởi tạo là [CLS] ở đầu câu, token [SEP] ở giữa để ngăn cách 2 câu.
Tiến trình áp dụng fine-tuning sẽ như sau:
• Khi một câu ngữ cảnh được đưa vào để huấn luyện thì nó sẽ được nối với câu hỏi bằng token [SEP] để phân chia 2 phần và để phân biệt vị trí bắt đầu của câu thì ta sẽ thêm token [CLS] để đánh dấu. Sau đó ta sẽ đưa toàn bộ qua Embedding layer để có embedding véc tở từ pretrain model.
Hình 16: Minh hoạ về quá trình tinh chỉnh mô hình hỏi đáp dựa trên BERT
• Các embedding vectơ này sau đó sẽ được đưa vào kiến trúc tranformer bắt đầu từ multi-head attention với nhiều layer. Ta thu được một vectơ output ở encoder.
• Sau đó chúng ta tiến hành dự đoán phân phối xác suất cho từng vị trí từ ở decoder, ở mỗi step chúng ta sẽ truyền vào decoder vectơ output của encoder và vectơ embedding input của decoder để tính encoder-decoder attention. Sau đó chiếu qua liner layer và softmax để thu được phân phối xác suất cho output tương ứng.
• Trong kết quả trả ra ở output của Transformer ta sẽ cố định kết quả của câu Question sao cho trùng với câu Question ở input. Các vị trí còn lại sẽ là thành phần mở rộng Start/End Span tương ứng với câu trả lời tìm được từ câu input. Lưu ý quá trình huấn luyện chúng ta sẽ fine-tune lại toàn bộ các tham số của model BERT đã cut off top linear layer và huấn luyện lại từ đầu các tham số của linear layer mà chúng ta thêm vào kiến trúc model BERT để customize lại phù hợp với bài toán [23][24].