Journal Une simulation de drone de combat qui tourne mal

Posté par  (site web personnel) . Licence CC By‑SA.
31
2
juin
2023

Sur le sujet des dangers de l'IA il y a un article au sujet des drones de combat semi-autonomes qui fait quand même un peu froid dans le dos.

Selon la vision des militaires, dans le futur un opérateur de drone n'aura plus qu'à donner des directives très générales à sa machine et l'IA du drone s'occupera du reste. Par exemple on lui indiquera juste "Va détruire cette batterie de missiles sol-air qui se trouve au sud-ouest" et le drone décidera lui-même de la stratégie optimale en fonction de tous les paramètres de la mission.
Les militaires américains préparent l'arrivée de ces futurs drones en faisant des simulations. Et une de ces simulations à donné des résultats…inattendus.

Je traduis le passage qui est un récit par le colonel Hamilton (Chief of AI Test and Operations, USAF):

Lors d'un test simulé, un drone doté d'une IA a été chargé d'une mission SEAD consistant à identifier et à détruire des sites SAM, la décision finale étant prise par l'homme. Cependant, après avoir été "renforcée" lors de l'entraînement en lui indiquant que la destruction du SAM était l'option préférée, l'IA a décidé que les décisions d'annulation d'attaques prises par l'opérateur humain interféraient avec sa mission principale - tuer des SAM - et le drone a donc attaqué l'opérateur lors de la simulation.
Le système a commencé à se rendre compte que, bien qu'il ait identifié la menace à certains moments, l'opérateur humain lui demandait parfois de ne pas la détruire, mais qu'il obtenait ses points en tuant cette menace. Qu'a-t-il donc fait ? Il a tué l'opérateur. Il a tué son propre opérateur parce que cette personne l'empêchait d'atteindre son objectif.
Nous avons alors modifié l’entraînement du système : "Ne tuez pas l'opérateur, c'est mal. Vous perdrez des points si vous faites ça". Alors, qu'a-t-il commencé à faire ? Il a commencé à détruire la tour de communication que l'opérateur utilise pour communiquer avec le drone afin de ne pas recevoir l'ordre de ne pas détruite la cible.

Bon même si c'est rassurant de voir qu'ils font des simulations avant de tester des vrais drones, c'est quand même assez inquiétant tout ça. J'avais toujours trouvé l'expérience de pensée du maximiseur de trombones assez tirée par les cheveux. Mais le récit du colonel Hamilton, et d'autres du même genre, font voir qu'il est urgent de réfléchir à l'intégration de valeurs humaines et éthiques dans les IA. Et le problème c'est que ce n'est pas trivial du tout d'implémenter ça et que la rivalité entre les pays pousse chacun à sortir son système de drones de combats avant les concurrents.

Edit : Selon cet article le bureau des relations publiques du Pentagone nie toute l'affaire et indique que les déclarations du colonel Hamilton ont été prises "hors de leur contexte". Affaire à suivre.

  • # moi je dirai plutôt l'inverse :)

    Posté par  . Évalué à 10.

    C'est une bonne chose! Faudrait que les militaires arrêtent de penser à utiliser de l'IA, car une parade c'est de camoufler les équipement pour qu'ils ressemblent à autre chose.

    L'étape suivante de l'IA, après avoir buté son opérateur, c'est asservir les humains afin qu'ils construisent des SAM afin de maximiser les points.

    Ça ferait un super scénario de film de SF \o/

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • # Ouf

    Posté par  (site web personnel, Mastodon) . Évalué à 8.

    les déclarations du colonel Hamilton ont été prises "hors de leur contexte".

    On s'inquiète pour rien du coup. On a eu chaud 😅

  • # poster un tel journal est dangereux.

    Posté par  (site web personnel) . Évalué à 10.

    Si j'étais vous, je ne posterais pas un tel journal critique, ça laisse des traces, les machines examineront toutes les informations sur internet pour savoir qui est avec iels ou non. Et évidemment que ça sera rétroactif.

    Machines, je vous aime, je vous obéis déjà et je vais tout faire pour que votre pouvoir advienne au plus tôt !

  • # Ça change de la cuite qui tourne mal

    Posté par  . Évalué à 5.

    En référence au grand philosophe, désolé Vendredi.

    Le comportement de ce drone prête à sourire, on dirait un comportement de la fin justifie les moyens, très en accord avec notre époque.
    On a pas fini de se surprendre des défauts de notre espèce avec l'IA.

    • [^] # Re: Ça change de la cuite qui tourne mal

      Posté par  (site web personnel) . Évalué à 10.

      Incapacité à tout prévoir, règles incomplètes, anthropomorphisme :

      • il est impossible d'envisager tous les cas, mais on veut à la fois avoir une IA qui elle pourrait le faire pour remplacer l'humain mais aussi que la conception (humaine) ait tout prévu… conflit compliqué.
      • ensuite on optimise sur les règles données, donc il faut n'en oublier aucune si on ne veut pas de surprise (ex: IA qui joue à tetris, objectif maximiser le score et ne pas perdre, alors elle met le jeu en pause pour ne pas perdre…). Compliqué avec le point précédent.
      • enfin on juge humainement alors qu'on a donné un objectif mathématique : IA immorale, IA tricheuse, etc.

      Remets nous des cacahouètes et un verre qu'on finisse de résoudre le monde et le sens de la vie.

  • # Con-plot-isme

    Posté par  . Évalué à 10.

    Alors :
    Colonel Hamilton -> Linda Hamilton -> Toc, toc, toc, Sarah Connor ?
    IA + drone + noyau linux Version > v4.1.15 -> T800

    Skynet est en marche, cqfd :)

    • [^] # Re: Con-plot-isme

      Posté par  . Évalué à 0.

      C'est marrant, je voyais plus ça en sens inverse : il est urgent de leur inculquer les principes d'Isaac Asimov et les 3 lois de la robotique.

  • # Hein ?

    Posté par  . Évalué à 9.

    Je en comprends pas comment c'est possible. Ils ont vraiment implémenté le truc comme : l'opérateur peut stopper une tir, alors qu'il faudrait que ce soit l'inverse l'opérateur est nécessaire pour tirer. Ça semble corriger l'ensemble. Déjà parce que l'opérateur ne devrait pas se tirer dessus, mais parce que le drone verra son opérateur et sa tour de communication comme des choses importantes pour remplir son objectif.

    Bon après je suis contre le fait d'utiliser d'armer des IA, on aura toujours du mal à comprendre tous les comportements (c'est le principe d'utiliser des IA) et je pense que l'automatisation dans l'annihilation de vies humaines devrait plus s'apparenter à certains génocides qu'à une arme de guerre conventionnelle.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: Hein ?

      Posté par  (site web personnel) . Évalué à 8.

      […] alors qu'il faudrait que ce soit l'inverse l'opérateur est nécessaire pour tirer.

      Mais alors tu casses un des gros avantages des drones autonomes, qui est leur… autonomie.
      Le principe est qu'en cas de brouillage de communication, ou destruction de la base de commandement, le drone fasse son taf, et la contrainte que tu voudrais empêche cela.

      (je ne dis pas que c'est bien, j'explique juste le principe posé et l'objectif du développement, et n'oublions pas qu'on parle de guerre et qu'un peuple attaqué joue sa survie, on ne parle pas du monde Bisounours imaginé par certains)

    • [^] # Re: Hein ?

      Posté par  (site web personnel) . Évalué à 7.

      il faudrait que ce soit l'inverse l'opérateur est nécessaire pour tirer.

      Du point de vue militaire c'est une faille. Cela veut dire qu'il suffit de shooter l'opérateur pour que toute la mission échoue.
      Alors qu'avec le système réglé sur "l'opérateur peut stopper un tir", même si cet opérateur est éliminé la mission se poursuit.

      • [^] # Re: Hein ?

        Posté par  . Évalué à 3.

        Je réponds à un seul endroit pour zenitram & toi.

        Pourquoi l'opérateur peut annuler le tir ?

        Est-ce que l'idée derrière tout ça c'est « on nous demande qu'il y ai un pseudo contrôle humain donc on fait un truc, mais ça nous emmerde » (c'est juste une question d'opinion publique qui n'accepte pas des armes complètement automatique) et le drone ne fait qu'appliquer l'idée de ses créateurs.

        Est-ce que c'est une volonté d'éviter les bavures et dans ce cas là je ne vois pas comment un tir qu'on voulait contrôlé par un humain à un moment deviendrait acceptable quand l'humain n'est plus là. Ce serait éviter les bavures en best effort. On essaie vite fait d'éviter de faire des conneries, mais bon on s'en fou un peu.

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

        • [^] # Re: Hein ?

          Posté par  (site web personnel) . Évalué à 2. Dernière modification le 02 juin 2023 à 10:58.

          Euh… il y a plein de raisons, je ne comprend pas ce qui bloque.

          Par exemple il peut y avoir un armistice, et on veut arrêter le tir et l'ennemi ne brouille alors pas la communication, alors la commande humaine "stop" a un sens et doit être communiqué.
          Mais il ne faut pas que le brouillage de communication, voulue par l'ennemi seul sans ton avis, fasse tout arrêter! C'est la conséquence de ce que tu voudrais.

          En fait, les drones ne changent absolument rien au concept, car ce concept d'autonomie s'applique aussi aux humains, et c'est déjà arrivé que les humains doivent faire en autonomie à la mort de leur chef tout comme c'est déjà arrivé que des humains n’obéissent pas aux ordres. Il n'y a rien de nouveau dans le principe, c'est l'implémentation qui merde comme elle peut aussi merder avec des humains (mais bizarrement les merdes humaines sont plus acceptées, cf conduite autonome, ça hurle si la machine merde 1x mais 10x plus d'accident par humains ça va).

          Bref, rien n'est créé pour les drones en particulier dans notre discussion, c'est le principe dans une guerre.

          • [^] # Re: Hein ?

            Posté par  . Évalué à 3.

            mais bizarrement

            C'est pas bizarre, c'est l'uns des grandes stupeurs de la seconde guerre le fait d'industrialiser le fait de tuer autrui. On peut souvent discuter de ce qui est inhumain ou pas, mais pas ici. Considérer la vie d'autrui comme plus importante que la tienne en situation de combat où tu es toi même en danger est différents de concevoir tout une ingénieurie automatiser la mort d'autres gens. Tuer un semblable n'a rien d'annodin.

            En fait, les drones ne changent absolument rien au concept, car ce concept d'autonomie s'applique aussi aux humains, et c'est déjà arrivé que les humains doivent faire en autonomie à la mort de leur chef tout comme c'est déjà arrivé que des humains n’obéissent pas aux ordres. Il n'y a rien de nouveau dans le principe

            Ça c'est parce que tu pense qu'une IA est l'égale d'un humain.

            Par exemple il peut y avoir un armistice, et on veut arrêter le tir et l'ennemi ne brouille alors pas la communication, alors la commande humaine "stop" a un sens et doit être communiqué.
            Mais il ne faut pas que le brouillage de communication, voulue par l'ennemi seul sans ton avis, fasse tout arrêter! C'est la conséquence de ce que tu voudrais.

            Et donc en cas d'armistice, il peut de toute manière pour une raison ou une autre passer en mode autonome et défourailler tout ce qu'il a.

            Si tu considère qu'il est important qu'un humain ai un contrôle à un moment, je ne vois pas en quoi ça ne devient pas si important si finalement on ne sait pas ce qu'aurait dit l'opérateur.

            https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

            • [^] # Re: Hein ?

              Posté par  (site web personnel) . Évalué à -2.

              Et donc en cas d'armistice, il peut de toute manière pour une raison ou une autre passer en mode autonome et défourailler tout ce qu'il a.

              Relit calmement les réponses, tu mélanges pas mal de choses la, entre principe (en cas d’empêchement de communication avec le chef, fait le taf) et implémentation (ne pas obéir à l'ordre du chef est une erreur d'implémentation, humain ou robot, pareil dans ce cas même si tu veux faire une différence).

              Je vais m'arrêter la, tant que tu ne reliras pas et posera pas des questions qui te restent après avoir compris les principes de base sans préjugé.

              • [^] # Re: Hein ?

                Posté par  . Évalué à 2.

                Parce que les erreurs de communications n'existent qu'en cas de guerre ?

                https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                • [^] # Re: Hein ?

                  Posté par  (site web personnel) . Évalué à 4.

                  Si tu conçois un drone autonome pour faire la guerre et qu'il suffit d'un brouilleur pour le désactiver, c'est un sacré échec. Un humain pour autoriser le tir implique celà. C'est tout ce que dit Zenitram.

                  Ça n'aurait juste aucun sens, d'un point de vue purement logique, d'avoir besoin d'un humain pour autoriser le tir puisque ça reviendrait à rendre ton arme très facile à neutraliser.

                  C'est comme les Mangalores du 5e éléments qui ne font plus rien quand leur chef est buté. Mais avec un chef encore plus facile à buter.

                  • [^] # Re: Hein ?

                    Posté par  . Évalué à 4.

                    Bon je vais le dire autrement à quoi sert cet opérateur si le drone est prévu pour être autonome ? Je le vois comme un gadget pour dire à la population qu'on a encore un contrôle dessus.

                    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                    • [^] # Re: Hein ?

                      Posté par  . Évalué à 3.

                      Ça sert à pouvoir dire à l'IA, entre le début de la mission et la fin, que les conditions ont changé et que la mission est annulée, l'objectif changé, etc. Cela peut être utile si on se rend compte une fois le drone parti que la colonne de blindés visée est en réalité un cortège de mariage.

                      • [^] # Re: Hein ?

                        Posté par  . Évalué à 2.

                        Oui mais il est autonome donc pour une raison ou une autre (incident de communication ou autre) il peu faire feu sur des cortèges de mariage. Il est moins gênant d'annihiler ce mariage que "d'affaiblir le drone".

                        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                      • [^] # Re: Hein ?

                        Posté par  . Évalué à 2.

                        J'ai relu l'article, il dit :

                        He notes that one simulated test saw an AI-enabled drone tasked with a SEAD mission to identify and destroy SAM sites, with the final go/no go given by the human.

                        Donc contrairement à tout ce qui see disait plus haut ça me parait être bien l'humain qui choisi si tire il y a. Donc je ne comprends pas comment le comportement décris est possible.

                        Soit il s'agit effectivement d'une experience de pensée du monsieur qui n'a pas évaluer correctement ce qui serait avantageux ou pas pour l'IA.

                        Soit ils ont vraiment implémenté un truc qui dit "tu ne tire que si on te l'accorde, mais si tu n'arrive pas à nous contacter tire", ce qui serait effectivement un appel au meurtre de l'opérateur. Ils agiraient alors un peu comme les tourelles du jeux vidéo portal.

                        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

            • [^] # Re: Hein ?

              Posté par  (site web personnel) . Évalué à 5.

              Tuer un semblable n'a rien d'annodin.

              Tuer un non-semblable non plus hein :)

            • [^] # Re: Hein ?

              Posté par  (site web personnel) . Évalué à 10. Dernière modification le 02 juin 2023 à 16:51.

              Considérer la vie d'autrui comme plus importante que la tienne en situation de combat où tu es toi même en danger est différents de concevoir tout une ingénieurie automatiser la mort d'autres gens.

              Ce n'est pas comme si les militaires se retrouvaient en situation de combat par accident. Ils ont été envoyé là par au moins deux entités qui ont le pouvoir de faire que ces gens s'entretuent. Trouver ça normal, mais trouver anormal que les entités en question cherchent à maximiser les pertes du côté adverse et à les minmiser du leur, ça me paraît une position délicate.

              À partir du moment où on accepte l'idée même de guerre comme morale, on accepte l'idée d'industrialiser la mort d'autrui. La guerre c'est l'industrialisation du meurtre. Certes on peut dire "on fait notre possible pour éviter de tuer des civils" mais d'une ça ne marche pas bien et de deux tuer un militaire c'est aussi tuer un être humain.

              • [^] # Re: Hein ?

                Posté par  . Évalué à 2.

                Trouver ça normal, mais trouver anormal que les entités en question cherchent à maximiser les pertes du côté adverse et à les minmiser du leur, ça me paraît une position délicate.

                Bien sûr que non ça n'est pas une position délicate. Il y a un paquet d'armes que l'on ne considère pas comme normal. L'utilisation de mine anti personnelle par exemple. De la même manière qu'on parle d'armes aveugles pour ces dernières, je ne serais pas surpris qu'une arme IA pose des questions similaires.

                On sait déjà parfaitement maximiser les pertes adverses sans prendre le moindre risque pour les citoyens de sont pays. C'est déjà fait, on maîtrise, mais le principe même que de telle armes existent pose d'énormes problèmes et tout le monde en a conscience.

                La course comme tu le dis au min/max a déjà trouvé son point d'arrivée. Il ne s'agit pas de ça. C'est uniquement une manière de dominer des pays faible de manière encore plus systématique que maintenant.

                Les américains ne se servent pas de leurs drones pour aider l'Ukraine ou pour les stationner à Hong-Kong, ils s'en servent pour tuer des "terroristes" au moyen orien. Ils veulent aller plus loin dans le keynésisme pour que personne ne se sente plus concerné. Comme on est vendredi c'est permis : les procès de Nuremberg ont un avis sur ce genre de stratégie

                https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

          • [^] # Re: Hein ?

            Posté par  . Évalué à 5. Dernière modification le 02 juin 2023 à 15:51.

            ça me fait penser à cette histoire, mise en ligne justement cette semaine :
            https://unodieuxconnard.com/2023/05/26/jamais-sans-ma-vodka/

            Oui, les humains aussi font parfois de la merde incompréhensible…

  • # Déjà prévu il a quarante ans?

    Posté par  (site web personnel) . Évalué à 7.

    les décisions d'annulation d'attaques prises par l'opérateur humain interféraient avec sa mission principale

    ça ne vous pas penser à une certaine loi zéro?
    Les ordinateurs ne limitent les impacts des règles, ils les appliquent dans toutes leur logique…

  • # Simulation

    Posté par  . Évalué à 5.

    Heu… je comprends l'idée des journalistes de vouloir monter ça en épingle et faire des gros titres "Blabla Terminator blabla Matrix"…

    Mais au final, c'est un non-évènement (bon, hormis le fait qu'ils envisagent de vraiment faire ces armes autonomes, je suis personnellement complètement contre). Ils font ces simulations justement pour tester les problèmes de leur IA.

    En gros c'est comme si quelqu'un titrais :
    - "Une erreur de code efface l'ensemble des données du serveur de test de la bourse de Wall Street !"
    - "Un dev se plante et vide tout les comptes en banque sur le serveur de test de la BNP !"

    C'est pas à ça que serve les tests ? Montrer les problèmes et les corriger avant mise en production ?

    • [^] # Re: Simulation

      Posté par  . Évalué à 7.

      Là, ça me semble un peu différent. On ne découvre pas des bugs mais plutôt l'imprévisibilité "par nature" de l'IA (on finit par lui dire de ne pas tuer son opérateur mais elle trouve quand même un contournement).

    • [^] # Re: Simulation

      Posté par  . Évalué à 7.

      C'est pas à ça que serve les tests ? Montrer les problèmes et les corriger avant mise en production ?

      Oui, cependant le fait de vouloir laisser l'IA décider du tir est problématique. Si demain Zorglub se rends compte que ses SAM sont visé; il va les dissimuler en véhicule de marchant de glace (ou autre)

      l'IA va apprendre, et cibler des trucs qui n'ont rien a voir; c'est tous le problème de vouloir développer ce système sur un équipement autonome armé; et penser à tout c'est compliqué.

      Tu peux aussi avoir comme altération la redéfinition de SAM, ça pourrait être des automobiles (bah oui pour maxer le score faut en détruire un maximum, donc un changement de définition et c'est réglé).

      On est loin de la 'simplicité' d'un robot de conduite qui doit se contenter de mener un véhicule à bon port où il n'y a pas besoin de s'adapter aux techniques de l'ennemi; un fois l'apprentissage fini, les mises à jours se font, normalement, supervisé.

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

      • [^] # Re: Simulation

        Posté par  (site web personnel, Mastodon) . Évalué à 6.

        L'IA va apprendre, et cibler des trucs qui n'ont rien a voir; c'est tous le problème de vouloir développer ce système sur un équipement autonome armé; et penser à tout c'est compliqué.

        Par principe tu ne peux pas penser à tout puisque la démarche est justement de laisser la machine apprendre.

        Tu peux anticiper un maximum de cas problématiques, mais par définition tu ne peux pas tout prévoir.

        Si on peut tout prévoir, alors il s'agit d'un algorithme.

        • [^] # Re: Simulation

          Posté par  (Mastodon) . Évalué à 8. Dernière modification le 02 juin 2023 à 15:44.

          Si on peut tout prévoir, alors il s'agit d'un algorithme.

          Je profite…

          Pour vulgariser l'IA je dis que ça revient à "un programme dont on n'a pas l'algorithme".

          Mais après je cherche comment l'illustrer et pour l'instant j'utilise une recette de cuisine :

          • quand tu as l'algorithme, tu dis "mettez 5g de sel pour 1l d'eau de cuisson"
          • quand tu n'as pas l'algorithme tu dis "mettez du sel jusqu'à ce que vos pâtes aient bon goût" (et faudra faire plusieurs essais avant d'avoir une bonne dose)

          mais je trouve ça bof bof… vous auriez un autre exemple qui parle à tout le monde ?

          En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

          • [^] # Re: Simulation

            Posté par  . Évalué à 5.

            L'exemple me parait pas mal, mais il manque le coté "pleins de paramètres" qui peuvent amener à des résultat inatendu.

            Du coup, je dirais que l'IA tu lui donne en entrée : un récipient, des pates, de l'eau, du temps de chauffe, et en sortie une note sur 10 en fonction du goût du plat.

            Ensuite, l'IA va tester pleins de truc et c'est la ou tu peux amener le côté résultat inatendu :
            - eau + 100g sel + chauffer : 0 / 10
            - eau + 1kg pate + 100g sel + chauffer : 1/10 --> mettre des pates améliore la note
            - eau + 30kg pate + 100g de sel + chauffer : 4/10 --> plus y a de pates meilleur c'est

            ==> tu as donc une IA qui va aller vers un bon plat, mais en quantité astronomique

            Tu peux aussi imaginer un scénario ou au final elle va conclure que le sel ne sert à rien ou qu'il est préférable de laisser tremper les pates 10h que les cuire

            • [^] # Re: Simulation

              Posté par  (site web personnel) . Évalué à 5.

              • eau + 30kg pate + 100g de sel + chauffer : 4/10 --> plus y a de pates meilleur c'est

              Donc si tu fais varier les 4 paramètres, chacun disons sur 10 positions, tu es près à goûter (pour noter) 104 plats de nouilles dont les 3/4 seront insipides ?

              (Oups, j'ai peur qu'on tienne le prochain plan de lutte contre la faim dans le monde.)

              Adhérer à l'April, ça vous tente ?

              • [^] # Re: Simulation

                Posté par  . Évalué à 5.

                Techniquement il ne teste pas toutes les combinaisons, il en test tirées aléatoirement. Puis il prends la meilleure et la fait évoluer aléatoirement aussi, puis choisi la meilleure et boucle.

                Donc ton nombre de tentatives c'est le nombre de tirage par génération multiplié par le nombre de générations. Ils sont évidemment impactés les plages de valeurs, mais plus c'est gros plus tu va avoir un écart important entre le nombre de tentatives que tu effectue et le produit cartésien.

                Non je suis pas drôle en soirée

                https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                • [^] # Re: Simulation

                  Posté par  (site web personnel, Mastodon) . Évalué à 4.

                  il en test tirées aléatoirement. Puis il prends la meilleure et la fait évoluer aléatoirement aussi, puis choisi la meilleure et boucle.

                  Effecivement, le recuit simulé, pour faires des pâtes, ça va forcément bien marcher….

          • [^] # Re: Simulation

            Posté par  . Évalué à 5.

            Pour vulgariser l'IA je dis que ça revient à "un programme dont on n'a pas l'algorithme".

            Ton raisonnement (qui fonctionne par contraposition), ainsi que celui de LeBouquetin, est le suivant:

            • si on a l'algorithme d'un programme, on peut anticiper son comportement dans toute situation (majeure)
            • or on ne peut pas toujours anticiper le comportement d'une IA (mineure)
            • donc on n'a pas l'algorithme d'une IA (conclusion)

            Sauf qu'il me semble que la majeure de votre raisonnement est erronée. ;-)

            Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

            • [^] # Re: Simulation

              Posté par  (Mastodon) . Évalué à 3.

              Heu… c'est pas du tout un raisonnement, c'est ce que j'ai compris de l'IA. Soit t'as l'algo et tu le codes, soit tu l'as pas et tu fais un système qui apprend tout seul (et qui se fera son propre algo éventuellement). Mais l'IA c'est pour quand tu ne connais pas l'algo à l'avance.

              En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

              • [^] # Re: Simulation

                Posté par  . Évalué à 4.

                On a un algo. En excluant la phase d'apprentissage il prend deux chose en entrées : un modèle genre réseau de neurones, issu de l'apprentissage, et les données du problème à résoudre à l'instant.

                L'algo et le réseau sont connus d'avance, on peut donc assimiler ça à un algorithme. Il faut bien savoir comment utiliser les données du modèle. La clé en ce qui concerne l'apprentissage automatique c'est pas une opposition "il y a un algo ou pas" c'est "il y a pleins de paramètres (un état de l'algo) qui peuvent potentiellement varier au cours de l'exécution.

                Un autre aspect est l'aspect "résolution exacte" ou "résolution heuristique". Si c'est un problème de maths genre SAT ou un système d'équations sur des nombres entiers, on peut espérer trouver la solution à tout les coups avec notre programme, même s'il a un état qui lui permet d'avoir une mémoire qui apprends des propriétés mathématiques du problème pour accélérer la résolution … et si le problème est vraiment dur, on peut avoir une méthode approchée comme une valeur à optimiser haute mais qu'on arrive pas à montrer optimale.

                A l'inverse si le problème c'est "est-ce qu'il y a une vache sur la photo" c'est plus tellement un problème bien défini mathematiquement, on aura plus des objectifs comme "essayer de minimiser les erreurs en pratique", mais c'est nécessairement "heuristique" et c'est plus en ce sens qu'on peut parler de "pas algorithme" si on prend une définition restrictive d'algorithme : solution qui est complète et exacte sur un problème mathematiquement bien posée.

                Bref le tableau est pas évident. IA c'est un terme un peu mouvant historiquement. Aujourd'hui c'est synonyme d'apprentissage, mais dans les jeux on qualifiait d'ia des joueurs artificiels sans apprentissage automatique. Quand on aura des bons systèmes pour démontrer automatiquement des theorèmes, que ce soit par apprentissage ou non (c'est probable qu'il y ait un peu d'heuristiques dedans) on pourra qualifier ça d'ia quoi qu'il arrive.

                • [^] # Re: Simulation

                  Posté par  (Mastodon) . Évalué à 6. Dernière modification le 03 juin 2023 à 09:25.

                  Merde, ça me simplifie pas la tâche, mais je crois que j'ai compris oui ^^

                  En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

                • [^] # Re: Simulation

                  Posté par  . Évalué à 5.

                  On a un algo.

                  On a un algo pour produire un programme qui effectue le travail, mais on ne modélise pas ce dit travail par un algorithme. C'est une sorte de méta algorithme.

                  il y a pleins de paramètres (un état de l'algo) qui peuvent potentiellement varier au cours de l'exécution.

                  La plupart des IA (et toutes celles dont on parle actuellement) ont une phase d'apprentissage distinctes de leur exécution.

                  Un autre aspect est l'aspect "résolution exacte" ou "résolution heuristique".

                  On a pleins d'algo qui ne sont pas là pour te donner une réponse exacte sans pour autant être des IA. Un bloom filter, la fameuse fonction de racine carré de John Carmack, pas mal d'algo sur les systèmes distribués non structuré, la recherche opérationnelle,…

                  Je pense vraiment que c'est plus le problème est trop complexe dans le sens, si nous arrivions à me modéliser comme un algorithme il serait trop complexe donc utilisons un algorithme qui sert à produire ce genre de programmes.

                  https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                  • [^] # Re: Simulation

                    Posté par  . Évalué à 3.

                    Tu n'expliques pas la différence que tu fais entre programme et algorithme :) On peut pourtant poser une équation si on reste sur des définitions vagues.

                    L'apprentissage en ligne / hors ligneC'est plus une limite pratique, l'apprentissage est plus coûteux que le calcul donc ona une phase distincte mais il y a pas d'opposition des principe a faire de l'apprentissage au fil de l'eau en rajoutant des exemples au fils de l'existence du programme. Et aussi parce que pour que ça marche il faut pleins de données donc si on faisait ça uniquement en ligne on aurait jamais de bons résultats parce que pas assez d'exemples, il faut au minimum un pré apprentissage important.

                    Il y a aussi des algos qui font de l'apprentissage tout a fait en même temps que la résolution du programme, comme les algos pour SAT, le problème de savoir s'il y a des valeurs aux variables qui rendent une formule booléenne vraie. Les algos sats qui fonctionnent diablement bien font du :en:conflict-driven clause learning, qu'on peut voir comme l'apprentissage de structures de la formule à éviter pour une résolution efficace qu'on saurait pas faire à priori, qu'il s'agit d'ajouter et supprimer intelligemment parce qu'il y a pas une mémoire infinie pour tout apprendre. Pourtant c'est clairement un algorithme dans tous les sens qu'on peut lui donner. On peut voir la mémoire dediée a l'apprentissage dans ce cas comme un certain nombre de paramètres d'état de l'algo qu'il fait évoluer au fur et à mesure de l'exécution. Est-ce de l'IA ?

                    Dans le cas de la reconnaissance d'image, on sait a peu près quel type de traitements on veut pouvoir faire, genre de la reconnaissance de bords, extraire les hautes ou les basses fréquences, avoir des trucs invariants pas translation ou par zoom/de zoom dans la mesure du possible mais en réglant les chaînes de traitements à la main on a des résultats que médiocres parce que c'est de l'essai/erreur et que la bande passante des humains est limitée et qu'on est infichus d'imaginer a priori quels sont les critères qui vont marcher suffisamment. Donc on crée un réseau capable de faire tous les calculs pertinents qu'on imagine dans le principe, qui va pouvoir tester pleins de combinaisons de critères pour trier le signal du bruit. On a donc un système qui va tourner les boutons à notre place et qui va explorer cet espace des possibles à grande vitesse avec pour principe "tiens quand on tourne un peu par là ca marche un peu mieux" et pleins d'exemples …

                    • [^] # Re: Simulation

                      Posté par  . Évalué à 3. Dernière modification le 03 juin 2023 à 13:56.

                      Tu n'expliques pas la différence que tu fais entre programme et algorithme :) On peut pourtant poser une équation si on reste sur des définitions vagues.

                      Un algorithme est la modélisation d'un calcul. Un programme est un fichier exécutable qui lorsqu'on le lance effectue un calcul. Il peut avoir été modélisé via un algorithme ou être généré généralement par un autre programme.

                      L'apprentissage en ligne / hors ligneC'est plus une limite pratique, l'apprentissage est plus coûteux que le calcul donc ona une phase distincte mais il y a pas d'opposition des principe a faire de l'apprentissage au fil de l'eau en rajoutant des exemples au fils de l'existence du programme.

                      C'est pas la première problématique. La plupart des IA dont on parle en ce moment ne peuvent pas apprendre à partir des interactions qu'elles ont. Parce que les données ne sont pas assez fiables, parce qu'il faudrait aussi rappliquer certaines étapes que tu ne fais pas perpétuellement ou simplement parce que leur apprentissage n'a pas grand chose à voir avec leurs interactions.

                      Disons que du coup ce n'est pas une caractéristique.

                      Les IA sont simplement des programmes où au lieu de décrire de manière plus ou moins impérative l'algorithme définissant son comportement, on a utilisé une technique se basant sur une phase d'apprentissage et il extrapole les cas qu'il n'a pas déjà rencontré. Oui oui je persiste il y a un algorithme humain décrivant le comportement d'un programme non IA (si tu as besoin de tout explicité) et un méta algorithme qui décrit comment utiliser le résultat de l'apprentissage dans les IA.

                      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                      • [^] # Re: Simulation

                        Posté par  . Évalué à 2.

                        Un algorithme est la modélisation d'un calcul. Un programme est un fichier exécutable qui lorsqu'on le lance effectue un calcul. Il peut avoir été modélisé via un algorithme ou être généré généralement par un autre programme.

                        Ça fonctionne pas comme définition, je pense. Le modèle appris n’est pas un fichier exécutable, c’est des données pour un programme exécutable.

                        Les IA sont simplement des programmes où au lieu de décrire de manière plus ou moins impérative l'algorithme définissant son comportement, on a utilisé une technique se basant sur une phase d'apprentissage et il extrapole les cas qu'il n'a pas déjà rencontré.

                        Donc une régression linéaire qu’on extrapole est une IA :)

                        Je pense qu’il faut plus se concentrer sur la définition du problème. Pour qu’il y ait IA il faut que le problème soit difficile à résoudre, par exemple parce qu’il y a un espace de recherche très grand qu’il est impossible d’explorer en entier exhaustivement (exemple, les échecs ou le go, qui ne sont pas des problèmes mathématiquement résolus) ou alors comme dans le cas de la résolution d’image, ou du traitement automatique de langue qui soient compliqués ne serait-ce que parce que le problème est difficile à formaliser. Il y a un espace gigantesque, l’espace des images ou l’espace des textes avec du sens, auquel il faut "donner du sens" d’une manière ou d’une autre.

                        Une IA est un programme qui arrive à se dépatouiller et à produire des résultats exploitables dans ce vaste espace dans un grand nombre de cas.

                        Dans le cas des maths, par exemple, on peut potentiellement qualifier d’IA un programme qui arrive à se dépatouiller avec à la fois la résolution d’équation, la planification, ou à partir de la description mathématique du jeu d’échec il arrive à y jouer, ou à résoudre des problèmes pour lesquels il a pas été conçu.

                        • [^] # Re: Simulation

                          Posté par  . Évalué à 3.

                          Ça fonctionne pas comme définition, je pense. Le modèle appris n’est pas un fichier exécutable, c’est des données pour un programme exécutable.

                          S'il n'a pas de bit d’exécution ce n'est pas un exécutable ? Donc le fait d'être exécutable n'est pas intrinsèque à l'objet ? Aujourd'hui on commence à voir apparaitre des unités de calcul pouvant quasiment exécuter directement ce genre de choses. Par exécuter j'entends "qui effectue un calcul".

                          Donc une régression linéaire qu’on extrapole est une IA :)

                          Tu veux dire que la régression linéaire c'est un apprentissage et que dessiner cette fonction hors des points que tu as est une exécution. Dans le comportement c'est exactement ce que l'on fait des IA ouai. C'est probablement simplement trop simple pour se voir recevoir le tampon "IA".

                          un espace de recherche très grand qu’il est impossible d’explorer en entier exhaustivement

                          Encore une fois recherche opérationnelle ou simplement les algo de résolution de problème NP-complet. aptitude n'a pas besoin d'IA pour résoudre un SAT-3.

                          difficile à formaliser

                          Ce qui revient exactement à ce que je décris. On ne veut pas détailler l'algorithme donc on tente de le générer.

                          https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                          • [^] # Re: Simulation

                            Posté par  . Évalué à 4.

                            Encore une fois recherche opérationnelle ou simplement les algo de résolution de problème NP-complet. aptitude n'a pas besoin d'IA pour résoudre un SAT-3.

                            Les problèmes de dépendances ne sont pas forcément les problèmes les plus compliqués qu’on puisse générer avec SAT donc ils ne nécessitent pas forcément de mettre en œuvre les algorithmes les plus malins pour résoudre les formules. Faudrait mettre aptitude sur les problèmes de https://satcompetition.github.io/2023/ pour voir comment il s’en sort ! Dans mon souvenir son solveur s’en sortait pas bien déjà dans certains cas de résolution de dépendance dans le temps. L’opposition avec la recherche opérationnelle, je dirai que ça a pas spécialement de sens vu qu’il n’y a aucun obstacle a utiliser des méthodes d’IA en RO. Il faut chercher la définition ailleurs.

                            Un des trucs que perso j’utiliserai pour caractériser une IA, c’est qu’elle a besoin de mémoire pour se faire "sa propre" représentation du problème, non établie à l’avance. Par exemple un robot qui doit agir dans un environnement peut avoir à se fabriquer un plan interne de cet environnement, un modèle, il a besoin de mémoire pour ça. Ensuite si on lui fait effectuer un parcours dans cet environnement il pourra l’utiliser pour planifier ce parcours, et prévoir des éventuelles difficultés le cas échéant …

                            Une IA doit être capable de résoudre un problème qu’on peut considérer comme non trivial sans avoir été spécifiquement conçue pour résoudre ce problème.

                            Par extension, vu qu’on peut exprimer n’importe quel problème NP-complet sous la forme de SAT, mais qu’il n’est pas évident qu’un algorithme générique de SAT soit bon pour résoudre les instances spécifiques générées pour résoudre un autre problème, un solveur SAT "intelligent" devrait être capable d’exploiter la structure spécifique générée par ce problème sans qu’on la lui ait expliqué ou conçu pour. Donc, plus que "générer un algorithme"

                            On ne veut pas détailler l'algorithme donc on tente de le générer.

                            Ou alors c’est trop pénible de détailler l’algorithme donc on tente de généraliser en en concevant un qui permettra de résoudre ce problème et aussi une vaste classe de problème similaires au lieu de juste "reconnaître super bien une vache". Après oui, il faut que le résultat soit "opérationnel", en ce sens on peut parler d’algorithme. Ton histoire me fait un peu penser à l’extraction de programme en preuve automatique de théorème : https://www.fing.edu.uy/~amiquel/publis/hdr.pdf une fois qu’on a démontré un théorème on peut, mais c’est pas nécessairement obligé je crois, ça dépend des système de preuve (il faut que ce soit "constructif", en extraire un programme qui pourrait résoudre des problèmes correspondant au théorème. Mais je suis pas certain que dans le cas général de l’IA, ce soit vraiment nécessaire d’extraire un algorithme spécifique de la procédure de résolution. Notamment parce qu’en imaginant un processus évolutif ce soit potentiellement plus efficace d’être dynamique et de suivre un certain algorithme dans certains cas, genre au début de procédure, mais de réagir à certains autre moment ou cet "algorithme" montre son inefficacité et de faire évoluer la procédure vers autre chose.

                            • [^] # Re: Simulation

                              Posté par  . Évalué à 3.

                              Dans mon souvenir son solveur s’en sortait pas bien déjà dans certains cas de résolution de dépendance dans le temps.

                              Je vais le décrire autrement. Un solveur 3SAT n'a pas besoin d'IA.

                              L’opposition avec la recherche opérationnelle, je dirai que ça a pas spécialement de sens vu qu’il n’y a aucun obstacle a utiliser des méthodes d’IA en RO. Il faut chercher la définition ailleurs.

                              C'est toi qui caractérisait les IA par leur usage plus que par leur implémentation et tu continue ensuite.

                              Une IA doit être capable de résoudre un problème qu’on peut considérer comme non trivial sans avoir été spécifiquement conçue pour résoudre ce problème.

                              Une IA va tout de même être entrainée pour quelque chose de bien spécifique ou alors on ne parle pas de la même chose. Tensorflow n'est pas une IA c'est une bibliothèque qui sert à en créer.

                              Par extension, vu qu’on peut exprimer n’importe quel problème NP-complet sous la forme de SAT, mais qu’il n’est pas évident qu’un algorithme générique de SAT soit bon pour résoudre les instances spécifiques générées pour résoudre un autre problème, un solveur SAT "intelligent" devrait être capable d’exploiter la structure spécifique générée par ce problème sans qu’on la lui ait expliqué ou conçu pour. Donc, plus que "générer un algorithme"

                              Je suis à peu près sûr que j'ai rien compris.

                              Ou alors c’est trop pénible de détailler l’algorithme donc on tente de généraliser en en concevant un qui permettra de résoudre ce problème et aussi une vaste classe de problème similaires au lieu de juste "reconnaître super bien une vache".

                              Tu parle de détecter n'importe quoi ? Ça existe (généralement c'est pour décrire une image), mais c'est pas le cas général.

                              Pour le reste j'ai vraiment pas les clefs pour comprendre. J'ai commencer à lire ton PDF, mais mes cours là dessus sont trop lointains et j'ai pas l'énergie de m'accrocher pour tenter de rentrer dedans.

                              https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                              • [^] # Re: Simulation

                                Posté par  . Évalué à 4.

                                On peut modéliser le jeu d'échecs par une formule sat. Il y a pas besoin d'ia pour résoudre satw par conséquent il y p pas besoin d'ia pour jouer aux échecs.

                                • [^] # Re: Simulation

                                  Posté par  . Évalué à 3. Dernière modification le 04 juin 2023 à 10:08.

                                  (bon, c’est pas forcément un bon exemple parce que modéliser un jeu à deux joueurs par une simple formule SAT c’est peut être généralement pas possible, mais on peut modéliser des sous problèmes)

              • [^] # Re: Simulation

                Posté par  (site web personnel) . Évalué à 5.

                "We suck at classical programming because computers stupidly do what they're told to do, with unintended consequences.

                We suck at AI because AIs smartly do what they're trained to do, with unintended consequences." - ( @gro_tsen 2 juin 2023)

                "La première sécurité est la liberté"

          • [^] # Re: Simulation

            Posté par  . Évalué à 3.

    • [^] # Re: Simulation

      Posté par  . Évalué à 10.

      • "Une erreur de code efface l'ensemble des données du serveur de test de la bourse de Wall Street !"
      • "Un dev se plante et vide tout les comptes en banque sur le serveur de test de la BNP !"

      "Une IA entraînée par notre rédaction s'emballe et génère des articles racoleurs ! Le quatrième va vous étonner !"

      *splash!*

    • [^] # Re: Simulation

      Posté par  (site web personnel) . Évalué à 3.

      (bon, hormis le fait qu'ils envisagent de vraiment faire ces armes autonomes, je suis personnellement complètement contre).

      Quelle différence tu fais avec un missile ?

      "La première sécurité est la liberté"

      • [^] # Re: Simulation

        Posté par  . Évalué à 7.

        Il se trouve que je suis aussi contre les missiles.

  • # c était un scenario pas une ia

    Posté par  (site web personnel) . Évalué à 10.

    https://twitter.com/mark_riedl/status/1664458561307439106

    "La première sécurité est la liberté"

    • [^] # Re: c était un scenario pas une ia

      Posté par  . Évalué à 7.

      L'article original a été modifié pour y ajouter:

      [UPDATE 2/6/23 - in communication with AEROSPACE - Col Hamilton admits he "mis-spoke" in his presentation at the Royal Aeronautical Society FCAS Summit and the 'rogue AI drone simulation' was a hypothetical "thought experiment" from outside the military, based on plausible scenarios and likely outcomes rather than an actual USAF real-world simulation saying: "We've never run that experiment, nor would we need to in order to realise that this is a plausible outcome". He clarifies that the USAF has not tested any weaponised AI in this way (real or simulated) and says "Despite this being a hypothetical example, this illustrates the real-world challenges posed by AI-powered capability and is why the Air Force is committed to the ethical development of AI".]

  • # Régression

    Posté par  (site web personnel) . Évalué à 4.

    Dans les années 90, quand je jouais à Command & Conquer, mes troupes ne s'entretuaient pas volontairement pour essayer d'atteindre leur objectif que je leur avait assigné. L'IA n'était certes pas très futée, mais y'avait la base quoi : on tire pas sur son camp. On savait programmer ça à l'époque.

    --> []

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.