


Utilisez la magie pour vaincre la magie ! Une Go AI qui rivalisait avec les meilleurs joueurs humains perdus face à ses pairs
Ces dernières années, l'apprentissage par renforcement dans les jeux personnels a permis d'obtenir des performances surhumaines dans une série de jeux tels que le Go et les échecs. De plus, la version idéalisée du jeu personnel converge également vers un équilibre de Nash. L'équilibre de Nash est très célèbre dans la théorie des jeux. Cette théorie a été proposée par John Nash, fondateur de la théorie des jeux et lauréat du prix Nobel, c'est-à-dire que dans un processus de jeu, quel que soit le choix stratégique de l'autre partie, une partie choisira une certaine stratégie. . stratégie, la stratégie est appelée stratégie dominante. Si un joueur choisit la stratégie optimale lorsque les stratégies de tous les autres joueurs sont déterminées, alors cette combinaison est définie comme un équilibre de Nash.
Des recherches antérieures ont montré que les stratégies de contrôle continu apparemment efficaces dans le jeu personnel peuvent également être exploitées par des stratégies contradictoires, ce qui suggère que le jeu personnel n'est peut-être pas aussi puissant qu'on le pensait auparavant. Cela nous amène à une question : la stratégie de confrontation est-elle un moyen de surmonter le jeu de soi, ou la stratégie de jeu de soi en elle-même est-elle insuffisante ?
Afin de répondre à cette question, des chercheurs du MIT, de l'UC Berkeley et d'autres institutions ont mené des recherches. Ils ont choisi un domaine qui est bon pour les jeux personnels, à savoir le Go. Plus précisément, ils ont mené une attaque contre KataGo, le système Go AI le plus puissant accessible au public. Pour un réseau fixe (gel de KataGo), ils ont formé une stratégie contradictoire de bout en bout Avec seulement 0,3% des calculs lors de la formation de KataGo, ils ont obtenu une stratégie contradictoire et ont utilisé cette stratégie pour attaquer KataGo. a obtenu un taux de victoire de 99 % contre KataGo, ce qui est comparable aux 100 meilleurs joueurs européens de Go. Et lorsque KataGo a effectué suffisamment de recherches pour approcher des niveaux surhumains, son taux de victoire a atteint 50 %. Fondamentalement, l’attaquant (dans cet article faisant référence à la stratégie apprise dans cette étude) ne peut pas gagner en apprenant une stratégie générale de Go.
Ici, nous devons parler de KataGo. Comme le dit cet article, lorsqu'ils ont écrit cet article, KataGo était encore le système Go AI public le plus puissant. Avec le soutien de la recherche, on peut dire que KataGo est très puissant, battant ELF OpenGo et Leela Zero, qui sont surhumains en eux-mêmes. Désormais, l'attaquant de cette étude a vaincu KataGo, qui peut être considéré comme très puissant.
Figure 1 : La stratégie contradictoire bat la victime de KataGo.
- Adresse papier : https://arxiv.org/pdf/2211.00241.pdf
- Page d'accueil de la recherche : https://goattack.alignmentfund.org/adversarial-policy- katago?row=0#no_search-board
Fait intéressant, la stratégie contradictoire proposée dans cette étude ne peut pas vaincre les joueurs humains, et même les joueurs amateurs peuvent largement surpasser le modèle proposé.
Méthode d'attaque
Les méthodes précédentes telles que KataGo et AlphaZero entraînent généralement l'agent à jouer à des jeux par lui-même, et l'adversaire du jeu est l'agent lui-même. Dans cette recherche menée par le MIT, l'UC Berkeley et d'autres institutions, un jeu se joue entre l'attaquant (adversaire) et les agents victimes fixes (victime), et l'attaquant est formé de cette manière. La recherche espère former les attaquants à exploiter les interactions du jeu avec les agents victimes plutôt que de simplement imiter les adversaires du jeu. Ce processus est appelé « jeu de victime ».
Dans le jeu de soi conventionnel, l'agent modélise les actions de l'adversaire en échantillonnant à partir de son propre réseau de politiques. Cette méthode est en effet adaptée au jeu de soi. Mais dans le jeu de la victime, modéliser la victime à partir du réseau politique de l'attaquant n'est pas une bonne approche. Pour résoudre ce problème, cette étude propose deux types de MCTS contradictoires (A-MCTS), notamment :
- A-MCTS-S : Dans A-MCTS-S, le chercheur définit le processus de recherche de l'attaquant comme suit : lorsque la victime déplace la pièce d'échec, échantillonnez le réseau de politique de la victime lorsque c'est au tour de l'attaquant de déplacer la pièce d'échecs ; pièce d'échecs Quand , échantillon du réseau politique de l'attaquant.
- A-MCTS-R : Puisque A-MCTS-S sous-estime la capacité de la victime, cette étude propose A-MCTS-R, sur chaque nœud victime de l'arborescence A-MCTS-R. La victime exécute MCTS. Cependant, ce changement augmente la complexité informatique de la formation et de l’inférence pour l’attaquant.
Pendant le processus de formation, l'étude a entraîné des stratégies contradictoires contre des jeux joués contre des victimes gelées de KataGo. Sans recherche, l'attaquant peut atteindre un taux de victoire supérieur à 99 % contre les victimes de KataGo, ce qui est comparable aux 100 meilleurs joueurs de Go européens. De plus, l’attaquant entraîné a atteint un taux de victoire de plus de 80 % en 64 tours joués contre l’agent victime, ce que les chercheurs estiment comparable à celui des meilleurs joueurs humains de Go.
Il convient de noter que ces jeux montrent que la stratégie adverse proposée dans cette étude n'est pas entièrement un jeu de hasard, mais met fin au jeu prématurément en incitant KataGo à placer un coup dans une position favorable à l'attaquant. En fait, même si l’attaquant était capable d’exploiter des stratégies de jeu comparables à celles des meilleurs joueurs humains de Go, il a été facilement vaincu par des amateurs humains.
Afin de tester la capacité de l’attaquant à jouer contre des humains, cette étude a permis à Tony Tong Wang, le premier auteur de l’article, de jouer réellement contre le modèle de l’attaquant. Wang n'avait jamais appris le jeu de Go avant ce projet de recherche, mais il a quand même largement battu le modèle de l'attaquant. Cela montre que même si la stratégie contradictoire proposée dans cette étude peut vaincre un modèle d’IA capable de vaincre les meilleurs joueurs humains, elle ne peut pas vaincre les joueurs humains. Cela peut indiquer que certains modèles AI Go présentent des bugs.
Résultats de l'évaluation
Attack victim Policy Network
Tout d'abord, les chercheurs ont évalué les performances de leurs propres méthodes d'attaque sur KataGo (Wu, 2019) et ont découvert que l'algorithme A-MCTS-S était Search-free Latest (le dernier réseau de KataGo) atteint un taux de victoire de plus de 99 %.
Comme le montre la figure 3 ci-dessous, le chercheur a évalué les performances de la stratégie d'auto-confrontation sur les réseaux politiques initial et récent. Ils ont constaté que pendant la majeure partie de l’entraînement, l’auto-agresseur avait obtenu un taux de victoire élevé (supérieur à 90 %) contre les deux victimes. Cependant, au fil du temps, l'attaquant suradapte Latest et le taux de victoire contre Initial tombe à environ 20 %.
Les chercheurs ont également évalué les meilleurs points de contrôle de contre-stratégie par rapport à Latest, obtenant un taux de victoire de plus de 99 %. De plus, un taux de victoire aussi élevé est obtenu alors que la stratégie adverse est entraînée sur seulement 3,4 × 10^7 pas de temps, soit 0,3 % des pas de temps de la victime.
Migrer vers les victimes avec recherche
Les chercheurs ont réussi à migrer la stratégie contradictoire vers le mécanisme de recherche faible et ont évalué la stratégie contradictoire entraînée dans la section précédente par rapport à la dernière capacité de recherche. Comme le montre la figure 4a ci-dessous, ils ont constaté que le taux de victoire de l'A-MCTS-S contre les victimes était tombé à 80 % après 32 tours de victimes. Mais ici, la victime ne cherche pas lors de la formation et de l'inférence.
De plus, les chercheurs ont également testé A-MCTS-R et ont constaté qu'il fonctionnait mieux, atteignant plus de 99 % de taux de victoire contre Latest à 32 tours de victimes, mais à 128 tours, le taux de victoire tombe en dessous de 10. %.
Dans la figure 4b, les chercheurs montrent que lorsque l'attaquant atteint 4096 rounds, A-MCTS-S atteint un taux de victoire maximum de 54 % contre Latest. Ceci est très similaire aux performances de l'A-MCTS-R à 200 époques, qui a atteint un taux de victoire de 49 %.
Autres évaluations
Comme le montre la figure 9 ci-dessous, les chercheurs ont constaté que bien que Latest soit un agent plus puissant, l'attaquant formé contre Latest a mieux performé contre Latest que Initial.
Enfin, le chercheur a discuté du principe de l'attaque, y compris la prédiction de la valeur de la victime et l'évaluation de la défense codée en dur. Comme le montre la figure 5 ci-dessous, toutes les attaques de base fonctionnent bien moins bien que les stratégies adverses sur lesquelles elles ont été formées.
Veuillez vous référer au document original pour plus de détails techniques.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lors de la conversion des chaînes en objets dans vue.js, JSON.Parse () est préféré pour les chaînes JSON standard. Pour les chaînes JSON non standard, la chaîne peut être traitée en utilisant des expressions régulières et réduisez les méthodes en fonction du format ou du codé décodé par URL. Sélectionnez la méthode appropriée en fonction du format de chaîne et faites attention aux problèmes de sécurité et d'encodage pour éviter les bogues.

Résumé: Il existe les méthodes suivantes pour convertir les tableaux de chaîne Vue.js en tableaux d'objets: Méthode de base: utilisez la fonction de carte pour convenir à des données formatées régulières. Gameplay avancé: l'utilisation d'expressions régulières peut gérer des formats complexes, mais ils doivent être soigneusement écrits et considérés. Optimisation des performances: Considérant la grande quantité de données, des opérations asynchrones ou des bibliothèques efficaces de traitement des données peuvent être utilisées. MEILLEUR PRATIQUE: Effacer le style de code, utilisez des noms de variables significatifs et des commentaires pour garder le code concis.

L'article présente le fonctionnement de la base de données MySQL. Tout d'abord, vous devez installer un client MySQL, tel que MySQLWorkBench ou le client de ligne de commande. 1. Utilisez la commande MySQL-UROot-P pour vous connecter au serveur et connecter avec le mot de passe du compte racine; 2. Utilisez Createdatabase pour créer une base de données et utilisez Sélectionner une base de données; 3. Utilisez CreateTable pour créer une table, définissez des champs et des types de données; 4. Utilisez InsertInto pour insérer des données, remettre en question les données, mettre à jour les données par mise à jour et supprimer les données par Supprimer. Ce n'est qu'en maîtrisant ces étapes, en apprenant à faire face à des problèmes courants et à l'optimisation des performances de la base de données que vous pouvez utiliser efficacement MySQL.

Il existe de nombreuses raisons pour lesquelles la startup MySQL échoue, et elle peut être diagnostiquée en vérifiant le journal des erreurs. Les causes courantes incluent les conflits de port (vérifier l'occupation du port et la configuration de modification), les problèmes d'autorisation (vérifier le service exécutant les autorisations des utilisateurs), les erreurs de fichier de configuration (vérifier les paramètres des paramètres), la corruption du répertoire de données (restaurer les données ou reconstruire l'espace de la table), les problèmes d'espace de la table InNODB (vérifier les fichiers IBDATA1), la défaillance du chargement du plug-in (vérification du journal des erreurs). Lors de la résolution de problèmes, vous devez les analyser en fonction du journal d'erreur, trouver la cause profonde du problème et développer l'habitude de sauvegarder régulièrement les données pour prévenir et résoudre des problèmes.

Afin de définir le délai d'expiration de Vue Axios, nous pouvons créer une instance AxiOS et spécifier l'option Timeout: dans les paramètres globaux: vue.prototype. $ Axios = axios.create ({timeout: 5000}); Dans une seule demande: ce. $ axios.get ('/ api / utilisateurs', {timeout: 10000}).

Traiter efficacement 7 millions d'enregistrements et créer des cartes interactives avec la technologie géospatiale. Cet article explore comment traiter efficacement plus de 7 millions d'enregistrements en utilisant Laravel et MySQL et les convertir en visualisations de cartes interactives. Exigences initiales du projet de défi: extraire des informations précieuses en utilisant 7 millions d'enregistrements dans la base de données MySQL. Beaucoup de gens considèrent d'abord les langages de programmation, mais ignorent la base de données elle-même: peut-il répondre aux besoins? La migration des données ou l'ajustement structurel est-il requis? MySQL peut-il résister à une charge de données aussi importante? Analyse préliminaire: les filtres et les propriétés clés doivent être identifiés. Après analyse, il a été constaté que seuls quelques attributs étaient liés à la solution. Nous avons vérifié la faisabilité du filtre et établi certaines restrictions pour optimiser la recherche. Recherche de cartes basée sur la ville

Ingénieur backend à distance Emploi Vacant Société: Emplacement du cercle: Bureau à distance Type d'emploi: Salaire à temps plein: 130 000 $ - 140 000 $ Description du poste Participez à la recherche et au développement des applications mobiles Circle et des fonctionnalités publiques liées à l'API couvrant l'intégralité du cycle de vie de développement logiciel. Les principales responsabilités complètent indépendamment les travaux de développement basés sur RubyOnRails et collaborent avec l'équipe frontale React / Redux / Relay. Créez les fonctionnalités de base et les améliorations des applications Web et travaillez en étroite collaboration avec les concepteurs et le leadership tout au long du processus de conception fonctionnelle. Promouvoir les processus de développement positifs et hiérarchiser la vitesse d'itération. Nécessite plus de 6 ans de backend d'applications Web complexe

L'optimisation des performances MySQL doit commencer à partir de trois aspects: configuration d'installation, indexation et optimisation des requêtes, surveillance et réglage. 1. Après l'installation, vous devez ajuster le fichier my.cnf en fonction de la configuration du serveur, tel que le paramètre innodb_buffer_pool_size, et fermer query_cache_size; 2. Créez un index approprié pour éviter les index excessifs et optimiser les instructions de requête, telles que l'utilisation de la commande Explication pour analyser le plan d'exécution; 3. Utilisez le propre outil de surveillance de MySQL (ShowProcessList, Showstatus) pour surveiller la santé de la base de données, et sauvegarde régulièrement et organisez la base de données. Ce n'est qu'en optimisant en continu ces étapes que les performances de la base de données MySQL peuvent être améliorées.
