Mục tiêu và các thách thức
Việc nhận dạng các biểu thức toán học (MEs) đã được nghiên cứu từ những năm 1960, nhằm chuyển đổi thông tin từ ảnh công thức toán học thành chuỗi ký tự Tài liệu khoa học thường chứa nhiều thành phần phức tạp như hình ảnh, bảng, văn bản và công thức toán học Công thức toán học có cấu trúc phức tạp với nhiều loại font và kích thước đa dạng, dễ bị ảnh hưởng bởi nhiễu, gây khó khăn trong việc nhận dạng chính xác Một trong những thách thức lớn nhất là sự đa dạng của các ký tự đặc biệt và cách biểu diễn trong không gian Mặc dù đã có nhiều nghiên cứu, việc nhận dạng công thức toán từ ảnh vẫn là một bài toán mở.
Hình 1.3: Sự phức tạp của công thức toán học
Trong nhiều thập kỷ, nhận dạng công thức toán học đã thu hút sự chú ý của cộng đồng nghiên cứu Tuy nhiên, việc nhận dạng công thức toán học in, đặc biệt là từ hình ảnh, vẫn chưa được chú trọng như công thức viết tay Gần đây, với sự phát triển của công nghệ máy ảnh và di động, công thức toán học in trở nên ngày càng hữu ích cho người dùng Việc nhận dạng công thức toán học in có nhiều ứng dụng quan trọng, bao gồm phát triển hệ thống truy xuất toán học và hỗ trợ viết cũng như chỉnh sửa công thức phức tạp trong hệ thống sắp chữ Latex Do đó, nhu cầu nhận dạng công thức toán học in trong tài liệu khoa học là rất cần thiết.
Các phương pháp nhận dạng công thức toán học từ định dạng ảnh được chia thành hai loại chính: phương pháp truyền thống và phương pháp sử dụng kỹ thuật học sâu Phương pháp truyền thống thường bao gồm ba bước cơ bản.
• (1) Phân tách ký tự (hình 2.6 mô tả).
• (3) Phân tích cấu trúc (hình 2.9 mô tả).
Trong phương pháp truyền thống, việc nhận dạng biểu thức toán học từ hình ảnh được chia thành nhiều bước, trong đó lỗi ở bước nhận dạng trước có thể ảnh hưởng tiêu cực đến các bước tiếp theo Điều này dẫn đến hiệu suất nhận dạng công thức toán học không đạt yêu cầu cao.
Phát triển phương pháp nhận dạng công thức toán học dựa trên kỹ thuật đầu cuối (end-to-end) là cần thiết để nâng cao độ chính xác Gần đây, mô hình nhận dạng biểu thức sử dụng kiến trúc mã hóa - giải mã đã tạo ra các kiến trúc tối ưu cho việc nhận dạng công thức toán học trong định dạng ảnh.
Mục tiêu của luận văn là nghiên cứu và đề xuất các phương pháp nhận dạng công thức toán định dạng ảnh thông qua mạng học sâu Để đạt được mục tiêu này, luận văn đã tiến hành tìm hiểu và phân tích các phương pháp hiện có, đồng thời đề xuất cải tiến mô hình nhận dạng công thức toán học in và thực hiện cài đặt cũng như thử nghiệm trên các cơ sở dữ liệu chung.
Các đóng góp của luận văn
Gần đây, các mô hình bộ mã hóa-giải mã đã chứng minh hiệu suất vượt trội trong việc nhận dạng công thức toán học viết tay Bộ mã hóa trích xuất đặc trưng hình ảnh, trong khi bộ giải mã chuyển đổi các đặc trưng này thành chuỗi biểu diễn công thức Phương pháp BTTR sử dụng đặc trưng từ mạng Densenet và mạng transformer, giúp khắc phục vấn đề suy giảm gradient của các mạng hồi quy truyền thống Kỹ thuật mã hóa vị trí cũng được áp dụng để nâng cao độ chính xác trong nhận dạng Mô hình này đã được đề xuất để nhận diện các công thức toán học viết tay một cách hiệu quả.
Trong luận văn, học viên đề xuất áp dụng phương pháp nhận dạng công thức toán học in ấn, kết hợp với các chiến lược tăng cường dữ liệu đầu vào Việc này nhằm tạo ra hình ảnh công thức toán học đa dạng về kích thước và độ phức tạp, từ đó nâng cao độ chính xác trong quá trình nhận dạng.
Bố cục của luận văn
Luận văn được chia làm 5 phần, bao gồm:
Chương 1 của bài luận văn trình bày tổng quan về bài toán nhận dạng công thức toán học, nêu rõ mục tiêu nghiên cứu cùng những thách thức gặp phải trong quá trình thực hiện Cuối cùng, học viên sẽ trình bày những đóng góp chính của luận văn, làm rõ giá trị và ý nghĩa của nghiên cứu trong lĩnh vực này.
• Chương 2: Giới thiệu các nghiên cứu liên quan và các vấn đề còn tồn tại.
• Chương 3: Giới thiệu và mô tả ý tưởng, các thành phần của phương pháp đề xuất.
• Chương 4: Phân tích bộ dữ liệu thực nghiệm, lựa chọn các tham số đánh giá và trình bày kết quả thực nghiệm.
• Chương 5: Tổng kết, nhận xét và hướng phát triển tiếp theo của luận văn.
NGHIÊN CỨU LIÊN QUAN
Các phương pháp truyền thống
Các biểu thức toán học đóng vai trò quan trọng trong nhiều lĩnh vực khoa học và kỹ thuật, khác biệt với văn bản thông thường nhờ vào việc sử dụng ký tự đặc biệt và chữ cái Hy Lạp Để nhập các ký tự này, bàn phím cần được điều chỉnh hoặc sử dụng phím chức năng kết hợp với chuỗi phím để biểu thị ký tự đặc biệt Ngoài ra, việc tạo ra một tập hợp từ khóa như trong Latex cũng là một phương pháp hiệu quả để thể hiện các ký tự này.
Sau hơn ba thập kỷ nghiên cứu, nhiều kỹ thuật nhận dạng ký tự đã đạt được kết quả khả quan, nhưng chủ yếu chỉ hoạt động với các ký tự riêng lẻ Trong khi đó, biểu thức toán học thường chứa nhiều ký tự, do đó cần phải phân tách chính xác các ký tự từ biểu thức để áp dụng các kỹ thuật này Phương pháp nhận dạng công thức toán học truyền thống được thực hiện qua ba bước, như mô tả trong sơ đồ khối hình 2.3.
Mô hình nhận dạng biểu thức toán học truyền thống bắt đầu với đầu vào là công thức toán học viết tay hoặc ảnh Quá trình này bao gồm phân tách ký tự bằng cách chia ảnh thành các vùng chứa ký tự riêng biệt Sau khi phân đoạn, danh sách các ký tự với các thuộc tính đã biết được tạo ra Các phương pháp như đối sánh mẫu và cấu trúc được áp dụng để nhận dạng ký tự Cuối cùng, mô hình xây dựng cấu trúc phân cấp cho các đối tượng và phân tích cấu trúc, với dữ liệu có thể được biểu diễn dưới dạng cây phân tích cú pháp hoặc cây quan hệ Kết quả cuối cùng là chuyển đổi công thức toán học dạng ảnh thành chuỗi Latex.
Các phương pháp truyền thống trong nhận dạng công thức toán học bao gồm ba bước chính: phát hiện ký tự toán học, nhận dạng ký tự và phân tích cấu trúc các ký tự đã nhận dạng Những bước này được minh họa rõ ràng trong hình 2.4 Tuy nhiên, với các phương pháp này, bất kỳ sai sót nào trong quá trình thực hiện đều có thể dẫn đến lỗi trong việc nhận dạng toàn bộ công thức.
Hình 2.4: Mô hình nhận dạng công thức truyền thống gồm nhiều bước [1]
Phân tách ký tự là quá trình chia một ảnh biểu thức toán học thành nhiều vùng, mỗi vùng tương ứng với một ký tự Một số ký tự và ký hiệu, như “i”, “ ” và “=”, bao gồm nhiều thành phần, do đó cần kết hợp các thành phần tương ứng lại với nhau để nhận diện chính xác Trong những trường hợp phức tạp hơn, một số ký tự như “√” có thể chứa các ký tự khác bên trong, yêu cầu sự cẩn trọng khi phân tách các biểu tượng này.
Faure và Wang đã phát triển một hệ thống mô-đun nhằm phân tách các biểu thức toán học viết tay, bao gồm hai mô-đun chính: mô-đun 1 xây dựng cây quan hệ trong quá trình phân đoạn một tập hợp các toán tử, và mô-đun 2 hiệu chỉnh đầu ra của mô-đun 1 Các lỗi trong cây thường liên quan đến mẫu cụ thể và chứa thông tin về từ vựng, quy tắc cú pháp, thứ tự viết và hình dạng Hệ thống sử dụng các phép chiếu trên trục X và Y để quyết định cách phân tách dữ liệu, nhưng gặp khó khăn với các ký tự đặc biệt như “√” và dấu phân số Để khắc phục, quá trình loại bỏ mặt nạ được áp dụng để phân tách các biểu tượng này trước khi thực hiện chiếu Cuối cùng, mô-đun phân đoạn theo định hướng cố gắng sửa chữa cây quan hệ bằng cách kết hợp các phần khác nhau để tạo thành ký tự có nhiều thành phần.
Hình 2.5: Hình ảnh biểu thức toán học (a), cây quan hệ sau khi phân tách kí tự (b) [2]
Ha và các cộng sự đã áp dụng hình chữ nhật giới hạn của các ký tự để trích xuất thông tin từ biểu thức in, được gọi là phương pháp cắt XY đệ quy, trong đó X là cắt ngang và Y là cắt dọc Hình 2.6 minh họa phân vùng ký tự sử dụng Connected component Đối với các phương pháp nhận dạng công thức toán học từ hình ảnh, thông tin bối cảnh của biểu thức đóng vai trò quan trọng trong việc phân tách các thành phần.
Hình 2.6 minh họa việc phân vùng ký tự thông qua Connected component, cho thấy rằng các chữ số thường tạo thành một đơn vị khi có cùng kích thước, liền kề và nằm trên cùng một đường ngang Ví dụ, hình 2.7 chỉ ra sự nhập nhằng trong nhận diện biểu thức toán học, trong đó "210" đại diện cho một giá trị số nguyên Ngược lại, các chữ số giống nhau nhưng khác về kích thước và vị trí, như "2 10", lại mang ý nghĩa khác nhau, với hai đơn vị là 2 và 10.
Hình 2.7: Sự nhập nhằng trong nhận diện biểu thức toán học [1]
Một số chữ cái có thể kết hợp để tạo thành một đơn vị, tương tự như các hàm lượng giác như tan, sin và cos Trước khi xem xét nhóm chữ cái như một tập hợp tên biến đại diện cho tích số bội, cần kiểm tra xem chúng có tạo thành tên hàm hay không.
Các ký hiệu không phải chữ cái và chữ số cần được phân loại thành các đơn vị riêng biệt Trong các biểu thức toán học, một số ký hiệu có thể đảm nhận vai trò khác nhau tùy thuộc vào ngữ cảnh Dấu chấm có thể được hiểu là dấu thập phân hoặc toán tử nhân, điều này phụ thuộc vào vị trí của nó và các ký hiệu xung quanh.
Một đường ngang có thể biểu thị một dòng phân số hoặc một dấu trừ Việc nhận dạng ký hiệu phụ thuộc vào độ dài của đường ngang và sự hiện diện của các ký hiệu ở trên và dưới đường.
Cùng một nhóm ký tự có thể mang ý nghĩa khác nhau tùy thuộc vào ngữ cảnh, như "dx" vừa là phần của ký hiệu tích phân trong "x^2 dx", vừa đại diện cho phép nhân của d và x trong "cy + dx" Ký hiệu toán học cũng có nhiều phương ngữ, khiến việc thiết kế một ngữ pháp phổ quát cho tất cả các phương ngữ trở nên gần như không khả thi Do đó, hầu hết các hệ thống chỉ dựa vào một tập hợp con của ký hiệu toán học.
Sau khi phân đoạn, mỗi ảnh được chia thành nhiều vùng, mỗi vùng chứa các ký tự với thuộc tính đã biết Về lý thuyết, bất kỳ phương pháp nhận dạng ký tự nào phù hợp với kiểu dữ liệu tương ứng (trực tuyến hoặc ngoại tuyến) đều có thể được áp dụng Qua nhiều năm nghiên cứu, nhiều phương pháp khác nhau đã được đề xuất để nhận dạng ký tự, bao gồm đối sánh mẫu, cấu trúc, mạng nơ-ron và các phương pháp thống kê khác Các khảo sát về các phương pháp này có thể dễ dàng tìm thấy trong tài liệu.
Một số hệ thống điển hình theo danh mục theo cách tiếp cận nhận dạng ký hiệu được sử dụng:
1 Phương pháp đối sánh mẫu: Một số hệ thống, chẳng hạn như Nakayama và cộng sự [18], và Okamoto và cộng sự [19] nhận dạng các biểu thức toán học bằng cách sử dụng cấu trúc bố cục của các ký hiệu, bài báo [20] mô tả trạng thái hiện tại của một hệ thống nhận dạng tài liệu thử nghiệm cho các bài báo khoa học Một bài báo khoa học không chỉ chứa văn bản mà còn có các bảng, hình ảnh, đồ họa và các biểu thức toán học Hệ thống này, có thể chuyển đổi các chuỗi ký tự hoặc ký hiệu trong văn bản cũng như các biểu thức và bảng toán học thành dữ liệu được mã hóa Trong số tất cả các chức năng cần thiết cho toàn bộ quá trình từ quét tài liệu đến nhận dạng, những chức năng này đã được nghiên cứu và triển khai: phát hiện và hiệu chỉnh độ lệch, phân vùng (khối) và nhận dạng biểu thức toán học Hai bài báo này [19; 20] đều sử dụng một số phương pháp so khớp mẫu truyền thống. Những người khác thực hiện khớp mẫu dựa trên các biện pháp khác nhau, ví dụ: Fateman và cộng sự [17; 21], Miller và Viola [22]
2 Các cách tiếp cận theo cấu trúc: Tốc độ, độ chính xác và tính linh hoạt là rất quan trọng đối với việc sử dụng nhận dạng chữ viết tay trực tuyến Tuy nhiên lại không có nhiều hệ thống dựa trên các cách tiếp cận cấu trúc Một vài trường hợp ngoại lệ là Belaid và Haton [23], tác giả đề xuất một hệ thống nhận dạng các công thức toán học 2-D dựa trên bộ phân tích cú pháp Hệ thống này, có thể nhận dạng một lớp lớn các công thức toán học 2-D được viết trên máy tính bảng đồ họa Mô hình bắt đầu phân tích cú pháp bằng cách xác định vị trí toán tử và phân chia nó thành các biểu thức con được phân tích tương tự bằng cách tìm kiếm một ký tự bắt đầu Trình phân tích cú pháp tổng quát được sử dụng trong hệ thống đã được phát triển để nhận dạng giọng nói liên tục và nhận dạng hình ảnh Chan and Yeung [24], tác giả đề xuất một cách tiếp cận cấu trúc đơn giản nhưng mạnh mẽ để nhận dạng chữ viết tay trực tuyến Phương pháp tiếp cận được thiết kế để đạt được tốc độ hợp lý, tuy nhiên độ chính xác nhận dạng chưa cao Đồng thời, mô hình giúp nhận dạng các ký tự chữ và số viết tay trực tuyến thông qua kết hợp cấu trúc linh hoạt Tác giả sử dụng phương pháp nhận dạng mẫu cú pháp.
Các phương pháp học sâu
Với phương pháp truyền thống, việc nhận dạng biểu thức toán học từ ảnh thường gặp khó khăn do sự phụ thuộc giữa các bước, khiến lỗi ở bước trước ảnh hưởng đến bước sau Gần đây, sự phát triển của mạng học sâu tiên tiến đã mở ra cơ hội cho việc phát triển phương pháp nhận dạng theo kỹ thuật đầu cuối (end to end) Phương pháp này không chỉ đơn giản hóa quy trình mà còn nâng cao đáng kể độ chính xác trong việc nhận dạng công thức toán học.
2.2.1 Các mô hình học sâu cho nhận diện ký tự trên ảnh
2.2.1.1 Mô hình nhận dạng công thức toán học dựa vào ngữ cảnh
Phương pháp sử dụng mạng nơ ron tích chập (CNN) để phát hiện và nhận dạng ký tự toán học, kết hợp bối cảnh không gian và xử lý hiệu quả các biểu tượng hợp từ nhiều phần Hệ thống thực hiện qua các bước: hình ảnh được đưa vào mạng, trải qua nhiều lớp tích chập và lớp tổng hợp để thu nhỏ kích thước đặc trưng Các ma trận đặc trưng đầu ra phục vụ cho ba nhiệm vụ, mỗi nhiệm vụ tạo ra đặc trưng có cùng kích thước với ma trận đầu vào Nhiệm vụ phát hiện ký tự xác định điểm tin cậy cho ký tự, hồi quy cung cấp vectơ đại diện cho đường bao giới hạn, và nhiệm vụ nhận dạng xác định loại biểu tượng có xác suất tối đa Các tác vụ phát hiện và hồi quy kết hợp đầu ra vào hộp giới hạn, mỗi tác vụ được biểu thị bằng vectơ 5 chiều và áp dụng kỹ thuật loại bỏ các cùng chồng lấn (NMS) cho các đường giới hạn vượt ngưỡng Cuối cùng, quyết định nhãn cho các đường giới hạn bằng cách kết hợp kết quả nhận dạng Cấu trúc đa tác vụ giúp chia nhỏ bài toán phức tạp thành các tác vụ nhỏ hơn, tối ưu hóa việc chia sẻ đặc trưng giữa các lớp để giảm tính toán.
Hình 2.13: Kiến trúc mô hình phát hiện ký tự và nhận dạng công thức toán học dựa vào ngữ cảnh [5]
Bài báo [5] giới thiệu mô hình nhận biết ngữ cảnh end-to-end cho việc nhận dạng ME, sử dụng cấu trúc CNN kết hợp với học tập đa tác vụ để phát hiện và nhận dạng các ký hiệu toán học Kết quả cho thấy thông tin bối cảnh từ các tính năng đã cải thiện đáng kể hiệu suất Tuy nhiên, phương pháp này vẫn chưa thể giải thích cấu trúc của công thức toán học.
2.2.1.2 Cấu trúc mã hóa-giải mã
Gần đây, một mô hình mạng thần kinh mới, cụ thể là mã hóa-giải mã, đã được phát triển để giải quyết bài toán chuỗi-chuỗi, trong đó cả bộ mã hóa và bộ giải mã đều sử dụng mạng nơ-ron hồi quy (RNN) Bộ mã hóa RNN chuyển đổi đầu vào có độ dài tùy ý thành vectơ có số chiều cố định, trong khi bộ giải mã RNN sử dụng vectơ này để tạo ra chuỗi đầu ra có độ dài cũng tùy ý, mỗi lần một từ Trong giai đoạn đào tạo, mô hình sử dụng nhãn từ trước làm đầu vào cho bộ giải mã, và trong giai đoạn dự đoán, tìm kiếm chùm tia (beam search) được áp dụng để dự đoán từ tiếp theo Mô hình này đã được ứng dụng rộng rãi trong dịch máy, phân tích cú pháp và nhận dạng giọng nói Đặc biệt, trong nhận dạng công thức toán học, bộ mã hóa thường sử dụng CNN để ánh xạ hình ảnh đầu vào thành vectơ có độ dài cố định Kiến trúc mã hóa-giải mã đã cho thấy cải tiến đáng kể trong các lĩnh vực như nhận dạng chữ viết tay và nhận dạng ký tự quang học Để xử lý hình ảnh dự đoán chuỗi ký tự, mô hình CRNN kết hợp CNN và RNN nhằm nắm bắt tốt ngữ cảnh thông tin trong chuỗi Thông thường, cả bộ mã hóa và bộ giải mã được huấn luyện chung để tối ưu hóa toàn bộ mô hình, mặc dù đôi khi bộ mã hóa sử dụng các mô hình đã huấn luyện trước Việc áp dụng cơ chế chú ý (attention) giúp vectơ ngữ cảnh trở thành tập hợp các kết nối có thể thay đổi, cho phép thông tin được chuyển tiếp hiệu quả hơn.
Các phương pháp nhận dạng công thức toán học dựa trên mạng học sâu được phân loại thành hai loại chính: nhận dạng biểu thức toán học viết tay và nhận dạng công thức toán học in từ hình ảnh tài liệu khoa học.
2.2.2 Nhận dạng công thức toán viết tay
Gần đây, các cuộc thi về nhận dạng biểu thức toán học viết tay (CROHME) đã thu hút sự chú ý, dẫn đến việc phát triển nhiều mô hình học sâu khác nhau nhằm cải thiện khả năng nhận dạng công thức viết tay.
Hình 2.14: Cấu trúc mạng CRNN
Bài báo [38] trình bày một hệ thống nhận dạng công thức toán học tích hợp, không dựa vào các ràng buộc ngữ pháp truyền thống, nhằm giải quyết vấn đề nhận dạng biểu thức toán học viết tay trực tuyến với thời gian tính toán được giảm thiểu Các phương pháp nhận dạng biểu thức toán học viết tay (HMER) hiện tại thường coi đây là nhiệm vụ chuyển đổi hình ảnh thành đánh dấu, sử dụng khung bộ mã hóa-giải mã Tuy nhiên, chúng chưa khai thác đầy đủ cấu trúc phân cấp và không thể phân đoạn rõ ràng các ký hiệu toán học Bài báo [21] giới thiệu mô hình HMER dưới dạng bài toán graph-to-graph (G2G), với biểu đồ linh hoạt hơn để biểu diễn cấu trúc và huấn luyện Phương pháp này sử dụng Graph Neural Networks (GNN) để khám phá thông tin cấu trúc và cơ chế chú ý sub-graph để khớp các biểu đồ đầu vào và đầu ra Các thử nghiệm trên bộ dữ liệu CROHME cho thấy lợi ích của mô hình G2G, đồng thời giải quyết vấn đề phân đoạn ký hiệu và cải thiện độ chính xác của toàn bộ hệ thống.
Trong bài báo [39], tác giả đã giới thiệu một phương pháp nhận dạng biểu thức toán học viết tay ngoại tuyến, cho thấy khả năng nhận dạng nhanh chóng và độ chính xác cao Phương pháp này sử dụng kiến trúc kết hợp giữa mạng CNN (Convolutional Neural Network) và mạng RNN (Recurrent Neural Network) Cụ thể, mạng CNN đảm nhận việc trích xuất các tính năng từ hình ảnh, sau đó đầu ra của nó được chuyển cho mạng RNN để thực hiện nhận dạng biểu thức toán học.
Phương pháp được đề xuất trong [40] giới thiệu thuật toán mạng nơ-ron kết hợp VTAP (validator, tracker, attention, and parser), kết hợp các thuật toán mạng nơ-ron như CRNN, bao gồm CNN và RNN So với các thuật toán riêng lẻ, CRNN cho thấy độ chính xác và kết quả tốt hơn Nghiên cứu về nhận dạng biểu thức toán học viết tay (HMER) là một thách thức lớn nhưng cũng mở ra nhiều tiềm năng ứng dụng Mặc dù các phương pháp gần đây cho HMER đã đạt hiệu suất cao với kiến trúc bộ mã hóa-giải mã, nhưng chúng vẫn gặp khó khăn do dự đoán từ ký tự này sang ký tự khác, dẫn đến lỗi dự đoán do cấu trúc phức tạp của biểu thức toán học và chữ viết tay.
Trong bài báo này, tác giả đã giới thiệu một phương pháp đơn giản và hiệu quả cho HMER, lần đầu tiên kết hợp thông tin cú pháp vào bộ mã hóa-giải mã Cụ thể, các tác giả đã phát triển một tập hợp quy tắc ngữ pháp để chuyển đổi trình tự đánh dấu Latex thành cây phân tích cú pháp, sau đó mô hình hóa trình tự đánh dấu dự đoán như một quá trình duyệt cây bằng mạng nơ-ron sâu Phương pháp này giúp mô tả cú pháp ngữ cảnh của các biểu thức một cách hiệu quả, giảm thiểu lỗi trong dự đoán cấu trúc của HMER Kết quả thí nghiệm trên hai bộ dữ liệu điểm chuẩn cho thấy phương pháp đạt hiệu suất nhận dạng tốt hơn Để xác thực tính hiệu quả của mô hình, các tác giả đã tạo ra một bộ dữ liệu quy mô lớn với 100k hình ảnh toán học viết tay.
Công trình [42] giới thiệu một hệ thống nhận biết ngữ cảnh end-to-end nhằm nhận dạng công thức toán học, sử dụng cấu trúc CNN với khả năng học đa tác vụ để phát hiện và nhận diện ký hiệu toán học Kết quả thử nghiệm chỉ ra rằng thông tin ngữ cảnh từ các tính năng tích hợp đã cải thiện đáng kể hiệu suất nhận dạng Tuy nhiên, phương pháp này vẫn chưa giải thích rõ ràng cấu trúc của công thức toán học.
Mô hình WAP, do giáo sư Lirong-Dai và các nhà khoa học Trung Quốc phát triển vào năm 2016, đã đạt kết quả tốt nhất trong cuộc thi nhận diện công thức toán viết tay Bài báo đã giới thiệu hệ thống Watch, Attend và Parse (WAP) với khả năng học ngữ pháp công thức toán học và tự động xử lý phân đoạn ký hiệu Tuy nhiên, phương pháp này chỉ được xác thực trên các tập dữ liệu nhỏ và chủ yếu tập trung vào nhận dạng công thức toán học viết tay.
Hình 2.15: Cấu tạo mô hình WAP trong nhận dạng biểu thức toán viết tay [6]
Mô hình Transformer dựa trên kiến trúc mã hóa-giải mã, bao gồm các tầng tập trung đa đầu (multi-head attention) và sử dụng biểu diễn vị trí (positional encoding) để kết hợp thông tin vị trí Nó áp dụng chuẩn hóa tầng (layer normalization) và sử dụng đầu ra của khối mã hóa cuối cùng làm bộ nhớ tập trung cho bộ giải mã Các embedding của chuỗi đích được đưa vào n khối lặp lại trong bộ giải mã, và đầu ra cuối cùng được tạo ra bằng cách áp dụng một tầng kết nối dày đặc có kích thước tương đương với kích thước bộ từ vựng lên các đầu ra của khối giải mã cuối cùng.
Mặt khác, Transformer sử dụng cơ chế tập trung như sau:
The Transformer block replaces a feedback layer in the seq2seq architecture, incorporating a multi-head attention layer and a position-wise feed-forward network with two dense layers in the encoder For the decoder, an additional multi-head attention layer is included to process the encoder's state.
Cộng và chuẩn hóa là quá trình xử lý đầu vào và đầu ra của tầng tập trung đa đầu hoặc mạng truyền xuôi theo vị trí, thông qua hai tầng quan trọng Hai tầng này bao gồm cấu trúc phần dư và tầng chuẩn hóa theo tầng (layer normalization), giúp cải thiện hiệu suất của mô hình.
Kết luận chương
Chương 2 đã trình bày các nghiên cứu được đề xuất cho bài toán nhận dạng biểu thức toán học, kết quả cũng như các thách thức còn tồn tại Các kết quả chỉ ra rằng, mặc dù đã có nhiều phương pháp và cải tiến cho bài toán nhận dạng công thức toán Tuy nhiên kết quả nhận dạng chưa cao.
Phương pháp nghiên cứu được đề xuất trong chương tới nhằm nâng cao độ chính xác cho kết quả cuối cùng Kết quả tốt nhất đạt được cho bài toán nhận dạng công thức viết tay trên CSDL CROHME 19 là 52.96% thông qua phương pháp BTTR, trong khi đó, tỷ lệ chính xác cho công thức in là 51.77% khi công thức được phát hiện thủ công.
Nghiên cứu cải tiến các mô hình nhận dạng công thức toán học là rất cần thiết Luận văn này tập trung vào việc nâng cao kết quả của phương pháp nhận dạng công thức toán học in từ ảnh Dựa vào hiệu quả của BTTR trên công thức toán học viết tay, học viên đã áp dụng phương pháp này cho công thức toán học in Các kỹ thuật tăng cường được sử dụng nhằm làm phong phú cơ sở dữ liệu và tăng tần suất xuất hiện của các ký tự.
PHƯƠNG PHÁP NGHIÊN CỨU VÀ THỬ NGHIỆM
Bộ mã hóa hình ảnh (Encoder)
Trong phần này, bộ mã hóa áp dụng DenseNet để trích xuất tính năng từ hình ảnh tài liệu, nhằm cải thiện độ chính xác bị giảm do hiện tượng độ dốc biến mất trong mạng nơ-ron DenseNet là một kiến trúc mạng nơ-ron phức hợp với các kết nối dày đặc giữa các lớp thông qua các Khối dày đặc, cho phép mỗi lớp nhận đầu vào từ tất cả các lớp trước đó Dữ liệu đầu vào được tạo ra từ phép toán ghép các tính năng từ các lớp trước đó, và tính năng đầu ra của lớp l th được tính theo công thức al = Gl([a0; a1; ; al−1]), trong đó [x0; x1; ; x(l−1)] thể hiện hoạt động nối các đầu ra tính năng.
DenseNet là một hàm tổng hợp bao gồm ba lớp liên tiếp: chuẩn hóa hàng loạt, lớp ReLU và lớp chập 3 × 3 Nhờ vào hoạt động nối trong kích thước kênh, DenseNet cải thiện khả năng truyền gradient So với ResNet, DenseNet đạt hiệu suất tốt hơn với ít tham số hơn Ngoài DenseNet, tác giả còn bổ sung lớp chập 1 × 1 trong bộ mã hóa để điều chỉnh kích thước đối tượng vị trí hình ảnh thành kích thước nhúng d model cho quá trình xử lý tiếp theo.
Hình 3.2: Một khối kết nối dày đặc 5 lớp có số lượng kênh k = 4 Mỗi lớp lấy tất cả các đặc trưng trước đó làm đầu vào [11].
Khi huấn luyện mạng nơ ron bằng phương pháp lan truyền ngược, đạo hàm riêng của hàm mất mát được nhân từ lớp cuối đến lớp đầu Mô hình càng sâu thì cần nhân nhiều đạo hàm riêng, dẫn đến việc nếu các đạo hàm này lớn, sẽ gây ra hiện tượng bùng nổ đạo hàm (exploding gradient), làm cho mô hình không ổn định Ngược lại, nếu các đạo hàm riêng nhỏ, chúng sẽ giảm dần, gây ra suy giảm gradient (vanishing gradient), khiến trọng số của mạng gần như không được cập nhật.
Các vấn đề về đạo hàm xuất hiện trong các mạng CNN khi mô hình trở nên sâu hơn Nghiên cứu gần đây cho thấy rằng mạng tích chập có thể sâu hơn, chính xác hơn và hiệu quả hơn khi các kết nối giữa các lớp gần đầu vào và đầu ra được kết nối lại gần nhau DenseNet kết nối từng lớp với các lớp khác theo kiểu chuyển tiếp, khác với các mạng tích chập truyền thống chỉ có L kết nối Trong DenseNet, tại mỗi lớp, đặc trưng từ tất cả các lớp trước được sử dụng làm đầu vào, dẫn đến số kết nối lên tới L(L + 1)/2 DenseNet mang lại nhiều lợi ích như giảm vấn đề suy giảm gradient, tăng cường lan truyền tính năng, tái sử dụng đặc trưng đã trích xuất và giảm đáng kể số lượng tham số.
Các mạng nơ-ron truyền thống kết nối đầu ra của lớp trước với lớp tiếp theo, tạo thành tổ hợp các phép toán Thông thường, tổ hợp này bao gồm phép tích chập hoặc các lớp tổng hợp, chuẩn hóa hàng loạt và hàm kích hoạt Phương trình biểu diễn cho quá trình này là xl = Hl(al−1).
Xem xét một hình ảnh duy nhất được truyền qua một mạng tích chập, mạng này bao gồm nhiều lớp, mỗi lớp thực hiện các phép biến đổi phi tuyến Các phép biến đổi này có thể bao gồm chuẩn hóa hàng loạt (BN), hàm kích hoạt (ReLU), pooling hoặc convolution.
(Conv) Tác giả biểu thị đầu ra của lớp thứ như th
ResNets là các mạng chuyển tiếp nguồn cấp dữ liệu tích chập truyền thống, trong đó đầu ra của lớp thứ n được sử dụng làm đầu vào cho lớp (n + 1) Mô hình ResNet có cấu trúc mới giúp tránh hiện tượng biến mất của đạo hàm bằng cách sử dụng bước nhảy Cụ thể, đầu ra của lớp trước được cộng với đầu vào của nó, tạo thành tổng và được đưa vào lớp tiếp theo ResNets cũng giới thiệu các kết nối bỏ qua, cho phép vượt qua các phép biến đổi phi tuyến tính với hàm nhận dạng, được biểu diễn bằng công thức: x = H(x − 1) + x − 1.
DenseNet không giống như ResNet, nơi mà các đặc trưng được tổng hợp để tạo ra đầu ra của lớp, mà thay vào đó, nó kết hợp các đặc trưng từ các lớp trước với đầu ra của lớp hiện tại Do đó, phương trình của DenseNet được định hình lại thành: xl = Hl([x0, x1, , xl−1]).
Một trong những ưu điểm của ResNets là khả năng truyền gradient trực tiếp từ các lớp sau đến các lớp trước, giúp cải thiện quá trình học Tuy nhiên, việc kết hợp chức năng nhận dạng và đầu ra của H thông qua phép cộng có thể gây cản trở cho luồng thông tin trong mạng.
Mạng tích chập liên kết dày đặc (DenseNet) cải thiện khả năng chuyển tiếp thông tin giữa các lớp bằng cách thiết lập các kết nối trực tiếp giữa mọi lớp Mỗi lớp nhận đầu vào từ tất cả các lớp trước đó, tạo ra một cấu trúc kết nối phong phú Cụ thể, đầu vào của lớp thứ n được xác định bởi công thức: x = H([x0, x1, , x(n-1)]), trong đó [x0, x1, , x(n-1)] là phép nối các bản đồ đặc trưng của các lớp trước Kiến trúc này giúp tối ưu hóa việc sử dụng thông tin và nâng cao hiệu suất của mạng.
H ( )ã trong phương trỡnh (3.1) thành một tensor duy nhất.
Hàm tổng hợp H() được xác định như một chức năng tổng hợp bao gồm ba hoạt động chính: đầu tiên là chuẩn hóa hàng loạt (BN), tiếp theo là hàm kích hoạt ReLU, và cuối cùng là quá trình tích chập.
Khi làm việc với hai mô hình ResNet và DenseNet, cần lưu ý rằng các đặc trưng phải có cùng kích thước khi thực hiện phép gộp Cụ thể, trong quá trình gộp các đặc trưng từ lớp đầu đến lớp thứ l−1, các đặc trưng cần giữ kích thước đồng nhất (H×W) Tuy nhiên, một mô hình không thể chỉ sử dụng một kích thước đặc trưng duy nhất Do đó, việc chia mô hình thành các khối DenseNet nhỏ hơn cho phép sử dụng đặc trưng ở nhiều tỷ lệ khác nhau, đồng thời vẫn duy trì việc chuyển tiếp các đặc trưng từ các lớp trước Các lớp nằm giữa các khối DenseNet nhỏ hơn được gọi là lớp chuyển tiếp, có chức năng giảm kích thước đặc trưng.
Lớp tổng hợp trong mạng tích chập đóng vai trò quan trọng trong việc xử lý các phương trình không khả thi khi kích thước bản đồ đặc trưng thay đổi Để hỗ trợ việc lấy mẫu xuống, kiến trúc mạng được chia thành nhiều khối liên kết dày đặc Các lớp giữa các khối này được gọi là quá trình chuyển tiếp, thực hiện tích chập và tổng hợp Quá trình này bao gồm lớp chuẩn hóa hàng loạt và lớp tích chập, tiếp theo là lớp tổng hợp trung bình.
DenseNet là một kiến trúc mạng nơ-ron sâu với ba khối dày đặc, trong đó các lớp giữa hai khối liền kề được gọi là các lớp chuyển tiếp Những lớp này có chức năng thay đổi kích thước bản đồ tính năng thông qua các phép tích chập và tổng hợp.
DenseNet có tỉ lệ tăng trưởng đặc biệt, trong đó mỗi hàm H tạo ra bản đồ tính năng với đầu vào k 0 + k × (−1), với k 0 là số kênh trong lớp đầu vào Một điểm khác biệt quan trọng giữa DenseNet và các kiến trúc mạng hiện tại là khả năng sử dụng các lớp rất hẹp, ví dụ như k = 12 Siêu tham số kênh của mạng cho thấy rằng số kênh tương đối nhỏ có thể cải thiện hiệu suất của ResNets khi độ sâu mạng đủ lớn DenseNet tối ưu hóa việc tái sử dụng tính năng, dẫn đến các mô hình dễ đào tạo và hiệu quả tham số cao hơn Việc kết hợp các tính năng từ các lớp khác nhau không chỉ tăng cường sự đa dạng trong đầu vào mà còn nâng cao hiệu quả của mạng Sự khác biệt này giữa DenseNet và ResNets thể hiện rõ, với DenseNet trở nên đơn giản và hiệu quả hơn trong việc kết hợp các tính năng.
Mã hóa vị trí
Thông tin về vị trí hình ảnh và vị trí từ có thể giúp mô hình xác định các khu vực quan trọng cần chú ý Trong các nghiên cứu trước đây, mô hình dựa trên RNN đã bỏ qua thông tin vị trí từ của các đặc trưng hình ảnh Trong luận văn này, học viên sử dụng hai loại mã hóa vị trí để giải quyết vấn đề này: mã hóa vị trí hình ảnh và mã hóa vị trí từ Mã hóa vị trí hình ảnh và mã hóa vị trí từ được phân loại thành mã hóa dựa trên nội dung và mã hóa dựa trên vị trí Các tính năng này được tổng hợp và làm đầu vào cho bộ giải mã transformer.
Khi vectơ đầu vào được xử lý qua bộ mã hóa và bộ giải mã, mô hình không nhận được thông tin về vị trí hay thứ tự của các vectơ này Vì vậy, cần thiết phải có phương pháp để tích hợp thứ tự vào mô hình, giúp nó xác định các khu vực quan trọng cần chú ý.
Mã hóa vị trí được tích hợp vào các đầu vào ở phần dưới của bộ mã hóa và bộ giải mã, giúp mô hình nhận biết trình tự chính xác Mô hình áp dụng hai loại mã hóa vị trí khác nhau để tối ưu hóa quá trình xử lý dữ liệu.
3.2.1 Mã hóa vị trí từ
Vì mô hình không lặp lại và không tích chập, việc sử dụng thứ tự của chuỗi đòi hỏi phải thêm thông tin về vị trí của mã thông báo Để đạt được điều này, học viên đã tích hợp mã hóa theo vị trí vào phần nhúng đầu vào ở cuối ngăn xếp bộ mã hóa và bộ giải mã Các mã hóa vị trí này có cùng kích thước dmodel như phần nhúng, cho phép tính tổng cả hai một cách hiệu quả.
Mã hóa vị trí từ được áp dụng tương tự như trong mô hình transformer gốc để biểu thị vị trí của vectơ từ Đầu vào bao gồm thứ nguyên và vị trí Vectơ mã hóa vị trí sử dụng các hàm sin và cosin với các tần số khác nhau.
PE W pos,d [2i + 1] = cos(pos/10000 2i/d ) (3.7) trong đó trong đóposlà vị trí và là chỉ số của kích thước chiều mô hình.i
3.2.2 Mã hóa vị trí hình ảnh
Mã hóa vị trí hình ảnh biểu diễn các đặc điểm vị trí của hình ảnh Đầu vào bao gồm tọa độ (x, y) và kích thước chiều mô hình d, tương tự như mã hóa vị trí, trong đó H và W lần lượt là chiều cao và chiều rộng của hình ảnh đầu vào.
Thứ nhất, học viên tính toán vị trí mã hóa:
W Sau đó, vectơ mã hóa vị trí hình ảnh PE I x,y,d được tính bằng cách nối chúng như sau:
Bộ giải mã hình ảnh (Decoder)
Bộ giải mã hình ảnh áp dụng mô hình biến đổi tiêu chuẩn với cơ chế tập trung, trong đó sẽ có bốn thành phần quan trọng được trình bày chi tiết ở phần tiếp theo.
3.3.1 Scaled Dot-Product Attention Đầu vào bao gồm truy vấn Q của kích thước d k , khóa K của thứ nguyên d k và giá trị V của thứ nguyên d v Các kích thước này tương ứng sẽ được chuyển đổi tuyến tính để có kích thước d model trước khi được sử dụng Cơ chế chú ý này về cơ bản là sử dụng truy vấn để lấy giá trị từ các cặp khóa-giá trị, dựa trên sự giống nhau giữa truy vấn và khóa Ma trận đầu ra có thể được tính như sau:
)V (3.9) Đầu ra là tổng các giá trị có trọng số Trọng số này được tính bằng hàm softmax dựa trên truy vấn và khóa tương ứng.
3.3.2 Multi-Head Attention Đầu tiên, học viên chiếu truy vấn Q, khóa K và giá trịVđể tính toán phần đầu Head i.
Head i =Attention QW( Q i , KW K i , VW V i ) (3.10)
Sau đó, các đầu ra tổng hợp sự chú ý h được nối với nhau, một lần nữa được tham chiếu với W O :
MultiHead(Q K V, , ) = Concat(Head 1 ; ; Head h )W O (3.11) trong đó W Q i ∈R d model ×d k , W i K ∈ R d model ×d k , W V i ∈ R d model ×d v , W O ∈R hd v ×d model là các ma trận tham số học, số đầu h
Trong bộ giải mã, việc tự động truy xuất cho phép dự đoán ký hiệu tiếp theo dựa trên hình ảnh đầu vào và các ký hiệu đã tạo trước đó Mỗi bước thời gian, mô-đun tự chú ý được kích hoạt bởi ma trận mặt nạ để hạn chế vùng chú ý Cơ chế chú ý Masked Multi-Head đóng vai trò quan trọng trong việc tối ưu hóa quy trình đào tạo, chỉ yêu cầu một phép tính chuyển tiếp.
3.3.4 Position-wise Feed-Forward Network
Mỗi lớp trong bộ mã hóa và bộ giải mã không chỉ bao gồm các lớp con chú ý mà còn chứa mạng chuyển tiếp (FFN) nguồn cấp dữ liệu được kết nối, được áp dụng đồng nhất cho từng vị trí riêng biệt.
Mạng chuyển tiếp FFN (Feed-Forward Network) bao gồm hai phép biến đổi tuyến tính và hàm kích hoạt ReLU FFN được tính như sau:
Sau khi áp dụng cơ chế đa đầu (Multi-Head Attention), thông tin giữa các vị trí trong dữ liệu đã được trao đổi hiệu quả Mạng nơ-ron hồi tiếp (FFN) cho phép mỗi vị trí tích hợp và xử lý thông tin nội bộ một cách độc lập.
Mặc dù các phép biến đổi tuyến tính có cấu trúc giống nhau ở nhiều vị trí, nhưng chúng sử dụng các tham số khác nhau qua các lớp Cụ thể, hai tích chập với kích thước 1 có đầu vào và đầu ra với thứ nguyên d model = 512, trong khi lớp bên trong có thứ nguyên d ff = 2048.
Huấn luyện mạng
Trong bài viết này, hai ký hiệu đặc biệt “” và “” được giới thiệu để đánh dấu sự bắt đầu và kết thúc của chuỗi Đối với chuỗi Latex mục tiêu y = {y1, , yT}, học viên sẽ biểu thị chuỗi mục tiêu từ trái sang phải (L2R) dưới dạng y = {SOS, y1, , yT, EOS}.
Chuỗi mục tiêu từ phải sang trái (R2L) được biểu diễn là ←−y = { EOS , y T , , y1, SOS } và được điều chỉnh dựa trên hình ảnh xv và tham số mô hình Mô hình tự động hồi quy truyền thống yêu cầu tính toán phân phối xác suất p y( j | y