Mục đích của mô hình này là tính xấp xỉ xác suất: p(y1, ..., ym|x1, ..., xn)
với(x1, ..., xn)là chuỗi input và (y1, ..., ym)là chuỗi output của bài toán. Có thể thấy độ dài của input và output có thể khác nhau, tức làm6=n. Để tính được xác suất này, đầu tiên, mô hình sẽ dùng Encoder để tính ra vectorvcủa chuỗi input,vcó số chiều cố định và có thể xem như là vector biểu diễn của toàn bộ chuỗi input và cũng chính là hidden state cuối cùng của Encoder. Sau đó mô hình sẽ dùngvđể khởi tạo giá trị hidden state ở Decoder và lần lượt tính xác suất của y1, ..., ym:
p(y1, ..., ym|x1, ..., xn) = m Y t=1 p(yt|v, y1, ..., yy−1) 2.3.5 Attention
Trong mô hình seq2seq dùng cho các bài toán dịch máy (NMT - Neural Machine Translation), bộ encoder sẽ nhận đầu vào là một câu ở ngôn ngữ gốc, và đầu ra của encoder gọi là một context vector. Decoder sẽ dùng vector đó, cùng với các hidden state và các từ trước đó để predict từ tiếp theo qua mỗi timestep. Việc encode cả một câu dài vào một vector không thực sự tốt, kể cả khi đã sử dụng LSTM để khắc phục các hiện tượng như Vanishing Gradient.
Một cơ chế giúp cho mô hình có thể chú trọng vào những phần quan trọng (word từ source với word từ target) là Attention [Cha+21]. Thay vì chỉ sử dụng context vector, sử dụng tất cả các output của từng cell trên từng timestep, kết hợp với hidden state của từng cell để tổng hợp ra một attention vector. Attention vector này sẽ được sử dụng làm đầu vào của decoder.
Hình 2.16 là minh họa của một attention model cho việc dịch máy: