Trong thời gian gần đây, Google đang cố gắng cải thiện khả năng nhận dạng chữ viết tay trong Gboard - bàn phím ảo cho thiết bị iOS và Android, thông qua việc tích hợp hệ thống AI mới. Theo các nhà nghiên cứu AI tại Google thì nền tảng trí tuệ nhân tạo mới sẽ cho phép tính năng này được triển khai nhanh hơn và đặc biệt là ít mắc lỗi hơn từ 20 đến 40% so với các mô hình học máy đã được sử dụng trước đó.
“Những tiến bộ trong phát triển những mô hình học máy đã cho phép các nhà nghiên cứu tạo ra nhiều kiến trúc mô hình và phương pháp đào tạo mới, cho phép chúng tôi sửa đổi cách tiếp cận ban đầu, thay vì xây dựng một mô hình duy nhất hoạt động trên toàn bộ dữ liệu đầu vào. Chúng tôi đã đưa ra những mô hình mới cho tất cả các ngôn ngữ dựa trên chữ viết Latinh trong Gboard vào đầu năm nay”, 2 kỹ sư phần mềm cao cấp của google là Sandro Feuz và Pedro Gonnet đã chia sẻ trong một bài đăng trên blog cá nhân.
Như Feuz và Gonnet đã giải thích, hầu hết các hệ thống nhận dạng chữ viết thường sử dụng những điểm chạm (touch points) để xử lý ký tự Latinh được phác thảo. Dữ liệu đầu vào này được biểu diễn dưới dạng một chuỗi các nét, và các nét này sẽ lần lượt bao gồm nhiều chuỗi các điểm được đóng dấu thời gian cụ thể. Trước tiên, Gboard sẽ bình thường hóa tọa độ điểm chạm để đảm bảo chúng vẫn nhất quán trên các thiết bị với tốc độ lấy mẫu và độ chính xác khác nhau, sau đó mới chuyển đổi chúng thành một chuỗi các đường cong Bézier (đường cong tham số thường được sử dụng trong đồ họa máy tính).
Ưu điểm chính của những chuỗi này, như 2 chuyên gia Feuz và Gonnet nói, là chúng gọn hơn so với chuỗi các điểm đầu vào cơ bản. Còn đối với điểm cuối, mỗi đường cong sẽ được biểu thị bằng một đa thức (biểu thức của biến và hệ số), được xác định bởi điểm bắt đầu, điểm cuối và điểm kiểm soát. Ví dụ, từ "go go" có thể chứa 186 điểm như vậy, được biểu thị bằng một chuỗi gồm 4 đường cong Bézier cho chữ cái “G” (và 2 điểm kiểm soát) và 2 đường cong cho chữ cái “O”.
Các chuỗi này sẽ cung cấp cho mạng thần kinh nhân tạo hồi quy (recurrent neural) (được đào tạo để nhận ra ký tự viết tay - cụ thể là phiên bản hai chiều của mạng thần kinh nhân tạo hồi quy gần đúng (QRNN)). Đây là một mạng có khả năng song song hóa hiệu quả và do đó, mang lại hiệu suất dự đoán tốt hơn. Điều quan trọng ở đây là QRNN cũng sẽ lưu giữ số lượng trọng số (sức mạnh của những kết nối giữa các hàm toán học hoặc các nút tạo nên mạng) tương đối nhỏ, giúp làm giảm kích thước tệp.
Như vậy thì làm thế nào để mô hình AI tạo ra đầu hoặc đuôi của các đường cong? Cụ thể là bằng cách tạo ra một ma trận các cột và hàng, trong đó mỗi cột tương ứng với một đường cong đầu vào và mỗi hàng tương ứng với một chữ trong bảng chữ cái. Các đầu ra của mạng thần kinh sẽ được kết hợp với mô hình ngôn ngữ dựa trên ký tự, đưa ra mức tăng cho các chuỗi ký tự phổ biến trong ngôn ngữ và “khoản phạt” cho các chuỗi không phổ biến và riêng biệt. Đồng thời, chuỗi các điểm chạm sẽ được chuyển đổi thành chuỗi ngắn hơn, tương ứng với một đường cong. Cuối cùng, trình nhận dạng dựa trên QRNN sẽ đưa ra một chuỗi các xác suất liên quan đến ký tự.
Tính năng nhận dạng chữ viết tay của Gboard sẽ chạy từ trên thiết bị sang các mô hình TensorFlow Lite, đây là một kỳ tích mà nhóm đã đạt được bằng cách chuyển đổi các mô hình nhận dạng (đã được đào tạo trong khung học máy Google TensorFlow). Điều này cho phép không chỉ giảm thời gian suy luận so với hình thức triển khai đầy đủ TensorFlow, mà còn giúp giảm lượng dữ liệu lưu trữ Gboard.
“Chúng tôi sẽ tiếp tục đẩy mạnh hơn nữa quá trình triển khai công cụ này, vượt ra ngoài việc cải thiện trình nhận dạng ngôn ngữ chữ Latinh cơ bản. Đội ngũ của Google đã rất nỗ lực để đưa ra mô hình mới cho tất cả các ngôn ngữ viết tay được hỗ trợ trong Gboard”, Sandro Feuz và Pedro Gonnet chia sẻ.