Ứng dụng máy vectơ tựa trong bài toán nhận dạng chữ viết tay rời rạc

MỤC LỤC

Máy véc tơ tựa (Support Vector Machines – SVM)

Chương này giới thiệu tổng quan về tình hình nghiên cứu trong lĩnh vực nhận dạng chữ viết tay, mô hình tổng quát của một hệ nhận dạng chữ viết tay và một số phương pháp nhận dạng có thể áp dụng vào bài toán nhận dạng chữ viết tay.

PHƯƠNG PHÁP MÁY VÉC TƠ TỰA (SVM - SUPPORT VECTOR MACHINES)

GIỚI THIỆU

Mà việc lựa chọn hàm nhân phù hợp cho từng ứng dụng cụ thể buộc người sử dụng SVM phải thử nghiệm nhiều lần huấn luyện với các loại hàm nhân khác nhau tương ứng với các giá trị tham số khác nhau của chúng. Mặt khác, mục đích của việc huấn luyện SVM là lọc ra các mẫu huấn luyện có tham gia vào việc tạo siêu phẳng đồng thời loại bỏ các mẫu không liên quan, các mẫu có tham gia tạo ra siêu phẳng được gọi là các véc tơ tựa (SV - Support Vector). Thuật toán SMO [4] có thể xem là trường hợp cá biệt của thuật toán phân rã, trong mỗi lần lặp SMO giải một bài toán QP với kích thước là hai bằng giải pháp phân tích, vì vậy không cần phải giải bài toán tối ưu.

SVM TUYẾN TÍNH

    Với m ≥ 1, việc tìm siêu phẳng tối ưu sẽ có dạng bài toán quy hoạch lồi, đặc biệt với m = 1 thì ta có bài toán quy hoạch toàn phương và trong trường hợp này bài toán tìm siêu phẳng tối ưu có thêm một lợi thế nữa là cả ξi lẫn các nhân tử Lagrange đều không xuất hiện trong bài toán đối ngẫu của Wolfe [14]. Bài toán gốc có thể biến đổi thành bài toán đối ngẫu đơn giản hơn bằng cách cho đạo hàm của hàm Lagrange triệt tiêu theo các biến của bài toán gốc rồi thay thế các kết quả thu được ngược trở lại hàm Lagrange thì sẽ loại bỏ được các biến của bài toán gốc. Khi đã huấn luyện xong, SVM chỉ lưu lại những mẫu có αi > 0, các mẫu này được gọi là các véc tơ tựa, còn tất cả các mẫu học khác có αi = 0 đều bị loại bỏ vì chúng không tham gia vào việc tạo siêu phẳng tối ưu.

    Hình 2.1. Siêu phẳng tách tuyến tính.
    Hình 2.1. Siêu phẳng tách tuyến tính.

    SVM PHI TUYẾN

      Trong các ứng dụng thực tế, thông thường các tập dữ liệu không khả tách tuyến tính, vì vậy đòi hỏi các máy huấn luyện phải sử dụng các hàm phân lớp mạnh hơn so với các hàm tuyến tính. Với tập dữ liệu không khả tách tuyến tính, có thể ánh xạ chúng sang một không gian khác với số chiều cao hơn sao cho trong không gian mới này tập dữ liệu sẽ khả tách tuyến tính (hình 2.5). Đối với dữ liệu không khả tách tuyến tính trong không gian RD thì mục tiêu của bài toán là tìm cách ánh xạ chúng sang không gian H sao cho ở trong không gian này chúng khả tách tuyến tính, H được gọi là không gian đặc trưng.

      LÝ THUYẾT CHIỀU VC

        Do đó, phải cố gắng ước lượng hàm f(x,α) một cách tốt nhất dựa trên các thông tin đã biết, nghĩa là phải dựa trên tập dữ liệu huấn luyện S đã cho và cách lựa chọn hàm f(x,α). Trong bất đẳng thức đánh giá rủi ro (2.52) có ba thành phần: độ tin cậy VC phụ thuộc vào h (chiều VC của lớp hàm được chọn), còn rủi ro thực tế và rủi ro thực nghiệm lại phụ thuộc vào một hàm cụ thể nào đó được chọn ra trong quá trình huấn. Điều này được thực hiện bằng cách huấn luyện các máy khác nhau (mỗi máy tương ứng với một tập con các hàm) theo hướng cực tiểu hóa rủi ro thực nghiệm, sau đó chọn các máy đã được huấn luyện có tổng rủi ro thực nghiệm và độ tin cậy VC nhỏ nhất.

        Hình 2.6. Độ tin cậy VC tăng theo h.
        Hình 2.6. Độ tin cậy VC tăng theo h.

        CÁC THUẬT TOÁN HUẤN LUYỆN SVM

          Phương pháp này được sử dụng với giả thiết rằng ma trận Gram dùng để lưu tích vô hướng của từng cặp các véc tơ tựa phù hợp với kích thước bộ nhớ (có thể tính lại ma trận Gram bất cứ lúc nào khi thấy cần thiết, nhưng điều này sẽ làm giảm tốc độ huấn luyện). Thuật toán SMO thực hiện hai công việc chính: Giải bài toán tối ưu cho hai nhân tử Lagrange bằng phương pháp phân tích và chọn hai nhân tử để tối ưu bằng phương pháp lựa chọn heuristic. • Ở vòng lặp ngoài, luân phiên duyệt qua tất cả các mẫu và các véc tơ tựa (các mẫu có 0 < αi < C) (ưu tiên duyệt qua các véc tơ tựa, nếu không tìm thấy mới duyệt toàn bộ mẫu) để chọn ra một mẫu vi phạm điều kiện KKT.

          SVM ĐA LỚP

            Vì vậy, khi xây dựng các máy phân lớp, các mẫu huấn luyện buộc phải đánh lại nhãn: các thành viên của lớp thứ i sẽ được gán nhãn là 1, còn các thành viên của các lớp còn lại sẽ được gán nhãn là -1. Nút gốc của cây phân lớp là một máy phân lớp nhị phân chia toàn bộ các lớp thành hai nhóm lớp, sau đó tùy đầu ra của máy phân lớp này mà các nút con tiếp tục được phân tách cho tới khi xuống đến nút lá. Chiến lược phân cấp có tốc độ phân lớp nhanh nhất so với hai chiến lược đã nêu trên nhưng nó cũng có một nhược điểm lớn: nếu một mẫu x cho trước bị phân lớp sai ở ngay những nút đầu tiên thì chắc chắn kết quả phân lớp sẽ bị sai cho dù có tiếp tục phân lớp xuống đến tận nút lá.

            ỨNG DỤNG SVM VÀO BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY RỜI RẠC

              Với ảnh đầu vào, sau khi tìm khung bé nhất chứa các điểm đen trờn ảnh và chuẩn húa về kớch thước 16ì16, chuyển sang ảnh nhị phõn và biến đổi thành mảng một chiều để làm đặc trưng cho việc huấn luyện và nhận dạng (hình 2.11). Sau đây là một số kết quả phân lớp được thực nghiệm trên bộ dữ liệu MNIST với các phương pháp phân lớp khác nhau, số liệu thống kê ở bảng 2.7 được trích từ website của Yann LeCun: http://yann.lecun.com/exdb/mnist/. So với các kết quả phân lớp SVM ở bảng 2.7 thì các kết quả thực nghiệm của luận án ở bảng 2.6 đạt độ chính xác thấp hơn nhiều, điều này cũng dễ hiểu bởi vì trong chương này, luận án chưa chú trọng đến các khâu tiền xử lý và trích chọn đặc trưng.

              Hình 2.11. Chọn đặc trưng ma trận nhị phân.
              Hình 2.11. Chọn đặc trưng ma trận nhị phân.

              ÁP DỤNG MÁY VÉC TƠ TỰA VÀO BÀI TOÁN NHẬN DẠNG CHỮ VIỆT VIẾT TAY RỜI RẠC

              TRÍCH CHỌN ĐẶC TRƯNG CHO BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY RỜI RẠC

                Với cùng một chữ thì các giá trị lớn ở đầu dãy tương đối ổn định, có thể đại diện cho hình dạng khái quát của chữ, còn các giá trị ở cuối dãy nhỏ dần và không ổn định, thể hiện sự đa dạng trong từng chi tiết của chữ (hình 3.5). Trong phần này, luận án cài đặt thử nghiệm mô hình nhận dạng chữ viết tay rời rạc với các loại đặc trưng đã nêu trên đối với bộ dữ liệu MNIST và tập dữ liệu chữ viết tay tiếng Việt không dấu rời rạc VietCHAR. Các kết quả thực nghiệm ở bảng 3.1 cho thấy sử dụng đặc trưng wavelet Haar vào bài toán nhận dạng chữ viết tay rời rạc cho độ chính xác cao hơn so với sử dụng các đặc trưng khác.

                Hình 3.2.Trích chọn các biểu đồ chiếu ngang, dọc và 2 đường chéo.
                Hình 3.2.Trích chọn các biểu đồ chiếu ngang, dọc và 2 đường chéo.

                NHẬN DẠNG CHỮ VIỆT VIẾT TAY RỜI RẠC 1. Đặt vấn đề

                  Điều này sẽ làm cho hệ thống huấn luyện và nhận dạng rất chậm, khó có thể đáp ứng được cho các ứng dụng thời gian thực, thậm chí không đủ không gian nhớ để hệ thống huấn luyện do số véc tơ tựa sinh ra lớn hơn rất nhiều lần so với tổng số lượng mẫu tham gia huấn luyện. Vì vậy đối với hai nhóm này, chỉ cần xây dựng một máy phân lớp SVM cho các nguyên âm và một máy cho các dấu là đủ, sau khi có kết quả nhận dạng thì kết nối chúng với nhau để có kết quả nhận dạng cuối cùng. Do tập TestData2 chỉ chứa 6 nguyên âm với các hình dáng rất khác nhau nên ít bị nhầm lẫn, trong khi đó tập TestData 1 lại phải phân biệt quá nhiều chữ cái với hình dáng tương tự nhau ({B,Đ},{C,G},{U,Ư,V},..) nên rất dể bị nhầm lẫn, vì vậy mà độ chính xác không cao.

                  Hình 3.6. Kiến trúc của hệ nhận dạng chữ viết tay tiếng Việt
                  Hình 3.6. Kiến trúc của hệ nhận dạng chữ viết tay tiếng Việt

                  CẢI TIẾN TỐC ĐỘ NHẬN DẠNG CHỮ VIỆT VIẾT TAY RỜI RẠC Trong phần này, các đặc trưng của các véc tơ đầu vào sẽ được rút gọn và áp

                    Thông qua việc phân tích mối quan hệ giữa các véc tơ trong không gian đầu vào và không gian đặc trưng, phương pháp này tạo ra các véc tơ mới bằng cách tìm điểm cực đại duy nhất của hàm một biến trong khoảng (0,1) mà không cần phải tìm cực tiểu của một hàm nhiều biến với các giá trị cực tiểu địa phương trong các phương pháp tập thu gọn trước đây. Phương pháp Bottom – Up 1) Đơn giản hóa hai véc tơ tựa. Giải pháp SVM có thể phân tích theo một quan điểm sau: nếu mỗi ảnh của các véc tơ tựa trong không gian đặc trưng được sử dụng như một lực Fi = α ψil trên siêu phẳng tối ưu thì giải pháp SVM này thỏa mãn các điều kiện cân bằng: tổng của các lực và mô men quay sẽ bị triệt tiêu (với ψl là modul của véc tơ Ψ) (Burges, 1998 [12]). Đối với các bài toán phức tạp (||ψ|| rất lớn) thì một độ sai lệch nhỏ giữa hai siêu phẳng có thể tạo nên một độ sai lệch ||ψ-ψ’|| rất lớn, trong khi đối với các bài toán phân lớp đơn giản hơn, một ||ψ-ψ’|| nhỏ tương ứng với một độ sai lệch lớn giữa các siêu phẳng.

                    Bảng 3.3. Kết quả nhận dạng trên tập dữ liệu TestData5.
                    Bảng 3.3. Kết quả nhận dạng trên tập dữ liệu TestData5.

                    PHẦN KẾT LUẬN

                    Đề xuất một phương pháp trích chọn đặc trưng hiệu quả cho bài toán nhận dạng chữ viết tay theo ý tưởng của phép biến đổi wavelet Haar và đã chứng minh tính bất biến của đặc trưng đối với ảnh ký tự đầu vào. Tuy nhiên phương pháp này cũng có một số nhược điểm, chẳng hạn như tốc độ phân lớp chậm, trong giai đoạn huấn luyện SVM đòi hỏi không gian nhớ rất lớn, do đó các bài toán huấn luyện với số lượng mẫu lớn sẽ gặp trở ngại trong vấn đề lưu trữ. Xử lý ngôn ngữ tự nhiên mà cụ thể là mô hình ngôn ngữ thống kê N-Grams đã được áp dụng rất hiệu quả trong việc kiểm tra chính tả ở công đoạn hậu xử lý của các hệ thống nhận dạng chữ viết.