Mô hình được huấn luyện để nhận dạng các ký tự, hay dự đoán xác suất xuất hiện của các ký tự trong bảng ký tự, tức là dự đoán kí tự nào tương ứng với mỗi khung (frame) trên phổ ở đầu vào của mô hình.
CTC (Connectionist Temporal Classification) là thuật toán sử dụng nhiều trong mạng học sâu liên quan đến nhận dạng tiếng nói, chữ viết tay và một số vấn đến liên quan đến chuỗi. Các mô hình truyền thống sẽ yêu cầu về việc dán nhãn từng kí tự tương ứng chính xác vào từng đoạn âm thanh nào trên toàn bộ tập tin âm thanh, mô hình được tạo ra sẽ dự đoán nhãn tại khung cụ thể. Với CTC, mô hình sẽ tự động cân chỉnh khung và nhãn tương ứng trong quá trình huấn luyện, những nơi không có sẽ được dán nhãn “NULL”. Đầu ra của khối mạng RNN sẽ nhận dạng được một dãy các ký tự theo các bước thời gian, với hàm CTC loss sẽ đánh giá được lỗi trong quá trình đầu ra huấn luyện và kết quả dự đoán này, từ đó tính toán cập nhật trọng số. Ví dụ: Tại mỗi bước thời gian, mạng RNN sẽ dự đoán được một kí tự, và ngõ ra cuối cùng sẽ là “HHHHHeeeeeelllllllloooooo”, vậy làm sao chúng ta so sánh được với nhãn huấn luyện là “Hello” ? Giải pháp loại bỏ các giá trị trùng lặp? sẽ tạo ra từ “Helo” và rõ ràng là sai với nhãn so sánh là “Hello”. Với CTC loss sẽ giúp chúng ta làm việc này.
3.3.4. Đánh giá độ chính xác mô hình bởi WER
Như trình bày ở trên, mô hình sử dụng bộ giải mã tham lam – Greedy Search Decoder để giải mã sang văn bản cần nhận dạng và dựa vào hệ số WER (Word Error Rate) để đánh giá sự chính xác của mô hình. WER đánh giá độ khác nhau giữa hai chuỗi ở cấp độ từ.
WER được tính bởi công thức sau:
𝑊𝐸𝑅 = 𝑆 + 𝐼 + 𝐷𝑁
Với: S: là số từ bị thay thế; I là số từ được chèn vào; D là số từ bị xoá; N là số lượng từ so sánh.Với hai câu có độ khác nhau nhiều thì hệ số WER sẽ lớn.