Nhận dạng (tiếng Anh pattern recognition) là kỹ thuật nhận biết tự động các dạng (patterns) và các quy luật phổ quát (regularities) trong dữ liệu. Nhận dạng có liên quan chặt chẽ với trí tuệ nhân tạo (artificial intelligence - AI) và học máy (machine learning - ML) và thường được sử dụng như đồng nghĩa với các thuật ngữ này trong nhiều ngữ cảnh. Cùng với việc tự động phát hiện các quy luật phổ quát trong dữ liệu thông qua việc sử dụng các thuật toán máy tính, nhận dạng còn tìm hiểu khả năng sử dụng các quy luật này để thực hiện những công việc khác như phân loại dữ liệu thành các lớp khác nhau.
Nhận dạng là một trong những chức năng quan trọng nhất đối với hành vi thông minh và được thể hiện trong các hệ thống sinh học. Đây là một trong các khả năng gần như bẩm sinh của con người. Từ những năm đầu đời, con người đã có thể nhận ra giọng nói, khuôn mặt, phân biệt động vật, trái cây hoặc các vật vô tri. Trước khi khả năng nói được phát triển, con người có thể nhận biết một vật thể là quả bóng ngay cả khi nó hầu như không giống với những quả bóng nhìn thấy trước đó. Vì vậy, ngoại trừ việc ghi nhớ, các kỹ năng trừu tượng và khái quát hóa là rất cần thiết trên con đường khám phá thế giới. Trong những năm sau đó, con người có thể đối diện với các dạng phức tạp hơn nhiều khi chúng có thể không trực tiếp hình thành từ các giác quan. Khả năng nhận dạng cũng có thể được tìm thấy trong các hệ thống sinh học khác, ví dụ: con mèo biết đường về nhà, con chó nhận ra ông chủ của mình từ tiếng chân bước.
Những điều nêu trên làm nảy sinh câu hỏi: “Con người/sinh vật nhận biết (nhận dạng) các sự vật, hiện tượng của thế giới xung quanh như thế nào?”. Khoa học nhận dạng có mục đích kép. Một mặt đưa ra lý giải một cách khoa học cho câu hỏi trên; mặt khác nghiên cứu các giải pháp kỹ thuật-công nghệ để phát triển và đánh giá các hệ thống tự động có thể “bắt chước” hoặc “hỗ trợ” khả năng nhận dạng của con người/sinh vật. Trong hơn nửa thế kỷ qua, khoa học và công nghệ phát triển rất nhanh chóng, các lĩnh vực liên quan và ứng dụng nhận dạng ngày càng mở rộng rộng và phong phú hơn.
Khoa học nhận dạng
Giống như trong bất kỳ ngành khoa học nào, sự hiểu biết có thể được xây dựng từ các quan điểm khác nhau, đôi khi thậm chí trái ngược nhau. Khoa học nhận dạng được hình thành và phát triển dựa trên các xuất phát điểm khác nhau khi nhìn về cùng một vấn đề, tạo ra bốn trường phái khác nhau, được định nghĩa một cách thô theo các thuật ngữ của hệ chuyên gia, mạng lưới thần kinh, nhận dạng cấu trúc và nhận dạng thống kê.
Trước hết dạng là gì và tại sao cần nhận dạng? Dạng (pattern) có nhiều cách định nghĩa khác nhau. Theo Watanabe “Dạng (pattern) là sự đối nghịch với sự hỗn loạn; nó là một thực thể, được định nghĩa một cách mơ hồ, có thể được đặt tên”. Ví dụ, một dạng có thể là hình ảnh dấu vân tay, từ viết tay, khuôn mặt người hoặc tín hiệu lời nói. Trong toán học chúng ta thường quen với khái niệm “hàm tuyến tính”, “dạng toàn phương”... Đó chính là các tên gọi (hay các dạng) cho các lớp hàm đặc biệt có chung một số đặc trưng. Theo nhiều tác giả khác “Dạng là một tập hợp các thể hiện (instances) chia sẻ một số tính chất phổ quát, có thể lặp lại, có thể quan sát được, đôi khi chỉ một phần, bằng việc sử dụng cảm biến. Chúng có thể có nhiễu hoặc bị biến dạng”. Ví dụ tập các quả táo trong rổ, tập các chiếc ghế có trong nhà... Hai cách định nghĩa quen thuộc trên chính là nội hàm (theo Watanabe) và ngoại diên của một khái niệm. Khoa học nhận dạng chính là việc xây dựng các khái niệm (các lớp - classes) đó từ dữ liệu (quan sát) nhờ các thuật toán và ứng dụng chúng vào việc phân loại trong thực tiễn.
Trong mọi ngành khoa học, kiến thức mới được phát biểu theo thuật ngữ của các kiến thức có trước. Điểm bắt đầu của quá trình này có thể là các quan điểm hiển nhiên được chấp nhận chung hoặc các quan sát và sự kiện không thể giải thích thêm. Tuy nhiên, xuất phát điểm đó không giống nhau đối với tất cả các nhà nghiên cứu. Các cách tiếp cận khác nhau có thể được phân biệt nhờ nguồn gốc từ các xuất phát điểm khác nhau. Hệ quả là, các trường phái khác nhau có thể được sinh ra.
Hai xuất phát điểm chủ yếu khác nhau về nguyên lý đối với hầu hết mọi lĩnh vực khoa học là xuất phát điểm theo Plato và xuất phát điểm theo Aristote. Trong cái nhìn đầu tiên, chúng có thể được hiểu đó là cách xây dựng kiến thức từ trên xuống và từ dưới lên. Chúng cũng liên quan đến quy tắc suy diễn và quy tắc quy nạp.
Hai cách tiếp cận này cũng có thể được gọi là quan sát hướng nội và quan sát hướng ngoại. Theo quan điểm hiện đại, khoa học là quá trình “quan sát, định danh, mô tả, điều tra thực nghiệm và giải thích lý thuyết về hiện tượng”. Vì vậy, khía cạnh quan sát dẫn đến sự hình thành có thể của một khái niệm hoặc lý thuyết là rất quan trọng. Khoa học ở dạng cuối cùng là một bản giải thích tóm tắt những quan sát đạt được thông qua sự trừu tượng và khái quát hóa của chúng. Bản giải thích đó ban đầu có thể được nhà nghiên cứu tìm thấy ngay trong suy nghĩ của riêng mình. Tất cả chúng ta đều mang khả năng khái quát bên trong mỗi người. Đây là cách quan sát hướng nội. Chúng ta cũng có thể quan sát quá trình nhận dạng đang thực hiện bằng cách quan sát những người khác trong khi họ thực hiện một tác vụ nhận dạng. Tức là chúng ta xây dựng một mô hình của chủ thể, từ các giác quan đến việc ra quyết định. Đó là một cách quan sát hướng ngoại.
Từ sự phân nhánh về xuất phát điểm và phương pháp quan sát như trên, người ta có bốn cách tiếp cận nghiên cứu khoa học nhận dạng cùng với các phương pháp đại diện như sau:
- Mô hình hóa đối tượng: Hướng nội theo quan điểm của Plato, nhận dạng cú pháp/cấu trúc (syntactic approaches và structural approaches), lập luận dựa trên trường hợp (case-based reasoning).
- Khái quát hóa: Hướng nội theo quan điểm của Aristote (nhận dạng thống kê).
- Mô hình hóa hệ thống: Hướng ngoại theo quan điểm của Aristote (mạng lưới thần kinh).
- Mô hình hóa khái niệm: Hướng ngoại theo quan điểm của Plato (hệ chuyên gia).
Mỗi cách tiếp cận trên đều có khó khăn-thuận lợi, ưu điểm-nhược điểm riêng. Chúng có thể được phối hợp với nhau để tạo ra kết quả tốt hơn trong từng công việc cụ thể.
Công nghệ nhận dạng
Mục tiêu thứ hai của khoa học nhận dạng là nghiên cứu xây dựng các hệ thống tự động dựa trên máy tính có khả năng phân loại các đối tượng quan tâm trong thế giới thực vào một trong số các lớp trên cơ sở các phép đo. Các đối tượng hoặc dạng có thể là các ký tự được in hoặc viết tay, các tế bào sinh học hoặc tín hiệu âm thanh/điện tử. Các phép đo có thể là dạng sóng tín hiệu, hình ảnh hoặc chuỗi hình ảnh...
Để đạt được mục tiêu, người ta có thể áp dụng các kỹ thuật từ các ngành khoa học khác như xử lý tín hiệu và hình ảnh, khoa học máy tính, tính toán thần kinh và thống kê.
Thông thường các phép đo thô người ta có thể thực hiện rất nhiều về số lượng nên việc suy đoán các đặc trưng thống kê của chúng là vô vọng. Do đó, đầu tiên chúng thường được chuyển đổi thành một vectơ có các thành phần được gọi là các thuộc tính. Chuyển đổi này được gọi là lựa chọn hoặc trích xuất thuộc tính và nó phụ thuộc rất nhiều vào ứng dụng. Nếu chúng ta đã có sẵn một tập các mẫu mà các lớp và vectơ đặc trưng đã được biết đến, thì chúng ta sẽ có bài toán nhận dạng có giám sát hoặc phân tích phân biệt. Tuy nhiên, đôi khi các lớp chưa được xác định và người ta cố gắng tìm các lớp đối tượng có thuộc tính tương tự. Khi đó, chúng có một bài toán nhận dạng không giám sát hoặc phân cụm.
Các hệ thống nhận dạng thông thường có bốn thành phần chính:
- Thu thập dữ liệu. Ngoài việc sử dụng một thuật toán phân loại thích hợp, một trong những yêu cầu quan trọng nhất để thiết kế một hệ thống nhận dạng thành công là phải có các bộ dữ liệu thử nghiệm và đào tạo đầy đủ và đại diện. Tính đầy đủ đảm bảo rằng có đủ lượng dữ liệu để tìm hiểu ranh giới quyết định dưới dạng một ánh xạ các vectơ đặc trưng và lớp có nhãnđúng. Không có quy tắc chỉ định bao nhiêu dữ liệu là đủ; Mặt khác, tính đại diện đảm bảo rằng tất cả các biến thiên có ý nghĩa của dữ liệu mà hệ thống có thể thấy phải được lấy mẫu bằng dữ liệu đào tạo và dữ liệu kiểm tra.
- Trích chọn thuộc tính và biểu diễn dạng. Bước trích chọn (trích xuất và lựa chọn) thuộc tính nằm trong quy trình giảm kích thước một cách có hiệu quả. Nói ngắn gọn, mục tiêu của việc trích xuất thuộc tính là tìm ra số lượng nhỏ các thuộc tính có khả năng phân biệt hoặc cung cấp thông tin cho quá trình phân loại và bất biến đối với các biến đổi dữ liệu không liên quan. Mặt khác, mục tiêu của việc lựa chọn thuộc tính là chọn một tập hợp con nhỏ hơn của các tính năng được trích xuất có khả năng phân biệt và nhiều thông tin nhất.
- Phát hiện sự giống nhau và thiết kế bộ phân loại. Sau khi đã trích chọn được các thuộc tính nhiều thông tin và có khả năng phân biệt nhất, người ta sẽ lựa chọn bộ phân loại (classifier) và thuật toán huấn luyện tương ứng. Tùy thuộc bài toán người ta có thể có các lựa chọn khác nhau:
- Bayes Classifier;
- Naive Bayes Classifiers
- Nearest Neighbor Classifier
- k-Nearest Neighbor (kNN) Classifier
- Neural Networks
- Support Vector Machine
- Deep Network
- Parser và Grammar Inference...
- Đánh giá hiệu suất. Sau khi hoàn thành việc lựa chọn và đào tạo mô hình, hiệu suất tổng quát hóa của nó cần được đánh giá trên dữ liệu chưa từng thấy trước đây để ước tính hiệu suất thực sự của nó trên dữ liệu thực địa.
Một trong những phương pháp đơn giản nhất, và do đó phổ biến nhất, để đánh giá hiệu suất khái quát hóa là chia toàn bộ dữ liệu đào tạo thành hai phần, trong đó phần đầu tiên được sử dụng để huấn luyện và phần thứ hai được sử dụng để kiểm tra hiệu năng của thuật toán. Hiệu năng trên phần dữ liệu thứ hai sau đó được sử dụng như một ước tính hiệu năng của thuật toán (cả đối với các dữ liệu thực địa chưa biết).
Lịch sử
Bài toán nhận dạng xuất hiện từ những năm 1936 trong các tài liệu về phân tích phân biệt được Ronald Fisher đưa ra. Trong những năm 1950 cùng với sự ra đời của máy tính, khoa học nhận dạng phát triển mạnh. Ban đầu nó được xếp chung trong ngành trí tuệ nhân tạo. Đến năm 1958 nó được tách thành một ngành riêng với sự ra đời của tạp chí Pattern Recognition. Năm 1951, trong thảo luận rất sớm về phân biệt phi tham số, Fix và Hodges đã đề cập tới quy tắc người láng giềng gần nhất. Nilsson gọi quy tắc này là “bộ phân loại khoảng cách nhỏ nhất” vào năm 1965. Tới năm 1967, Cover và Hart đã chứng minh một kết quả rất đẹp đẽ về sai số của quy tắc này bằng việc chỉ ra sai số phân loại sử dụng quy tắc này nhỏ hơn 2 lần sai số Bayes.
Năm 1963, Vapnik và Lerner đề xuất thủ tục cực tiểu hóa rủi ro kinh nghiệm và trở thành khởi nguồn của nguyên lý biên cực đại sử dụng trong bộ phân loại máy véc tơ hỗ trợ (Support Vector Machine - SVM) của họ sau này. SVM là một đóng góp đáng kể trong lĩnh vực nhận dạng và nhanh chóng thu hút được sự quan tâm lớn của cộng đồng.
Các hệ thống chuyên gia được giới thiệu vào khoảng năm 1965 trong Dự án lập trình Heuristic của Stanford do Edward Feigenbaum, người đôi khi được gọi là “cha đẻ của các hệ chuyên gia”, đứng đầu. Các nhà nghiên cứu của Stanford đã cố gắng xác định các lĩnh vực trong đó chuyên môn được đánh giá cao và phức tạp, chẳng hạn như chẩn đoán các bệnh truyền nhiễm (Mycin) và xác định các phân tử hữu cơ chưa biết (Dendral). Các hệ chuyên gia đã được sử dụng rộng rãi để giải quyết các bài toán nhận dạng trong các lĩnh vực khác nhau như y học, xử lý ảnh, thị giác máy...
Perceptron là một thuật toán để học có giám sát cho các bộ phân loại nhị phân. Thuật toán perceptron do Frank Rosenblatt phát minh vào năm 1958 tại Phòng thí nghiệm Hàng không Cornell. Các mạng nơ ron nhân tạo (ANN) hoặc các hệ thống kết nối là hệ thống tính toán lấy cảm hứng từ các mạng thần kinh sinh học cấu thành bộ não động vật. Các hệ thống như vậy nói chung không được lập trình với bất kỳ quy tắc cụ thể nào về nhiệm vụ. Thay vào đó, chúng tự động tạo ra các đặc điểm nhận dạng từ tài liệu học tập mà chúng xử lý. nhận dạng cú pháp/cấu trúc ra đời vào những năm 1960-1970 với đóng góp rất lớn của King Sun Fu và Pavilidis. Phương pháp này dựa trên mô tả cấu trúc và các quy tắc tổng hợp các dạng từ các thành phần nhỏ hơn. Nó tỏ ra rất hiệu quả với xử lý các biểu diễn bằng ký hiệu và mô tả đệ quy nhờ các công cụ của Lý thuyết ngôn ngữ hình thức.
Thuật ngữ học sâu (deep learning) do Geoffrey Hinton đưa ra năm 2006 nhưng có có khởi nguồn từ những năm 1940 từ ý tưởng của Walter Pitts và Warren McCulloch trong việc bắt trước hoạt động của nơ ron thần kinh. Cho tới nay học sâu đang là kỹ thuật được sử dụng phổ biến nhất trong trí tuệ nhân tạo.
Ứng dụng
Nhận dạng được sử dụng trong bất kỳ lĩnh vực khoa học và kỹ thuật nào nghiên cứu cấu trúc của các quan sát. Hiện nay nhận dạng được dùng trong nhiều ứng dụng trong ngành công nghiệp chế tạo, chăm sóc sức khỏe và quân sự... Có thể điểm một vài ví dụ sau.
- Nhận dạng ký tự quang học (OCR) đang trở thành một phần không thể thiếu của máy quét tài liệu và cũng được sử dụng thường xuyên trong các ứng dụng ngân hàng và bưu chính... Có thể kể đến những hệ thống OCR nổi tiếng như FineReader, ABBYY, Vnhận dạngOCR...
- Nhận dạng tiếng nói tự động, rất quan trọng đối với sự tương tác của người dùng với máy móc. Các hệ thống nhận dạng tiếng nói có thể kể đến là Alexa, Dragon, Dragon Anywhere, Google Docs Voice Typing, Braina Pro...
- Thị giác máy (computer vision) liên quan đến việc nhận dạng các vật thể cũng như định danh, định vị chúng trong môi trường ba chiều. Khả năng này hỗ trợ cho robot để hoạt động trong môi trường động hoặc không xác định. Điều này có thể hữu ích cho các ứng dụng từ sản xuất đến vệ sinh gia đình và thậm chí là nhiệm vụ cứu hộ. Các dự án xe không người lái của Xspace, Google... là những ví dụ điển hình.
- Chuẩn đoán nhờ máy tính (computer aided diagnosis). Nhiều xét nghiệm chẩn đoán y khoa sử dụng các hệ thống nhận dạng, từ đếm tế bào máu và nhận dạng mô tế bào qua kính hiển vi đến phát hiện khối u trong quét cộng hưởng từ và kiểm tra xương và khớp trong hình ảnh X quang.
- Các ứng dụng an ninh (safety) như nhận dạng mặt người, nhận dạng vân tay...
- Sinh trắc học (biometrics). Hệ thống định danh cá nhân sử dụng sinh trắc học rất quan trọng đối với các ứng dụng bảo mật trong sân bay, ATM, cửa hàng, khách sạn và bảo mật truy cập máy tính. Nhận dạng có thể dựa trên khuôn mặt, dấu vân tay, mống mắt hoặc giọng nói và có thể được kết hợp với xác minh tự động chữ ký và mã PIN.
- Viễn thám (remote sensing). Nhận biết các vật thể trên trái đất từ trên trời (bởi các vệ tinh) hoặc từ trên không (bằng máy bay và tên lửa hành trình) được gọi là viễn thám. Nó giữ vai trò quan trọng trong bản đồ học, điều tra nông nghiệp, phát hiện khoáng sản và ô nhiễm, và phát hiện các mục tiêu mong muốn.
- Tìm kiếm và trích xuất thông tin (search và information retrieval). Nhiều cơ sở dữ liệu lớn được lưu trữ trên kho lưu trữ có thể truy cập thông qua internet hoặc bằng cách khác trong máy tính cục bộ. Chúng có thể có cấu trúc rõ ràng như tài khoản ngân hàng, cấu trúc yếu như hành vi của người tiêu dùng hoặc không có cấu trúc rõ ràng như bộ sưu tập hình ảnh. Các thủ tục tìm kiếm các khoản mục mong muốn (truy xuất cơ sở dữ liệu) cũng như tìm hiểu hoặc khám phá các cấu trúc trong cơ sở dữ liệu (khai phá dữ liệu) ngày càng trở nên quan trọng. Công cụ tìm kiếm web và hệ thống đề xuất hỗ trợ (recommender systems) là hai ứng dụng ví dụ cho loại này.
Xu thế
Nhận dạng luôn gắn với dữ liệu và vì vậy luôn song hành với khoa học dữ liệu. Trong thời đại bùng nổ thông tin dữ liệu thu thập được ngày càng lớn, không thuần nhất và thay đổi theo thời gian. Bởi vậy các kỹ thuật sử dụng trong nhận dạng từ trích chọn thuộc tính, các bộ phân loại cũng như các phương pháp đánh giá hiệu suất luôn cần được cái tiến để phù hợp với tính chất của dữ liệu.
Với sự ra đời của Internet, dữ liệu ngày càng lớn hơn, được lưu trữ phân tán và có thể truy cập từ khắp nơi. Bởi vậy cũng đặt ra nhu cầu cho việc thiết kế các hệ thống nhận dạng được bảo mật đối với các ứng dụng nhạy cảm trong môi trường thù địch trước những tấn công bằng việc thay đổi dữ liệu huấn luyện cũng như dữ liệu kiểm tra. Khi đời sống vật chất và tinh thần ngày càng phát triển thì đòi hỏi đáp ứng nhu cầu cá nhân ngày càng phong phú và đa dạng. Việc xây dựng những ứng dụng nhận dạng có khả năng “hiểu” và đáp ứng đúng nhu cầu của từng cá thể người dùng sẽ mang lại hiệu quả kinh tế, xã hội to lớn. Ở Việt nam hiện nay, ngoài việc tích cực tham gia vào dòng chủ lưu của khoa học nhận dạng như xây dựng các mô hình, thuật toán nhận dạng, các phương pháp biểu diễn, trích chọn thuộc tính, các phương pháp đánh giá hiệu năng mới, các chuyên gia cũng tập trung phát triển và giải quyết những vấn đề mang tính phụ thuộc lĩnh vực và ứng dụng đặc thù của Việt nam như xử lý tiếng Việt, chuẩn đoán các bệnh trên cơ sở giải mã gen của người Việt, các vấn đề liên quan đến nông nghiệp, lâm nghiệp, thủy sản...
Tài liệu tham khảo
- Srihari, S. N., Covinhận dạngaraju, Pattern recognition, Chapman &Hall, Lonhận dạngon, 1034-1041, 1993.
- Christopher M. Bishop, Pattern Recognition anhận dạng Machine Learning. - Springer, 2006.
- R. P. W. Duin anhận dạng E. Pekalska, The Science of Pattern Recognition; Achievements anhận dạng Perspectives, in: W. Duch, J. Manhận dạngziuk (eds.), Challenges for Computational Intelligence, Studies in Computational Intelligence, vol.63, Springer, 2007, 221-259.
- Anhận dạngrew R. Webb, Statistical Pattern Recognition. - Wiley & Sons, Ltd.2002.
- Christopher M. Bishop, Neural Networks for Pattern Recognition. Clarenhận dạngon Press. Oxford.1995.