Chi tiết kiến trúc mơ hình tổng qt

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 60 - 63)

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

4.2Chi tiết kiến trúc mơ hình tổng qt

4.2.1 CNN Embedding

Bước này chúng tơi sẽ tiến hành trích xuất đặc trưng từ ảnh ba chiều. Chúng tôi đã tái sử dụng kiến trúc CNN như là VGG đã được huấn luyện trên dữ liệu ImageNet và áp dụng transfer learning.

• Đầu vào: Ảnh ba chiều có kích thướcH×W, trong đóH vàW lần lượt là chiều cao và chiều rộng của ảnh. Hình ảnh đầu vào sẽ khơng bị giới hạn về kích thước do sau đó sẽ có bước tiền xử lý để hình phù hợp với kiến trúc mơ hình.

• Đầu ra: Các vector đặc trưng (feature maps): F(row, col) =f for f ∈Rdi với di

là chiều của vector đặc trưng sau khi được trích xuất bởi mạng CNN, 1 ≤ H′, 1≤W′ với H′ và W′ là chiều cao và chiều rộng của ảnh sau khi được giảm mẫu (down sampled).

Hình 4.10: Ví dụ về trích xuất đặc trưng

4.2.2 Mã hóa vị trí

Trong suốt q trình huấn luyện, bởi vì cơ chế Self-attention trong bộ giải mã khơng có bất kỳ kết nối lặp lại nào nên nó khơng quan tâm đến vị trí của mỗi ký tự dẫn đến mất thơng tin của chuỗi. Do đó, sự tập trung khơng tính đến vị trí của các ký tự trong một từ hay trong một câu dẫn đến khơng có mối tương quan giữa các vị trí trong chuỗi, nên nó có thể mất đi tính tuần tự trong câu.

Để khắc phục nhược điểm đáng kể này, tác giả của mơ hình Transformer đã đề xuất một phương pháp đó là mã hóa vị trí (Positional encoding), tức là nó sẽ thêm vào vector đầu ra của Embedding để tạo ra tính tuần tự cho câu nhưng vẫn sử dụng Self-attention được. Công thức của Position Encoding (PE) được thể hiện như sau:

P E(pos,2i) = sin pos 10000dmodel2i , P E(pos,2i+1)= cos pos 10000dmodel2i (4.2)

Hướng tiếp cận 48

trong đó dmodel là kích thước Embedding của đặc trưng ảnh và text, pos là vị trí của từ đó trong chuỗi vài là vị trí chiều.

Tiếp theo, mã hóa vị trí sẽ thêm vào chuỗi đầu vào một phần tử như sau:

X =X+P E (4.3) Đối với hình ảnh, chúng tơi đã đề xuất một Positional Encoding 2D giống như cách tiếp cận ở trên, xem mỗi hàng là một chuỗi. Khi đó, mỗi hàng có cùng một mã hóa vị trí. Do đó, thơng tin vị trí của các pixel trong cùng một cột là giống nhau và giữa các cột khác nhau thì khác nhau.

4.2.3 Mạng lan truyền thuận theo vị trí

Mạng lan truyền thuận theo vị trí (position-wise feed-forward network) là một thành phần quan trọng của Transfomer. Đây là một kỹ thuật để nâng cao vector ngữ cảnh, vector đầu ra của lớp tập trung, là cho nó đi qua một mạng neuron lan truyền thuận (feed-forward network). Mạng này được áp dụng trên từng bước và khác nhau giữa các lớp.

Cuối cùng, mỗi bước ci ∈Rdmodel của đầu ra của multi-head attention thì cung cấp tiếp cho mạng neuron truyền lan truyền thuận:

F F N(ci) = max(0, ciW1+b1)W2+b2 (4.4) Trong đó W1, W2, b1, b2 được học trong suốt quá trình huấn luyện.

4.2.4 Lớp add và norm

Kết quả đầu ra của lớp Self-attention sẽ được đưa vào các lớp feed-forward như đã đề cập. Tuy nhiên, trong mơ hình Transformer thì xen giữa chúng là những lớp add và norm, và đây chính là lớp normalize vector sử dụng thêm residual connection. Residual connection sẽ có nhiệm vụ cộng đầu vào với đầu ra ở những lớp trước đó thay vì dùng normalize bình thường kết quả đầu ra, để đưa vào lớp normalize nhằm có thể hạn chế những đặc trưng khơng mang nhiều ích lợi và tránh việc bị overfit. Nó cũng là cách để mơ hình có thể tăng số lượng lớp mà khơng sợ bị vấn đề biến mất đạo hàm.

Công thức của các khối add và norm được định nghĩa như sau:

y=x+LayerN orm(x) (4.5)

4.2.5 Hàm mất mát và optimizer

Tại thời gian dự đoán của mơ hình, chúng tơi sử dụng các tham số của mơ hình đã được huấn luyện để dự đốn từng ký tự tại mỗi bước. Do đó, chúng tơi sử dụng

Hướng tiếp cận 49

hàm mất mát Cross-Entropy, công thức của hàm được định nghĩa như sau:

L Y , Y˜ =−1 T T X t |L| X c

Ytclog ˜Ytc (4.6) Ví dụ Y˜ = [˜y1,˜y2]T, Y = [y1,y2]T, |L|= 3, biết rằng: ˜ Y = " 0.2 0.1 0.6 0.1 0.1 0.7 0.1 0.1 # , Y = " 0 0 1 0 0 1 0 0 #

Thì hàm mất mát sẽ được tính như sau:

L Y , Y˜ = − 12 2 X t=1 4 X c=1

Ytclog ˜Ytc (adsbygoogle = window.adsbygoogle || []).push({});

= − 1

2(0×log(0.2) + 0×log(0.1) + 1×log(0.6) + 0×log(0.1) + 0×log(0.1) + 1×log(0.7) + 0×log(0.1) + 0×log(0.1))

= − 12(log(0.6) + log(0.7)) = (−0.2218−0.1549) = 0.1884

Để tối ưu hàm mất mát L( ˜Y , Y) chúng tôi sử dụng Adam [10] optimizer.

4.2.6 Label smoothing

Transformer là một mơ hình có đến hàng triệu tham số, nên việc overfitting dễ dàng xảy ra. Vì vậy để hạn chế overfitting, chúng tơi có sử dụng kỹ thuật label smoothing. Kỹ thuật này có thể được hiểu như sau, thay vì mã hóa nhãn là một one-hot vector, thì lúc này chúng tôi sẽ thay đổi nhãn này bằng cách phân bố một phần nhỏ xác suất vào các trường hợp còn lại.

4.2.7 Giải mã ký tự

Trong q trình dự đốn, hệ thống phải dự đốn các ký tự từng bước một. Tại bước này chúng tôi tiếp cận theo giải thuật tham lam (Greedy algorithm). Tham lam là một cách tiếp cận đơn giản, chỉ cần chọn kí tự có xác suất cao nhất trong ký tự ở mỗi bước, sau đó ghép nối với các bước trước đó để tạo ra chuỗi đầu ra. Quá trình này được lặp lại cho đến khi đạt độ dài tối đa của chuỗi hoặc gặp kí tự kết thúc. Khi đó, phân phối xác suất ký tự ở bước t, tức là yt, đầu ra tương ứng˜ ytˆ được tính bằng cơng thức (4.7).

ˆ

Hướng tiếp cận 50

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 60 - 63)