46 Tầng transcription là quá trình chuyển mỗi kết quả dự đoán của RNN sang chuỗi dự đoán. Ở đây, transcription tìm nhãn với xác suất lớn nhất trên mỗi dự đoán trên mỗi frame. Trong thực tế tồn tại hai mô hình để thực hiện việc chuyển đổi từ xác suất dự đoán sang nhãn tương ứng, đó là lexicon-free và lexicon-based. Trong đó lexicon là một tập các chuỗi có nhãn cố định. Người ta sử dụng CTC cho quá trình đào đạo và quá trình dự đoán, phương pháp này được đề xuất bởi Graves. Sau đây
sẽ trình bày cơ bản về phương pháp này.
Phương pháp này bao gồm hai quá trình là mã hóa và giải mã văn bản, quá trình từ chuỗi xác suất đưa ra chuỗi văn bản gọi là quá trình giải mã, bởi vì không giống quá trình đào tạo là sử dụng mã hóa, khi đã biết nhãn của chuỗi trước đó. Quá trình giả mã khác quá trình đào tạo ở chỗ chúng ta đã có một mô hình đã được đào tạo và chúng ta sử dụng nó để nhận dạng văn bản không nhìn thấy trước đó, nghĩa là chúng dựa vào ma trận đầu ra của mạng để xác định chuỗi. Nhưng chúng ta chưa biết nhãn thực tế của nó, mà đang mong muốn mô hình xác định nhãn đó. Nếu thử tất cả các trường hợp có thể nếu chỉ có một vài chuỗi cố định, nhưng thực tế thì không thể sử dụng cách này. Sử dụng một thuật toán đơn giản nhưng nó cho kết quả tốt với thực tế, gồm hai bước sau
• Tìm chuỗi tốt nhất bằng cách lấy kí tự có xác suất cao nhất tại tầng frame • Xóa bỏ nhưng tất cả nhưng “blank” từ chuỗi đó
Ví dụ: Các kí tự là “a”, “b” và “-”(blank)
Nhìn vào hình dưới, giả sử có 5 đặc trưng chuỗi, áp dụng đường mã hóa tốt nhất từ ma trận, ở to kí tự phù hợp nhất là “a” tương tự với t1 , t2. blank có điểm số cao nhất tại t3 , và cuối cùng tại t4 là “b”. Như vậy kết quả nhận được là “aaa-b”, sau đó xóa bỏ đi nhưng kí tự lặp lại gần nhau thì kết quả đạt được là “a-b”, sau đó xóa bỏ đi blank kết quả sẽ thu được là “ab”. Vậy đầu ra của nhận dạng chuỗi là “ab”
47 Hình 4.0.10 Hình mình họa chọn các giá trị có xác suất cao nhất
Nhưng kết quả trên chỉ là một cách xấp xỉ, dễ dàng nhận được kết quả từ cách trên, tuy nhiên thuật toán xấp xỉ thường cho kết quả tốt với thực tế
4.6Hàm mất mát
Định nghĩa tập đào tạo là 𝜒 = {𝐼𝑖, 𝑙𝑖}𝑖 trong đó 𝑙𝑖 là ảnh cho đào tạo, và 𝑙𝑖 là nhãn của ảnh tương ứng, hàm tối ưu là
𝛿 = − ∑ 𝑙𝑜𝑔𝑝(𝐼𝑖 𝐼𝑖,𝑙𝑖 𝜖𝜒
| 𝑦𝑖)
PT 5.7
Trong đó là chuỗi được sinh ra bởi recunrrent và convolution từ 𝐼𝑖
Nhận thấy rằng đầu vào hàm mất mát của mạng là ảnh và nhãn là nội dung trên ảnh đó.
48
4.7Tóm tắt cấu trúc mô hình
Kiểu Cấu hình
Transcription -
Bidirectional-LSTM hidden units:256
Bidirectional-LSTM hidden units:256
Map-to-Sequence - Convolution maps:512, k:2 × 2, s:1, p:0 MaxPooling Window:1 × 2, s:2 BatchNormalization - Convolution maps:512, k:3 × 3, s:1, p:1 BatchNormalization - Convolution maps:512, k:3 × 3, s:1, p:1 MaxPooling Window:1 × 2, s:2 Convolution maps:256, k:3 × 3, s:1, p:1 Convolution maps:256, k:3 × 3, s:1, p:1 MaxPooling Window:2 × 2, s:2 Convolution maps:128, k:3 × 3, s:1, p:1 MaxPooling Window:2 × 2, s:2 Convolution maps:64, k:3 × 3, s:1, p:1
Input W × 32 gray-scale image Bảng 4.2 Bảng các thành phần của mô hình CRNN
49
4.7.1 Cách tạo dữ liệu và đào tạo
Như đề cập từ trước thành công của một mô hình học máy hay học sâu phụ thuộc rất nhiều vào dữ liệu và chất lượng của dữ liệu. Đầu vào của mạng là một bức ảnh với độ cao cố định là 512, và nội dung của vùng ảnh đó.
Do hạn chế về dữ liệu và thời gian cũng như làm đa dạng dữ liệu, dữ liệu được chia thành hai phần là dữ liệu thật và dữ liệu sinh ra
4.7.2 Dữ liệu thật
Tận dụng dữ liệu đã gán nhãn của việc đào tạo mô hình pixellink, ở đây sẽ có một chút thay đổi, bởi vì đầu vào của mạng là ảnh có chiều cao 512 và vùng nhãn là nội dung của vùng ảnh đó, nên sau khi cắt từng vùng ảnh từ ảnh gốc thì cần thay đổi kích thước vùng ảnh đó phù hợp với kích thước đầu vào.
Ví dụ về ảnh đầu vào và nhãn của của vùng đó Ảnh đầu vào:
Hình 4.0.11 Hình ví dụ ảnh đầu vào Nhãn của nó là: 459709241360
4.7.3 Dữ liệu sinh
Sử dụng các kỹ thuật xử lý ảnh để vẽ các nội dung lên một bức ảnh, nhưng quá trình này do muốn tạo sự đa dạng của dữ liệu đào tạo nên sử dụng thêm các kỹ thuật xử lý ảnh để tạo mẫu sao giống với dữ liệu thực tế nhất
Tổng số dữ liệu thật là 1000 ảnh
Dữ liệu sinh ra tự động trong lúc đào tạo với tỉ lệ xác suất dùng ảnh thật để đào tạo là 0.7, và tỉ lệ xác suất dùng ảnh sinh để đào tạo là 0.3, quá trình sinh tự động này tránh việc chiếm nhiều bộ nhớ, vì sinh ra bao nhiêu thì bấy nhiêu được đưa vào đào tạo.
50 Bên cạnh nhưng điểm lợi thế của quá trình đào tạo cũng như dự đoán dự vào đầu vào là ảnh, nhưng bên cạnh đó mô hình gặp một số hạn chế nhất định như các bài toán với các phông chữ khác nhau phải đào tạo dưới các phông tương ứng hoặc gần giống, nhưng lỗi thường gặp như dự đoán sai các kí tự có phân phối gần giống nhau như các cặp sau:
• Chữ cái “l” và số “1” • Số “3” và số “8” • Chữ “p” và chữ “q”
Những chữ cái trong các phông khác nhau có phân phối gần nhau cũng thường bị nhầm, và chuỗi càng dài thì xác suất đúng toàn bộ chữ cái trong chuỗi đó bị hạn chế, nên đối với một số bài toán thực tế ứng thì sau bước này cần phải chỉnh sửa thông tin để kết quả đạt được tốt hơn.
4.8 Kết luận chương
Trong chương 4 luận văn nghiên cứu về mạng nơ ron hồi quy xoắn, Convolution recurren neural network(CRNN) đây là mạng nơ ron sử dụng học sâu với sự kết hợp của DCNN và RNN tạo nên cấu trúc CRNN với các lợi thế hơn các cấu trúc khác:
- Có thể học trực tiếp chuỗi mà không cần chính xác vị trí của các phần tử trong chuỗi.
- Có thể trích xuất trực tiếp các đặc trưng từ ảnh không yêu cầu xử lý thủ công cũng như tiền xử lý.
- Có tính chất RNN có thể sinh ra một chuỗi của các đối tượng.
- Không bị ràng buộc bởi độ dài của chuỗi, chỉ yêu cầu chuẩn hóa về chiều cao trong cả hai quá trình đào tạo và kiểm tra.