AI chơi game lai hoạt động như thế nào và ưu điểm của nó là gì?

Tiếp tục chủ đề từng được nêu trong blog của chúng tôi chơi game trí tuệ nhân tạo Hãy nói về cách áp dụng học máy vào nó và dưới hình thức nào. Kinh nghiệm của bạn và các giải pháp được lựa chọn dựa trên kinh nghiệm đó chia sẻ Chuyên gia AI của Apex Game Tools Jakob Rasmussen.

AI chơi game lai hoạt động như thế nào và ưu điểm của nó là gì?

Trong những năm gần đây, người ta đã bàn luận rất nhiều về việc học máy sẽ thay đổi hoàn toàn ngành công nghiệp game như thế nào, bởi vì công nghệ này đã trở thành bước đột phá trong nhiều ứng dụng kỹ thuật số khác. Nhưng đừng quên rằng trò chơi phức tạp hơn nhiều so với trình mô phỏng lái xe ô tô, chương trình điều khiển máy bay không người lái hoặc thuật toán nhận dạng khuôn mặt trong hình ảnh.

Hiện tại, trong ngành công nghiệp trò chơi, người ta vẫn thường sử dụng các phương pháp AI truyền thống, chẳng hạn như phương pháp máy trạng thái hữu hạn, cây hành vi và ngày càng gần đây là AI dựa trên tiện ích (hệ thống dựa trên tiện ích). Những AI như vậy còn được gọi là hệ thống dựa trên thiết kế (trí tuệ thiết kế nhân tạo) hoặc hệ thống chuyên gia. Nhưng ngày càng rõ ràng—và đặc biệt là với người chơi—rằng các hệ thống này ngày càng trở nên ít phù hợp hơn để tạo ra những đối thủ thực sự tiên tiến có thể bắt chước hành vi của người chơi. Điều này đặc biệt đúng với các giải pháp sáng tạo. Điều này có thể được giải thích là do các nhà phát triển trí tuệ nhân tạo không thể tính đến tất cả các chiến thuật và chiến lược hành vi có thể có và triển khai thành công chúng trong các hệ thống AI truyền thống. Đối với người chơi, điều này thường dẫn đến việc chơi nhàm chán và dễ đoán trước một đối thủ có hành vi dễ nhớ.

Có nhiều lý do dẫn đến kết quả này, nhưng một trong những lý do chính là AI không có khả năng học hỏi. Do đó, khi tạo ra trí tuệ nhân tạo của kẻ thù, quyết định chuyển sang học máy, vốn đã được chứng minh trong nhiều ứng dụng khác, đương nhiên xuất hiện trong đầu. Nhưng có một số sắc thái đáng để xem xét. Do đó, AI của trò chơi phải có khả năng thích ứng với mọi tình huống và sử dụng những lợi thế mà nó mang lại, cũng như thích ứng với phong cách chơi khác nhau của đối thủ - người chơi trực tiếp và AI khác.

Bây giờ mọi chuyện thế nào?

Công ty trí tuệ nhân tạo DeepMind có trụ sở tại Vương quốc Anh gần đây đã chỉ ra cách AI có thể tự học cách chơi trò chơi, tiếp thu các quy tắc và tìm cách đánh bại hoặc đánh bại trò chơi — mặc dù cho đến nay chỉ sử dụng các trò chơi đơn giản như các trò chơi đầu tiên Atari - ví dụ như cờ vua và trò chơi logic Go của Nhật Bản. Kết quả thu được cho họ cho thấy trí tuệ nhân tạo có thể đưa ra đánh giá đầy đủ về những gì đang diễn ra trên thực địa. Nếu nói về việc điều chỉnh AI để phù hợp với các phong cách chơi khác nhau của đối thủ thì kết quả cho đến nay không quá ấn tượng.

Ngày nay, mạng lưới thần kinh đã học cách nhận dạng hình ảnh và lái ô tô. Nhưng những chức năng này có thể được triển khai bằng cách sử dụng các kiến ​​trúc tương đối đơn giản, ngay cả khi kết quả là chúng trở nên khá sâu và đồ sộ. Như vậy, AI nhận dạng hình ảnh trên Facebook có độ sâu khoảng 100 lớp, đó là lý do tại sao nó giống một bộ não sinh học - xét về số lượng và độ phức tạp của mối quan hệ giữa các tế bào thần kinh tạo thành một mạng lưới lớn.

AI chơi game

Liên quan đến việc ứng dụng machine learning trong ngành công nghiệp game, có một số hạn chế do không phải lúc nào cũng có thể sử dụng loại kiến ​​trúc này. Chúng bao gồm các yêu cầu hệ thống, đặc biệt là những yêu cầu liên quan đến CPU, xác định khả năng của máy tính trong việc xử lý cấu trúc trò chơi phức tạp cũng như tính phù hợp của nó đối với cách kể chuyện và lối chơi trong trò chơi.

Do đó, hóa ra là trong nhiều trò chơi, để triển khai một hệ thống trí tuệ nhân tạo phức tạp, không thể tổ chức phần cứng cần thiết, càng không thể tồn tại một cụm máy chủ, chẳng hạn như đối với các mạng nhận dạng hình ảnh trên Facebook. Đôi khi một số AI phải hoạt động đồng thời - không chỉ trên máy tính mà còn trên các thiết bị di động và các nền tảng kém hiệu quả khác. Tất cả điều này đặt ra những hạn chế về kích thước và độ phức tạp của kiến ​​trúc máy học, bởi vì tất cả các phép tính cũng phải được thực hiện với thời lượng khung hình khoảng 1 hoặc 2 mili giây. Tất nhiên, bạn có thể sử dụng các công nghệ tối ưu hóa khác nhau và phân phối tải giữa các khung, nhưng bạn vẫn không thể loại bỏ hoàn toàn những hạn chế này.

Độ khó của trò chơi có thể gây ra vấn đề nghiêm trọng cho AI. Thật vậy, trong các trò chơi như StarCraft II, cơ chế trò chơi phức tạp hơn nhiều lần so với trò chơi Atari. Do đó, bạn không nên mong đợi rằng ở tốc độ khung hình nhất định và với các yêu cầu hệ thống đã biết, máy học nhất thiết sẽ có thể nghiên cứu toàn bộ trạng thái của trò chơi và có thể tương tác với nó. Giống như người chơi thường được hướng dẫn bằng trực giác trong giai đoạn đầu của trò chơi, AI phải học cách xử lý ban đầu trạng thái của trò chơi để đơn giản hóa quá trình tiếp theo của nó. Ví dụ, ở một trong những lần cuối cùng API cho Starcraft II bản đồ chỉ hiển thị thông tin mà các nhà phát triển cho là quan trọng: trong một trường hợp, AI sử dụng chế độ xem thu nhỏ toàn bộ khu vực bản đồ, trong trường hợp thứ hai, giống như người chơi, nó có thể di chuyển camera và sau đó là nhận thức của nó bị giới hạn ở thông tin trên màn hình.

AI chơi game lai hoạt động như thế nào và ưu điểm của nó là gì?
Hình dung của AlphaStar AI so với người chơi trong StarSraft II: ảnh chụp màn hình hiển thị các quan sát thô, hoạt động của mạng thần kinh, một số hành động và tọa độ có thể có của nó cũng như kết quả mong đợi của trận đấu

Đây là một khía cạnh đặc biệt có liên quan trong trường hợp trò chơi. Thông thường, các phương pháp được chấp nhận chung để giải quyết các vấn đề về học máy không thể áp dụng được cho trí tuệ nhân tạo chơi game. Ví dụ: anh ấy thường không cần phải thắng hoặc làm bất cứ điều gì cần thiết để giành chiến thắng, như trường hợp của các trò chơi Atari. Thông thường, vai trò của AI là làm cho trò chơi trở nên thú vị hơn. Anh ta có thể được yêu cầu đóng một vai trò và hành xử phù hợp với tính cách mà anh ta chịu trách nhiệm. Do đó, AI trò chơi gắn liền hơn với thiết kế trò chơi và cách kể chuyện và phải có các công cụ cần thiết để kiểm soát hành vi của chúng nhằm đạt được mục tiêu nhất định. Học máy ở dạng thuần túy không phải lúc nào cũng phù hợp cho việc này, điều đó có nghĩa là bạn cần tìm kiếm thứ khác.

Các vấn đề thực tế của học máy

Những vấn đề này đã xuất hiện trong quá trình phát triển trí tuệ nhân tạo dựa trên học máy cho Giải phóng, nơi AI phải hoạt động giống như những người chơi thông thường - nghĩa là phải linh hoạt và tháo vát.

Giống như Starcraft II, Unleashed phức tạp hơn nhiều so với cờ vây và cờ vây của Atari. Trò chơi trực quan và dễ học, nhưng để thực sự thành công đòi hỏi một số kỹ năng quản lý meta. Người chơi phải xây dựng mê cung, đặt quái vật tấn công kẻ thù và suy nghĩ về chiến lược kinh tế, tấn công và phòng thủ của các công trình trong suốt trò chơi. Để làm được điều này, anh ta cần phải lừa gạt và tính toán trước các bước đi của người khác, cũng như quản lý meta tâm lý - chính điều này khiến poker trở thành một thứ không chỉ là một trò chơi thống kê.

AI chơi game lai hoạt động như thế nào và ưu điểm của nó là gì?
Ảnh chụp màn hình từ Unleashed

Để tìm kiếm kiến ​​trúc phù hợp nhất cho những mục đích này, các công nghệ như sự tiến hóa thần kinh và học sâu, đồng thời kiểm tra cách chúng hoạt động ở dạng thô như AI của kẻ thù.

Điều đó thật tồi tệ.

Rõ ràng là Unleashed cần phải giải quyết nhiều vấn đề toàn cầu mà học máy khó có thể thích ứng được.

Một trong số đó là xây dựng một mê cung hiệu quả. Như trong nhiều trò chơi có mục tiêu là bảo vệ một tòa tháp, ở đây người chơi cần xây dựng một mê cung xung quanh nó để quái vật vượt qua. Đến lượt chúng, chúng phải bị loại bỏ bằng cách sử dụng vũ khí được đặt khắp mê cung. Lý tưởng nhất là mê cung phải dài nhất có thể để gây đủ sát thương cho quái vật và ngăn chúng tiếp cận tháp. Quái vật dễ bị tổn thương bởi một số loại vũ khí hơn những loại vũ khí khác, vì vậy chúng nên được đặt trong mê cung trước những người khác để có hiệu quả hơn. Điểm đặc biệt của Unleash là không có mê cung lý tưởng: có rất nhiều loại quái vật trong trò chơi mà bằng cách này hay cách khác, một trong số chúng sẽ dễ dàng đi qua bất kỳ phần nào của mê cung. Bất kỳ mê cung nào cũng phải được điều chỉnh để phù hợp với những quái vật mới do người chơi khác tung ra. Vì vậy, không chỉ cần dạy trí tuệ nhân tạo cách xây dựng mê cung mà còn phải dạy nó cách tạo ra những mê cung hiệu quả cho các tình huống khác nhau có thể gặp ở cả phiên bản đầu và cuối của trò chơi.

AI cũng phải học cách tính toán những con quái vật nào sẽ xuất hiện trong mê cung. Đây là một vấn đề hoàn toàn trái ngược với việc xây dựng mê cung. Như trong nhiều trò chơi khác, trong Unleash chỉ xây dựng quân đội và gửi đến trại của kẻ thù là chưa đủ: bạn còn cần phải theo dõi khả năng phòng thủ của kẻ thù và cơ cấu quân đội sao cho đánh trúng điểm yếu của kẻ thù. một cách hiệu quả nhất có thể. Đội quân quái vật phải tương tác với nhau theo cách sao cho có thể vượt qua mê cung thành công nhất. Đôi khi cũng cần phải thả quái vật theo một thứ tự nhất định tùy theo chức năng và vai trò của chúng. Điều này cũng làm tăng số lượng kết hợp khác nhau.

Cuối cùng, vì người chơi vừa phải tạo mê cung vừa tập hợp một đội quân quái vật nên AI cũng cần học cách cân bằng giữa tấn công và phòng thủ. Cũng cần lưu ý rằng người chơi càng xây dựng nhiều đội quân quái vật và càng xây dựng nhiều mê cung thì anh ta càng cần nhiều tài nguyên hơn cho việc này. Vì vậy, chiến lược tấn công chính xác là vô cùng quan trọng đối với cả nền kinh tế trong trò chơi và chiến thắng trong đó. Và để có thể cạnh tranh, AI phải có khả năng sắp xếp các nguồn lực để tạo ra một đội quân quái vật hùng mạnh mà không ảnh hưởng đến sức mạnh của mê cung. Đầu tư nhiều nhất có thể vào quái vật có thể tiết kiệm chi phí nhưng nó làm tăng nguy cơ quái vật của kẻ thù chiếm lấy mê cung. Nếu bạn dựa vào việc tăng cường bảo vệ mê cung, nó có thể làm tê liệt nền kinh tế của bạn. Không có kịch bản nào trong số này sẽ dẫn đến chiến thắng. Do đó, vấn đề tối ưu hóa trong Unleashed hóa ra lại lớn hơn so với trường hợp cờ vua hoặc Starcraft và bao gồm nhu cầu hy sinh thứ gì đó và tính toán lợi ích của bạn trước vài bước.

Khi trí tuệ nhân tạo hoạt động, nhiều vấn đề trước đây chưa được giải quyết đã xuất hiện. Do đó, lúc đầu, AI thường đạt đến một mức độ phát triển nhất định để bắt đầu hiểu các khía cạnh nhất định của trò chơi - ví dụ: vũ khí nào trong mê cung có hiệu quả chống lại một số loại quái vật nhất định hoặc quái vật nào giỏi nhất. đi qua một số phần của mê cung. Nhưng việc học diễn ra chậm và dẫn đến việc phát triển các chiến lược đơn điệu.

Sự cần thiết của các cách tiếp cận song song

Mặc dù việc đào tạo AI dựa trên máy học diễn ra chậm và không đặc biệt thành công, nhưng AI tốt hơn và AI đối thủ mạnh mẽ hơn đã trở nên cần thiết cho các giai đoạn thử nghiệm và phát triển khác. Để triển khai chúng, kiến ​​trúc Tiện ích đã được sử dụng, nhờ đó bạn có thể tạo AI đặc biệt để thử nghiệm và kiểm tra chất lượng của trò chơi, kiểm tra trong trò chơi và cân bằng vũ khí và quái vật cũng như tạo mê cung và quái vật cụ thể. Tuy nhiên, trong quá trình phát triển Unleash, chính những người sáng tạo đã mài giũa kỹ năng của mình để hoàn thiện nó và sau đó quyết định sử dụng kiến ​​thức thu được để tạo ra một AI Tiện ích phức tạp hơn. Vì vậy, rõ ràng là nhiều vấn đề phát sinh trong hệ thống trí tuệ nhân tạo dựa trên học máy có thể được giải quyết dễ dàng với sự trợ giúp của các hệ thống Tiện ích sử dụng kiến ​​thức được nhúng trong chúng và ngược lại.

Ví dụ, sẽ tốt hơn nếu xây dựng các mê cung hiệu quả hơn bằng cách sử dụng Utility AI, dựa trên nền tảng kiến ​​thức được tổng hợp từ kết quả thử nghiệm nội bộ. Bạn có thể dễ dàng mô tả và lập trình thuật toán xây dựng mê cung và đặt vũ khí trong đó theo cách mà người chơi còn sống sẽ dễ dàng bảo vệ tòa tháp khỏi những con quái vật cụ thể hơn. Nhưng việc tạo ra một đội quân quái vật dựa trên kiến ​​thức về căn cứ của kẻ thù là một nhiệm vụ khó khăn đối với những AI như vậy, vì số lượng các điều kiện và sự kết hợp khác nhau phải được tính đến là rất lớn. Với kiểu kiến ​​trúc AI này, việc tìm kiếm những nhóm quái vật phù hợp sẽ mất rất nhiều thời gian. Khi đó, với những hạn chế nhất định, deep learning sẽ là một giải pháp lý tưởng cho vấn đề này.

Tạo AI lai

Vì vậy, người ta đã quyết định kết hợp hai phương pháp này và từ đó tạo ra một hệ thống trí tuệ nhân tạo lai dựa trên học máy và Tiện ích. Ý tưởng là khi cần xử lý một số lượng lớn các kết hợp và trạng thái trò chơi hoặc khi cần dạy nó điều gì đó, học máy sẽ được sử dụng. Đối với các nhiệm vụ khác, tốt hơn là nên dựa vào kinh nghiệm cá nhân của các nhà phát triển, hệ thống Tiện ích đã được sử dụng. Ưu điểm của phương pháp này là, nếu cần, hành vi của AI có thể được kiểm soát tốt hơn để đảm bảo rằng nó tuân theo mục tiêu nhất định một cách chính xác hơn. Ví dụ: bạn có thể sử dụng AI tiện ích để cân bằng giữa tấn công và phòng thủ nhằm tạo ra các mức độ gây hấn khác nhau hoặc bạn có thể tạo các cấu hình mê cung khác nhau cho các AI khác nhau để tạo phong cách chơi riêng cho chúng. Bạn cũng có thể đặt các hệ thống giá trị nhất định cho mạng lưới thần kinh để hình thành các sở thích khác nhau khi chiêu mộ quái vật trên không hoặc trên mặt đất, đồng thời bổ sung thêm tính cá nhân cho từng AI. Có nhiều lựa chọn hơn để thực hiện các quyết định thiết kế, tất cả đều nêu bật điểm mạnh của một loại kiến ​​trúc AI cụ thể.

Phương pháp kết hợp cũng trả lời một câu hỏi khác mà nhóm gặp phải khi phát triển AI cho Unleash: Chúng ta có nên sử dụng một mạng lưới thần kinh sâu toàn cầu duy nhất dựa trên học máy để tính đến tất cả đầu vào và đầu ra hay tốt hơn là thiết kế AI với cấu trúc phân cấp?

AI chơi game lai hoạt động như thế nào và ưu điểm của nó là gì?
Hai kiến ​​trúc được sử dụng trong Unleash: bên trái là mạng lưới thần kinh sâu lớn với kiến ​​trúc thống nhất riêng, bên phải là hệ thống phân cấp trong đó mỗi mạng có nhiệm vụ riêng

Chưa hết, tôi muốn tạo ra một cách tiếp cận chung cho một hệ thống trí tuệ nhân tạo, trong kiến ​​trúc mà các nhà phát triển sẽ không kết hợp kinh nghiệm của chính họ. Tuy nhiên, càng có nhiều mục vào trò chơi thì mạng lưới thần kinh càng phát triển. Đồng thời, không thể tách rời việc huấn luyện AI và dạy chúng một điều: phòng thủ hoặc tấn công. Và có những lo ngại rằng một cách tiếp cận tổng quát hơn sẽ dẫn đến sự gia tăng đáng kể số lượng phép tính.

Đây là nơi nảy sinh ý tưởng tạo ra một kiến ​​trúc phân cấp, trong đó mỗi nhiệm vụ cụ thể sẽ được thực hiện bởi một mạng lưới thần kinh chuyên biệt. Theo ý tưởng này, trước tiên trí tuệ nhân tạo cần quyết định việc phân bổ nguồn lực để tấn công (tăng quân đội quái vật) và phòng thủ (xây dựng mê cung). Sau khi thực hiện điều này, anh ta sẽ chuyển sang lớp tiếp theo theo lựa chọn của mình và có quyền truy cập vào phần cần thiết của trạng thái trò chơi, sau đó anh ta đưa ra quyết định chi tiết về việc chọn quái vật nào và cài đặt vũ khí nào trong mê cung.

Kết luận và các bước tiếp theo

Theo cách tiếp cận kết hợp của Utility, AI với các mạng dựa trên máy học được tích hợp vào nó giống như một kiến ​​trúc phân cấp. Và ngược lại, nó tương tự như một bộ não sinh học, trong đó các trung tâm thần kinh khác nhau chịu trách nhiệm về nhiệm vụ riêng của mình.

Hiện tại, AI của kẻ thù trong Unleash rất khó đánh bại: chúng có thể thích ứng với mọi tình huống trong trò chơi, nhưng đồng thời nhà phát triển có thể thay đổi cài đặt theo ý mình. Theo tác giả bài viết, theo thời gian, cách tiếp cận kết hợp sẽ trở nên phổ biến hơn và xuất hiện trong nhiều trò chơi khác. Có lẽ một ngày nào đó sẽ có thể đưa trí tuệ nhân tạo dựa trên học máy ở dạng thuần túy vào trò chơi. Nhưng rõ ràng là việc này vẫn sẽ mất thời gian. Hiện tại, mục tiêu là tìm ra một kiến ​​trúc có thể tự thích ứng với các nhiệm vụ mà nó phải đối mặt và tìm ra những cách tối ưu để giải quyết chúng.

Nguồn: www.habr.com

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster