Le 21 août 2024, lors de la conférence des développeurs de jeux « CEDEC 2024 », une session « La technologie IA qui réalise l'automatisation du jeu dans les mêmes conditions que les joueurs humains sur PlayStation 5 » a eu lieu.
Au cours de cette session, la technologie d'IA qui réalise l'automatisation du jeu a été introduite, qui est utilisée dans certains tests fonctionnels lors de l'AQ (assurance qualité) du logiciel système PS5. Les intervenants étaient les trois personnes suivantes.
Département R&D de Sony Interactive Entertainment Game Services Chercheur en apprentissage automatique Hiroyuki Yabe
Département R&D de Sony Interactive Entertainment Game Services Chercheur en apprentissage automatique Yutaro Miyauchi
Sony Interactive Entertainment Platform System and Experience Design Division S Département 3 Département 3 Ingénieur logiciel, QA logiciel Ingénierie M. Hiroki Nakahara
|
Efforts d'assurance qualité du logiciel système
La PS5 dispose de fonctions système telles que l'accueil et le centre de contrôle, mais afin de garantir la qualité du contenu d'affichage et des transitions d'écran du logiciel système, l'équipe d'assurance qualité du logiciel système (ci-après dénommée l'équipe d'assurance qualité) a automatisé les tests. a déclaré qu'il adoptait activement.
Il semble que l’automatisation des tests présente plusieurs avantages, par exemple la possibilité de poursuivre les tests jusqu’à la sortie du logiciel. S’il s’agit d’un test manuel, il sera effectué au cas par cas, mais dans la plupart des cas il ne sera effectué que quelques fois par projet.
Dans ce cas, si un bug était introduit au moment indiqué par la flèche rouge dans la diapositive ci-dessous, il serait détecté lors des tests de fin de projet, indiqués par la flèche bleue, et il y aurait un risque qu'il soit détecté. affecter la libération.
D'un autre côté, les tests automatiques peuvent être effectués même tous les jours et les bogues peuvent être détectés immédiatement au moment indiqué par la flèche verte, ce qui présente l'avantage d'une « détection précoce des bogues ». De plus, si vous pouvez exécuter des tests automatisés avant de valider le code de développement, vous pouvez empêcher l'introduction de bogues.
De ce point de vue, l'équipe QA favorise l'automatisation des tests, mais il est nécessaire de prêter une certaine attention aux fonctions système liées au gameplay.
L'un d'eux est « l'activité », qui affiche la progression du jeu en cours de lecture sous forme de carte, et le contrôle qualité inclut également si la progression et la durée de jeu estimée sont affichées correctement sur la carte. Il a également été démontré que le contenu des cartes change parfois en fonction du gameplay, et qu'un contrôle qualité est également nécessaire pour vérifier si les parties liées à ces modifications fonctionnent correctement.
De plus, les tests fonctionnels des logiciels système nécessitent parfois une certaine quantité de gameplay, comme lors de la vérification des mises à jour d'activité. Par conséquent, il est souhaitable d’automatiser ce gameplay également du point de vue de l’efficacité et de la détection précoce des défauts.
Il existe d'autres fonctions logicielles système liées au jeu autres que les activités, et certaines sont utilisées en fonction du titre et d'autres non. Par conséquent, lors de l’automatisation du test des fonctions liées au gameplay, une forme d’automatisation générale et indépendante du titre est requise.
De plus, le test automatisé doit être réalisé dans les mêmes conditions qu’un joueur humain, c’est-à-dire en utilisant uniquement les informations affichées à l’écran et audio. En raison de ces contraintes, il semble que les tests automatiques des fonctions liées au gameplay aient été extrêmement difficiles.
Aperçu du système de lecture automatique
Comme mentionné ci-dessus, les tests fonctionnels du logiciel système de la PS5 nécessitent que les seules informations pouvant être utilisées soient les informations sur l'écran et l'audio du jeu, et qu'il s'agisse d'une technologie à usage général qui ne dépend pas de titres de jeux spécifiques. De plus, pour appliquer cela au domaine de l’assurance qualité, il est nécessaire de pouvoir réaliser l’automatisation à un coût réaliste.
Compte tenu de ces contraintes, l'équipe QA a développé un système de jeu automatique en combinant plusieurs technologies basées sur « l'apprentissage par imitation », une technologie qui apprend et reproduit le jeu humain.
Au cours de cette session, un aperçu de ce système de jeu automatique a été présenté à l'aide de l'exemple de "ASTRO's PLAYROOM", préinstallé sur PS5. Ce système fonctionne sur un PC et obtient uniquement les informations d'écran de la PS5 comme informations de jeu. Le système détermine ensuite le contenu du fonctionnement de la manette et l'envoie à la PS5 pour faire fonctionner automatiquement le jeu.
De plus, ce système utilise deux types d'agents pour faire fonctionner automatiquement le jeu. L'un d'eux est appelé « agent de relecture », qui rejoue le jeu manuel préenregistré pour reproduire les mêmes opérations que le jeu manuel.
L'autre type d'« agent d'imitation » est un modèle d'IA qui a appris le jeu humain en utilisant l'apprentissage par imitation, un type d'apprentissage automatique, et qui reproduit le jeu humain.
Étant donné que les agents de relecture reproduisent exactement les mêmes opérations de contrôleur que lors de la lecture manuelle précédente, il n'y a pas d'éléments aléatoires et ils ne sont utilisés que dans des scènes qui peuvent progresser avec les mêmes opérations à tout moment.
Plus précisément, celles-ci incluent certaines opérations de l'interface utilisateur telles que démarrer le jeu sur l'écran titre et se déplacer le long d'un itinéraire fixe où les points de départ et d'arrivée restent toujours les mêmes. De plus, le Replay Agent est également utilisé pour effectuer sur la PS5 elle-même les opérations nécessaires aux tests fonctionnels lors du contrôle qualité.
L'apprentissage par imitation, qui permet à un agent d'imitation d'apprendre le jeu humain, est un type d'apprentissage automatique qui crée un modèle qui reproduit le modèle de comportement à partir des données comportementales du modèle. La procédure spécifique pour créer un agent d'imitation consiste à jouer manuellement au jeu plusieurs fois à l'avance, à effectuer un apprentissage par imitation à l'aide de ces données et à construire un modèle capable de reproduire les opérations de ce jeu manuel.
|
Ce modèle d'agent d'imitation ne nécessite que les informations de l'écran de jeu en entrée. Lors de la saisie des informations sur l'écran de jeu, il est configuré pour afficher l'état du contrôleur dans l'image suivante, et en fonctionnant à 10 images par seconde, il est possible de déterminer les opérations en temps réel. Cet agent d'imitation cible toutes les scènes sur lesquelles les agents de relecture ne peuvent pas être appliqués, c'est-à-dire toutes les scènes comportant le moindre élément aléatoire.
Dans le cas présent de "ASTRO's PLAYROOM", des modèles pour chaque étape ont été préparés pour l'agent d'imitation. La raison en est que moins un seul modèle est responsable de scènes, plus les performances de chaque modèle seront stables.
De plus, la « reconnaissance de scène » est également disponible en tant que fonction pour déterminer quand basculer entre deux agents. Cette fonction utilise les informations de l'écran pour déterminer quand le jeu a atteint une scène spécifique et utilise deux technologies principales. L'un d'entre eux est la « correspondance de modèle », qui détermine si un objet identique à une image de modèle pré-préparée existe sur l'écran de jeu.
Par exemple, il semble être utilisé pour reconnaître les icônes et les pop-ups qui apparaissent lorsque vous terminez une quête.
L'autre méthode est la « correspondance de points caractéristiques », qui vérifie en permanence la similitude entre une image cible préparée à l'avance et l'écran de jeu. Lorsque la similarité dépasse un seuil, le jeu détermine que la même scène que l'image cible a été atteinte et change d'agent.
Il a également été mentionné que la « robustesse contre le flou visuel » est importante lors de l'utilisation de la correspondance de points caractéristiques pour la reconnaissance de scènes. Par exemple, même si vous atteignez la même zone, il n’est pas rare que l’écran ait un aspect différent selon la direction de la caméra. De même, l'éclairage peut changer en fonction du moment de la partie. Il a également été révélé que l'équipe d'assurance qualité avait utilisé LoFTR, une méthode de correspondance d'images basée sur l'apprentissage automatique, pour traiter ces changements d'apparence.
Résumé de l'aperçu du système de jeu automatique
|
Étapes d'automatisation du gameplay
Lors de l’automatisation du gameplay, il faut d’abord déterminer le contenu du test que vous souhaitez automatiser, y compris le gameplay. Ensuite, le contenu du test est divisé en unités d’agents.
Ensuite, le jeu est réellement joué manuellement, et les données de jeu sont obtenues une fois pour les agents de relecture et 10 fois ou plus pour les agents d'imitation. Dans le cas des agents d'imitation, l'apprentissage par imitation est effectué à l'aide des données acquises.
Une fois l'apprentissage de l'imitation terminé, nous exécuterons réellement les deux agents et vérifierons si le jeu automatique est possible. Si la lecture automatique échoue, le processus revient à la phase d'acquisition de données et le flux d'acquisition de données → apprentissage d'imitation → confirmation de l'opération → ... est répété jusqu'à ce que la lecture automatique réussisse.
Une fois la lecture automatique réussie, utilisez un pipeline d'exécution périodique tel que Jenkins pour organiser le processus. C'est la séquence d'automatisation du gameplay.
La configuration de l'équipement et le flux de données pour chaque étape de l'automatisation du jeu ont également été introduits
|
L'équipe QA utilise ce système de jeu automatique pour automatiser et exécuter régulièrement des tests fonctionnels, y compris le gameplay. En conséquence, il a été constaté que trois bugs dans le système ont été détectés automatiquement et que ces bugs ont été détectés lors d'un test fonctionnel immédiatement après leur introduction. La raison pour laquelle le nombre de bugs détectés est si faible est que l’automatisation des tests fonctionnels se positionne actuellement comme une expérimentation dans un périmètre limité.
D'autres exemples d'automatisation du gameplay ont également été présentés
|
Explication technique des agents d'imitation
Dans l’explication technique des agents imitatifs, l’algorithme d’apprentissage imitatif a été introduit pour la première fois. En plus de la « polyvalence qui peut être appliquée à n'importe quel titre » mentionnée ci-dessus, ce projet visait à atteindre une « simplicité que tout le monde peut utiliser » qui permettrait de créer des agents d'imitation sans avoir besoin de compétences en ingénierie.
|
Sur la base de ces deux objectifs, l'équipe d'assurance qualité a adopté le « clonage comportemental » comme algorithme. Cet algorithme est le type d'apprentissage par imitation le plus simple et il s'agit d'un apprentissage supervisé qui relie l'entrée et la sortie du modèle. Dans ce cas, l’apprentissage se poursuivra, l’entrée étant l’écran de jeu et la sortie étant les opérations du contrôleur. Le processus spécifique de création d'un agent d'imitation, tel que décrit ci-dessus, consiste à enregistrer à l'avance l'écran de jeu et les informations du contrôleur sous forme de données via un jeu manuel, puis à demander au modèle d'apprendre les données de jeu.
|
La structure du modèle est extrêmement simple : l'image d'entrée unique passe par la couche d'extraction des caractéristiques de l'image et la couche de sortie de l'état du contrôleur (couche entièrement connectée), et l'état du contrôleur est finalement généré. Il a également été expliqué que la fréquence de fonctionnement et d'enregistrement était fixée à 10 images par seconde pour faciliter l'apprentissage.
La sortie du stick analogique du contrôleur est traitée comme un total de 9 classes, dont les valeurs haut, bas, gauche, droite, diagonale et neutre, plutôt que les valeurs analogiques. On dit que cela est dû à la facilité d’apprentissage.
De plus, concernant la sortie du modèle, afin d'afficher l'état de chaque bouton et bâton sur le contrôleur, nous avons utilisé un réseau avec une couche finale ramifiée pour chacun. La couche finale, la couche entièrement connectée, génère un guidage marche/arrêt pour un bouton et un guidage dans chaque direction pour un bâton. Cela aurait pour but d’empêcher un apprentissage inutile et d’améliorer les performances du modèle en ne créant pas de réseau d’opérations redondantes adaptées à l’ensemble de données.
|
|
Un encodeur EfficientNet pré-entraîné est utilisé pour la couche d'extraction de caractéristiques d'image. Lors de l'apprentissage par imitation, l'encodeur EfficientNet n'a effectué aucun apprentissage supplémentaire et seule la couche entièrement connectée a appris. En effet, il a été confirmé dans divers cas que les performances du modèle s'améliorent en utilisant un encodeur EfficientNet pré-entraîné sur un grand nombre d'images d'action en direct, plutôt que de laisser l'encodeur apprendre à partir d'un petit nombre d'écrans de jeu. De plus, il a été démontré que la formation utilisant uniquement des couches entièrement connectées présente l’avantage de réduire le temps requis pour la formation, à mesure que le réseau devient plus petit.
|
Il a également été révélé que la raison de l'utilisation d'une seule image comme entrée est basée sur des résultats expérimentaux antérieurs montrant que les performances du modèle se détériorent à mesure que le nombre d'entrées augmente. Cette tendance se voit non seulement dans « ASTRO's PLAYROOM », mais également dans les tâches d'autres jeux.
Ils ont également expliqué comment ils ont répondu aux défis auxquels ils ont été confrontés au cours de cette initiative. Par exemple, des opérations telles que « appuyer sur un bouton pour ramasser un objet tombé à un endroit aléatoire et essentiel à la progression » ne sont pas rares dans les jeux. Cependant, l'apprentissage profond est lent à apprendre de telles opérations qui se produisent rarement mais qui ont un impact important sur le taux d'achèvement, ce qui rend extrêmement difficile la création d'un modèle qui appuie sur le bouton comme prévu.
Par conséquent, dans cet effort, ils ont utilisé « l'équilibre des classes » pour ajuster le degré d'influence de l'apprentissage sur le modèle, et plus le taux d'occurrence des opérations est faible, plus on leur a accordé de poids, de sorte que l'apprentissage soit plus fortement reflété. dans le modèle.
Une autre faiblesse de l’apprentissage par imitation est qu’il devient difficile de récupérer si l’opération échoue et s’écarte des données du modèle. Ce problème a été résolu en apprenant des données supplémentaires qui ont permis au robot de revenir d'un état inconnu à un état modèle.
Les défis techniques et les développements futurs des agents d'imitation ont également été présentés
|
À la fin de la session, l'opinion a été exprimée que grâce à la vérification du système de jeu automatisé introduit cette fois-ci, il a été confirmé que la qualité des futurs tests d'assurance qualité pourrait s'améliorer.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!