Chương 2 CƠ SỞ KIẾN THỨC
2.4. Cơ chế Attention
Cơ chế Attention được đề xuất lần đầu tiên bởi Bahdanau và cộng sự vào năm 2015 [7] với mục đích cải tiến hiệu quả của bài toán machine translation(dịch máy). Sau đó, vào năm 2017, Vaswani và cộng sự đã cơng bố bài báo "Attention Is All You Need" [8]. Cả hai bài báo này đã thực sự gây được tiếng vang rất lớn trong cộng đồng các nhà nghiên cứu về các mơ hình học máy. Theo thống kê của trang scholar.google.com, tính đến tháng
5 năm 2021 thì cả hai bài báo này, mỗi bài đã được trích dẫn bởi khoảng 20.000 bài báo khoa học khác. Điều này có thể chứng tỏ được hiệu quả của cơ chế Attention khi được áp dụng vào các bài tốn xử lý ngơn ngữ tự nhiên là rất lớn và chưa có cơ chế hay mơ hình nào thay thế được.
Thực tế, cơ chế Attention đều áp dụng được với tất cả các bài toán xử lý dữ liệu dạng chuỗi với mơ hình học máy có áp dụng RNN và Seq2Seq [9]. Tuy nhiên, để dễ hiểu thì nên bắt đầu với việc áp dụng cơ chế Attention cho
bài tốn machine translation như mơ hình được đề xuất lần đầu tiên.
Mục tiêu của Bahdanau và cộng sự là xây dựng mơ hình dịch máy gồm hai phầnEncoder-Decoder(Seq2Seq), trong đóEncoderlà phần học và rút trích thơng tin từng từ trong câu ngơn ngữ gốc bằng mơ hình RNN.Decoder
là phần học cách dịch những thông tin đã học được trong phần Encoder thành câu ngơn ngữ dịch. Trong Hình 2.9 là mơ hình Seq2Seq minh họa việc dịch câu tiếng Việt sang câu tiếng Anh.
Hình 2.9: Kiến trúc mơ hình Sequence-to-Sequence cho bài tốn dịch từtiếng Việt sang tiếng Anh tiếng Việt sang tiếng Anh
Bahdanau và cộng sự đã nhận thấy rằng, trong từng bước xử lý của phần Decoder chỉ cần dùng một phần liên quan trongcontext vector , kết quả của quá trình Encoder, là đủ thông tin để dự đốn từ tiếp theo trong câu ngơn
ngữ dịch. Phương pháp này được đặt tên làAttentionlà cơ chế tạo sự chú ý đến những phần thông tin liên quan đến việc dự đốn trongEncoderthay vì là tất cả thơng tin như hầu hết các cơng trình nghiên cứu về học máy trước đó.
Các bước áp dụng cơ chế Attention trong bài tốn machine translation (Hình 2.10) được mơ tả chi tiết như sau:
nhân vô hướng (dot product như cơng thức dưới đây. Trong đó ht là vector hidden state của bước xử lý thứ t trong phần Decoder và h¯s là tập hợp các vector hidden state của từng từ trong phần Encoder.
score(htT, h¯s) =hTt h¯s (2.11) 2. Tính attention weight bằng cách đưa kết quả tính attention score
qua hàm so f tmax
αts =so f tmax(score(hTt , h¯s)) (2.12) 3. Tính context vector bằng phép tính tổng các tích số của attention
weight và vector hidden state của từng từ trong phần Encoder
ct =∑
s
αts h¯s (2.13)
4. Tạo phân phối xác suất attention distribution là tích của ma trận trọng sốWc và ma trận gộp của context vectorvàht là vector hidden state của bước xử lý thứt trong phầnDecoder
Pt =Wc [ct; ht] (2.14) 5. Cuối cùng là đưa attention distribution qua hàm tanh để có được
attention vector
Như vậy, sau khi hồn thành các phép tính trên và thu được kết quả là
attention vector chứa một phần thông tin của Encoder được chú ý tại thời điểmt. Đến bước này, ta có thể đưa ra kết quả dự đốn từ tiếp theo trong câu ngơn ngữ dịch bằng cơng thức:
b
y=Wy [at; ht] (2.16)
Hình 2.10: Mơ phỏng q trình áp dụng cơ chế Attention trong bài toándịch câu tiếng Việt sang câu tiếng Anh dịch câu tiếng Việt sang câu tiếng Anh