Chương 1 Tổng quan: Giới thiệu tổng quan về đề tài, mục tiêu của đề
2.2 Các kiến thức cơ sở
2.2.2.1 Kiến trúc tổng quan
Cũng giống như các mô hình dịch máy khác, mô hình transformer cũng bao gồm hai phần lớn là bộ mã hóa (Encoder) và bộ giải ma (Decoder). Bộ mã hóa biểu diễn ngôn ngữ nguồn thành các vector, bộ giải mã sẽ nhận các vector biểu dién này va dịch nó sang ngôn ngữ đích. Chi tiết các thành phần của bộ mã hóa
và giải mã được thể hiện như hình |2 bộ mã hóa và giải mã lần lượt nằm ở
cột bên trái và bên phải của hình vẽ.
Output Probabilities
Multi-Head Attention
Nx
Multi-Head Attention _+ 7
Positional Encoding
Positional Encoding
O4 La
Input Output
Embedding Embedding
Inputs Outputs
(shifted right)
Hinh 2.2.4. Kiến trúc Transformer
Một trong những ưu điểm của transformer là mô hình có khả năng xử ly song song cho các từ. Dầu vào sẽ được đẩy vào cùng một lúc. Bộ mã hóa của
Khóa luận tốt nghiệp Trang 21
Trường Đại Học Công Nghệ Thông Tin Tp.Hồ Chí Minh
Khoa Khoa Học Máy Tính
kiến trúc transformer bao gồm một tập gồm N = 6 lớp giống nhau, mỗi lớp bao gồm 2 lớp con. Lớp đầu tiên là cơ chế multi-head self-attention, và lớp thứ 2 là mạng feed-forward kết nối đẩy đủ. Dầu ra của mỗi lớp con là LayerNorm(x +
Sublayer(x)), trong đó Sublayer(x) là một hàm được thực hiện bới chính lớp con
đó. Bộ giải mã cũng bao gồm tập gồm N = 6 lớp giống nhau. Ngoài hai lớp con giống như bộ mã hóa, bộ giải mã còn có một lớp để thực hiện cơ chế tập trung
da đầu trên đầu ra của lớp giải mã. Ở đây sẽ có thay đổi cơ chế self-attention
trong bộ mã hóa.
2.2.2.2 Cơ chế Self-Attention
Trước khi đi chi tiết vào mô hình, ta sẽ tìm hiểu về self-attention - “trái tim” của kiến trúc transformer. Self-attention là co chế giúp Transformers hiểu được
sự liên quan giữa các từ trong một câu. Có thể tưởng tượng self-attention giống
như cơ chế tìm kiếm. Với một từ cho trước, cơ chế này sẽ cho phép mô hình tìm
kiếm trong các từ còn lại để xác định từ nào liên quan để sau đó thông tin sẽ được mã hóa dựa trên tất cả các từ trên. Giả sử câu sau là câu đầu vào mà chúng
ta cần dịch: "The animal didn’t cross the street because it was too tired”. Từ “it” trong câu trên đại diện cho cái gì? “Con vat” (animal) hay “đường phổ” (street)?
Câu hỏi này đơn giản với con người nhưng không đơn giản với các thuật toán.
Khi mô hình xử lý từ “it”, self-attention cho phép nó liên kết “it” với “animal”. Khi mô hình xứ lý từng từ (từng vị trí trong cầu đầu vào), self-attention cho phép nó quan sát các vị trí khác trong câu để tìm ra ý tưởng cho việc mã hóa
từ hiện tại tốt hơn. Nếu bạn quen với các mạng RNN, hãy nghĩ về cách RNN
duy trì một trạng thái ẩn cho phép nó kết hợp biểu diễn của từ/véc tơ trước đó với từ mà nó đang xử ly. Self-attention là cách mà Transformer sử dụng để duy trì hiểu biết về các từ khác có liên quan đến từ hiện tại.
Khóa luận tốt nghiệp Trang 22
Trường Đại Học Công Nghệ Thông Tin Tp.Hồ Chí Minh
Khoa Khoa Học Máy Tính
Layer:| 5 ‡ Attention: Input-Input =|
Hình 2.2.5. Vi dụ trực quan hóa của Self-attetion
Đầu vào của self-attention là 3 vector query, key, value. Các vector này được
tạo ra bằng cách nhân ma trận biểu diễn các từ đầu vào với ma trận học tương
ứng:
e Vector query là vector dùng để chứa thông tin của từ được tìm kiếm, so
sánh.
e Vector key là vector dùng để biểu dién thông tin các từ được so sánh với từ cần tìm kiếm ở trên.
e Vector value là vector biểu diễn nội dung, ý nghĩa của các từ.
Vector attention cho một từ thể hiện tính tương quan giữa 3 vector này được tạo ra bằng cách nhân tích vô hướng giữa chúng và sau đó được chuẩn hóa bằng ham softmax. Cụ thể quá trình tính toán như sau (Hình |2.2.6):
Khóa luận tốt nghiệp Trang 23
Trường Đại Học Công Nghệ Thông Tin Tp.Hồ Chí Minh
Khoa Khoa Học Máy Tính
e Bước 1: Tính ma tran query, key, value bằng cách nhân input với các ma
trận trọng số tương ứng.
e Bước 2: Nhân hai ma trận query, key vừa tính được với nhau với ý nghĩa
so sánh giữa câu query và key để học mối tương quan. Sau đó các giá trị
sẽ được chuẩn hóa về khoảng [0-1] bằng hàm softmax với ý nghĩa 1 khi câu
query giống với key ngược lại, 0 có nghĩa là không giống.
e Bước 3: Output sẽ được tính bằng cách nhân ma trận vừa được tạo ra 6
bước 2 với ma trận value.
_ Attention Score = eee SY—- seRmaQueapee)
⁄2
Input = Embedding + Position encode
Trọng số Sat
Key
$ Ma trận
Key
Trọng số
Value Ma tran
Value
Hình 2.2.6. Quá trình tính toán vector attention
Hai ham attention phổ biến được sử dụng là additive attention và dot-product
attention. Một điểm đăc biệt dot-product attention là chia cho VSố chiều vector key
additive attention tính toán sử dụng một mạng feedforward với một tầng an. Về
mặt lý thuyết, cả hai giống nhau về độ phức tap nhưng dot-product attention
trong thực tế nhanh hơn và hiệu quả hơn vì có thể sử dụng thuật toán nhân ma
trận tối ưu.
Khóa luận tốt nghiệp Trang 24
Trường Đại Học Công Nghệ Thông Tin Tp.Hồ Chí Minh
` Khoa Khoa Học Máy Tính
2.2.2.3. Mã hóa vị trí (Positional Encoding)
Không giống như RNN hoặc các mạng hồi quy khác, Transformer không thể nắm bắt được vị trí của các từ trong câu để xử lý nhưng trong thực tế thì điều
đó là vô cùng cần thiết (ví dụ “Tôi cao hơn bạn” và “bạn cao hơn tôi” là hai câu khác nhau, nếu không nhận biết được vị trí thì có thể 2 câu này sẽ cho ra cùng
một kết quả). Đó là lý do Transformers có thêm một phan Positional Encoding
để cho biết thêm thông tin về vị trí của một từ. Giá trị này được tính như sau:
PE (pos,21) = Sin (pos /100002//đas+e')
PE pos,21+1) = 008 (pos /100002/4meaer)
Trong đó:
e pos là vị trí của từ trong câu.
e PE là giá trị phần tử thứ i trong embeddings có độ dài dmodet-
Như vậy bộ mã hóa sẽ nhận ma trận biểu diễn của các từ đã được cộng với
thông tin vị trí thông qua mã hóa vị trí.
2.2.2.4. Cơ chế tập trung nhiều đầu (Multi Head Attention)
Vấn đề của self-attention là attention của một từ sẽ luôn “chú ý” vào chính
nó. Chúng ta muốn mô hình có thể học nhiều kiểu mối quan hệ giữ các từ với
nhau. Ý tưởng là thay vì sử dung một self-attention thì chúng ta sẽ sử dụng
nhiều self-attention. Vấn đề của self-attention là attention của một từ sẽ luôn
“chú ý” vào chính nó. Chúng ta muốn mô hình có thể học nhiều kiểu mối quan
hệ giữ các từ với nhau. Ý tưởng là thay vì sử dung một self-attention thi chúng
ta sẽ sử dụng nhiều self-attention.
MultiHead (Q,K,V)= Concat (headi,..., head „) W2
Khóa luận tốt nghiệp Trang 25