DIET là mô hình xử lý đa tác vụ bao gồm trích chọn thực thể (Extract entity), phân loại ý định (Intent classification) và dự đoán từ bị ẩn (Masked language modeling). Việc huấn luyện mô hình là nhiệm vụ giảm thiểu tối đa giá trị của hàm mất mát 3 tác vụ trên được gọi là giá trị mất mát tổng 𝐿total.
Hàm mất mát quá trình trích chọn thực thể (Entity loss):
Dữ liệu sau khi xử lý xong ở Transformer sẽ được đi vào lớp Conditional Random Field (CRF). CRF [18] là một phương pháp sử dụng xác suất có điều kiện thường được áp dụng trong nhận dạng mẫu, học máy và dự đoán dữ liệu có cấu trúc. Rasa NLU sử dụng thư viện sklearn-crfsuite [19] để thực hiện trích chọn thực thể. Bên trong CRF các từ sẽ đi qua một mạng truyền thẳng (FFNN) tiếp theo sẽ phân loại entity. Ở giữa các FFNN có một ma trận chuyển tiếp (transition matrix), ý tưởng của ma trận này để phân bổ xác xuất nếu token là một entity thì khả năng cao token bên cạnh nó cũng là entity.
Đầu ra của lớp CRF thu được một chuỗi entity và kết hợp với dữ liệu traning nhãn entity yentity ta được giá trị hàm mất mát trong quá trình trích chọn thực thể (Entity Loss) theo công thức:
𝐿𝐸 = 𝐿𝐶𝑅𝐹(, 𝑦𝑒𝑛𝑡𝑖𝑡𝑦) (2.13)
Với LCRF (.) là negative log-likelihood cho một CRF. Entity Loss 𝐿𝐸 càng nhỏ thì mô hình dựđoán entity càng chính xác.
30
Hàm mất mát quá trình phân loại ý định (Intent loss):
Token __CLS__ là token tóm tắt cả câu phục vụ cho mục đích phân loại ý định. __CLS__ đi qua Transformer thu được 𝐶𝐿𝑆, song song với nó là nhãn ý định 𝑦𝑖𝑛𝑡𝑒𝑛𝑡 là intent sẽ đi qua một Embedding Layer. Kỹ thuật Embedding ở đây sử dụng mô hình StarSpace [20] được công bố vào cuối năm 2017 phát triển bởi nhóm nghiên cứu AI Facebook.
Đầu ra của Embedding Layer ta thu được 2 vector ℎ𝐶𝐿𝑆 = 𝐸(𝑎𝐶𝐿𝑆) và ℎ𝑖𝑛𝑡𝑒𝑛𝑡 = 𝐸(𝑦𝑖𝑛𝑡𝑒𝑛𝑡) với ℎ R20, 2 vector này sau đó sử dụng dot-product loss để tối đa sự tương đồng với nhãn ý định đúng (positive intent) 𝑆I+ và giảm thiểu sự tương đồng với nhãn ý định khác nhãn ý định đúng (negative intent) 𝑆I−, ta được công thức:
𝑆I+ = ℎCLST ℎintent+ (2.14) 𝑆I− = ℎCLST ℎintent− (2.15) Intent Loss được tính theo công thức:
𝐿I = − ⟨ 𝑆I+− log (𝑒𝑆𝐼+ + ∑ 𝑒𝑆𝐼−
𝐼−
)⟩ (2.16)
Với 𝐼−
là tổng số mẫu negative intent, một intent có một hoặc nhiều ví dụ ⟨. ⟩ là trung bình của các ví dụ trong 1 intent. Intent Loss 𝐿I càng nhỏ thì mô hình dự đoán intent càng chính xác.
Hàm mất mát quá trình dự đoán token bị che đi (Masking loss):
Trong quá trình huấn luyện mô hình DIET sẽ che đi ngẫu nhiên một số token đầu vào, mô hình sẽ dự đoán từ được che đi và được gọi là kỹ thuật Masked language modeling. __MASK__ token cũng được truyền qua Transformer thu được MASK tiếp theo đó truyền vào Embedding Layer, song song với đó masked token (trong Error! Reference source not found. là từ pong) cũng được xử lý, k ết quả sau khi qua Transformer là 𝑦token và truyền đến Embedding Layer.
31 Cũng giống với Intent classification, đầu ra của Embedding Layer ta được 2 vector ℎMASK = 𝐸(𝑎MASK) và ℎtoken = 𝐸(𝑦token) với ℎ R20, ℎMASK và ℎtoken dot-product ta thu được:
𝑆M+ = ℎMASKT ℎtoken+ (2.17) 𝑆M− = ℎMASKT ℎtoken− (2.18) Mask loss được tính theo công thức:
𝐿M = − ⟨ 𝑆M+− log (𝑒𝑆M+ + ∑ 𝑒𝑆M− M−
)⟩ (2.19)
Với 𝐼−
là tổng số mẫu negative mask. Việc áp dụng kỹ thuật Masked language modeling được sử dụng giúp mô hình không chỉ dùng để phân loại mà còn học được các đặc điểm chung trong từ vựng giúp dự đoán chính xác hơn. Mass loss 𝐿M càng nhỏ thì mô hình dự đoán mask token càng chính xác
Giá trị hàm mất mát tổng hợp:
Giá trị hàm mất mát tổng hợp (Total loss) bằng tổng của Entity loss, Intent loss và Mask loss. DIET sẽ huấn luyện mô hình bằng cách đưa Total loss 𝐿total về giá trị nhỏ nhất có thể và thực hiện quá trình truyền ngược (Backpropagation) để cập nhật trọng số các thành phần. Mô hình có thể cấu hình để loại bỏ một trong những tác vụ không cần thiết, giả sử mô hình không cần trích chọn thực thể ta có thể loại bỏ 𝐿E ra khỏi 𝐿total.
𝐿total = 𝐿I+ 𝐿E+ 𝐿M (2.20)