Permutation Language Modeling (PLM) - thiết lậptổhợp

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Nâng cao độ chính xác cho bài toán nhận dạng văn bản ngoài tập từ vựng (Trang 82 - 118)

3. MỘT SỐ PHƯƠNG PHÁP ÁP DUNG CHO VAN ĐỀ NHAN DANG VĂN BẢN NGOÀI TẬP TỪ VỰNG 47

3.2.5.1 Permutation Language Modeling (PLM) - thiết lậptổhợp

Như vậy, PLM là gì, PLM là một cơ chế kết hợp ưu điểm của mô hình au- toregressive và non-autoregressive (ví dụ như BERT [7]) đồng thời tránh được

nhược điểm của cả hai).

Cu thể hơn, PLM sẽ huấn luyện trên "mọi" tổ hợp của chuỗi y = [y1,y2....-, Y7].

Ta cần tối ưu mọi mô hình sau (với X là ảnh và Y là chuỗi cần dự đoán), như vậy log của xác suất đầu ra của Y sẽ là xác suất kết hợp - joint probability:

T

logp(Y|X) = )! log(pe)(yr|¥<r.X) (3.1)

t=1

hay nói cách khác, phương trình trên khiến ta chỉ có thể dự đoán ki tự y tại thời điểm t i.e y, dựa trên chiều của "quá khứ" y;_¡,...y2,yị và không thể theo chiều ngược lại!. Như vậy PLM sẽ tối ưu hàm sau:

T

logp(Y|X) = E;~z„[3_ log(pe) (vz |Z<r,X)] (3.2)

t=1

với Zr là moi hoán vị (T!) có thể xảy ra cho thứ tự - index của chuỗi Y, ví

67

dụ [1,2,3] sẽ có hoán vi Z = [1,2,3] hoặc [1,3,2] hoặc [2,1,3] hoặc [2,3,1] hoặc

[3,1,2] hoặc [3,2,1]; và z; với Ze, lần lượt là kí tự thứ t trong chuỗi Z và t kí tự

đầu tiên trong chuỗi Z. Biểu diễn một cách "python" ta sẽ có Y[Z[t]] và Y[Z[:t]].

Lợi thế của hướng tiếp cận này sẽ giúp một kí tự có thể nhìn thấy tất cả kí

tự còn lại (non-autoregressive). Ty nhiên, ta dé dàng nhận ra rằng việc sử dụng

mọi tổ hợp sẽ sử dụng rất nhiều tài nguyên. Để khắc phục được điều này, thực

tế thì tác giả của PARSeq không sử dụng tất cả mọi tổ hợp mà chọn ra K tổ hợp

từ T! theo tiêu chuẩn sau. Cu thể, tác giả /„ôn sử dụng tổ hợp gốc - từ trdi sang

phải [1,2,3] với phiên bản đối lập của nó là phải sang trái [3,2,1] làm một cặp;

và còn lại K - 2 hoán vị sẽ được ta làm như sau: ta sẽ chọn ngẫu nhiên (K-2)/2 =

K/2 -1 tổ hợp, và nửa còn lại K/2 -1 là các tổ hợp đối lập với K/2 -1 tổ hợp đó,

vi dụ [1,3,2] vs [2,3,l],... - xem 3.3:

[1,2,3] vs [3,2, 1|

[1,3,2] vs [2,3, 1| (3.3) [3,1,2] vs [2.1.3]

Nhu vậy, ta sẽ triển khai được các xác suất đồng thời sau:

P(W)n23J= PO)PO2l1)POsly1,92) vs p(Y)ọ 21) = P(y3)PWe2ly3)PpOily2,Ơ3) PY)132)= P(y1)pOệalyi)pễệ2lyI.V3) vs P(Y)234) = PO2)P(y3ly2)PO1ly2,Ơ3)

P(Y) 3.1.2) = PO3)POrily3)PO2ly1,¥3) vs P(Y) 21,3) = P(v2)POily2)PpW3ly1,92)

(3.4)

Trong phần thực nghiệm của nhóm tác giả, K = 6 là con số K cân bằng cho

độ hiệu quả và chi phí tính toán/thời gian.

68

3.2.5.2 Tổng quát mô hình

Sau khi đã thiết lập được cơ chế hoán vị, ta cần nói về cầu trúc tổng quan của

PARSedq trước khi di vào cách hoạt động encoding va decoding của PARSeq.

Kiến trúc tổng quan của mô hình PARSeq như hình bên dưới 3. 16.

Position Queries ( Visio-lingual

Decoder

(+) Multi-Head Ly Attention [°C MLP ch: Linear |L

oi 2 one |Zinr|[Zise. ủ a3 “4 Ys, 6 26

4 i Y 0uụu

Le] ViT Encoder Layer *”” LeeI

Le I

IDIINE ô |[tei]... {ter} | ws Gafe IE a [r J[‡ J[m [mm]...

I Ground Truth Label

Input Context Permutations I Input Image

Hình 3.16: Tổng quan mô hình và cách huấn luyện của PARSeq (Nguồn: Bài báo [4])

Encoder

Khối encoder của PARSeq không khác gi so với encoder của ViT [8] (vẫn

có 12 lớp - mỗi lớp bao gồm Norm - MHA - [Residual] - Norm - MLP -

[Residual]).

Decoder - Visio-lingual decoder

Khối decoder của thuật toán sẽ có vài điểm khác biệt so với các khối decoder

mà ta thường gặp:

1. Chỉ sử dụng một lớp và lớp đó có đến 2 lớp MHA. Và đương nhiên là chức

năng cũng như queries, keys, vectors của từng lớp cũng sẽ khác nhau.

2. Tiếp theo, số heads trong mỗi lớp MHA gấp đôi (thực tế là do việc ta chia

đều đặc trưng mỗi lớp đ„„„„¡ cho 32 thay vì cho 64 như trong [8]).

Cụ thể ý (1) phía trên sẽ được diễn tả như sau:

69

Position Input Attention Image

Queries Context Masks Features

Hình 3.17: Khối decoder của PARSeq - được đặt tên là Visio-lingual decoder. Mỗi lớp của khối sẽ có điểm khác biệt là có đến 2 lớp attention (Nguồn: Bài báo [4])

1. MHA confext-position attention đầu tiên (khôi MHA bên trái hình 3.17)

có chức năng attend:

đp_-e = MHA(p.c,c.m) (3.5)

h, = p+dp-e € RTH) X4dmodet (3.6)

với vector ngữ cảnh - context e sử dung làm keys - K va values - V; con

vector positional embedding làm p queries - Q. Vì vậy đây được đặt tên là context—position attention.

2. MHA thứ hai image—position attention (khôi MHA ở giữa của hình 3.17)

sẽ có chức năng attend giữa đặc trưng anh z với vi tri h„:

đn_„ = he + MHA(h,.z,z) (3.7)

hy = p+ an_z € RIT) *4noaer (3.8)

tương tu, hẹ sử dung làm keys - K, values - V; z lam queries - Q.

70

Cuối cùng, lớp MLP (khối phải hình 3.17) cho kết quả theo phương trình sau:

y = Dec(z.p,e.m) € RỨ+!)x(S+Ð) (3.9)

Cách thức decoding

Như vậy một điểm quan trọng nhất mà nhóm chưa trình bày đó là cách de-

coding và attention mask - m.

Hoan vị [L2.3] [3.2.1] [1.3.2 [2.3.1]

| [B] yy y3 | [B] yi y2 ys | [B] yi y2 y | [B] yi y2 y

y tl 0 0 0 yằ/1 0 1.1 11 0 0 0 -y/1.0 1 1 y}l 1 00 wằ|I1 0 0 1 yli 10 1 +ằl1 00 0

y fl ot 10 y/1 0 0 0 wz|1 100 ằsz |1 01 0

zl} 1 1 1 1 fe}}t 1117 E1 111 C711 11 1

Bảng 3.2: Bảng biểu diễn cách để hoạt động của attention mask. (Nguồn 3.3)

Như vậy cách masking hoàn toàn phù hợp với cả 3 cách masking được đưa

ra từ 3 mô hình trước:

1. Unidirectional (trái sang phai/phai sang trái) - attention mask của AR;

2. Attention mask cho NAR (non-autoregressive) không cần masking bat kì

chỗ nao vì mô hình NAR dự đoán cùng lúc/song song mọi kí tu;

3. Cloze mask (xem lại ABINet [11]).

3.2.6 Mô hình CPPD

Phương pháp CPPD (Character Counting and Ordering) được dé xuất nhằm giải quyết thách thức của việc mô hình hóa biến ngữ cảnh trong quá trình giải

71

AR mask NAR mask cloze mask

l[BÌ yi yo wT [B] [B] vị V2 YT

YI 1 0 0 0 0 VỊ 1 Ị 10 1 1

Y2 1 1 0 0 0 Y2 1 Y2 1 1 O 1

1 1 1 0 1 1 1 1 1

YT 1 1 1 YT yr | 1

[E] 1 1 1 1 [E] [E]| 1 1

Bảng 3.3: Bảng minh hoa cho cách biểu diễn ba chiến lược masking của mô hình AR, NAR và cloze. (Nguồn: 3.3)

mã PD (Position-Decoding), đồng thời đảm bảo độ chính xác và tốc độ. CPPD

sử dụng một mô-đun CC (Character Counting) và một mô-đun CO (Character

Ordering) để củng cố các đặc trưng và mô hình hóa ngữ cảnh. Những mô-đun này được tối ưu hóa với mục tiêu cụ thể, chẳng hạn như mô tả chính xác số lần

xuất hiện của mỗi ký tự và học chuỗi giải mã.

3.2.6.1 Tong quan về kiến trúc

Với ảnh văn bản J € R”*x#*3, mô hình sử dụng SVTR [10] như một bộ mã

hóa, loại bỏ mô-đun chỉnh hình và bộ giải mã CTC để trích xuất đặc trưng hình

ảnh F, € IR/16xW/4xP, Nhúng đếm ky tự (CC) E„. € R€*P và nhúng sắp xếp

ký tự (CO) Exo € IRXP được khởi tạo với phân phối chuẩn với giá trị trung bình

(mean) là 0 cùng với độ lệch chuẩn (std) là 0.2. Ở đây, C và L là các tham số

định nghĩa kích thước bộ ký tự và độ dài tối đa của chuỗi ký tự.

Trong quá trình giải mã, tác giả phát triển một mô-đun CC và một mô-đun

CO, sử dụng Ƒ„. hoặc Ec làm truy vấn, F, làm key va value, để tính toán chú ý chéo. Hai mat mát phụ chuyên biệt được tạo ra để hướng dẫn quá trình học. Đầu

ra của chúng được kết hợp thông qua một lần chú ý chéo khác. Kết quả là tạo ra các đặc trưng ngữ cảnh mong muốn. Tiếp theo, tiếp tục với nhiệm vụ nhận diện

ký tự, sử dung ham mat mát Cross Entropy (CE) để học chuỗi giải mã trong một

72

0) (2) A) (2) fos fo

+ counting maps

—_ oe a2 et

Character Counting ' Counting h ars! h

8 Module | loss i

gine wee ao ee a

Visual ì

> En Ũ k; Dobrsnsapree — ~©—arteta

g ordering map `,

a a 5 Character Ordering | Ordering '

Í 1# ỉ : Module | loss h

_mmứfỡmmm

(i CCEmbeddng ÍÃCOEmbedding [lJ VisualFeature @ Element-wise Add

Fig. 4. An overview of CPPD. The decoder accepts visual features, character counting and ordering embeddings. Cross-attention and corresponding side losses are equipped to guide model learning. The right side shows details of the character counting and ordering madules, where the red line denotes either character counting or ordering embeddings, depending on which module is employed.

Hình 3.18: Kiến trúc tổng quan của mô hình CPPD (Nguồn: Bài báo [9])

lần lan truyền thuận duy nhất.

3.2.6.2 Character counting and ordering modules

CC và CO modules được thiết kế để củng cô đặc trưng và mô hình hóa ngữ cảnh trong văn bản. Cả hai mô-đun có cấu trúc nội tại giống nhau, nhưng mục tiêu tối ưu hóa của chúng là khác nhau.

Mô-đun CC được kể đến bởi mat mát đếm ký tự (CC), nhằm mục đích mô

tả số lần xuất hiện của từng ký tự một cách chính xác nhất. Ví dụ, với chuỗi

"arteta," nhiệm vu là thông báo rang ký tự ’a’ và ' xuất hiện cả hai lần, ’e’ và

’r’ xuất hiện một lần, trong khi các ký tự khác không xuất hiện, dẫn đến số lần xuất hiện là 0. Việc này giúp nhúng CC E,, làm truy vấn, có thể tìm kiếm thông tin mong muốn trong không gian đặc trưng hình ảnh. Tăng cường đặc trưng truy van từ chiều này trở nên khả thi khi các ký tự khác nhau có hình dạng xuất hiện khác nhau, và hai ký tự cùng loại có khả năng có biểu diễn đặc trưng tương tự.

Cho y, bằng 1 nếu ky tự thứ c xuất hiện | lần trong chuỗi ký tự và 0 nếu ngược lại. p.¡ là xác suất ký tự thứ c được dự đoán xuất hiện | lần trong cùng một chuỗi. Mat mát CC (L,,) được tính bằng công thức:

1 C

Lee = " ằ 3_y.Ălog(pe,)

c=11=0

73

Ngược lại, mô-đun CO được theo sau bởi mất mát sắp xếp ký tự (CO), với mục tiêu suy luận vị trí từ ký tự đầu tiên đến ký tự cuối cùng. Lấy ví dụ với chuỗi

"arteta," mục tiêu là suy luận vị trí xuất hiện từ ký tự thứ nhất đến ký tự thứ sáu

mà không phụ thuộc vào loại ký tự, tức là thứ tự đọc không chứa nội dung và

các vi trí.

Tương tự như trên, nhúng CO E,, được coi là truy van để thực hiện mục tiêu này. Vì phần trước của ký tự có sự khác biệt với phần nền, các đặc trưng phân biệt vị trí của ký tự có thể được xác định và trích xuất từ không gian đặc trưng hình ảnh, và được sử dung để củng cố đặc trưng truy van.

Đặt p¡ là xác suất vị trí thứ 1 được dự đoán là có ký tự. CO loss (1„„):

1 ld

Leo = =F Yi(yilog(pi) + (1 — yr) log(1 = pr))

/=0

Dòng lệnh y; = 1 đối với / < N và y, = 0 đối với ] > N luôn đúng cho một chuỗi có độ dài N. Le, là mat mát Binary Cross-Entropy trên tất cả các vị trí (L) trong chuỗi. Lưu ý rằng cùng một nhãn sẽ được gán cho hai chuỗi ký tự khác nhau có cùng độ dài, do đó buộc mô hình CO phải nắm bắt chỗ trống không

chứa nội dung. Trong khi đó, vì các chuỗi khác nhau có thể có độ dài khác nhau

và chúng được khởi tạo theo thứ tự từ trái sang phải, mất mát này cũng ngầm mã hóa thứ tự đọc. Do đó, CO được giải trừ khỏi nhiệm vụ dự đoán ký tự cuối cùng

một cách chủ quan, giúp mô hình CO được cải tiến hơn. Đáng chú ý rằng cách

sử dụng như vậy khá khác biệt so với các mô hình PD hiện tại.

Lấy mô-đun CC làm ví dụ để minh họa cách thực hiện chỉ tiết của hai mô- đun. Đặc trưng hình ảnh F, được thay đổi hình dạng và nối với đặc trưng CC Eve, tạo thành đặc trưng truy van và trải qua MHA. Sau đó, layer norm và MLP được thực hiện theo thứ tự. Kết nối dư (Residual Connections) cũng được sử dung để củng cố đặc trưng. Tiếp theo, đặc trưng được cắt thành một đặc trưng

hình ảnh mới và một đặc trưng CC mới với cùng hình dạng như các đặc trưng

74

đầu vào. Quá trình này được thực hiện hai lần (đối với SVTR-T) hoặc ba lần (đối

với SVTR-B), tùy thuộc vào bộ mã hóa hình ảnh được sử dụng. Các đặc trưng

được tao ra được gọi là Fo. và Ê,.. cho hình ảnh và CC tương ứng. Tương tự, Fro

và Ê„„ có thể thu được giống như trên từ mô-đun CO.

3.2.6.3 Module Recognition

Đặc trưng từ hai mô-đun trên tao nên các đặc trưng được tăng cường về số lần xuất hiện của mỗi ký tự và vị trí. Chúng khác nhau nhưng bổ sung cho nhau.

Vì vậy, chúng sẽ được hợp nhất thông qua một cross-attention. Cu thể, Z„. được

sử dụng như một query và #„ được sử dụng như một value va key. Một khối

Transformer tiêu chuẩn với MHA được sử dụng để thực hiện cross-attention. Nó

tạo ra đặc trưng mô tả ngữ cảnh tốt hơn.

Cuối cùng, việc nhận dạng sẽ được thực hiện bằng PD, trong đó cross-

entropy loss được sử dụng cho mô-đun nhận dạng này. Lý do sử dụng cặp

< Eco, Foe > thay vi cặp < Ecc, Feo > là vì Ego mã hóa vị trí đọc, điều này phù

hợp hơn cho dự đoán ký tự. Thứ hai, kích thước bộ ký tự C lớn hơn nhiều so với

kích thước của chuỗi L.

1 LC

Lrec = TT ằ 3 yiclog(pic) (3.10)

1=0c=1

Ở đây, Plc là xác suất mà ký tự thứ / trong chuỗi được phân loại là ký tự c.

Vie = 1 nếu ky tự c là nhãn của ky tự thứ /, va 0 trong trường hợp ngược lại.

3.2.6.4 Hàm mất mát

Như đã đề cập trước đó, hàm mất mát Binary Cross-Entropy (BCE) đã được

dé cập đến trong CO module. Tuy nhiên hàm mat mát Cross-Entropy (CE) được

mô tả ở 3.2.6.3 cũng có thể được dùng để đạt được mục đích tương tự. Vì vậy,

75

nhóm tác giả đã tiễn hành thực nghiệm để so sánh kết quả khi sử dung hai hàm mat mát này.

Trong bài báo gốc, việc sử dụng hàm mat mát Cross-Entropy (CE) 3.10 đạt được độ chính xác 93.50%, thấp hơn 0.3% so với hàm mắt mát CO của nhóm tác giả. Điều này có thể được giải thích vì hàm mất mát CO chỉ quan tâm liệu

có tồn tại ký tự tại vị trí nào đó không, trong khi đó hàm mắt mát CE hướng tới mục tiêu nhận diện từng ký tự tại mỗi vị trí, làm cho nó gần giống với mục đích

nhận diện cuối cùng. Nhóm tác giả cũng cho rằng việc sắp xếp như vậy đã khiến

cho mô hình học "quá sớm", dẫn đến việc tăng cường đặc trưng bị mơ hồ.

Bên cạnh đó, hàm mat mát ACE cũng có thể được dùng tương tự như hàm mat mát CC. Kết quả thực nghiệm của nhóm tác giả cũng cho thấy hàm mất mát

CC cho độ chính xác cao hơn. Điều này chủ yếu do hàm mat mát CC tính đến sự xuất hiện của tất cả các ký tự và không hề liên quan đến độ dài của chuỗi ký tự.

Nhóm tác giả cũng đã tiễn hành nhiều thực nghiệm khác và hàm mat mát CC

và CO hầu như luôn đạt được kết quả nhỉnh hơn các phương pháp khác, điều này cho thấy được sự hiệu quả của hai hàm mất mát CC và CO.

76

Chương 4

THỰC NGHIỆM VÀ ĐÁNH GIÁ

Trong chương này, sinh viên sẽ trình bày về cách xây dựng tập dữ liệu OOV cho tiếng Việt. Bên cạnh đó, sinh viên sẽ huấn luyện và đánh giá các phương pháp đã trình bày trong chương 3 trên tập dữ liệu tiếng Anh từ cuộc thi OOV-ST Challenge (OOV-ST) và bộ dữ liệu OOV tiếng Việt mà sinh viên đã xây dựng.

4.1 Xây dựng tập dit liệu OOV tiếng Việt

Dựa trên định nghĩa và phương pháp xây dựng tập dữ liệu OOV tiếng Anh,

sinh viên đã thực hiện công việc xây dựng tập dữ liệu OOV tiếng Việt nhằm

mục đích cung cấp một nguồn tài nguyên quan trọng cho cộng đồng nghiên cứu. Tổng kết lại, bộ dữ liệu bao gồm 94.358 mẫu dữ liệu ảnh văn bản, được chia thành các phan Train:Validation:Test với tỉ lệ khoảng 75:10:15. Mục tiêu chính

là cung cấp một tài nguyên mà cộng đồng có thể sử dụng để đánh giá hiệu suất cũng như khả năng tổng quát của các mô hình nhận dạng văn bản trong tiếng

Việt.

Tập dữ liệu được tổng hợp và xây dựng để phản ánh thực tế và thách thức của van đề OOV bằng cách chia thành các phần quan trọng như tập train, validation

và test. Đặc biệt, tập validation và test được phân thành hai trường hợp là In-

77

4. THỰC NGHIỆM VÀ ĐÁNH GIÁ

Vocab và Out-Vocab để đánh giá khả năng học và tổng quát hóa của các mô hình

luyện.

Hình 4.1: Một số trường hợp out-of-vocabulary trong bộ dữ liệu đã xây dựng.

Tiếp theo sinh viên xin trình bày quá trình xây dựng tập dữ liệu của sinh viên bao gồm các bước sau đây:

1. Tổng hợp và cắt ảnh văn bản từ các bộ dữ liệu chuẩn và bộ dữ liệu từ

các cuộc thi: sinh viên sử dụng ba tập dữ liệu VinText[23], BKAI2022,

VietSignBoard để xây dựng tập OOV tiếng Việt. Sinh viên tiến hành cắt ảnh chữ và thống kê lại số lượng như bảng 4.1

Lưu ý: Bảng trên thông kê số lượng mẫu được cắt từ ba bộ dit liệu. Tuy nhiên, trong quá trì h rà soát và kiểm tra, đã phát hiện và loại bỏ 91 mẫu dữ liệu bị lỗi nhấn, không đáp ứng yêu câu chất lượng của dữ liệu thu thập.

2. Thực hiện thống kê các trường hợp đặc biệt: Sau khi tổng hợp và cắt ảnh,

sinh viên tiến hành thống kê các trường thông tin đặc biệt như số điện

78

4. THỰC NGHIỆM VÀ ĐÁNH GIÁ

Tập dữ liệu Sốảnh Số instance

VinText 2000 43085 BKAI 1035 8730

VietSignBoard 1195 42934

Tổng cộng 4230 94449

Bảng 4.1: Tóm tắt số lượng ảnh và instance trong các tập dữ liệu.

thoại, địa chỉ web, địa chỉ email,... để có thể chia và phân tích sâu hơn về van dé OOV đối với những trường thông tin này. Bảng 4.2 đã cho thấy số lượng lớn các trường thông tin đặc biệt xuất hiện trong tập dữ liệu tổng hợp. Với mỗi trường sẽ có mỗi độ khó khác nhau, từ đó ta có thể đánh giá được tốt hơn từng vấn để của các mô hình.

Type So lượng

Normal 91063 Phone Number 2072

URL 665

Mail 98

Home Address 266 Dates/Times 114

Bảng 4.2: Bảng thông kê các trường thông tin đặc biệt

uliswijaco@gmall.com Tt) kil.

Phone Number

Email

Url ¡I1 COM. m4w

Dates

Home address

Hình 4.2: Hình ảnh một số trường thông tin đặc biệt.

3. Sau khi thống kê, sinh viên tiến hành phân chia các bộ dữ liệu thành các

79

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Nâng cao độ chính xác cho bài toán nhận dạng văn bản ngoài tập từ vựng (Trang 82 - 118)

Tải bản đầy đủ (PDF)

(118 trang)