Mơ hình Transformer

Một phần của tài liệu Xây dựng mô hình nhận dạng chữ viết tay trong các biểu mẫu có bố cục cố định (Trang 55 - 60)

3 Các công trình liên quan

4.1.2Mơ hình Transformer

Như đã được đề cập ở trên, mơ trình Transformer dựa trên kiến trúc mã hóa - giải mã (Encoder - Decoder). Tại đây, đầu vào của bộ mã hóa là một chuỗi (x1, ..., xn) và chuỗi đầu ra của bộ mã hóa sẽ là z = (z1, ..., zn). Sau đó chuỗi z vừa nhận được sẽ được đi qua bộ giải mã để cho ra chuỗi đầu ra(y1, ..., yn). Hình 4.2 thể hiện kiến trúc

tổng quan của mơ hình Transformer.

Hình 4.2: Tổng quan về kiến trúc của mơ hình Transformer, bao gồm hai phần Encoder và Decoder.

4.1.2.1 Cơ chế tự tập trung

Cơ chế tự tập trung (Self-attention) có ý nghĩa tương tự như cơ chế tập trung đã được trình bày ở Tiểu mục 3.5.2. Biểu diễn toán học cho cơ chế Self-attention được biểu hiện qua Hình 4.3.

Hướng tiếp cận 43

Hình 4.3: Biểu diễn toán học của cơ chế Self-attention (nguồn [18])

Trong Hình 4.3, X là chuỗi đầu vào và ba giá trị Q (Query - Truy vấn), K (Key - Từ khóa), vàV (Value - Giá trị) sẽ được tính từX. Trong đó:

• Query vector: Chứa thơng tin của từ được tìm kiếm và so sánh.

• Key vector: 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.

• Value vector: Biểu diễn nội dung, ý nghĩa của các từ.

Có thể nhận xét rằng cơ chế 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, từ nào “giống” để sau đó thơng tin sẽ được mã hóa dựa trên tất cả các từ trên. Cụ thể hơn, q trình tính tốn các vector tập trung có thể được tóm tắt làm ba bước như sau:

• Bước 1: Tính ma trận query, key, value bằng cách khởi tạo ba ma trận trọng số query, key, value. Sau đó nhân đầu vào X với các ma trận trọng số này để tạo thành ba ma trận tương ứng.

• Bước 2: Tính trọng số tập trung (attention weights). Nhân 2 ma trận key, query vừa được tính ở trên với nhau với ý nghĩa là so sánh giữa câu query và key để học mối tương quan. Sau đó thì chuẩn hóa về đoạn [0−1] bằng hàm softmax. Kết quả bằng 1 có nghĩa là câu query giống với key, 0 có nghĩa là khơng giống.

• Bước 3: Tính đầu ra. Nhân trọng số tập trung với ma trận value. Điều này đồng nghĩa với việc biểu diễn một từ bằng trung bình có trọng số (attention weights) của ma trận value.

Khi cả Query, Key và Value đều được lấy ra từ cùng một chuỗi đầu vào X thì cơ chế này sẽ được gọi là Tự tập trung (Self-Attention).

Công thức của cơ chế tự tập trung:

AttentionQ,K,V =sof tmax

QKT √ dk V (4.1) trong đó dk là số chiều dài của vectorK.

Hướng tiếp cận 44

4.1.2.2 Cơ chế tự tập trung đa đầu

Mục đích của cơ chế tập trung đa đầu (Multi-Head Self-Attention) là nhằm kết hợp các kiến thức khám phá được bởi nhiều đầu (head) chứ khơng phải chỉ một như những cách làm trước đây (Hình 4.4).

Hình 4.4: Scaled Dot-Product Attention (trái). Multi-Head Attention gồm nhiều lớp tập trung chạy song song (phải) (nguồn [16])

Hình 4.5: Minh họa một multi-head self-attention gồm có hai đầu1

Hình 4.5 minh họa cho một multi-head self-attention gồm có hai đầu. Trong đó query là từ “it” cịn đầu thứ nhất tập trung chủ yếu vào “the animal” và đầu thứ hai tập trung chủ yếu vào “tired”. Như vậy ngữ cảnh cuối cùng của cơ chế tự tập trung này sẽ tập trung vào cả ba từ “the”, “animal” và “tired” và sẽ cho một kết quả tốt hơn so với việc ta chỉ sử dụng một đầu duy nhất (tồn bộ câu) như bình thường.

Hướng tiếp cận 45

4.1.2.3 Masked Attention

Masked Attention vẫn là cơ chế tập trung đã được chúng tôi đề cập ở trên. Tuy nhiên trên thực tế, trong suốt q trình kiểm tra chúng ta khơng biết trước toàn bộ nhãn của dữ liệu như ở quá trình huấn luyện. Tại bước kiểm tra chúng ta chỉ được biết kí tự bắt đầu và kí tự kết thúc, và khơng có cơ sở để so sánh đối với các kí tự chưa được dự đốn đến. Vì vậy điểm khác biệt của masked attention so với attention bình thường là che đi các kí ở tương lai chưa được mơ hình dự đốn đến, để làm việc này thì cần nhân với một vector chứa các giá trị 0 hoặc 1. Masked attention được thể hiện ở Hình 4.6 và sự khác nhau giữa self-attention với masked self-attention được thể hiện ở Hình 4.7.

Hình 4.6: Attention mask

Hình 4.7: So sánh self-attention với masked self-attention2

4.1.2.4 Bộ mã hóa (adsbygoogle = window.adsbygoogle || []).push({});

Bộ mã hóa (Encoder) (Hình 4.8) của mơ hình Transformer có thể bao gồm nhiều khối mã hóa tượng tự nhau. Mỗi khối mã hóa lại bao gồm hai thành phần chính là multi-head attention đã được trình bày ở Tiểu mục 4.1.2.2 và mạng lan truyền thuận. Ngồi ra cịn có cả skip connection và lớp normalization, các kiến thức này sẽ được chúng tơi giải thích kỹ hơn ở phần kiến trúc chi tiết của mơ hình tổng qt.

2

Hướng tiếp cận 46

Hình 4.8: Khối encoder của mơ hình Transformer (nguồn [16])

4.1.2.5 Bộ giải mã

Kiến trúc của bộ giải mã (Decoder) (Hình 4.9) gần như giống với bộ mã hóa, ngoại trừ có thêm một khối multi-head attention nằm ở giữa và khối multi-head attention đầu tiên có áp dụng thêm một lớp mặt nạ (masked) vào. Đối với khối multi-head attention ở giữa theo bình thường sẽ nhận vào Q, K, V nhưng tại đây sẽ nhận K, V là đầu ra của lớp cuối cùng của bộ mã hóa. Kết quả đầu ra của bộ giải mã sẽ được đưa qua một lớp tuyến tính để chuyển về cùng số chiều của lớp nhúng (ouput embedding) trong bộ giải mã, và sau đó cho qua một lớp softmax để chia xác suất của chúng.

Hình 4.9: Khối decoder của mơ hình Transformer (nguồn [16])

4.1.2.6 Tổng kết về mơ hình Transformer

• Transformer là một mơ hình dựa trên kiến trúc Encoder - Decoder với cơ chế Self-attention (multi-head attention).

• Tầng tập trung đa đầu gồm có n tầng tập trung song song.

• Mạng lan truyền thuận theo vị trí gồm hai tầng kết nối đầy đủ được áp dụng trên chiều cuối cùng.

Hướng tiếp cận 47

Một phần của tài liệu Xây dựng mô hình nhận dạng chữ viết tay trong các biểu mẫu có bố cục cố định (Trang 55 - 60)