Thành phần giải mã

Một phần của tài liệu Xây dựng ứng dụng chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu (Trang 34 - 35)

Kết quả của thành phần mã hóa (Encoder) sẽ cho ra các bộ vector K và V, tiếp đến thành phần giải mã (Decoder) thực hiện chức năng giải mã vector của câu đầu vào thành câu đầu ra, do đó Decoder sẽ nhận thông tin từ 2 bộ vector này của Encoder. Kiến trúc Decoder rất giống với Encoder, ngoại trừ có thêm một lớp con Multi-Head Attention ở giữa dùng để học mối liên hệ giữa từ đang các từ trong câu đầu ra với các từ trong câu đầu vào.

2.3.3.1 Kỹ thuật Masked Multi-Head Attention

Kỹ thuật Masked Multi-Head Attention hoạt động giống Multi-Head Attention, nhưng thay vì việc truyền tất cả các từ câu đầu ra, Decoder sẽ che đi các từ ở tương lai chưa được mô hình dịch đến và trong quá trình huấn luyện mô hình sẽ tự động dự đoán các từ bị che đi, để làm được việc này ở bước Scaled Dot- Product ta cộng kết quả với một ma trận mask chứa các giá trị âm vô cùng (-inf) và 0. Lý do của việc cộng thêm ma trận mask này để khi đi qua Softmax các giá trị âm vô cùng sẽ trở về 0.

𝐴𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛(𝑄, 𝐾, 𝑉) = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 (𝑄𝐾

𝑇

√𝑑𝑘) 𝑉 (2.12)

2.3.3.2 Cơ chế chú ý của thành phần mã hóa và giải mã

Encoder-Decoder Attention hay tạm dịch là cơ chế chú ý của thành phần mã hóa và giải mã, hoạt động giống với cơ chế đa đầu chú ý, ngoại trừ việc nó tạo ra các ma trận Q từ lớp phía dưới và lấy các ma trận K và V từ đầu ra của Encoder để thực hiện tính toán. Nhiệm vụ của lớp này giúp tạo được mối liên kết giữa các từ ở câu đầu ra với các từ ở câu đầu vào. Đầu ra của lớp Encoder-Decoder Attention sẽ đi qua mạng truyền thẳng giống với Encoder.

2.3.3.3 Phân loại tuyến tính và chuẩn hóa dữ liệu

Đầu ra của lớp Decoder cuối cùng sẽ đi qua lớp phân loại tuyến tính (Linear Classifier) là một mạng truyền thẳng giúp chuyển đổi thành ma trận có chiều bằng số từ vựng mô hình đang sử dụng. Giả sử mô hình sử dụng 10,000 từ vựng, ta sẽ được 1 vector có chiều dài tương ứng với số từ vựng. Đầu ra của lớp Linear sẽ

24 được truyền vào lớp Softmax để ra được kết quả xác xuất trong khoảng từ 0 đến 1.

Kết quả đi qua Softmax sẽ dùng để tính xác suất của từ xuất hiện tiếp theo là bao nhiêu, so sánh với kết quả ta mong muốn sẽ được giá trị hàm mất mát (Loss function) và thực hiện bước truyền ngược (backpropagation) để quá trình huấn luyện được diễn ra.

Một phần của tài liệu Xây dựng ứng dụng chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu (Trang 34 - 35)

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

(72 trang)