1.1. KHÁI NIỆM TRÍ TUỆ NHÂN TẠO
Trí tuệ nhân tạo (AI) là một lĩnh vực nghiên cứu của khoa học máy tính và khoa học tính toán nói chung. Có nhiều quan điểm khác nhau về trí tuệ nhân tạo và do vậy có nhiều định nghĩa khác nhau về lĩnh vực khoa học này. Mục đích của trí tuệ nhân tạo là xây dựng các thực thể thông minh. Tuy nhiên, do rất khó định nghĩa thế nào là thực thể thông minh nên cũng khó thống nhất định nghĩa trí tuệ nhân tạo. Theo một tài liệu được sử dụng rộng rãi trong giảng dạy trí tuệ nhân tạo hiện nay, các định nghĩa có thể nhóm thành bốn nhóm khác nhau, theo đó, trí tuệ nhân tạo là lĩnh vực nghiên cứu việc xây dựng các hệ thống máy tính có đặc điểm sau:
- Hệ thống hành động như người.
- Hệ thống có thể suy nghĩ như người
- Hệ thống có thể suy nghĩ hợp lý
- Hệ thống hành động hợp lý
Trong số các định nghĩa trên, nhóm thứ hai và ba quan tâm tới quá trình suy nghĩ và tư duy, trong khi nhóm thứ nhất và thứ tư quan tâm chủ yếu tới hành vi. Ngoài ra, hai nhóm định nghĩa đầu xác định mức độ thông minh hay mức độ trí tuệ bằng cách so sánh với khả năng suy nghĩ và hành động của con người, trong khi hai nhóm định nghĩa sau dựa trên khái niệm suy nghĩ hợp lý và hành động hợp lý. Trong phần phân tích bên dưới ta sẽ thấy suy nghĩ và hành động hợp lý khác với suy nghĩ và hành động như người thế nào. Sau đây ta sẽ xem xét cụ thể các nhóm định nghĩa trên.
Sau đây ta sẽ xem xét cụ thể các nhóm định nghĩa trên.
1) Hành động như người
Do con người được coi là động vật có trí tuệ, nên một cách rất tự nhiên là lấy con người làm thước đo khi đánh giá mức độ thông minh của máy tính. Theo cách định nghĩa này, trí tuệ nhân tạo nhằm tạo ra các hệ thống có hành vi hay hành động tương tự con người, đặc biệt trong những hoạt động có liên quan tới trí tuệ. Để xác định thế nào là hành động như người, có thể sử dụng phép thử Turing.
Phép thử Turing (Turing test): Vào năm 1950, Alan Turing – nhà toán học người Anh có nhiều đóng góp cho khoa học máy tính – đã xây dựng thủ tục cho phép định nghĩa trí tuệ. Thủ tục này sau đó được gọi là phép thử Turing (Turing test), và được thực hiện như sau. Hệ thống được gọi là thông minh, hay có trí tuệ nếu hệ thống có thể hành động tương tự con người trong các công việc đòi hỏi trí tuệ. Trong quá trình thử, một người kiểm tra sẽ đặt các câu hỏi (dưới dạng văn bản) và nhận câu trả lời cũng dưới dạng văn bản từ hệ thống, tương tự khi ta chat hay nhắn tin. Nếu người kiểm tra không phân biệt được câu trả lời là do người thật trả lời hay do máy sinh ra thì hệ thống qua được phép thử và được gọi là có trí tuệ. Cần lưu ý rằng, phép thử Turing nguyên bản không đòi hỏi có sự tiếp xúc vật lý trực tiếp giữa người kiểm tra và hệ thống bị kiểm tra, do việc tạo ra hệ thống người nhân tạo một cách vật lý được coi là không liên quan tới trí tuệ.
Để qua được phép thử Turing, hệ thống cần có những khả năng sau:
- Xử lý ngôn ngữ tự nhiên: để có thể phân tích, hiểu câu hỏi và tổng hợp câu trả lời trên một ngôn ngữ giao tiếp thông thường như tiếng Việt hay tiếng Anh.
- Biểu diễn tri thức: phục vụ việc lưu tri thức và thông tin trong hệ thống.
- Suy diễn: sử dụng tri thức để trả lời câu hỏi.
- Học máy: để có thể thích nghi với hoàn cảnh và học những mẫu trả lời.
Trong lịch sử trí tuệ nhân tạo đã có những hệ thống như ELIZA được xây dựng nhằm mục đích vượt qua phép thử Turing mà không cần đầy đủ tới cả bốn khả năng trên. Mặc dù không nhiều người coi mục đích chính của trí tuệ nhân tạo là vượt qua phép thử Turing, một số hệ thống đã xây dựng chuyên cho mục đích này. Gần đây nhất, vào tháng 6 năm 2014, một hệ thống chat tự động có tên là Eugene Goostman do một nhóm nghiên cứu người Nga xây dựng đã giành giải nhất trong cuộc thi phép thử Turing. Sau khi thực hiện một đoạn hội thoại dài 5 phút với hệ thống, 33% giám khảo cho rằng đó là người thực. Một số ý kiến cho rằng Eugene Goostman là hệ thống máy tính đầu tiên vượt qua phép thử Turing.
2) Suy nghĩ như người
Theo nhóm định nghĩa này, hành động thông minh chỉ đạt được nếu được dẫn dắt bởi quá trình suy nghĩ tương tự quá trình suy nghĩ của con người.
Những nghiên cứu theo hướng này dựa trên việc nghiên cứu quá trình nhận thức và tư duy của con người, từ đây mô hình hóa và tạo ra những hệ thống có mô hình nhận thức, tư duy tương tự. Việc tìm hiểu quá trình nhận thức, tư duy của người có thể thực hiện theo một số phương pháp như: 1) thực nghiệm về hành vi con người khi suy nghĩ hoặc giải quyết vấn đề; 2) chụp ảnh sóng não, đo tín hiệu điện từ hoặc các tín hiệu khác của não trong quá trình thực hiện các công việc khác nhau; 3) sử dụng các phương pháp nơ ron sinh học khác như kích thích não, giải phẫu não v.v.
Một hệ thống trí tuệ nhân tạo dạng này là hệ thống GPS, viết tắt của General Problem Solver do Newell và Simon trình diễn năm 1961. GPS là chương trình máy tính cho phép giải quyết các bài toán bằng cách mô phỏng chuỗi suy nghĩ của con người khi giải quyết những bài toán như vậy.
Hiện nay, hướng nghiên cứu này được thực hiện trong khuôn khổ khoa học nhận thức (cognitive science). Đây là lính vực khoa học liên ngành, kết hợp các mô hình máy tính với phương pháp thực nghiệm tâm lý. Nhiều kết quả nghiên cứu về nhận thức đã được áp dụng trong các mô hình tính toán. Ví dụ, nhiều nghiên cứu về quá trình tiếp nhận tín hiệu ảnh và nhận dạng đối tượng đã được áp dụng trong lĩnh vực thị giác máy. Hay, gần đây, một số nghiên cứu về việc thiết kế các vi mạch có cấu trúc dựa trên hệ thần kinh của người (neuromorphic chips) đã cho kết quả tốt trong các bài toán học máy hoặc xử lý lượng khối lượng dữ liệu lớn.
3) Suy nghĩ hợp lý
Thực tế cho thấy con người bị chi phối bởi tâm lý, cảm xúc. Do vậy, không phải lúc nào con người cũng suy nghĩ và hành động theo hướng đạt tới kết quả tốt. Từ đây xuất hiện cách tiếp cận theo hướng xây dựng các hệ thống cho phép đạt tới kết quả tốt mà không cần học theo con người. Cách tiếp cận này được gọi là suy nghĩ hợp lý và hành động hợp lý. Trước hết là suy nghĩ hợp lý.
Một cách tiếp cận tiêu biểu của suy nghĩ hợp lý là xây dựng những hệ thống có khả năng lập luận dựa trên việc sử dụng các hệ thống hình thức như logic. Tiền thân của cách tiếp cận này có gốc rễ từ triết học Hy lạp do Aristot khởi xướng. Cơ sở chủ yếu là sử dụng logic để biểu diễn bài toán và giải quyết bằng suy diễn logic. Một số hệ thống logic cho phép biểu diễn mọi loại đối tượng và quan hệ giữa các đối tượng đó. Sau khi đã biểu diễn dưới dạng logic, có thể xây dựng chương trình để giải quyết các bài toán về suy diễn và lập luận.
Khó khăn chủ yếu của cách tiếp cận này là việc mô tả hay biểu diện bài toán dưới dạng các cấu trúc logic để có thể giải quyết được. Trên thực tế, tri thức và thông tin về bài toán thường có yếu tố không đầy đủ, không chính xác. Ngoài ra, việc suy diễn logic đòi hỏi khối lượng tính toán lớn khi sử dụng trong thực tế và rất khó để triển khai cho các bài toán thực.
4) Hành động hợp lý
Cách tiếp cận này tập trung vào việc xây dựng các tác tử (agent) có khả năng hành động hợp lý, tức là hành động để đem lại kết quả tốt nhất hoặc kết quả kỳ vọng tốt nhất khi có yếu tố không chắc chắn. Cần lưu ý rằng, hành động hợp lý có thể khác với hành động giống con người: con người không phải lúc nào cũng hành động hợp lý do bị chi phối bởi các yếu tố chủ quan.
Một đặc điểm quan trọng của hành động hợp lý là hành động kiểu này có thể dựa trên việc suy nghĩ (suy luận) hợp lý hoặc không. Trong một số trường hợp, để quyết định hành động thế nào, cần dựa trên việc suy luận hợp lý. Tuy nhiên, trong nhiều tình huống, việc hành động theo phản xạ, chẳng hạn khi gặp nguy hiểm, không đòi hỏi suy diễn phức tạp, nhưng lại cho kết quả tốt hơn. Các hệ thống hành động hợp lý có thể sử dụng cả hai cách tiếp cận dựa trên suy diễn và dựa trên phản xạ để đạt được kết quả tốt.
Hệ thống có khả năng hành động hợp lý có thể bao gồm suy diễn hoặc không, có thể dựa trên cách suy nghĩ giống người hoặc không, có thể bao gồm cả các kỹ thuật dùng để vượt qua phép thử Turing. Do vậy, cách tiếp cận này được coi là tổng quát và bao gồm các cách tiếp cận khác. Hiện có nhiều ý kiến coi hệ thống trí tuệ nhân tạo là các hệ thống dạng này.
1.2. LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN
Lịch sử hình thành và phát triển trí tuệ nhân tạo có thể chia thành một số giai đoạn sau (các giai đoạn được chia theo mức độ phát triển và có thể giao nhau về thời gian):
a. Giai đoạn tiền khởi đầu (1943-1955)**
Mặc dù chưa có khái niệm chính thức về trí tuệ nhân tạo, giai đoạn này ghi nhận một số kết quả có liên quan trực tiếp tới nghiên cứu về trí tuệ nhân tạo sau này:
- Năm 1943, Warren McCulloch và Walter Pitts mô tả mô hình mạng nơ ron nhân tạo đầu tiên, và cho thấy mạng nơ ron nhân tạo có khả năng biểu diễn nhiều hàm số toán học.
- Năm 1950, Alan Turing công bố bài báo nhắc tới trí tuệ máy, trong đó lần đầu tiên mô tả khái niệm phép thử Turing, học máy, thuật toán di truyền, và học tăng cường.
- Năm 1956 được coi là năm chính thức ra đời của khái niệm trí tuệ nhân tạo. Mười nhà nghiên cứu trẻ đã tổ chức một cuộc hội thảo kéo dài hai tháng tại trường đạt học Dartmouth với mục đích đặt nền móng đầu tiên cùng với tên gọi chính thức của trí tuệ nhân tạo: “artificial intelligence”. Đa số những người tham gia hội thảo này, bao gồm John McCarthy, Marvin Minsky, Allen Newell, và Herbert Simon, sau đó đã trở thành những chuyên gia tiên phong trong các nghiên cứu về trí tuệ nhân tạo. Điểm quan trọng nhất của hội thảo này là đưa ra một số đề xuất và hình dung về trí tuệ nhân tạo. Các đề xuất này vượt ra ngoài khuôn khổ các lĩnh vực nghiên cứu đã hình thành trước đó như lý thuyết điều khiển, vận trù học, lý thuyết ra quyết định. Chính các đề xuất mới này đã đưa trí tuệ nhân tạo thành một lĩnh vực khoa học mới với đối tượng và phương pháp nghiên cứu riêng của mình.
b. Giai đoạn khởi đầu (1952-1969)**
Đây là giai đoạn với nhiều thành tích nhất định của các nghiên cứu trí tuệ nhân tạo, được thể hiện qua một số ví dụ sau:
- Các chương trình Logic Theorist và sau đó là General Problem Solver (GPS) của Newell và Simon, có khả năng chứng minh định lý toán học theo cách tương tự tư duy của con người. Chẳng hạn, trong lớp bài toán mà GPS có thể giải quyết, việc chia bài toán thành các bài toán con và thứ tự các bước giải được tiến hành tương tự với con người khi giải quyết cùng bài toán. Chương trình Logic Theorist đã chứng minh được 38 trong số 52 định lý từ một sách giáo khoa toán, trong đó có định lý về tam giác cân được chứng minh theo cách ngắn hơn cách truyền thống.
- Năm 1952, Arthur Samuel xây dựng một số chương trình chơi cờ đam (checkers). Chương trình có khả năng học và đánh thắng các đối thủ là người chơi cờ đam nghiệp dư. Điểm đặc biệt của chương trình này là khả năng tự học từ kinh nghiệm. Nhờ khả năng học, chương trình có thể thắng cả người đã tạo ra nó.
- Năm 1958, John McCarthy đề xuất ngôn ngữ Lisp, sau này trở thành một trong hai ngôn ngữ thông dụng nhất của trí tuệ nhân tạo.
- Cũng trong những năm này, Minsky khởi xướng việc giải quyết những vấn đề có miền giới hạn hẹp và cần tới tri thức khi giải quyết. Các bài toán có miền hẹp như vậy được gọi là thế giới nhỏ (microworld). Chẳng hạn, trong lĩnh vực hẹp về giải tích, chương trình SAINT do James Slagle viết năm 1963 có thể giải các bài toán tích phân ở mức độ sinh viên năm thứ nhất đại học.
- Mạng nơ ron nhân tạo tiếp tục tiếp tục được phát triển với một số phát minh mới như mạng adalines của Bernie Widrow (1962), Perceptron của Rosenblatt (1962), cho phép giải quyết nhiểu bài toán học máy. Trong năm 1962, các nghiên cứu đã chứng minh khả năng học của mạng nơ ron, theo đó có thể thay đổi trọng số kết nối của các nơ ron để phù hợp với bất cứ thong tin đầu vào nào.
- Năm 1965, John Alan Robinson phát minh ra cách chứng minh và suy diễn bằng cách sử dụng phép giải cho logic vị từ. Đây là phương pháp quan trọng, cho phép chương trình máy tính thực hiện lập luận và suy diễn tự động một cách hiệu quả trong trường hợp tri thức được biểu diễn bằng logic.
c. Một số khó khăn và giai đoạn trầm lắng**
Sau một số thành công ban đầu, đã có những dự báo lạc quan về khả năng xây dựng các hệ thống thông minh trong tương lai gần. Một số nhà khoa học dự báo về khả năng tạo ra các hệ thống thông minh trong vòng 10 tới vài chục năm. Tuy nhiên, sau giai đoạn phát triển mạnh lúc đầu, vào đầu những năm bẩy mươi, các nhà khoa học bắt đầu nhận ra một số khó khăn, đòi hỏi cách tiếp cận thực tế hơn khi nghiên cứu trí tuệ nhân tạo.
Thứ nhất, cách tiếp cận thời kỳ đầu thường sử dụng các biến đổi cú pháp đơn giản và không quan tâm tới tri thức về bài toán cần giải quyết. Ví dụ, khi xây dựng các hệ thống dịch máy, nhiều người kỳ vọng có nếu có từ điển và biết cách lắp ghép các từ để tạo thành câu là có thể dịch tự động. Trong khi đó trên thực tế, để dịch được, người dịch cần có hiểu biết nhất định về lĩnh vực được đề cập đến để thể hiện lại nội dung cần dịch trên ngôn ngữ đích. Các dự án dịch tự động từ tiếng Nga sang tiếng Anh do Bộ quốc phòng Mỹ tài trợ đã thất bại do cách tiếp cận đơn giản lúc đầu.
Thứ hai, nhiều hệ thống trí tuệ nhân tạo thời kỳ đầu sử dụng việc tìm kiếm các hành động dẫn tới lời giải. Với bài toán kích thước nhỏ, các kỹ thuật tìm kiếm đơn giản cho kết quả tốt. Tuy nhiên, khi kích thước bài toán tăng lên, số tổ hợp cần xem xét tăng nhanh, vượt khả năng xử lý của máy tính. Hiệu ứng này được gọi là sự “bùng nổ tổ hợp” và chỉ được quan tâm đúng mức sau khi lý thuyết về độ phức tạp tính toán ra đời.
Do các khó khăn nói trên, một số báo cáo bi quan về triển vọng trí tuệ nhân tạo đã được trình lên chính phủ các nước như Mỹ, Anh, dẫn tới việc các chính phủ ngừng cấp kinh phí nghiên cứu cho lĩnh vực này. Đây cũng là giai đoạn khó khăn trong lịch sử phát triển trí tuệ nhân tạo, kéo dài trong khoảng 1974 – 1980. Giai đoạn này được gọi là mùa đông trí tuệ nhân tạo (AI winter), lấy nguyên mẫu từ khái niệm mùa đông hạt nhân, là kết quả mô phỏng khí hậu trái đất lạnh lẽo sau khi xẩy ra chiến tranh hạt nhân.
Một giai đoạn thứ hai cũng được gọi là mùa đông trí tuệ nhân tạo là giai đoạn 1987- 1993. Giai đoạn trì trệ này gắn với sự đi xuống của thị trường các hệ chuyên gia và thất bại của dự án máy tính thế hệ năm do chính phủ Nhật Bản tài trợ.
d. Hệ thống dựa trên tri thức (1969-1979)**
Các chương trình trí tuệ nhân tạo xây dựng trong giai đoạn trước có một số hạn chế do không có tri thức về lĩnh vực liên quan, và do vậy không thể giải quyết những bài toán khó, đòi hỏi khối lượng tính toán lớn hoặc nhiều tri thức chuyên sâu. Để khắc phục, giai đoạn này chú trọng tới việc sử dụng nhiều tri thức, thông tin đặc thù cho lĩnh vực hẹp của vấn đề cần giải quyết. Điển hình của hệ thống dựa trên tri thức là các hệ chuyên gia (expert systems).
Hệ chuyên gia là các hệ thống có khả năng ra quyết định tương tự chuyên gia trong lĩnh vực hẹp của mình. Hệ thống loại này được xây dựng để giải quyết những vấn đề phức tạp bằng cách lập luận trên tri thức nhận được từ các chuyên gia. Chẳng hạn, một bác sĩ chuyên khoa giỏi có thể mô tả các quy tắc chẩn đoán bệnh trong chuyên khoa của mình. Các quy tắc đó chính là tri thức cần thiết khi chẩn đoán bệnh. Thông thường, tri thức được biểu diễn dưới dạng các luật “Nếu…Thì…”. Hệ chuyên gia thường gồm cơ sở tri thức chứa các luật như vậy và mô tơ suy diễn giúp tìm ra lời giải từ tri thức và thông tin về trường hợp đang có.
Sau đây là ví dụ một số hệ thống như vậy:
- DENDRAL (năm 1967) là chương trình hệ chuyên gia xây dựng tại trường Stanford, cho phép dự đoán cấu trúc phân tử hữu cơ. Chương trình làm việc dựa trên các luật do chuyên gia trong lĩnh vực hóa học và vật lý cung cấp.
- Một trong các tác giả của DENDRAL, sau đó đã cùng với cộng sự xây dựng MYCIN (1974), hệ chuyên gia cho phép chẩn đoán bệnh nhiễm trùng máu. Với khoảng 450 luật do chuyên gia cung cấp, hệ thống có chất lượng chẩn đoán tương đương bác sĩ giỏi trong lĩnh vực này.
- Việc sử dụng tri thức cũng được sử dụng để giải quyết vấn đề hiểu ngôn ngữ tự nhiên, ví dụ trong hệ thống dịch tự động.
Hệ chuyên gia cho phép giải quyết một phần hạn chế của các hệ thống đơn giản không dựa trên tri thức trước đó. Một số hệ chuyên gia đã được thương mại hoá và đem lại doanh thu cho lĩnh vực trí tuệ nhân tạo. Cũng trong giai đoạn này, vào năm 1972 Alain Colmerauer đã phát triển ngôn ngữ Prolog (viết tắt của logic programming tức là lập trình logic) phục vụ việc biểu diễn tri thức dưới dạng tương tự logic vị từ và lập luận trên tri thức đó. Prolog cùng với Lisp trở thành hai ngôn ngữ được dùng nhiều nhất trong trí tuệ nhân tạo.
e. Trí tuệ nhân tạo có sản phẩm thương mại (1980 đến nay)**
Sau thành công của những hệ chuyên gia đầu tiên, việc xây dựng hệ chuyên gia được thương mại hóa từ năm 1980 và đặc biệt phát triển cho tới 1988. Sau giai đoạn này, do một số hạn chế của hệ chuyên gia, trí tuệ nhân tạo rơi vào một giai đoạn trì trệ, không có những bước tiến đáng kể (mùa đông trí tuệ nhân tạo thứ hai).
Giai đoạn này cũng đánh dấu sự trở lại của mạng nơ ron nhân tạo sau một thời gian không có các phát minh và ứng dụng đáng kể. Cho đến hiện nay, mạng nơ ron nhân tạo vẫn được sử dụng tương đối nhiều cho học máy và như các chương trình nhận dạng, phân loại tự động. Đặc biệt, trong khoảng gần 10 năm gần đây, các mạng nơ ron nhân tạo nhiều lớp được gọi là mạng sâu (deep network) đang được đặc biệt quan tâm do có độ chính xác rất tốt trong các ứng dụng nhận dạng âm thanh, hình ảnh, xử lý ngôn ngữ tự nhiên.
Vào năm 1981, chính phủ Nhật Bản khởi động chương trình xây dựng máy tính thế hệ 5. Mục đích của chương trình là xây dựng các máy tính thông minh chạy trên ngôn ngữ Prolog. Chính phủ Mỹ và Anh cũng có những dự án tương tự nhưng quy mô nhỏ hơn. Mặc dù các chương trình này đều không đạt được mục tiêu đề ra những đã giúp chấm dứt mùa đông trí tuệ nhân tạo lần thứ nhất.
f. Trí tuệ nhân tạo chính thức trở thành ngành khoa học (1987 đến nay)**
Trong giai đoạn trước, chủ đề nghiên cứu chủ yếu có tính thăm dò và tìm kiếm định hướng. Các phương pháp nghiên cứu về trí tuệ nhân tạo cũng không bị giới hạn nhiều trong các lý thuyết có sẵn. Nhiều chủ đề nghiên cứu được đề xuất hoàn toàn mới và phương pháp giải quyết cũng tương đối tự do, không dựa trên các lý thuyết hay kết quả khoa học đã có. Mục tiêu của trí tuệ nhân tạo giai đoạn đầu là vượt ra ngoài khuôn khổ các lĩnh vực nghiên cứu đã có như lý thuyết điều khiển hay thống kê, do vậy nhiều nghiên cứu không đòi hỏi phải dựa trên cơ sở lý thuyết đã phát triển trong các lĩnh vực này.
Bắt đầu từ giai đoạn này (1987), trí tuệ nhân tạo đã có phương pháp nghiên cứu riêng của mình, tuân theo các yêu cầu chung đối với phương pháp nghiên cứu khoa học. Chẳng hạn, kết quả cần chứng minh bằng thực nghiệm, và được phân tích kỹ lưỡng bằng khoa học thống kê. Các vấn đề nghiên cứu cũng gắn nhiều với ứng dụng và đời sống, thay vì những ví dụ mang tính minh hoạ như trong các giai đoạn trước.
Nhiều phát minh trước đây của trí tuệ nhân tạo như mạng nơ ron nhân tạo được phân tích và so sánh kỹ càng với những kỹ thuật khác của thống kê, nhận dạng, và học máy. Nhờ vậy, các phương pháp không còn mang tính kinh nghiệm thuần túy mà đều dựa trên các cơ sở lý thuyết rõ ràng hơn. Tương tự như vậy, một ví dụ khác là cách tiếp cận với bài toán nhận dạng tiếng nói. Trong giai đoạn đầu, bài toán này được tiếp cận theo một số cách tương đối tự do, hướng vào việc giải quyết một số trường hợp riêng với phạm vi hạn chế, và không dựa trên các lý thuyết đã có. Hiện nay, đa số giải pháp nhận dạng tiếng nói được xây dựng trên các mô hình thống kê như mô hình Markov ẩn (Hidden Markov Models), hay các mạng nơ ron nhiều lớp. Hiệu quả của các giải pháp này có thể giải thích dựa trên lý thuyết thống kê, học máy và các phương pháp tối ưu đã tồn tại và được kiểm chứng từ lâu.
g. Cách tiếp cận dựa trên dữ liệu, sử dụng khối lượng dữ liệu lớn (2001 đến nay)**
Trong các giai đoạn trước, việc phát triển trí tuệ nhân tạo chủ yếu tập trung vào xây dựng thuật toán và các hệ thống dựa trên tri thức chuyên gia. Gần đây, do sự xuất hiện của Internet, thương mại điện tử, và một số lĩnh vực khoa học như sinh học phân tử, lượng dữ liệu số hóa được tạo ra tăng rất nhanh. Nhiều nghiên cứu cũng cho thấy việc sử dụng dữ liệu hợp lý quan trọng hơn việc xây dựng các thuật toán phức tạp. Một trong những ví dụ là tiến bộ của hệ thống dịch tự động của Google, được xây dựng dựa trên việc thống kê số lượng lớn các văn bản đơn ngữ và song ngữ, thay vì sử dụng luật và quy tắc ngữ pháp như trước đây.
Trong vài năm gần đây, xu hướng sử dụng dữ liệu lớn (big data), tức là các kỹ thuật ra quyết định dựa trên việc phân tích lượng lớn dữ liệu với bản chất đa dạng và thay đổi nhanh theo thời gian đang được coi là một trong những xu hướng có ảnh hưởng quan trọng tới sự phát triển và ứng dụng của trí tuệ nhân tạo. Nhiều ứng dụng quan trọng dựa trên dữ liệu lớn như các hệ thống hỗ trợ khuyến nghị của Amazon, ứng dụng trợ giúp Siri của Apple, chương trình dịch tự động và nhận dạng giọng nó của Google, chương trình trò chơi Watson của IBM là những ví dụ thành công điển hình của xu hướng này.
Thành công của việc sử dụng dữ liệu lớn cho thấy có thể giải quyết một vấn đề quan trọng của trí tuệ nhân tạo: đó là việc thu thập đủ lượng tri thức cần thiết cho hệ thống. Thay vì thu thập bằng tay như trước đây, tri thức có thể được tổng hợp, hay “học” từ dữ liệu. Đây cũng là hứa hẹn cho một giai đoạn phát triển mạnh các ứng dụng của trí tuệ nhân tạo.
1.3. CÁC LĨNH VỰC NGHIÊN CỨU VÀ ỨNG DỤNG CHÍNH
1.3.1. Các lĩnh vực nghiên cứu
Trí tuệ nhân tạo được chia thành một số lĩnh vực nghiên cứu nhỏ hơn và chuyên sâu nhằm giải quyết những vấn đề khác nhau khi xây dựng một hệ thống trí tuệ nhân tạo. Một số lĩnh vực chuyên sâu được hình thành để giải quyết một lớp bài toán. Một số lĩnh vực chuyên sâu khác tập trung vào các hướng tiếp cận hay các kỹ thuật. Một số lĩnh vực nghiên cứu lại xoay quanh các ứng dụng cụ thể. Trong khi nhiều lĩnh vực nghiên cứu nhỏ có liên quan mật thiết đến nhau thì có nhiều lĩnh vực khác rất xa nhau, cả về mục tiêu, phương pháp và cộng đồng nghiên cứu.
Thông thường, một hệ thống trí tuệ nhân tạo hoàn chỉnh, làm việc trong việc một môi trường nào đó cần có khả năng: cảm nhận (perception), lập luận (reasoning), và hành động (action). Dưới đây là một số lĩnh vực nghiên cứu của trí tuệ nhân tạo được phân chia theo ba thành phần này.
a) Cảm nhận
Hệ thống cần có cơ chế thu nhận thông tin liên quan tới hoạt động từ môi trường bên ngoài. Đó có thể là camera, cảm biến âm thanh (microphone), cảm biến siêu âm, radar, cảm biến gia tốc, các cảm biến khác. Đó cũng có thể đơn giản hơn là thông tin do người dùng nhập vào chương trình bằng tay. Để biến đổi thông tin nhận được về dạng có thể hiểu được, thông tin cần được xử lý nhờ những kỹ thuật được nghiên cứu và trong khuôn khổ các lĩnh vực sau.
Thị giác máy (computer vision)
Đây là lĩnh vực thuộc trí tuệ nhân tạo có mục đích nghiên cứu về việc thu nhận, xử lý, phân tích, nhận dạng thông tin hình ảnh thu được từ các cảm biến hình ảnh như camera. Mục đích của thị giác máy là biến thông tin thu được thành biểu diễn mức cao hơn để máy tính sau đó có thể hiểu được, chẳng hạn từ ảnh chụp văn bản cần trả về mã UNICODE của các chữ in trên văn bản đó. Biểu diễn ở mức cao hơn của thông tin từ cảm biến hình ảnh sau đó có thể sử dụng để phục vụ quá trình ra quyết định. Thị giác máy tính bao gồm một số bài toán chính sau: nhận dạng mẫu (pattern recognition), phân tích chuyển động (motion analysis), tạo lập khung cảnh 3D (scene reconstruction), nâng cao chất lượng ảnh (image restoration).
Nhận dạng mẫu là lĩnh vực nghiên cứu lớn nhất trong phạm vi thị giác máy. Bản thân nhận dạng mẫu được chia thành nhiều bài toán nhỏ và đặc thù hơn như bài toán nhận dạng đối tượng nói chung, nhận dạng các lớp đối tượng cụ thể như nhận dạng mặt người, nhận dạng vân tay, nhận dạng chữ viết tay hoặc chữ in. Nhận dạng đối tượng là phát hiện ra đối tượng trong ảnh hoặc video và xác định đó là đối tượng nào. Trong khi con người có thể thực hiện việc này tương đối đơn giản thì việc nhận dạng tự động thường khó hơn nhiều. Hiện máy tính chỉ có khả năng nhận dạng một số lớp đối tượng nhất định như chữ in, mặt người nhìn thẳng, với độ chính xác gần với con người.
Xử lý ngôn ngữ tự nhiên (natural language processing)
Đây là lĩnh vực nghiên cứu với có mục đích phân tích thông tin, dữ liệu nhận được dưới dạng âm thanh hoặc văn bản và được trình bày dưới dạng ngôn ngữ tự nhiên của con người. Chẳng hạn, thay vì gõ các lệnh quy ước, ta có thể ra lệnh bằng cách nói với máy tính như với người thường. Do đối tượng giao tiếp của hệ thống trị tuệ nhân tạo thường là con người, khả năng tiếp nhận thông tin và phản hồi dưới dạng lời nói hoặc văn bản theo cách diễn đạt của người sẽ rất có ích trong những trường hợp như vậy.
Xử lý ngôn ngữ tự nhiên bao gồm ba giai đoạn chính: nhận dạng tiếng nói (speech recognition), xử lý thông tin đã được biểu diễn dưới dạng văn bản, và biến đổi từ văn bản thành tiếng nói (text to speech). Nhận dạng tiếng nói là quá trình biến đổi từ tín hiệu âm thanh của lời nói thành văn bản.
Nhận dạng tiếng nói còn có các tên gọi như nhận dạng tiếng nói tự động (automatic speech recognition) hay nhận dạng tiếng nói bằng máy tính, hay biến đổi tiếng nói thành văn bản (speech to text – STT). Nhận dạng tiếng nói được thực hiện bằng cách kết hợp kỹ thuật xử lý tín hiệu âm thanh với kỹ thuật nhận dạng mẫu, chẳng hạn bằng cách sử dụng các mô hình thống kê và học máy.
Xử lý thông tin văn bản được diễn đạt bằng ngôn ngữ tự nhiên như tiếng Việt hay tiếng Anh bao gồm một số bài toán và ứng dụng chính sau:
- Phân tích từ loại, ngữ pháp. Nhận đầu vào là một câu, trả về từ loại (động từ, tính từ v.v.) của các từ trong câu; xây dựng cây cú pháp của câu đó tức là xác định các thành phần như chủ ngữ, vị ngữ và quan hệ giữa các thành phần. Do ngôn ngữ tự nhiên thường có tính nhập nhằng nên từ một câu có thể có nhiều cách phân tích. Đây là bài toán cơ sở cho các bài toán xử lý ngô ngữ tự nhiên khác.
- Hiểu ngôn ngữ tự nhiên hay phân tích ngữ nghĩa. Biến đổi các câu trên ngôn ngữ tự nhiên thành các biểu diễn như biểu thức trên logic vị từ sao cho máy tính có thể thực hiện biến đổi hoặc lập luận trên đó. Các biểu diễn này cần tương ứng với ngữ nghĩa trong thế giới thực của bài toán.
- Dịch tự động hay dịch máy. Tự động biến đổi các văn bản trên ngôn ngữ tự nhiên này sang ngôn ngữ tự nhiên khác, ví dụ từ tiếng Việt sang tiếng Anh và ngược lại. Đây là bài toán có tính ứng dụng cao nhưng là bài toán khó do đòi hỏi khả năng thực hiện các bài toán xử lý ngôn ngữ tự nhiên khác cộng với khả năng sử dụng tri thức về các lĩnh vực liên quan tới nội dung văn bản cần dịch.
- Trả lời tự động (question answering). Tự động sinh ra câu trả lời cho các câu hỏi của con người. Ví dụ hệ thống dạng này là chương trình Watson của IBM cho phép trả lời các câu hỏi trong trò chơi Jeopardy tương tự trò Ai là triệu phú, hay trợ lý ảo Siri của iPhone. Hệ thống dạng này thường đòi hỏi khả năng hiểu câu hỏi, cơ sở tri thức liên quan, và tổng hợp câu trả lời.
- Tách thông tin (information extraction). Tách thông tin có ngữ nghĩa từ văn bản, chẳng hạn tên riêng, thời gian, quan hệ giữa các thực thể, các thông tin có ý nghĩa khác và lưu các thông tin này dưới dạng thuận tiện cho việc xử lý bằng máy tính. Bài toán xác định và tách tên riêng được gọi là nhận dạng thực thể có tên (Named Entity Recognition). Kết quả tách thông tin được sử dụng trong nhiều bài toán khác, chẳng hạn để xây dựng cơ sở tri thức cho các hệ thống trả lời tự động.
- Tổng hợp ngôn ngữ tự nhiên. Biến đổi từ các thông tin tiện dùng cho máy tính, chẳng hạn thông tin trong cơ sở dữ liệu, thành các câu trên ngôn ngữ tự nhiên của người với mục đích giúp việc giao tiếp của máy tính với người được tự nhiên và thuận lợi hơn. Đây là bài toán ngược với bài toán hiểu nhận dạng tiếng nói và hiểu ngôn ngữ tự nhiên.
b) Lập luận và suy diễn
Sau khi cảm nhận được thông tin về môi trường xung quanh, hệ thống cần có cơ chế để đưa ra được quyết định phù hợp. Quá trình ra quyết định thường dựa trên việc kết hợp thông tin cảm nhận được với tri thức có sẵn về thế giới xung quanh. Việc ra quyết định dựa trên tri thức được thực hiện nhờ lập luận hay suy diễn. Cũng có những trường hợp hệ thống không thực hiện suy diễn mà dựa trên những kỹ thuật khác như tìm kiếm hay tập hợp các phản xạ hoặc hành vi đơn giản.
Thành phần lập luận và ra quyết định được xây dựng dựa trên kỹ thuật từ những lĩnh vực nghiên cứu sau:
Biểu diễn tri thức (knowledge representation)
Nhiều bài toán của trí tuệ nhân tạo đòi hỏi lập luận dựa trên hình dung về thế giới xung quanh. Để lập luận được, sự kiện, thông tin, tri thức về thế giới xung quanh cần được biểu diễn dưới dạng máy tính có thể “hiểu” được, chẳng hạn dưới dạng logic hoặc ngôn ngữ trí tuệ nhân tạo nào đó. Thông thường, hệ thống cần có tri thức về: đối tượng hoặc thực thể, tính chất của chúng, phân loại và quan hệ giữa các đối tượng, tình huống, sự kiện, trạng thái, thời gian, nguyên nhân và hiệu quả, tri thức về tri thức (chúng ta biết về tri thức mà người khác có) v.v. Trong phạm vi nghiên cứu về biểu diễn tri thức, một số phương pháp biểu diễn đã được phát triển và được áp dụng như: logic, mạng ngữ nghĩa, Frame, các luật (chẳng hạn luật Nếu…Thì…), bản thể học (ontology).
Biểu diễn tri thức dùng trong máy tính thường gặp một số khó khăn sau. Thứ nhất, lượng tri thức mà mỗi người bình thường có về thế giới xung quanh là rất lớn. Việc xây dựng và biểu diễn lượng tri thức lớn như vậy đòi hỏi nhiều công sức. Hiện nay đang xuất hiện hướng tự động thu thập và xây dựng cơ sở tri thức tự động từ lượng dữ liệu lớn, thay vì thu thập bằng tay. Cách xây dựng tri thức như vậy được nghiên cứu nhiều trong khuôn khổ khai phá dữ liệu (data mining) hay hiện nay được gọi là dữ liệu lớn (big data) Điển hình của cách tiếp cận này là hệ thống Watson của IBM (sẽ được nhắc tới ở bên dưới). Thứ hai, tri thức trong thế giới thực ít khi đầy đủ, chính xác và nhất quán. Con người có thể sử dụng hiệu quả các tri thức như vậy, trong khi các hệ thống biểu diễn tri thức như logic gặp nhiều khó khăn. Thứ ba, một số tri thức khó biểu diễn dưới dạng biểu tượng mà tồn tại như các trực giác của con người.
Tìm kiếm (search)
Nhiều bài toán hoặc vấn đề có thể phát biểu và giải quyết như bài toán tìm kiếm trong không gian trạng thái. Chẳng hạn các bài toán tìm đường đi, bài toán tìm trạng thái thoả mãn ràng buộc. Nhiều bài toán khác của trí tuệ nhân tạo cũng có thể giải quyết bằng tìm kiếm. Chẳng hạn, lập luận logic có thể tiến hành bằng cách tìm các đường đi cho phép dẫn từ các tiền đề tới các kết luận.
Trí tuệ nhân tạo nghiên cứu cách tìm kiếm khi số trạng thái trong không gian quá lớn và không thể thực hiện tìm kiếm bằng cách vét cạn. Trong khuôn khổ trí tuệ nhân tạo đã phát triển một số phương pháp tìm kiếm riêng như tìm kiếm heuristic, tìm kiếm cục bộ, bao gồm các thuật toán tìm kiếm tiến hoá.
Lập luận, suy diễn (reasoning hay inference)
Lập luận là quá trình sinh ra kết luận hoặc tri thức mới từ những tri thức, sự kiện và thông tin đã có. Trong giai đoạn đầu, nhiều kỹ thuật lập luận tự động dựa trên việc mô phỏng hoặc học tập quá trình lập luận của con người. Các nghiên cứu về sau đã phát triển nhiều kỹ thuật suy diễn hiệu quả, không dựa trên cách lập luận của người. Điển hình là các kỹ thuật chứng minh định lý và suy diễn logic. Lập luận tự động thường dựa trên tìm kiếm cho phép tìm ra các liên kết giữa tiên đề và kết quả.
Việc suy diễn tự động thường gặp phải một số khó khăn sau. Thứ nhất, với bài toán kích thước lớn, số tổ hợp cần tìm kiếm khi lập luận rất lớn. Vấn đề này được gọi là “bùng nổ tổ hợp” và đòi hỏi có phát triển các kỹ thuật với độ phức tạp chấp nhận được. Thứ hai, lập luận và biểu diễn tri thức thường gặp vấn đề thông tin và tri thức không rõ ràng, không chắc chắn. Hiện nay, một trong những cách giải quyết vấn đề này là sử dụng lập luận xác suất, sẽ được trình bầy trong chương 4 của giáo trình. Thứ ba, trong nhiều tình huống, con người có thể ra quyết định rất nhanh và hiệu quả thay vì lập luận từng bước, chẳng hạn co tay lại khi chạm phải nước sôi. Hệ thống trí tuệ nhân tạo cần có cách tiếp cận khác với lập luận truyền thống cho những trường hợp như vậy.
Học máy (machine learning)
Học máy hay học tự động là khả năng của hệ thống máy tính tự cải thiện mình nhờ sử dụng dữ liệu và kinh nghiệm thu thập được. Học là khả năng quan trọng trong việc tạo ra tri thức của người. Do vậy, đây là vấn đề được quan tâm nghiên cứu ngay từ khi hình thành trí tuệ nhân tạo. Hiện nay, đây là một trong những lĩnh vực được quan tâm nghiên cứu nhiều nhất với rất nhiều kết quả và ứng dụng.
Học máy bao gồm các dạng chính là học có giám sát, học không giám sát, và học tăng cường. Trong học có giám sát, hệ thống được cung cấp đầu vào, đầu ra và cần tìm quy tắc để ánh xạ đầu vào thành đầu ra. Trong học không giám sát, hệ thống không được cung cấp đầu ra và cần tìm các mẫu hay quy luật từ thông tin đầu vào. Trong học tăng cường, hệ thống chỉ biết đầu ra cuối cùng của cả quá trình thay vì đầu ra cho từng bước cụ thể.
Học máy được phát triển trong khuôn khổ cả khoa học máy tính và thống kê. Rất nhiều kỹ thuật học máy có nguồn gốc từ thống kê nhưng được thay đổi để trở thành các thuật toán có thể thực hiện hiệu quả trên máy tính. Học máy hiện là kỹ thuật chính được sử dụng trong thị giác máy, xử lý ngôn ngữ tự nhiên, khai phá dữ liệu và phân tích dữ liệu lớn.
Lập kế hoạch (planning)
Lập kế hoạch và thời khoá biểu tự động, hay đơn giản là lập kế hoạch, là quá trình sinh ra các bước hành động cần thực hiện để thực hiện một mục tiêu nào đó dựa trên thông tin về môi trường, về hiệu quả từng hành động, về tình huống hiện thời và mục tiêu cần đạt. Lấy ví dụ một rô bốt nhận nhiệm vụ di chuyển một vật tới một vị trí khác. Kế hoạch thực hiện bao gồm xác định các bước để tiếp cận vật cần di chuyển, nhấc vật lên, xác định quỹ đạo và các bước di chuyển theo quỹ đạo, đặt vật xuống.
Khác với lý thuyết điều khiển truyền thống, bài toán lập kế hoạch thường phức tạp, lời giải phải tối ưu theo nhiều tiêu chí. Việc lập kế hoạch có thể thực hiện trước đối với môi trường không thay đổi, hoặc thực hiện theo thời gian với môi trường động.
Lập kế hoạch sử dụng các kỹ thuật tìm kiếm và tối ưu, các phương pháp quy hoạch động để tìm ra lời giải. Một số dạng biểu diễn và ngôn ngữ riêng cũng được phát triển để thuận lợi cho việc mô tả yêu cầu và lời giải.
c) Hành động
Cho phép hệ thống tác động vào môi trường xung quanh hoặc đơn giản là đưa ra thông tin về kết luận của mình. Thành phần này được xây dựng dựa trên những kỹ thuật sau.
Tổng hợp ngôn ngữ tự nhiên và tiếng nói.
Các kỹ thuật này đã được nhắc tới trong phần xử lý ngôn ngữ tự nhiên ở trên.
Kỹ thuật rô bốt (robotics)
Là kỹ thuật xây dựng các cơ quan chấp hành như cánh tay người máy, tổng hợp tiếng nói, tổng hợp ngôn ngữ tự nhiên. Đây là lĩnh vực nghiên cứu giao thoa giữa cơ khí, điện tử, và trí tuệ nhân tạo. Bên cạnh kỹ thuật cơ khí để tạo ra các cơ chế vật lý, chuyển động, cần có thuật toán và chương trình điểu khiển hoạt động và chuyển động cho các cơ chế đó. Chẳng hạn, với cánh tay máy, cần tính toán quỹ đạo và điều khiển cụ thể các khớp nối cơ khí khi muốn di chuyển tay tới vị trí xác định và thực hiện hành động nào đó. Đây là những thành phần của kỹ thuật rô bốt mà trí tuệ nhân tạo có đóng góp chính. Ngoài ra, việc xây dựng những rô bốt thông minh chính là xây dựng các hệ thống trí tuệ nhân tạo hoàn chỉnh.
1.3.2. Một số ứng dụng và thành tựu
a. Các chương trình trò chơi
Xây dựng chương trình có khả năng chơi những trò chơi trí tuệ là lĩnh vực có nhiều thành tựu của trí tuệ nhân tạo. Với những trò chơi tương đối đơn giản như cờ ca rô hay cờ thỏ cáo, máy tính đã thắng người từ cách đây vài thập kỷ.
Đối với những trò chơi phức tạp hơn, các hệ thống trí tuệ nhân tạo cũng dần đuổi kịp và vượt qua con người. Sự kiện quan trọng thường được nhắc tới là vào tháng 5 năm 1997 chương trình cờ vua Deep Blue của IBM đã thắng vô địch cờ vua thế giới lúc đó là Gary Kasparov. Trong vòng đấu kéo dài 6 ván, Deep Blue thắng Kasparov với điểm số 3.5 : 2.5. Đây là lần đầu tiên máy tính thắng đương kim vô địch cờ vua thế giới.
Một trường hợp tiêu biểu khác là hệ thống trả lời tự động Watson cũng của IBM đã chiến thắng hai quán quân của Jeopardy trong trò chơi này vào năm 2011. Jeopardy là trò chơi hỏi đáp trên truyền hình Mỹ, tương tự “Ai là triệu phú” trên truyền hình Việt Nam nhưng trong đó ba người chơi phải thi với nhau không những trả lời đúng mà còn phải nhanh. Watson là hệ thống hỏi đáp do IBM xây dựng dựa trên việc thu thập và phân tích thông tin từ khoảng 200 triệu trang Web, trong đó có toàn bộ Wikipedia. Trong một cuộc đấu với hai cựu quán quân Jeopardy, Watson đã giành thắng lợi và phần thưởng 1 triệu USD. Các kỹ thuật sử dụng trong Watson như thu thập thông tin, phát hiện tri thức, hiểu ngôn ngữ tự nhiên, tìm kiếm, đã được IBM thương mại hóa và có thể sử dụng trong nhiều ứng dụng.
b. Nhận dạng tiếng nói
Nhận dạng tiếng nói là biến đổi từ âm thanh tiếng nói thành các văn bản. Hiện người dùng công cụ tìm kiếm Google có thể đọc vào câu truy vấn thay cho việc gõ từ khóa như trước. Các điện thoại di động thông minh cũng có khả năng nhận dạng giọng nói và trả lời các câu hỏi. Ví dụ điển hình là chương trình trợ giúp Siri trên điện thoại thông minh của Apple (sử dụng công nghệ nhận dạng tiếng nói của hãng Nuance) hay hệ thống Google Now.
Chất lượng nhận dạng giọng nói đang được cải thiện và tiến bộ rất nhanh trong vài năm gần đây. Các hệ thống nhận dạng tiếng nói hiện tại cho phép nhận dạng tới vài chục ngôn ngữ khác nhau và không phụ thuộc vào người nói (ở một mức độ nhất định).
c. Thị giác máy tính
Mặc dù nhiều ứng dụng của thị giác máy tính vẫn chưa đạt tới độ chính xác như người, nhưng trong một số bài toán, thị giác máy tính cho độ chính xác tương đương hoặc gần với khả năng của người. Tiêu biểu phải kể đến các hệ thống nhận dạng chữ in với độ chính xác gần như tuyệt đối, hệ thống nhận dạng tròng mắt, vân tay, mặt người. Những hệ thống dạng này được sử dụng rộng rãi trong sản xuất để kiểm tra sản phẩm, trong hệ thống camera an ninh. Ứng dụng nhận dạng mặt người trên Facebook được dùng để xác định những người quen xuất hiện trong ảnh và gán nhãn tên cho người đó. Các ứng dụng nhận dạng hiện nay đang được cải thiện nhiều nhờ sử dụng kỹ thuật học sâu (deep learning), trong đó các mạng nơ ron có nhiều lớp được kết nối với nhau được sử dụng để phát hiện các đặc trưng của đối tượng ở mức từ đơn giản tới phức tạp.
d. Các thiết bị tự lái
Các thiết bị tự lái bao gồm máy bay, ô tô, tầu thủy, thiết bị thám hiểm vũ trụ có thể tự di chuyển mà không có sự điều khiển của người (cả điều khiển trực tiếp và điều khiển từ xa). Hiện ô tô tự lái đang được một số hãng công nghệ và các tổ chức khác nghiên cứu và phát triển, trong đó có những dự án nổi tiếng như xe tự lái của Google. Mặc dù tại thời điểm viết sách này mới chỉ có một mẫu xe duy nhất được thương mại hóa dùng cho các khu đi bộ và chỉ có thể chạy với tốc độ khoảng 20 km/giờ nhưng các dự báo cho thấy xe tự lái sẽ được thương mại hóa thành công trong vòng vài năm tới. Các thiết bị tự lái khác bao gồm cả các xem thám hiểm vũ trụ và hành tinh khác như xe thám hiểm sao Hỏa của NASA.
e. Hệ chuyên gia
Là các hệ thống làm việc dựa trên kinh nghiệm và tri thức của chuyên gia trong một lĩnh vực tương đối hẹp nào đó để đưa ra khuyến cáo, kết luận, chuẩn đoán một cách tự động. Các ví dụ gồm:
- MYCIN: hệ chuyên gian đầu tiên chẩn đoán bệnh về nhiễm trùng máu và cách điều trị với khả năng tương đương một bác sĩ giỏi trong lĩnh vực này.
- XCON của DEC: hỗ trợ chọn cấu hình máy tính tự động.
f. Xử lý, hiểu ngôn ngữ tự nhiên
Tiêu biểu là các hệ thống dịch tự động như hệ thống dịch của Google, các hệ thống tóm tắt nội dung văn bản tự động. Hệ thống dịch tự động của Google sử dụng các mô hình thống kê xây dựng từ các văn bản song ngữ và các văn bản đơn ngữ. Hệ thống này có khả năng dịch qua lại giữa vài chục ngôn ngữ.
Các hệ thống hỏi đáp được đề cập tới trong phần về trò chơi và nhận dạng tiếng nói cũng thuộc loại ứng dụng xử lý ngôn ngữ tự nhiên. Những hệ thống này sử dụng những thành phần đơn giản hơn như các phân hệ phân tích hình thái, cú pháp, ngữ nghĩa.
Nhiều kỹ thuật xử lý ngôn ngữ tự nhiên đã được ứng dụng trong các ứng dụng rất thiết thực như các bộ lọc thư rác. Dịch vụ thư điện tử của Google, Microsoft, Yahoo đều có các bộ lọc thư rác với cơ chế học tự động và thích nghi với thay đổi của người phát tán. Khả năng phát hiện thư rác của các hệ thống này là rất cao, gần như tuyệt đối trong một số trường hợp.
g. Lập kế hoạch, lập thời khóa biểu
Kỹ thuật trí tuệ nhân tạo được sử dụng nhiều trong bài toán lập thời khóa biểu cho trường học, xí nghiệp, các bài toán lập kế hoạch khác. Một ví dụ lập kế hoạch thành công với quy mô lớn là kế hoạch đảm bảo hậu cần cho quân đội Mỹ trong chiến dịch Cơn bão sa mạc tại Iraq đã được thực hiện gần như hoàn toàn dựa trên kỹ thuật trí tuệ nhân tạo. Đây là một kế hoạch lớn, liên quan tới khoảng 50000 thiết bị vận tải và người tại cùng một thời điểm. Kế hoạch bao gồm điểm xuất phát, điểm tới, thời gian, phương tiện và người tham gia sao cho không mâu thuẫn và tối ưu theo các tiêu chí.
h. Rô bốt
Một số rô bốt được xây dựng sao cho có hình dạng tương tự con người và khả năng toàn diện như thị giác máy, giao tiếp bằng ngôn ngữ tự nhiên, khả năng lập luận nhất định, khả năng di chuyển và thực hiện các hành động như nhẩy múa. Các rô bốt này chủ yếu được tạo ra để chứng minh khả năng của kỹ thuật rô bốt thay vì hướng vào ứng dụng cụ thể. Trong số này có thể kể tới rô bốt Asimo, rô bốt Nao. Bên cạnh đó, một số rô bốt không mô phỏng người nhưng được sử dụng trong đời sống hàng ngày hoặc các ứng dụng thực tế. Ví dụ, rô bốt Roomba của hãng iRobot có khả năng tự động di chuyển trong phòng, tránh vật cản, chui vào các ngóc ngách để lau sạch toàn bộ sàn. Số lượng rô bốt Roomba đã bán lên tới vài triệu bản.
1.3.3. Những vấn đề chưa được giải quyết
Mặc dù đạt được nhiều thành tựu và có nhiều ứng dụng đáng kể, các hệ thống trí tuệ nhân tạo hiện nay chưa đạt được mức độ trí tuệ nhân tạo mạnh (strong AI) hay trí tuệ nhân tạo tổng quát (Artificial General Intelligence). Đây cũng được coi là vấn đề khó nhất và chưa được giải quyết. Trí tuệ nhân tạo mạnh là khái niệm để chỉ khả năng của máy tính thực hiện bất cứ công việc trí tuệ nào mà con người có thể thực hiện. Khái niệm trí tuệ mạnh được sử dụng để phân biệt với trí tuệ nhân tạo yếu (weak AI) hay trí tuệ nhân tạo ứng dụng (applied AI), tức là dùng máy tính để giải quyết từng bài toán ra quyết định hay lập luận đơn lẻ. Như vậy, trí tuệ nhân tạo mạnh đòi hỏi giải quyết đầy đủ các công việc trí tuệ như người trong khi trí tuệ nhân tạo yếu giải quyết bài toán cụ thể.
Các khó khăn để đạt được trí tuệ nhân tạo tổng quát bao gồm khả năng thị giác máy, xử lý ngôn ngữ tự nhiên, khả năng xử lý các tình hướng mới, tình huống không ngờ tới khi giải quyết các bài toán thực tế. Đây là những lĩnh vực mà máy tính còn thua kém con người. Các hệ thống trí tuệ nhân tạo hiện nay có thể giải quyết tốt bài toán đặt ra trong một phạm vi hẹp. Tuy nhiên, khi gặp vấn đề thực tế ở phạm vi rộng hơn, hệ thống trí tuệ nhân tạo thường không thể xử lý được các tình huống mới, vượt ra ngoài ngữ cảnh ban đầu của bài toán. Ngược lại, con người có khả năng xử lý tốt hơn nhiều những trường hợp như vậy do có hiểu biết rộng về thế giới xung quanh. Việc trang bị cho máy tính lượng tri thức như con người hiện vẫn là vấn đề chưa được giải quyết.
Để đánh giá hệ thống trí tuệ nhân tạo, có thể so sánh các hệ thống này với con người khi thực hiện từng bài toán trí tuệ cụ thể. Kết quả so sánh được chia thành các mức sau:
- Tối ưu: hệ thống cho kết quả tối ưu, không thể tốt hơn nữa.
- Tốt hơn người: hệ thống cho kết quả tốt hơn bất cứ người nào.
- Tương đương người giỏi: hệ thống cho kết quả tương đương những người giỏi (nhất) và hơn đa số người còn lại.
- Tương đương người: hệ thống cho kết quả tương đương đa số người.
- Kém hơn người. Những bài toán trí tuệ trong đó hệ thống máy tính thực hiện kém hơn người là những bài toán cần tiếp tục giải quyết. Dưới đây là một số bài toán và mức độ so sánh giữa máy tính và người.
- Rubik, cờ ca rô 3 ô: tối ưu.
- Cờ vua: gần đạt mức tốt hơn người. Hệ thống Deep Blue đã thắng đương kim vô địch cờ vua thế giới Gary Kasparov.
- Trả lời câu hỏi tự động: gần đạt mức tốt hơn người. Hệ thống IBM Watson đã thắng người trong trò chơi truyền hình Jeopardy.
- Lái xe tự động: tương đương người. Một ví dụ là hệ thống lái xem tự động của Google có kết quả lái an toàn và êm ái hơn so với người. Tuy vậy, kết quả này mới chỉ trong các thử nghiệm tại Mỹ, nơi có hệ thống giao thông tốt. Chưa rõ hệ thống cho kết quả thế nào trong các điều kiện khác, ví dụ trong điều kiện giao thông tại Việt Nam.
- Nhận dạng chữ in (theo chuẩn ISO 1073-1:1976, tức là các phông chữ đơn nét và không quá phức tạp): tương đương người. Các hệ thống OCR hiện nay có độ chính xác 99% hoặc hơn trên văn bản in bằng máy in la de.
- Nhận dạng chữ viết tay: kém người. Mặc dù có nhiều tiến bộ, các hệ thống nhận dạng chữ viết tay tự động vẫn có độ chính xác kém hơn người với khoảng cách tương đối lớn.
- Nhận dạng đối tượng: kém người. Trừ một số trường hợp đặc biệt như nhận dạng vân tay, tròng mắt, mặt người, khả năng nhận dạng đối tượng nói chung của máy tính hiện vẫn kém khá xa khả năng của người.
- Dịch tự động: kém người. Mặc dù hiện nay, khả năng dịch tự động của máy kém con người trên từng cặp ngôn ngữ cụ thể nhưng những hệ thống dịch tự động như Google translate lại vượt từng người cụ thể về số lượng ngôn ngữ có thể dịch.
- Nhận dạng tiếng nói: kém người. Trong vài năm gần đây, khả năng nhận dạng tiếng nói bằng máy tính đã có rất nhiều tiến bộ và được ứng dụng rộng rãi như các hệ thống Google Voice, hay Siri (dùng phần nhận dạng của hãng Nuance). Tuy nhiên, khả năng nhận dạng tự động vẫn kém khả năng con người.
- Phân biệt nhập nhằng trong nghĩa từ và một số bài toán xử lý ngôn ngữ tự nhiên khác.