Transformer là một mô hình học sâu được nhóm nghiên cứu tại Google đề xuất vào năm 2017 trong bài báo ‘Attention is all you need’[1] nhằm giải quyết một số điểm hạn chế của các mô hình RNN như tốc độ xử lý chậm do phải xử lý dữ liệu một cách tuần tự và khó có thể lưu trữ thông tin của một chuỗi có độ dài lớn (mặc dù các biến thể của mô hình RNN như LSTM đã khắc phục được hiện tượng Vanishing gradient, tuy nhiên mô hình LSTM cũng chỉ có thể ghi nhớ các chuỗi dữ liệu không quá dài, trong khoảng 100 timestep).

Mô hình Transformer được xây dựng hoàn toàn dựa trên Attention mechanism (cơ chế tập trung) và tránh việc sử dụng phương pháp hồi quy do đó sẽ tránh việc xử lý dữ liệu một cách nối tiếp mà sẽ thực hiện xử lý dữ liệu một cách song song, qua đó góp phần nâng cao tốc độ huấn luyện, xử lý của mô hình. Ngoài ra ‘Cơ chế tập trung’ giúp mô hình có thể biểu diễn mối quan hệ giữa các dữ liệu cách xa nhau tốt hơn so với các mô hình RNN thông thường hoặc mô hình LSTM. Mô hình Transformer được xây dựng dựa trên kiến trúc encoder-decoder với mô hình tổng quan được thể hiện trong hình dưới đây:– Encoder: Encoder bao gồm N=6 layer giống nhau, mỗi một layer có 2 sub-layers là Multi-head self-attention mechanism layer (layer sử dụng cơ chế self-attention) và Feed-forward network layer (layer mạng Nơ-ron thông thường). Giữa 2 sub-layers sử dụng residual connection (kết nối phần dư)[2] và sau đó thực hiện layer normalization (chuẩn hóa layer) [3]. Như vậy tại mỗi sub-layer, với dữ liệu đầu vào là x thì dữ liệu đầu ra của sub-layer là LayerNorm (x+Sublayer(x))

– Decoder: Decoder cũng bao gồm N=6 layer giống nhau. Tuy nhiên, bên cạnh việc sử dụng 2 sub-layers của mỗi layer trong Encoder, Decoder sử dụng thêm một sub-layer thứ ba ở giữa 2 sub-layers nhằm tính Multi-head attention cho đầu ra của Encoder. Ngoài ra, Decoder cũng sử dụng residual connection (kết nối phần dư) và sau đó thực hiện layer normalization (chuẩn hóa layer) tương tự như đối với Encoder.

1. Positional Encoding (Mã hóa vị trí)

Mô hình Transformer sử dụng hoàn toàn ‘Cơ chế tập chung’ và không sử dụng phương pháp hồi quy (recurrence) hoặc tích chập (convolution). Do đó, để lưu trữ thông tin về thứ tự của từng dữ liệu trong chuỗi dữ liệu, mô hình sử dụng thuật toán mã hóa vị trí (Positional Encoding) với hàm sin và cos như sau:Trong đó:

– pos: vị trí của dữ liệu trong chuỗi dữ liệu. Ví dụ: trong bài toán ‘Machine Translation’ (dịch máy) pos chính là vị trí của từ trong câu.

– dmodel: số lượng chiều của từng dữ liệu. Ví dụ: trong bài toán ‘Machine Translation’ (Dịch máy) dmodel chính là số lượng chiều của từng từ (word embedding dimension của từng từ); trong bài toán bảo trì dự báo, dmodel là số lượng đặc trưng của từng dữ liệu (số lượng cảm biến)

– i: số thứ tự của chiều, i có giá trị trong khoảng [0, dmodel/2]

Như vậy, đối với từng dữ liệu trong chuỗi dữ liệu, Positional Encoding sẽ tạo ra một vector có số chiều bằng với số chiều của dữ liệu, do đó vector này có thể cộng gộp với giá trị ban đầu của dữ liệu. Giá trị của vector tại vị trí chiều chẵn được tính bằng hàm sin còn vị trí lẻ được tính bằng hàm cos

2. Multi-head attention mechanism

Multi-head attention mechanism (Cơ chế tập trung multi-head) là cơ chế tập chung sử dụng kết hợp nhiều attention function (hàm tập trung) thay vì chỉ sử dụng một hàm tập trung đơn lẻ. Multi-head attention được tính dựa trên công thức sau:Trong đó hàm Attention đóng vai trò ánh xạ một query vetor (vector chứa dữ liệu đầu vào) sang một cặp vector key-value (cặp giá trị đầu ra tương ứng). Trong mô hình Transformer, giá trị Attention được tính dựa trên Scaled Dot-Product Attention với công thức sau:– Q (Query vector): là vector chứa thông tin của dữ liệu đầu vào, dữ liệu cần tìm kiếm. Ví dụ: trong bài toán ‘Machine Translation’ (Dịch máy) pos chính là vị trí của từ trong câu.

– K, V (Key-Value pair): cặp vector thể hiện key và giá trị tương ứng cần được ánh xạ của Query vector.

Hình sau mô tả cấu trúc tổng quan của cơ chế tập chung Multi-Head:

[1] ‘Attention Is All You Need’, A. Vaswani et al.

[2] ‘Deep Residual Learning for Image Recognition’, K. He, X. Zhang, S. Ren, and J. Sun.

[3] ‘Layer Normalization’, J. L. Ba, J. R. Kiros, and G. E. Hinton.

Tháng Năm 10, 2022
ITechSeeker