Merci Kévin. Pas de théorie mais une question : y a t il dans la base des parties où alpha zero tourne ainsi en refusant des nulles humainement acceptables MAIS finit par battre stockfish? Si oui comportement s'expliquerait peut-être par une approche statistique payante sur un grand nombre de parties...
Dans tous les algorithmes d'apprentissage profond, la machine essaie de minimiser un coût. Si la défaite ne coûte pas beaucoup plus cher que la nulle, alors A0 aura tendance à forcer, comme tu l'illustres dans cette vidéo. Un exemple : imaginons que A0 ait le choix entre deux coups : un coup n°1 qui lui assure la nulle, et un autre coup n°2 plus risqué dont A0 a calculé la probabilité de gain/nulle/défaite grâce à son expérience, disons 30%/20%/50%. Maintenant, on dit à A0 qu'une défaite coûte 20 et qu'une nulle coûte 10. Si A0 joue le coup n°1, il est sur de faire nulle donc ça va lui coûter 10. Si A0 joue le coup n°2, cela va lui coûter, en moyenne, 30% * 0 + 20% * 10 + 50% * 20 = 0 + 2 + 10 = 12. Comme 12 > 10, le coup n°2 est plus cher que le coup n°1, donc A0 ne le jouera pas. Imaginons maintenant que la défaite coûte seulement 12 et plus 20. Alors le coup n°2 va coûter en moyenne 30% * 0 + 20% * 10 + 50% * 12 = 0 + 2 + 6 = 8 < 10. Ainsi, A0 va jouer le coup n°2 car même s’il est risqué il coûte moins cher, en moyenne, que le coup n°1. Ainsi, la décision d’A0 va dépendre de ce que lui coûte une défaite par rapporte à ce que lui coûte une nulle, et ce coût peut être déterminé de manière arbitraire : si la défaite coûte beaucoup plus cher que la nulle, A0 ne prendre pas de risques. Au contraire, si elle ne coûte pas beaucoup plus cher, il aura tendance à prendre des risques. Je rejoins l’interprétation d'un commentaire de @Thomas :) sur ce point là : le paramètre qui permet de diminuer le nombre de nulle est en fait le ratio entre le coût d'une nulle et le coût d'une défaite.
Le truc je pense c'est que alpha0 procède à l élimination des branches (variantes) ou inversement la valorisation des branches en se basant sur son module d apprentissage profond comme indiqué dans l article (the most promissing positions) ce qui fait sa force parraport à stockfish qui lui se base uniquement sur du calcul du coup stockfish se retrouve complètement dominé dans le milieu de partie justement parcequ'alpha0 comprend mieux les positions et n'a pas besoin de calculer beaucoup contrairement à stockfish Qui peu pas pas calculer dans le milieu de partie jusqu' au mat dans une position égale. Par contre dans les finales on voie clairement qu' ici alapha0 n a pas fait d erreur de calcul mais une erreur de jugement c est à dire qu' à moment donné il a cru qu il pouvait obtenir que chose des positions résultantes alors qu' en réalité SF a pu calculer cette fois-ci jusqu' au gain ce que peine à faire généralement alpha0 pour illustrer mon propos j aimerais préciser que alpha0 n a pas pu par exemple voir le mat en 36 dans la fameuse partie caruana carlsen et donc tu as beau comprendre mieux et tout si SF peu calculer jusqu' au gain forcé c est juste foutu
Excellent, du coup pour gagner contre AlphaZero il faut jouer le nul ^^ Et ça peut s'expliquer par le fait qu'il a appris à jouer contre lui même. Et comme il joue pour gagner, il n'a pas appris à jouer contre qq'un qui joue le nul.
Peut être que c'est dans le but d'apprendre plus efficacement qu' A0 ne joue pas le nul. Peut être que dans le but de progresser inlassablement à force de jouer contre lui-même, il était nécessaire qu'il vise tout le temps le gain ? Mais ça reste étonnant qu'il joue le gain même quand l'adversaire peut au moins forcer la nulle (c'est une prise de risque inutile du coup ?)
Alors je ne suis pas un expert en réseau de neurones, mais à priori, le réseau est modifié selon la défaite ou la victoire. En cas de nulle, ben la réseau de neurone ne se modifie pas ( enfin je pense, puisqu'il n'a pas vraiment d'erreurs à analyser ). Donc bien comprendre qu'un algorithme de ce genre joue non seulement pour gagner, mais aussi pour progresser dans le futur. Il prend des risques pour en tirer des enseignements et progresser ( jusqu'où jour ou il pourra prendre le contrôle de tous les robots, ordinateur, portable et lance missile de la planète ... ;) donc peu lui importe de rater une nulle, il veut juste évoluer pour nous bouffer ;) )
Super intéressant ! Je ne comprends pas tout (je plafonne à 1200 elo forcément !) mais ça me fascine cette "intelligence" artificielle qui est complètement "idiote" parfois.
Alphazero est peut-être programmé que pour le gain non ? C'est bien son but de départ donc peut-être que nul ou perdre revient au même pour lui ? Juste une hypothèse.
Ce qui m'échappe un peu, et c'est même peut être valable depuis stockfish, c'est pourquoi il n'y a pas une ouverture pour les blancs qui soit préférable à toutes les autres, au moins pour le 1er coup? Je veux dire, en 1er coup, SF ou A0 doivent préférer *systématiquement* au moins un premier coup non ? Ah j'oubliais, je suis absolument nul aux échecs mais j'adore cette chaîne. Merci.
Hello Kevin !! Bravo pour ta chaîne que je découvre, c'est très classe et agréable à regarder ! Pour les erreurs d'alpha Zero, je trouve ça génial en fait, parce que ça représente des erreurs "d'humains" qui s'impatientent. Le bot a un comportement plus représentatif d'un humain et il sera indestructible à terme. En ce qui concerne les refus de nulle, l'algo a plus à y gagner sur le long terme. Il est préférable pour lui de perdre et "d'apprendre" plutôt que de signer une nulle.
Peut etre que le fait de refuser assez souvent la nulle c'est lié à l'origine même d'Alpha0. Il est programmé pour apprendre, pour atteindre son niveau actuel il a joué contre lui même et a appris de lui même. Ce qui veut dire que pour en arriver là il a dû faire des parties très laides, pour s'améliorer. Là je me dis qu'il raisonne Exactement pareil, même s'il est contre un autre ordi, initialement il apprend de ses défaites et de ses victoires. Ca donne l'impression que si à la suite de mouvements répétés on lui donne la nulle et qu'il fait quelque chose d'autre que de répeter les mouv' et que c'est complètement perdant OK il accepte. Mais en revanche s'il considere que ne pas repeter le mouvement et qu'il decide de tenter un quelque chose d'autre c'est qu'il évalue que la variante "A" ne fonctionne pas mais que la variante "B" est pas si dégueux et que cette défaite potetielle le fera apprendre comme d'habitude, sauf que là il ne joue pas contre lui même c'est pas un exercice c'est des conditions réelles. Ce que je veux simplement dire c'est qu'Alpha0 doit se croire en "entraînement" alors que c'est en fait des conditions réelles et non son apprentissage habituel.
Ou dit autrement, il s'entraine toujours comme si il était en condition réelles, donc il fallait le programmer pour qu'il chercher les victoires plutôt que prendre le premier nul qui passe sinon il allait stagner. C'est un truc très courant en machine learning l'IA qui découvre une position nulle et s'arrête là parce que y'as 0 risques (par exemple une IA qui met la pause en jouant à tetris pour pas risquer de perdre, oui c'est arrivé =p). Du coup faut les forcer à tenter des trucs si on veut pas que l'apprentissage stagne et ça se répercute dans sa manière de jouer.
En fait il y a un paramètre ajustable, un "coefficient d'apprentissage/exploration". Au début, il explore plus pour apprendre plus, puis le coefficient diminue, et il se fie de plus en plus à son expérience et prend moins de risques pour explorer. Pour info, A0 peut battre SF après 4h d'apprentissage en partant de zéro (si je me souviens bien)...
bonjour kev pourrait tu aborder le sujet de l'étude aux echecs quel devrait être le plan le plus abordable a tous pour etudier les echecs perso je fait énormément d'étude tactique j'apprends aussi quelques lignes d'ouvertures pour mon répertoire je prends aussi le temps pour apprendre les finals. mais je trouve ca brouillon je suis en club mais j'ai pas vraiment de support pour avoir une ligne de réflexion dans cette apprentissage j'ai du mal a simplement connaître mon style de jeu je sent que je bloque parceque je ne trouve pas réellement de plan de travail et mes moyens financier sont aussi un frien pourtant je sens parfaitement le potentiel que j'ai je comprends tout très facilement mais je fait de grosse fautes souvent très évidentes et pourtant dans l'analyse je le vois que je joue mal. enfin bref je ne vais pas faire un pavé plus imposant juste est il possible pour toi d'aborder les différents moyen d'étudier ce jeux d'avance merci
@@chesscomFR dans le document publié par DeepMin où tous les détails des parties sont étalés, les seuls parties gagnées par Stockfish sont celles où DeepMind expertise la Robustesse d'AlohaZero, et donc ils ont donné a Stockfish 3 fois, 10 fois, et puis 100 fois, plus de temps de reflexion que AlpgaZero.
Oui et non. Le graphique montre clairement que sans handicap de temps, SF ne gagne aucunes des parties quand il joue les noirs. Donc il faut déjà souligner que la première partie de la vidéo, Alpha zéro joue les blancs et fini par perdre, c'est donc forcement une partie où il avait un handicap de temps. Les deux autres font parti des rares défaites qu'il a subi ( et vu la similitude du style de defaite, on peut imaginer plus facilement que ces parties aussi étaient peut être sous handicap ) En tous cas ca donne cette impression… Ceci dit, sans handicap de temps Alpha zéro a perdu un infime pourcentage de parties, seulement quand il jouait les noirs. Mais il domine clairement le match dans son ensemble.
Des humains qui perdent en voulant forcer le gain ça se voit tous les jours. Ce genre de défaite montre au contraire que ces nouveaux modules sont plus proches du comportement humain.
Si on fait jouer A0 des milliers/millions de fois contre SF, va t-il apprendre et arriver à un stade ou il ne perd plus jamais? de la même manière que "A0 aujourd'hui" ne peux plus perdre contre "A0 à ses début" apres avoir joué des millions de fois contre lui même?
Bah de toute façon alpha zéro est plus fort que SF c'est juste que alphazero avait des handicaps de temps dans la partie (3×, 10× ou 100× moins de temps
Très bonne vidéo ! Est ce que sur les parties qu'il gagne, y'en a beaucoup ou il fait des coups de ce genre, où il "s'envoie en l'air" selon stockfish ?
Intéressant...mais existe-t-il une partie gagnée proprement par Stockfish (bonne ouverture, stratégie supérieure en milieu de partie, technique impeccable en finale)? Parce que dans ces 3 exemples, Alpha Zero se bat lui-même.
Kevin, tu dis que AlphaZero bouge en h4 (à 11:44) sans aucune raison sauf qu'il y a une règle aux échecs qui stipule que la partie est nulle si "50 coups sont joués sans prise et sans mouvement de pion". Et comme AlphaZero ne semble pas vouloir faire des nulles, ceci pourrait être la raison du fameux mouvement en h4.
Salut Kévin, est-ce que tu pourrais prendre comme résolution pour l'année 2019 de nous parler un peu plus de Leela ? Elle est encore sensiblement derrière Stockfish mais au niveau de Komodo et Houdini et puis surtout elle a un style inimitable (sauf par Garry). Tu as jeté un oeil à ses parties dans le TCEC ? Bonne année à toi.
@@VideosEchecs Tu as déjà pourtant fait quelques vidéos sur A0 et quand je vois un joueur, humain ou ordi, sacrifier du matos pour un avantage à long terme et du beau spectacle moi ça m'intéresse. Nul doute que les GM de tout premier plan commencent à regarder sérieusement du côté des variantes proposées par les modules NN. A0 et Lc0 ont appris à jouer tout seuls, sans a priori sur l'évaluation des positions et donc en se basant sur leur propre expérience, ça ne peut que nous apporter une meilleure compréhension du jeu.
Au contraire je trouve c'est 3 partie terrifiante personnellement... On ne voit presque plus la différence entre la machine et l'homme. Ça fait froid dans le dos.
pourquoi l'écran donne-t-il à Stockfish et AlphaZero la couleur inverse de leur couleur véritable ? par exemple à 6:38, et la partie d'avant ... ... P.S. ah oui je pense avoir compris, c'est un logiciel pour jouer, donc "l'autre" (nous) voyons les couleurs inverses
Bonjour, je vous propose un petit aparté sur alpha zero, non pour les échecs, mais pour le Go : une étude de la manière dont alpha(Go) zero fonctionne, telle que j'ai pu le comprendre (je suis un ingénieur passionné de Go). Si vous êtes curieux, c'est ici : sboisse.free.fr/technique/info/alphago.php
C'est évidemment cela. A0 voit certaines ressources dans la position et estime qu'il a plus de chances de la gagner que de la perdre, et c'est pour cela qu'il continue de jouer. Le problème dans ces quelques défaites, c'est qu'il s'est trompé.
bon avec 3 ans de retard, il me semble qu'AlphaZero apprend en jouant (machine learning/deep learning qu'ils disent les jeunes). il va sans doute préférer ajouter des coups à son répertoire plutôt que de rester sur une position bloquée menant au nul.
alpha zéro est peut-être tellement "conscient" de sa suprématie qu'il estime que plus la partie se prolonge plus son adversaire a de chances de faire une faute et donc il préfère prolonger sa partie quitte à amoindrir sa position
C'est pour moi simplement un paramètre du système pour diminuer le nombre de nulle. Il faut analyser aussi combien de victoire à jouer aussi agressif ? Prendre des risques amène son lot de defaites comme ici mais amène surtout son lot de victoires plus importante encore qui fait tout la force d'Alpha zéro. Si tu diminue l'agressivité de l'algo tu vas diminuer drastiquement le nombre de victoires.
Je pense aussi qu'il doit y avoir un paramétrage pour éviter au maximum les nulles. Les 3 exemples sont assez frappants, ça me fait penser aux jeux électroniques à plateaux. Ces jeux des années 80 se foutaient en l'air tout seul (j'aime bien cette expression) en finale, il suffisait d'être patient. C'est assez troublant de voir AZ pratiquer un niveau aussi bas !
Je pense aussi qu'il doit y avoir un paramétrage pour éviter au maximum les nulles. Les 3 exemples sont assez frappants. Ça me fait penser aux jeux électroniques à plateaux des années 80/90 qui se foutaient en l'air tout seul (j'aime bien cette expression) en finale, il suffisait d'être patient. Mais c'était dû à "l'effet d'horizon ".
KramnikZero "And here I voze totally vinning. Here I voze totally vinning. Here I had zis but I missed, and now vhite has nothing I mean, no one can vin zis. But I mistake"
En vrai merci pour cette vidéo Kev', c'est super intéressant et ça va à l'encontre de mon intuition (je pensais que les victoires de stockfish se feraient par snowball à partir d'une ouverture trop imprécise par A0. En fait il semble qu'A0 soit simplement plus faible en finale que stockfish mais bien meilleur en milieu de partie. Ca peut venir de trois choses je pense: -> La première est la manière d'explorer l'arbre des variantes. A0 utilise son intuition pour choisir les variantes à calculer et réduire l'arbre. Or en finale les variantes à calculer peuvent parfois être extrêmement longues, et passer à côté d'une seule ligne peut complètement fausser l'évaluation. De plus, le côté concret sur des variantes très longues fait qu'une bonne intuition est moins importante que dans d'autre phases de jeu (relativement au calcul). -> Une autre raison (en laquelle je crois un peu plus) est la manière dont le module a probablement été entraîné: Il joue des parties contre lui-même. Or il commence à partir d'un niveau très faible, et les parties ont donc leurs résultats décisifs soit à la sortie de l'ouverture, soit pendant le milieu de partie, soit à la transition vers la finale. Ce qui signifie que pour l'énorme majorité de ses parties il ne s'est pas (assez) entraîné en finale. Ce qui fait que son intuition va le faire mettre de côté des variantes très importantes qu'il n'aurait pas mit de côté s'il était mieux entraîné. Il s'agit très probablement d'une combinaison des deux. -> Et enfin, "accumulation vs exploration": En théorie des jeux (et c'est arrivé jusqu'en RL car ça s'applique totalement) il y a un problème dit de l'exploration des possibilités: L'agent connaît assez bien le résultat de son action favorite, mais un peu moins celui d''une autre. Il a un choix à faire: Dois-je faire l'action A qui me donne une récompense de tant? Dois-je faire l'action B qui me donne une récompense inférieure, mais me permet de découvrir peut-être d'autres choses, améliorer ma compréhension du monde, et me permettre dans le futur de prendre des décisions qui me donneront plus de récompenses? Il n'y a pas de solution triviale à ce problème. En effet, si ton module se contente de toujours faire l'action qui lui donne la meilleure récompense d'après sa compréhension du monde (qui est incomplète), alors il passe à côté de l'opportunité de découvrir des cas qui offrent plus de récompenses dans le futur, et en fait le module n'apprend pas. De l'autre côté, si le module passe son temps à explorer tout ce qu'il peut, il passe moins de temps à accumuler des récompenses (= il est moins fort). Il faut donc trouver un équilibre entre accumulation et exploration, afin de maximiser les récompenses obtenues sur le long terme. Il n'y a pas (à ma connaissance) de solutions mathématique claire à ce problème (trop complexe). Il y a donc plusieurs stratégies algorithmiques qui ont été développées pour y répondre. Je vais pas tout détailler car d'une part ça risque d'être très long, et d'autre part je ne suis pas spécialiste. Dans ces cas où A0 a "pété un câble", il se peut qu'il ait juste voulu continuer à explorer l'arbre des possibilités. Il voit qu'il peut faire nulle, il voit aussi qu'il peut continuer à jouer une position pour apprendre et mieux jouer dans le futur. Suivant l'algorithme d'exploration choisi, ils se peut que parfoit il pète volontairement un câble (genre "une fois tous les 100000 coups je joue un coup au hasard". C'est évidemment une très mauvaise implémentation et ils doivent avoir quelque chose de beaucoup plus malin, mais pour donner une idée). Cela expliquerait e qui avait été observé: A0 est dans une position complètement nulle. Il peut soit forcer une répétition (et donc jouer son 50%), soit continuer à jouer cette position complètement nulle. Avec le deuxième cas, il a la même espérance de récompense immédiate (50%) MAIS gagne également de la récompense à long terme car il joue plus de coups dans cette position et donc apprend! Maintenant s'il rate quelquechose dans les longues variantes (par exemple il avait vu une nulle forcée en 35 coups sauf qu'en fait cette nulle forcée n'existe pas), il s'est envoyé en l'air comme un débile. C'est peut-être ce que l'on a observé dans ces quelques parties. Si j'étais un chercheur en IA, je me tournerais vers des solutions à ces deux points sans modifier le réseau de base: -> Ajouter un agent qui soit mieux capable de choisir le nombre de variantes à conserver lors de l'exploration de l'arbre en fonction de la nature de la position. Soyons réaliste, cette recommandation est très probablement obsolète car il doit déjà y en avoir un. De plus, l'effet principal qu'il risque d'y avoir est de perdre en profondeur de calcul et ferait probablement plus de mal que de bien. Mais si les recherches sur cet agent n'ont pas été exhaustives, j'y consacrerait quand même un peu de temps. -> Modifier l'algorithme d'apprentissage en alternant des phases de parties complètes et du travail de finale (l'équivalent des "études" pour nous autres humains). Une solution au problème de la profondeur des variantes et de l'intuition qui écarte des variantes clefs est de développer encore plus sa compréhension des structures de pions et jeu avec le matériel. Bien évidemment, c'est contraire aux principes du Reinforcement Learning (la technique utilisée par deepmind pour développer A0) que de sélectionner des positions de finale arbitrairement et lui dire de s'entraîner dessus. Il faut donc trouver un agent qui puisse sélectionner des positions de fin de parties à analyser plus profondément à l'intérieur de ses propres parties jouées contre lui-même. (un premier exemple simple qui me vient en tête serait un agent qui garderait en mémoire les évaluations des positions et les comparerait au résultat de la partie et au matériel en jeu (certain type de déséquilibres matériels amènent plus d'incertitude), et de le laisser sélectionner les positions dans lequelles les évaluations de la position correspondent mal à la situation, puis le faire jouer N parties contre lui-même à partir de cette position). Le défaut est évidemment que lors de l'apprentissage il va passer moins de temps à évaluer des milieux de parties, mais sa compréhension des finales sera meilleure. A temps d'entraînement égal, est-ce qu'une meilleure compréhension des transitions en finale va réellement apporter plus qu'une spécialisation en milieu de partie? D'un côté on peut supposer que non, car pour gagner une finale il faut avoir une bonne finale, et pour cela il faut être meilleur en milieu de partie. D'un autre côté, on peut se dire que si A0 est meilleur en finale, les parties avec des transitions gagnantes en finales seront plus nombreuses et les victoires plus rapides, ce qui signifie plus de parties jouées par unité de temps sur les phases "partie complète". Bien malin qui peut prédire le résultat. Mon intuition est que progresser en finale est une bonne approche car on voit sur les humains que progresser en finale améliore le jeu en milieu de partie. Et si ces blunders viennent de mon troisième cas, alors je pense qu'il n'y a rien à modifier: C'est grâce à ces blunders qu'A0 est devenu aussi fort.
Je n'ai pas été admis dans les aréopages de l'intelligence artificielle, du coup je me suis recentré sur la connerie universelle où je me sens beaucoup plus à l'aise.
C'est marrant psq à refuser à la fois de jouer et de faire nul on à l'impression qu'il cherche juste à attendre que son adversaire tilt et fasse une erreur et c'est lui qui finit par faire n'imp
Oui, il y a des complots contre les modules IA ces temps-ci avec la curieuse déconnexion de Leela cette nuit dans le TCEC et alors qu'elle allait remporter une n-ième victoire.
Ça fait pas trop sens de présenter ces parties sans préciser les handicaps de temps alpha zéro avait jusqu’à 100 fois moins de temps dans la dernière série
Comment sais tu quel est le handicap pour chaque partie? Aussi on voit bien qu'il n a jamais été mal et qu il tente simplement de forcer le gain dans des positions nulles (surtout le premier exemple qui est frappant).
On a créé l’ordinateur qui tilt.
Merci Kévin. Pas de théorie mais une question : y a t il dans la base des parties où alpha zero tourne ainsi en refusant des nulles humainement acceptables MAIS finit par battre stockfish? Si oui comportement s'expliquerait peut-être par une approche statistique payante sur un grand nombre de parties...
Dans tous les algorithmes d'apprentissage profond, la machine essaie de minimiser un coût. Si la défaite ne coûte pas beaucoup plus cher que la nulle, alors A0 aura tendance à forcer, comme tu l'illustres dans cette vidéo.
Un exemple : imaginons que A0 ait le choix entre deux coups : un coup n°1 qui lui assure la nulle, et un autre coup n°2 plus risqué dont A0 a calculé la probabilité de gain/nulle/défaite grâce à son expérience, disons 30%/20%/50%. Maintenant, on dit à A0 qu'une défaite coûte 20 et qu'une nulle coûte 10. Si A0 joue le coup n°1, il est sur de faire nulle donc ça va lui coûter 10. Si A0 joue le coup n°2, cela va lui coûter, en moyenne, 30% * 0 + 20% * 10 + 50% * 20 = 0 + 2 + 10 = 12. Comme 12 > 10, le coup n°2 est plus cher que le coup n°1, donc A0 ne le jouera pas.
Imaginons maintenant que la défaite coûte seulement 12 et plus 20. Alors le coup n°2 va coûter en moyenne 30% * 0 + 20% * 10 + 50% * 12 = 0 + 2 + 6 = 8 < 10. Ainsi, A0 va jouer le coup n°2 car même s’il est risqué il coûte moins cher, en moyenne, que le coup n°1.
Ainsi, la décision d’A0 va dépendre de ce que lui coûte une défaite par rapporte à ce que lui coûte une nulle, et ce coût peut être déterminé de manière arbitraire : si la défaite coûte beaucoup plus cher que la nulle, A0 ne prendre pas de risques. Au contraire, si elle ne coûte pas beaucoup plus cher, il aura tendance à prendre des risques. Je rejoins l’interprétation d'un commentaire de @Thomas :) sur ce point là : le paramètre qui permet de diminuer le nombre de nulle est en fait le ratio entre le coût d'une nulle et le coût d'une défaite.
Le truc je pense c'est que alpha0 procède à l élimination des branches (variantes) ou inversement la valorisation des branches en se basant sur son module d apprentissage profond comme indiqué dans l article (the most promissing positions) ce qui fait sa force parraport à stockfish qui lui se base uniquement sur du calcul du coup stockfish se retrouve complètement dominé dans le milieu de partie justement parcequ'alpha0 comprend mieux les positions et n'a pas besoin de calculer beaucoup contrairement à stockfish Qui peu pas pas calculer dans le milieu de partie jusqu' au mat dans une position égale. Par contre dans les finales on voie clairement qu' ici alapha0 n a pas fait d erreur de calcul mais une erreur de jugement c est à dire qu' à moment donné il a cru qu il pouvait obtenir que chose des positions résultantes alors qu' en réalité SF a pu calculer cette fois-ci jusqu' au gain ce que peine à faire généralement alpha0 pour illustrer mon propos j aimerais préciser que alpha0 n a pas pu par exemple voir le mat en 36 dans la fameuse partie caruana carlsen et donc tu as beau comprendre mieux et tout si SF peu calculer jusqu' au gain forcé c est juste foutu
Excellent commentaire, merci :-)
Je partage ton avis
Très bonne analyse.
Ce qui fait peur c'est de voir a quel point alpha zéro est humain finalement. Il comprend les positions par expérience comme les grands joueurs.
Intéressant point de vue !
Excellent, du coup pour gagner contre AlphaZero il faut jouer le nul ^^
Et ça peut s'expliquer par le fait qu'il a appris à jouer contre lui même. Et comme il joue pour gagner, il n'a pas appris à jouer contre qq'un qui joue le nul.
Pas mal! Il fallait y penser!
Peut être que c'est dans le but d'apprendre plus efficacement qu' A0 ne joue pas le nul.
Peut être que dans le but de progresser inlassablement à force de jouer contre lui-même, il était nécessaire qu'il vise tout le temps le gain ?
Mais ça reste étonnant qu'il joue le gain même quand l'adversaire peut au moins forcer la nulle (c'est une prise de risque inutile du coup ?)
C'est pour ces parties qu'il nous faut la conférence de presse des ordis : )
PTDRRRRRRRRR 🤣🤣🤣🤣🤣
Mdr Alphazero deteste faire nulle comme tous les grands champions
Alphazero plus dans l esprit que n importe quel joueur XD
Alors je ne suis pas un expert en réseau de neurones, mais à priori, le réseau est modifié selon la défaite ou la victoire. En cas de nulle, ben la réseau de neurone ne se modifie pas ( enfin je pense, puisqu'il n'a pas vraiment d'erreurs à analyser ). Donc bien comprendre qu'un algorithme de ce genre joue non seulement pour gagner, mais aussi pour progresser dans le futur. Il prend des risques pour en tirer des enseignements et progresser ( jusqu'où jour ou il pourra prendre le contrôle de tous les robots, ordinateur, portable et lance missile de la planète ... ;) donc peu lui importe de rater une nulle, il veut juste évoluer pour nous bouffer ;) )
Merci Kev pour la vidéo ! Et aussi pour la retransmission du London Chess !! Allez Maxime !!!
Super intéressant ! Je ne comprends pas tout (je plafonne à 1200 elo forcément !) mais ça me fascine cette "intelligence" artificielle qui est complètement "idiote" parfois.
il peut s'envoyer en l'air tout seul, la chance !!
En même il n'a pas trop le choix.
Ah si, Leela peut-être?
Alphazero est peut-être programmé que pour le gain non ? C'est bien son but de départ donc peut-être que nul ou perdre revient au même pour lui ? Juste une hypothèse.
Super vidéo Kev ! Analyse très intéressante. :)
Ce qui m'échappe un peu, et c'est même peut être valable depuis stockfish, c'est pourquoi il n'y a pas une ouverture pour les blancs qui soit préférable à toutes les autres, au moins pour le 1er coup?
Je veux dire, en 1er coup, SF ou A0 doivent préférer *systématiquement* au moins un premier coup non ?
Ah j'oubliais, je suis absolument nul aux échecs mais j'adore cette chaîne. Merci.
Hello Kevin !! Bravo pour ta chaîne que je découvre, c'est très classe et agréable à regarder ! Pour les erreurs d'alpha Zero, je trouve ça génial en fait, parce que ça représente des erreurs "d'humains" qui s'impatientent. Le bot a un comportement plus représentatif d'un humain et il sera indestructible à terme. En ce qui concerne les refus de nulle, l'algo a plus à y gagner sur le long terme. Il est préférable pour lui de perdre et "d'apprendre" plutôt que de signer une nulle.
Intéressant !
Très intéressant, mais terrifiant. Il préfère perdre par curiosité pour apprendre... Il est très humain et ça me fait peur perso.
Peut etre que le fait de refuser assez souvent la nulle c'est lié à l'origine même d'Alpha0. Il est programmé pour apprendre, pour atteindre son niveau actuel il a joué contre lui même et a appris de lui même. Ce qui veut dire que pour en arriver là il a dû faire des parties très laides, pour s'améliorer. Là je me dis qu'il raisonne Exactement pareil, même s'il est contre un autre ordi, initialement il apprend de ses défaites et de ses victoires. Ca donne l'impression que si à la suite de mouvements répétés on lui donne la nulle et qu'il fait quelque chose d'autre que de répeter les mouv' et que c'est complètement perdant OK il accepte. Mais en revanche s'il considere que ne pas repeter le mouvement et qu'il decide de tenter un quelque chose d'autre c'est qu'il évalue que la variante "A" ne fonctionne pas mais que la variante "B" est pas si dégueux et que cette défaite potetielle le fera apprendre comme d'habitude, sauf que là il ne joue pas contre lui même c'est pas un exercice c'est des conditions réelles.
Ce que je veux simplement dire c'est qu'Alpha0 doit se croire en "entraînement" alors que c'est en fait des conditions réelles et non son apprentissage habituel.
Ou dit autrement, il s'entraine toujours comme si il était en condition réelles, donc il fallait le programmer pour qu'il chercher les victoires plutôt que prendre le premier nul qui passe sinon il allait stagner. C'est un truc très courant en machine learning l'IA qui découvre une position nulle et s'arrête là parce que y'as 0 risques (par exemple une IA qui met la pause en jouant à tetris pour pas risquer de perdre, oui c'est arrivé =p). Du coup faut les forcer à tenter des trucs si on veut pas que l'apprentissage stagne et ça se répercute dans sa manière de jouer.
En fait il y a un paramètre ajustable, un "coefficient d'apprentissage/exploration". Au début, il explore plus pour apprendre plus, puis le coefficient diminue, et il se fie de plus en plus à son expérience et prend moins de risques pour explorer. Pour info, A0 peut battre SF après 4h d'apprentissage en partant de zéro (si je me souviens bien)...
Super vidéo Kevin, comme d'habitude Merci tonton
bonjour kev
pourrait tu aborder le sujet de l'étude aux echecs
quel devrait être le plan le plus abordable a tous pour etudier les echecs
perso je fait énormément d'étude tactique
j'apprends aussi quelques lignes d'ouvertures pour mon répertoire je prends aussi le temps pour apprendre les finals.
mais je trouve ca brouillon je suis en club mais j'ai pas vraiment de support pour avoir une ligne de réflexion dans cette apprentissage
j'ai du mal a simplement connaître mon style de jeu je sent que je bloque parceque je ne trouve pas réellement de plan de travail
et mes moyens financier sont aussi un frien pourtant je sens parfaitement le potentiel que j'ai je comprends tout très facilement mais je fait de grosse fautes souvent très évidentes et pourtant dans l'analyse je le vois que je joue mal. enfin bref je ne vais pas faire un pavé plus imposant
juste est il possible pour toi d'aborder les différents moyen d'étudier ce jeux
d'avance merci
www.chess.com/article/view/study-plan-directory
Faut aussi préciser que lors de ces parties Stockfish avait 3 fois (voire 10 fois) plus de temps donné à AlphaZero.
Comment tu sais que ces parties ont un handicap de temps ?
Quand bien même ça changerait pas le fond de la vidéo
@@chesscomFR dans le document publié par DeepMin où tous les détails des parties sont étalés, les seuls parties gagnées par Stockfish sont celles où DeepMind expertise la Robustesse d'AlohaZero, et donc ils ont donné a Stockfish 3 fois, 10 fois, et puis 100 fois, plus de temps de reflexion que AlpgaZero.
effectivement c'etait precisé dans l'article chesscom aussi. il n'a pas perdu sans handicap je crois.
Si il a perdu sans handicap, c est en tout cas ce qui est mis sur le graphique à disposition.
Oui et non. Le graphique montre clairement que sans handicap de temps, SF ne gagne aucunes des parties quand il joue les noirs. Donc il faut déjà souligner que la première partie de la vidéo, Alpha zéro joue les blancs et fini par perdre, c'est donc forcement une partie où il avait un handicap de temps. Les deux autres font parti des rares défaites qu'il a subi ( et vu la similitude du style de defaite, on peut imaginer plus facilement que ces parties aussi étaient peut être sous handicap ) En tous cas ca donne cette impression… Ceci dit, sans handicap de temps Alpha zéro a perdu un infime pourcentage de parties, seulement quand il jouait les noirs. Mais il domine clairement le match dans son ensemble.
merci pour la vidéo. Et GG pour ta qualification hier soir :-D
C'est là qu'on voit qu'un ordi reste un ordi, merci pour la vidéo !
Des humains qui perdent en voulant forcer le gain ça se voit tous les jours. Ce genre de défaite montre au contraire que ces nouveaux modules sont plus proches du comportement humain.
Si on fait jouer A0 des milliers/millions de fois contre SF, va t-il apprendre et arriver à un stade ou il ne perd plus jamais? de la même manière que "A0 aujourd'hui" ne peux plus perdre contre "A0 à ses début" apres avoir joué des millions de fois contre lui même?
Bah de toute façon alpha zéro est plus fort que SF c'est juste que alphazero avait des handicaps de temps dans la partie (3×, 10× ou 100× moins de temps
Très bonne vidéo ! Est ce que sur les parties qu'il gagne, y'en a beaucoup ou il fait des coups de ce genre, où il "s'envoie en l'air" selon stockfish ?
Intéressant...mais existe-t-il une partie gagnée proprement par Stockfish (bonne ouverture, stratégie supérieure en milieu de partie, technique impeccable en finale)? Parce que dans ces 3 exemples, Alpha Zero se bat lui-même.
Kevin, tu dis que AlphaZero bouge en h4 (à 11:44) sans aucune raison sauf qu'il y a une règle aux échecs qui stipule que la partie est nulle si "50 coups sont joués sans prise et sans mouvement de pion". Et comme AlphaZero ne semble pas vouloir faire des nulles, ceci pourrait être la raison du fameux mouvement en h4.
Oui mais pour être moins bien 2 coups après. La raison est assez flou.
@@VideosEchecs On est d'accord. À part cela, bonne vidéo comme d'habitude.
Surtout que dans d autres parties il a fait nulle par répétition de coups.
Merci kev super vidéo
A0 me passionne
Excellent, je paierais cher pour voir des parties shirov- A0 !!
3:05 j'ai essayé de m'imaginer alpha zéro s'énerver... Ça m'a mis en pls
Merci pour la vidéo
Terminator 2
Salut Kévin, est-ce que tu pourrais prendre comme résolution pour l'année 2019 de nous parler un peu plus de Leela ? Elle est encore sensiblement derrière Stockfish mais au niveau de Komodo et Houdini et puis surtout elle a un style inimitable (sauf par Garry). Tu as jeté un oeil à ses parties dans le TCEC ? Bonne année à toi.
Les parties d ordinateur ne m intéressent pas vraiment.
@@VideosEchecs Tu as déjà pourtant fait quelques vidéos sur A0 et quand je vois un joueur, humain ou ordi, sacrifier du matos pour un avantage à long terme et du beau spectacle moi ça m'intéresse.
Nul doute que les GM de tout premier plan commencent à regarder sérieusement du côté des variantes proposées par les modules NN. A0 et Lc0 ont appris à jouer tout seuls, sans a priori sur l'évaluation des positions et donc en se basant sur leur propre expérience, ça ne peut que nous apporter une meilleure compréhension du jeu.
Du coup je te recommande de regarder les parties par correspondance qui sont encore d un niveau supérieur.
Très intéressant tout ça
tu vois Kevin tu trouvais qu'Alpha jouait "humain" : la preuve il sait aussi faire des boulettes. Rassurant !
Au contraire je trouve c'est 3 partie terrifiante personnellement... On ne voit presque plus la différence entre la machine et l'homme. Ça fait froid dans le dos.
Ca a presque un côté émouvant. Humain trop humain. Comme s'il faisait penser au gamin surdoué et arrogent. Prêt à tout pour gagner perpétuellement...
pourquoi l'écran donne-t-il à Stockfish et AlphaZero la couleur inverse de leur couleur véritable ? par exemple à 6:38, et la partie d'avant ...
... P.S. ah oui je pense avoir compris, c'est un logiciel pour jouer, donc "l'autre" (nous) voyons les couleurs inverses
Ce sont les pièces mangées.
Bonjour, je vous propose un petit aparté sur alpha zero, non pour les échecs, mais pour le Go : une étude de la manière dont alpha(Go) zero fonctionne, telle que j'ai pu le comprendre (je suis un ingénieur passionné de Go). Si vous êtes curieux, c'est ici : sboisse.free.fr/technique/info/alphago.php
Merci, super !!
Est-ce possible que A0 refuse les nulles car il pense avoir un avantage sur SF (et que donc peut-être que ce dernier va faire une gaffe) ?
C'est évidemment cela. A0 voit certaines ressources dans la position et estime qu'il a plus de chances de la gagner que de la perdre, et c'est pour cela qu'il continue de jouer.
Le problème dans ces quelques défaites, c'est qu'il s'est trompé.
En tout cas le titre est un bel alexandrin. ☝️
Et d'ailleurs ton com en est un bien bel aussi.
Qu'est-ce un alexandrin ? J'ai raté mon brevet 😪
C'est quoi ces comentaires, vous vous croyez malins ?
BOOM ! On se régale, c'est Noel avant le 25 :)
oui Alphazero fait tout haut ce que tout le monde pense tout bas
5:42 Pourquoi le knight ne pren pas b5? Apres promo pour queen + exchange?
Parce que la finale est perdante, AO préfère avoir la dame pour se défendre et manger des pions plutôt que d'échanger
bon avec 3 ans de retard, il me semble qu'AlphaZero apprend en jouant (machine learning/deep learning qu'ils disent les jeunes). il va sans doute préférer ajouter des coups à son répertoire plutôt que de rester sur une position bloquée menant au nul.
Yo Kev, je me demandais, pourquoi on a jamais l'évaluation d'alphazero pendant la partie ?
je n'ai pas AlphaZero !
Ah oui effectivement
alpha zéro est peut-être tellement "conscient" de sa suprématie qu'il estime que plus la partie se prolonge plus son adversaire a de chances de faire une faute et donc il préfère prolonger sa partie quitte à amoindrir sa position
C'est pour moi simplement un paramètre du système pour diminuer le nombre de nulle. Il faut analyser aussi combien de victoire à jouer aussi agressif ? Prendre des risques amène son lot de defaites comme ici mais amène surtout son lot de victoires plus importante encore qui fait tout la force d'Alpha zéro. Si tu diminue l'agressivité de l'algo tu vas diminuer drastiquement le nombre de victoires.
Je pense aussi qu'il doit y avoir un paramétrage pour éviter au maximum les nulles. Les 3 exemples sont assez frappants, ça me fait penser aux jeux électroniques à plateaux. Ces jeux des années 80 se foutaient en l'air tout seul (j'aime bien cette expression) en finale, il suffisait d'être patient. C'est assez troublant de voir AZ pratiquer un niveau aussi bas !
Je pense aussi qu'il doit y avoir un paramétrage pour éviter au maximum les nulles. Les 3 exemples sont assez frappants. Ça me fait penser aux jeux électroniques à plateaux des années 80/90 qui se foutaient en l'air tout seul (j'aime bien cette expression) en finale, il suffisait d'être patient. Mais c'était dû à "l'effet d'horizon ".
KramnikZero
"And here I voze totally vinning. Here I voze totally vinning. Here I had zis but I missed, and now vhite has nothing I mean, no one can vin zis. But I mistake"
En vrai merci pour cette vidéo Kev', c'est super intéressant et ça va à l'encontre de mon intuition (je pensais que les victoires de stockfish se feraient par snowball à partir d'une ouverture trop imprécise par A0.
En fait il semble qu'A0 soit simplement plus faible en finale que stockfish mais bien meilleur en milieu de partie. Ca peut venir de trois choses je pense:
-> La première est la manière d'explorer l'arbre des variantes. A0 utilise son intuition pour choisir les variantes à calculer et réduire l'arbre. Or en finale les variantes à calculer peuvent parfois être extrêmement longues, et passer à côté d'une seule ligne peut complètement fausser l'évaluation. De plus, le côté concret sur des variantes très longues fait qu'une bonne intuition est moins importante que dans d'autre phases de jeu (relativement au calcul).
-> Une autre raison (en laquelle je crois un peu plus) est la manière dont le module a probablement été entraîné: Il joue des parties contre lui-même. Or il commence à partir d'un niveau très faible, et les parties ont donc leurs résultats décisifs soit à la sortie de l'ouverture, soit pendant le milieu de partie, soit à la transition vers la finale. Ce qui signifie que pour l'énorme majorité de ses parties il ne s'est pas (assez) entraîné en finale. Ce qui fait que son intuition va le faire mettre de côté des variantes très importantes qu'il n'aurait pas mit de côté s'il était mieux entraîné.
Il s'agit très probablement d'une combinaison des deux.
-> Et enfin, "accumulation vs exploration": En théorie des jeux (et c'est arrivé jusqu'en RL car ça s'applique totalement) il y a un problème dit de l'exploration des possibilités: L'agent connaît assez bien le résultat de son action favorite, mais un peu moins celui d''une autre. Il a un choix à faire: Dois-je faire l'action A qui me donne une récompense de tant? Dois-je faire l'action B qui me donne une récompense inférieure, mais me permet de découvrir peut-être d'autres choses, améliorer ma compréhension du monde, et me permettre dans le futur de prendre des décisions qui me donneront plus de récompenses? Il n'y a pas de solution triviale à ce problème.
En effet, si ton module se contente de toujours faire l'action qui lui donne la meilleure récompense d'après sa compréhension du monde (qui est incomplète), alors il passe à côté de l'opportunité de découvrir des cas qui offrent plus de récompenses dans le futur, et en fait le module n'apprend pas. De l'autre côté, si le module passe son temps à explorer tout ce qu'il peut, il passe moins de temps à accumuler des récompenses (= il est moins fort). Il faut donc trouver un équilibre entre accumulation et exploration, afin de maximiser les récompenses obtenues sur le long terme. Il n'y a pas (à ma connaissance) de solutions mathématique claire à ce problème (trop complexe). Il y a donc plusieurs stratégies algorithmiques qui ont été développées pour y répondre. Je vais pas tout détailler car d'une part ça risque d'être très long, et d'autre part je ne suis pas spécialiste.
Dans ces cas où A0 a "pété un câble", il se peut qu'il ait juste voulu continuer à explorer l'arbre des possibilités. Il voit qu'il peut faire nulle, il voit aussi qu'il peut continuer à jouer une position pour apprendre et mieux jouer dans le futur. Suivant l'algorithme d'exploration choisi, ils se peut que parfoit il pète volontairement un câble (genre "une fois tous les 100000 coups je joue un coup au hasard". C'est évidemment une très mauvaise implémentation et ils doivent avoir quelque chose de beaucoup plus malin, mais pour donner une idée).
Cela expliquerait e qui avait été observé: A0 est dans une position complètement nulle. Il peut soit forcer une répétition (et donc jouer son 50%), soit continuer à jouer cette position complètement nulle. Avec le deuxième cas, il a la même espérance de récompense immédiate (50%) MAIS gagne également de la récompense à long terme car il joue plus de coups dans cette position et donc apprend!
Maintenant s'il rate quelquechose dans les longues variantes (par exemple il avait vu une nulle forcée en 35 coups sauf qu'en fait cette nulle forcée n'existe pas), il s'est envoyé en l'air comme un débile. C'est peut-être ce que l'on a observé dans ces quelques parties.
Si j'étais un chercheur en IA, je me tournerais vers des solutions à ces deux points sans modifier le réseau de base:
-> Ajouter un agent qui soit mieux capable de choisir le nombre de variantes à conserver lors de l'exploration de l'arbre en fonction de la nature de la position. Soyons réaliste, cette recommandation est très probablement obsolète car il doit déjà y en avoir un. De plus, l'effet principal qu'il risque d'y avoir est de perdre en profondeur de calcul et ferait probablement plus de mal que de bien. Mais si les recherches sur cet agent n'ont pas été exhaustives, j'y consacrerait quand même un peu de temps.
-> Modifier l'algorithme d'apprentissage en alternant des phases de parties complètes et du travail de finale (l'équivalent des "études" pour nous autres humains). Une solution au problème de la profondeur des variantes et de l'intuition qui écarte des variantes clefs est de développer encore plus sa compréhension des structures de pions et jeu avec le matériel.
Bien évidemment, c'est contraire aux principes du Reinforcement Learning (la technique utilisée par deepmind pour développer A0) que de sélectionner des positions de finale arbitrairement et lui dire de s'entraîner dessus. Il faut donc trouver un agent qui puisse sélectionner des positions de fin de parties à analyser plus profondément à l'intérieur de ses propres parties jouées contre lui-même.
(un premier exemple simple qui me vient en tête serait un agent qui garderait en mémoire les évaluations des positions et les comparerait au résultat de la partie et au matériel en jeu (certain type de déséquilibres matériels amènent plus d'incertitude), et de le laisser sélectionner les positions dans lequelles les évaluations de la position correspondent mal à la situation, puis le faire jouer N parties contre lui-même à partir de cette position).
Le défaut est évidemment que lors de l'apprentissage il va passer moins de temps à évaluer des milieux de parties, mais sa compréhension des finales sera meilleure. A temps d'entraînement égal, est-ce qu'une meilleure compréhension des transitions en finale va réellement apporter plus qu'une spécialisation en milieu de partie?
D'un côté on peut supposer que non, car pour gagner une finale il faut avoir une bonne finale, et pour cela il faut être meilleur en milieu de partie.
D'un autre côté, on peut se dire que si A0 est meilleur en finale, les parties avec des transitions gagnantes en finales seront plus nombreuses et les victoires plus rapides, ce qui signifie plus de parties jouées par unité de temps sur les phases "partie complète".
Bien malin qui peut prédire le résultat.
Mon intuition est que progresser en finale est une bonne approche car on voit sur les humains que progresser en finale améliore le jeu en milieu de partie.
Et si ces blunders viennent de mon troisième cas, alors je pense qu'il n'y a rien à modifier: C'est grâce à ces blunders qu'A0 est devenu aussi fort.
Et la moustache, elle est où?
Ca me fait penser à Mir Sultan Khan :)
c est a cause du fait que alpha 0 soit enregistré a la monte calo se qui fait des coups aux hasard parfois
Cetait juste l'anniversaire de stockfish vous emballez pas
L’humanité de cette IA
Salut tu bat carlsen a quel âge sur son appli?
Je n'ai pas son appli !
Finalement, ce qui fait sa force fait également sa faiblesse : plutôt marrant que les logiciels nous apprennent à ne pas être binaire :)
Alpha zero n'a pas la notion du nulle!! Pour lui la nulle c'est comme perdre
Les nulles c'est de la merde!
Je n'ai pas été admis dans les aréopages de l'intelligence artificielle, du coup je me suis recentré sur la connerie universelle où je me sens beaucoup plus à l'aise.
Pour les modules NN la nulle est une honte pire que la défaite, que messieurs C. et C. en prennent de la graine !
C'est marrant psq à refuser à la fois de jouer et de faire nul on à l'impression qu'il cherche juste à attendre que son adversaire tilt et fasse une erreur et c'est lui qui finit par faire n'imp
c'est parce alpha0 est dans l'esprit maintenant ! et va ce transformer en alphaspirit lol
Le bon inter
Il faut qu'Alpha Zéro apprenne à parler !!
Il était peut-être fatigué?
Ou alors, il y a un hacker russe derrière tout cela!
Oui, il y a des complots contre les modules IA ces temps-ci avec la curieuse déconnexion de Leela cette nuit dans le TCEC et alors qu'elle allait remporter une n-ième victoire.
Au moins AlphaZero n'est pas un joueur de nulle !
Si tu joues contre toi-même tu es sur de gagner
Ça fait pas trop sens de présenter ces parties sans préciser les handicaps de temps alpha zéro avait jusqu’à 100 fois moins de temps dans la dernière série
Comment sais tu quel est le handicap pour chaque partie? Aussi on voit bien qu'il n a jamais été mal et qu il tente simplement de forcer le gain dans des positions nulles (surtout le premier exemple qui est frappant).
Bonne vidéo ;) Alpha0 a compris que les pionts c'est de la merde du coup il les balancent ^^
Parce qu'il est con
Vive macron
?!
Non.