Từ phim truyện, tranh ảnh hay sách báo, chắc hẳn ai cũng đã ít nhiều nghe qua cụm từ “Trí thông minh nhân tạo” – Artificial Intelligence, hay AI. Hiểu một cách đơn giản nhất, trái ngược với trí tuệ tự nhiên của loài người, AI là loại trí thông minh được biểu hiện bởi máy tính, và nó hiện đang là một trong những lĩnh vực nghiên cứu then chốt của con người trong kỉ nguyên kĩ thuật số này.
Phạm vi tìm hiểu và ứng dụng của AI có thể nói là vô cùng tận và vẫn đầy tranh cãi, bởi đây thực sự là một trong những “ranh giới cuối cùng” mà loài người muốn theo đuổi. Nhưng điểm bắt đầu của hành trình vĩ đại này nằm ở… những trò chơi. Bạn có lẽ đã tương tác với AI, hay ít ra là một dạng trí thông minh “sơ khai”, rất nhiều từ lâu rồi mà không hề hay biết. Bất kể thể loại trò chơi điện tử bạn ưa thích là gì cũng vẫn sẽ có bóng dáng trí thông minh nhân tạo ở đó mà thôi.
Vậy nếu có nhã hứng tìm hiểu sự phát triển của AI trong Video Game, hay ít ra là những gì sơ bộ nhất, vì như đã nói chủ đề này vẫn còn đang phát triển và tranh cãi nhiều, thì hãy để bài viết sau từ Vietgame.asia bổ sung thêm chút gì đó hữu ích cho bạn nhé![su_heading style=”line-blue” size=”35″]XEM THÊM[/su_heading][timeline post=”151404, 152265″][su_heading style=”modern-1-dark” size=”25″]NHỮNG “BƯỚC CHÂN” ĐẦU TIÊN[/su_heading]Như đã giới thiệu, chơi trò chơi nói chung là một trong những lĩnh vực nghiên cứu lâu đời và căn bản nhất của trí tuệ nhân tạo. Tại sao vậy? Bởi chơi game là một trong những cách hữu hiệu để đo đạc độ thông minh của trí tuệ nhân tạo. Muốn chơi và chiến thắng một trò chơi nào đó yêu cầu khả năng giải quyết vấn đề, và đây là một trong những thước đo độ thông minh quan trọng.
Một trong những ví dụ đầu tiên của AI để chơi game đã có từ những đầu những năm 50 của thế kỉ trước. Sử dụng chiếc Ferranti Mark 1, một trong những máy tính thương mại đầu tiên của loài người, giáo sư Christopher Strachey đã viết một chương trình chơi cờ đam, còn giáo sư Dietrich Prinz tạo ra một chương trình chơi cờ vua, và chúng trở thành những phần mềm đầu tiên được sáng tạo bởi con người. Tuy nhiên, không quá khó để nhận thấy các phần mềm này còn rất sơ khai và mang nặng mục đích nghiên cứu hơn là để giải trí, nên mặc dù khái niệm về AI đã có từ rất lâu, nhưng muốn chúng tìm được đường vào trò chơi điện tử để chơi được thật sự thì vẫn là một chặng đường dài.
Những tựa game đầu tiên được con người sáng chế và được sử dụng với mục đích giải trí hay thương mại như Spacewar! (1962), Pong (1972), và Gotcha (1973) đều… không tích hợp trí thông minh nhân tạo. Tất cả chúng đều được xây dựng để hai người chơi tỉ thí với nhau, thay vì với máy tính.[su_quote]mặc dù khái niệm về AI đã có từ rất lâu, nhưng muốn chúng tìm được đường vào trò chơi điện tử để chơi được thật sự thì vẫn là một chặng đường dài[/su_quote]Qwak! (1974) hay Pursuit (1975) là những tựa game chơi đơn sớm nhất, có xuất hiện mục tiêu để người chơi hạ gục. Tiếp nối chúng những tựa game chơi đơn khác dần ra mắt, nhưng tất cả chúng đều có một điểm chung: mục tiêu mà người chơi cần hạ gục đều được lập trình theo “kịch bản”. Nôm na, chúng đều chỉ có một hướng đi, hành vi và quy luật mặc định, có chăng là thêm một số phép tính toán ngẫu nhiên vào mã nguồn để trở nên “đa dạng” mà thôi.
Phải tới thời điểm các game thùng nở rộ, các nhà sản xuất mới bắt đầu nghĩ tới việc tích hợp nhiều yếu tố thông minh, mang tính thử thách cao hơn vào game. Space Invaders (1978) là một trong những tựa game đầu tiên có độ khó dần thay đổi trong quá trình chơi. Pac-Man (1980) mang tới không chỉ một mà bốn con ma được điều khiển bởi máy tính và có cách di chuyển khác nhau. Karate Champ (1984) mang tới trải nghiệm chiến đấu với máy tính đầu tiên trong game đối kháng. Đặc biệt, Dragon Quest IV: Chapters of the Chosen (1990) lần đầu tiên sử dụng hệ thống “chiến thuật” trong game nhập vai để điều khiển hành động của nhân vật phụ.
Quá trình “khôn” dần lên của các phần mềm máy tính kèm theo sự phát triển của phần cứng dần tạo ra nhiều thể loại trò chơi mới, đòi hỏi các nhà lập trình phải tạo ra những “trí thông minh” tốt hơn. Sự ra đời của thể loại game Chiến thuật thời gian thực vào khoảng những năm 90 là một trong những dấu mốc quan trọng, bởi “trái tim” của thế loại này nằm ở khả năng xử lý của máy tính trong các vấn đề như tìm đường, lên kế hoạch, quyết định tấn công… Việc máy tính cần phải khôn lên đã dần khiến con người sử dụng những mô hình thiết kế AI mà cho tới ngày nay vẫn còn được ứng dụng rộng rãi.[su_heading style=”modern-1-dark” size=”25″]TRÍ KHÔN CỦA MÁY TÍNH[/su_heading]Các hệ thống dựa trên quy tắc (Rule-based Systems) như Máy trạng thái hữu hạn (Finite-state Machine) hay Logic mờ (Fuzzy Logic) được sử dụng để xây dựng những chương trình AI đầu tiên trong game, và chúng vẫn được sử dụng rộng rãi tới ngày hôm nay. Sau đây chúng ta sẽ thử làm quen với Máy trạng thái hữu hạn – mô hình AI được sử dụng rộng rãi nhất.
Trong mô hình Máy trạng thái hữu hạn, người thiết kế game sẽ liệt kê hết những trường hợp có thể mà máy tính sẽ gặp phải, và thiết lập những hành động, việc làm tương ứng. Do vậy, AI thiết kế theo dạng này sẽ tương tác với người chơi hay môi trường bằng những hành vi định sẵn.
Một ví dụ cực kì đơn giản, bạn có thể tưởng tượng một quái thú trong game nhập vai với lệnh như sau: Khi tới lượt, nếu máu còn quá ít sẽ hồi máu, còn nếu máu vẫn còn nhiều thì tấn công nhân vật. Sau khi thực hiện hành động thì chờ tới lượt tiếp theo.
Cấu trúc đơn giản, có mặt từ rất sớm và vẫn thịnh hành cho tới hiện tại, AI ứng dụng mô hình Máy trạng thái hữu hạn xuất hiện trong vô kể các tựa game. Battlefield, Call of Duty, hay Tomb Raider… từ các dòng game nổi tiếng tới những sản phẩm độc lập, đâu đâu cũng có gót chân của loại AI này mà thôi. Thậm chí những tựa game cổ như Super Mario cũng hiện hữu loại AI này, trong việc thiết kế con rùa chẳng hạn.[su_quote]Cấu trúc đơn giản, có mặt từ rất sớm và vẫn thịnh hành cho tới hiện tại, AI ứng dụng mô hình Máy trạng thái hữu hạn xuất hiện trong vô kể các tựa game.[/su_quote]Điểm trừ rõ nhất mà Máy trạng thái hữu hạn gặp phải là sự dễ đoán, do tất cả mọi trạng thái đều được lập trình sẵn, “hữu hạn” mà. Vậy nên chỉ cần bạn chơi đủ lâu là có thể nắm được nhất cử nhất động của AI. Đương nhiên, nhà sản xuất có thể tạo ra những AI phức tạp hơn, thông minh hơn bằng cách bổ sung rất rất nhiều trạng thái, nhưng công việc này rất tốn thời gian, và nhiều khi không khả thi. Máy trạng thái hữu hạn nói riêng và các hệ thống dựa trên quy tắc nói chung khá là cứng nhắc, và nhiều lúc ta cần một cái gì đó linh hoạt để giải quyết các vấn đề mập mờ, chưa rõ ràng.
Đó là lúc cây quyết định (Decision Tree) “tỏa sáng”. Cây quyết định là một đồ thị của các quyết định và các hậu quả có thể tương ứng, bao gồm giá cả, độ rủi ro và hao phí tài nguyên.
Để ví dụ cho cây quyết định, hãy tưởng tượng về việc máy tính chơi cờ với bạn. Tới lượt mình, máy tính sẽ tìm tất cả những nước đi nó có thể thực hiện. Sau đó, nó sẽ tìm tất cả những nước đi mà con người có thể đáp trả, rồi nó sẽ tiếp tục tìm tất cả những nước mình có thể đi kế tiếp… và cứ thế. Đương nhiên quá trình tìm kiếm và tính toán không thể kéo dài mãi được. Sau một số lượt nhất định, nó sẽ tổng hợp dữ liệu, tính toán độ ưu việt của các thế cờ ở thời điểm hiện tại dựa trên thông tin từ rất nhiều thế cờ đã được “học” từ trước, và chọn nước đi được cho là “tốt nhất” để thực hiện nước đi ấy thật sự. Và rồi khi lại tới lượt, nó sẽ bắt đầu thực hiện quá trình đó một lần nữa…Chính cách xử lý này đã giúp trí thông minh nhân tạo trong máy tính Deep Blue đánh bại Garry Kimovich Kasparov, một người chơi cờ vua “giỏi” vào năm 1997… “giỏi” ở đây là siêu đại kiện tướng cờ vua người Nga, được ví là kỳ thủ cờ vua mạnh nhất trong lịch sử. Và mô hình này được gọi là cây quyết định vì lượng hành động có thể thực hiện được máy tính kiểm tra sẽ mở rộng dần dần như những cành cây mọc ra từ gốc. Đồng thời, hành động mà máy tính chọn có thể chưa rõ là tốt nhất cho toàn cục hay không, nhưng ít ra, trong khoảng dữ liệu mà nó tính toán được, lựa chọn đó là tối ưu nhất rồi.
Ví dụ trên xây dựng cây quyết định theo thuật toán Minimax, một trong những thuật toán khá cơ bản, còn ứng dụng vào game có thể còn nhiều thuật toán và tùy biến khác nữa. Cây quyết định tuy không thể thay thế được máy trạng thái hữu hạn, nhưng khi chúng được kết hợp với nhau, chúng có thể làm nên những AI đủ thông minh cho game, đặc biệt là những game mang tính chiến lược, tính toán.
Và thế là, chỉ với máy trạng thái hữu hạn và cây quyết định, cùng với sự phát triển của công nghệ, con người đã có thể xây dựng được hàng ngàn tựa game đòi hỏi sự có mặt của trí khôn máy tính.
Tuy nhiên, liệu máy tính có thể “khôn” hơn nữa?[su_heading style=”modern-1-dark” size=”25″]ĐÂU NHỮNG AI “THÔNG MINH” HƠN? [/su_heading]Nếu không kể ranh giới Video Game, con người đã kiến tạo được những AI vô cùng tân tiến. Xây dựng bởi Google DeepMind, chương trình chơi cờ vây AlphaGo, cụ thể là phiên bản AlphaGo Lee, đã đánh bại Lee Sedol, kì thủ với 18 giải quốc tế về môn cờ này với tỉ số 4-1 vào 2016. Là một trong những thành tựu khoa học kỹ thuật lớn của loài người, AlphaGo Lee được thích hợp vô kể các biện pháp để làm nó “thông minh” vượt trội.
Năm 1997, chúng ta đã tạo ra một AI đủ sức hạ gục đại kiện tướng cờ vua, vậy tại sao phải tốn gần 20 năm ta mới có thể dựng nên một AI cờ vây “thượng đẳng”? Đơn giản bởi vì cờ vây phức tạp hơn nhiều. Bàn cờ vua có diện tích 8×8, còn bản cơ vây thì tận… 19×19. Số lượng thế cờ trong cờ vây là nhiều không tưởng, hơn cả số nguyên tử trong vũ trụ. Do vậy, sử dụng sức mạnh phần cứng để “đánh mạnh đấm bạo” và tìm ra tất cả các nước đi của mình, rồi lại tính tất cả các nước đi của đối thủ tương ứng… Đối vời cờ vua thì có thế, nhưng nếu áp dụng cho cờ vây, máy tính sẽ “cạn kiệt sinh lực” trước khi nó có đủ dữ liệu để tính toán ra nước đi “khôn” nhất, mà đó là chưa kể để tìm ra nước đi tối ưu trong cờ vây, máy tính phải “dựng cây quyết định” cao hơn cờ vua nhiều.Do vậy, ở lĩnh vực Cờ Vây, chúng ta cần những giải pháp khác thanh tao hơn, tối ưu hơn. Cuối cùng, AlphaGo Lee ra đời và tích hợp rất nhiều thành tựu ở lĩnh vực AI, trong đó phải kể tới cây tìm kiếm Monte Carlo và Mạng nơ-ron nhân tạo (Artificial neural network). Cây tìm kiếm Monte Carlo là một thuật toán tìm kiếm phức tạp nhưng hiệu quả hơn so với Minimax. Còn mạng nơ-ron nhân tạo là một hệ thống tính toán mô phỏng… bộ não của con người.
Mạng nơ-ron nhân tạo là một phạm trù cực lớn, có rất rất nhiều phiên bản và cách xây dựng, nên chúng ra sẽ ví dụ ở dạng cơ bản nhất vậy. Mạng nơ-ron nhân tạo bao gồm nhiều lớp khác nhau, và mỗi lớp lại gồm các nút riêng biệt, tương tự như các nơ-ron trong não bộ. Các nút ở lớp này được liên kết với các nút ở lớp khác, tương tự như dây thần kinh liên kết các nơ-ron. Khi một nút ở lớp này nhận tín hiệu, nó có thể xử lý và truyền tín hiệu đó qua nút được liên kết ở lớp kia. Mỗi lớp trong AlphaGo đảm nhiệm một vai trò riêng như tìm nước đi hợp lý, đánh dấu các vùng trọng điểm, phân tích hình dạng thế cờ… Hàng chục lớp như vậy được kết hợp, tương tác, tính toán với nhau, đưa ra các dữ liệu riêng, cho tới khi cỗ máy có thể thống nhất được vào một nước đi duy nhất thì AlphaGo sẽ chọn nước đi đó.
Nghe đã thấy có vẻ tân tiến rồi đúng không nào? Nhưng cơ sở để AlphaGo Lee phân tích nước đi nào là tốt nhất vẫn phụ thuộc vào dữ liệu các trận đánh thu thập từ con người. Tuy nhiên, nhờ sự cải tiến cấu trúc mạng nơ-ron nhân tạo và ứng dụng các thuật toán tối ưu hơn, phiên bản AlphaGo cuối cùng là AlphaGo Zero đã biến AlphaGo Lee từ “bước nhảy vĩ đại” thành “phần mềm trẻ con” với tỉ số 100-0 chỉ sau 3 này học chơi cờ vây. Và các bạn biết AlphaGo Zero “học” bằng cách nào không? Nó tự đấu với chính nó!Vậy chỉ cần áp dụng kiến trúc mạng nơ-ron nhân tạo vào xây dựng AI trong Video Game là được? Không! Các nhà sản xuất chưa thể làm được điều đó.
Một vấn đề lớn với sử dụng mạng nơ-ron nhân tạo là nó cần được huấn luyện rất nhiều. AlphaGo Zero chỉ cần 3 ngày để trở thành phần mềm chơi cờ vây “bạo chúa”? Đúng, nhưng bởi vì hai lý do quan trọng. Thứ nhất, nó chạy trên phần cứng sử dụng các bộ vi xử lý Tensor Processing Unit chuyên dụng để xây dựng trí thông minh nhân tạo, và nó là thành quả của rất nhiều nhà khoa học. Nó không phải thứ gì đó mà bạn có thể lên mạng tải về để chạy thử xem có mượt không.
Thứ hai, so với các game chiến thuật, dù có là của 20 năm trước đi chăng nữa, thì luật cờ vây cũng đơn giản chán: chỉ có đúng hai loại quân đen trắng, đúng một địa hình 19×19 và đúng một bộ luật không đổi. Thử xem, bỏ vào game chiến thuật hiện tại, với vô vàn yêu tố như tài nguyên, công trình, nhân lực, diện tích bản đồ, độ khó… Bạn nghĩ có nhà sản xuất nào làm được? Thiết kế ra nó đã là ác mộng, cho nó dữ liệu các trận đấu để học, chạy thử xem có gặp lỗi nào không thì còn là điều không tưởng nữa, ít ra là với mức công nghệ hiện tại.[su_quote]Nếu không kể ranh giới Video Game, con người đã kiến tạo được những AI vô cùng tân tiến[/su_quote]Đương nhiên mạng nơ-ron nhân tạo cũng chỉ là một kiến trúc, một phương pháp xây dựng trí thông minh nhân tạo. Nhưng nhìn chung, sở dĩ AI trong các Video Game hiện đại bây giờ chỉ dừng chân ở các hệ thống dựa trên quy tắc (Máy trạng thái hữu hạn) và cây quyết định có chăng là bởi hai yếu tố.
Thứ nhất, mục tiêu của nhà làm game và nhà nghiên cứu khoa học là khác nhau. Nhà làm game muốn cung cấp một trải nghiệm hoàn hảo, tuyệt vời cho người dùng, để họ có lợi nhuận chứ không phải xây dựng một AI mà không ai thắng nổi như các nhà khoa học. Kể cả những phần mềm trí thông minh nhân tạo được thiết kế để đánh bại con người trong game như OpenAI trong Dota 2 cũng chỉ nhằm mục đích nghiên cứu mà thôi, chứ không phải bỏ vào game kiếm tiền. Thứ hai, những biện pháp xây dựng AI sẵn có đã đủ tốt để tạo nên những tựa game hấp dẫn rồi, nên nhà làm game không muốn đầu tư thêm vào lĩnh vực này nữa.
AI trong game đại trà có thể thông minh vượt trội hơn bây giờ? Đương nhiên chứ! Nhưng chỉ tới khi một phương pháp xây dựng AI nào đó tiến bộ và dễ dàng được phổ cập, hay nhà sản xuất tự cảm thấy muốn làm ra chúng để có lợi cho sản phẩm của mình, mà thôi.[su_heading style=”modern-1-dark” size=”25″]NHỮNG ỨNG DỤNG XA HƠN NỮA…[/su_heading]Tất cả những gì chúng ta đã bàn từ đầu bài viết đều xoay quanh việc sử dụng trí thông minh nhân tạo để xây dựng các nhân vật, đối thủ trong video game, khiến chúng thông minh hơn. Tuy nhiên, đó không phải là tất cả ứng dụng có thể của AI.
AI có thể hỗ trợ con người trong việc tạo ra những tựa game với đồ họa choáng ngợp hơn chẳng hạn. Ví dụ về biểu cảm nhân vật, Hellblade: Senua’s Sacrifice sử dụng công nghệ bắt chuyển động khuôn mặt để tạo nên những nhân vật cực kì có hồn, nhưng một trí thông minh nhân tạo có thể làm nhiều hơn nữa, không chỉ dừng lại ở mô phỏng cử động khuôn mặt mà còn toàn bộ cơ thế, không chỉ là con người mà còn của các sinh vật khác nữa.
Bên cạnh đồ họa, AI cũng có thể được ứng dụng như một “chuyên viên” hỗ trợ thực tế ảo. Bạn hẳn cũng đã từng nghe danh Siri của Apple, Alexa của Amazon, Cortana của Microsoft hay Google Assistant của Google. Đó đều là các phần mềm hỗ trợ thực tế ảo nối tiếng. Đặc biệt, Alexa cũng đã được tích hợp vào Destiny 2 để tạo ra Ghost, một thiết bị hỗ trợ thực sự trong game. Rồi tới lúc nào đó, một tựa game rất có thể sẽ ứng dụng các công nghệ này để tạo ra một người “bạn ảo” thực sự cho bạn, chứ không chỉ là một “trợ lý” đơn thuần nữa.[su_quote]sử dụng trí thông minh nhân tạo để xây dựng các nhân vật, đối thủ trong video game, khiến chúng thông minh hơn… đó không phải là tất cả ứng dụng có thể của AI[/su_quote]AI cũng có thể được các nhà sản xuất game ứng dụng để tìm ra xu hướng mua đồ, tiêu dùng trong game của người chơi, hiểu được những gì mà phần đông người chơi sẽ bị cuốn hút. Từ đó công ty có thể tạo ra những sản phẩm tương ứng, kiếm nhiều tiền hơn (và đáng tiếc là làm ví bạn mỏng hơn).
Tất cả những ví dụ trên đều chỉ là một phần nhỏ tiềm năng mà trí thông minh nhân tạo có thể đạt được. Có lẽ ở thời điểm này, khi mà đa số các trò chơi giải trí đều chỉ dừng lại ở một cái màn hình lớn và một chiếc cần điều khiểu hay bộ bàn phím, chuột, thì bạn sẽ nghĩ trải nghiệm này đủ tốt rồi. Nhưng một khi các công nghệ như thực tại ảo, tương tác thực tế ảo trở nên thịnh hành, biết đâu đấy con người sẽ đòi hỏi một trải nghiệm khác, một trải nghiệm chỉ có thể được mang tới bởi AI.[su_divider]