<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Entreprises | Etienne Chassaing</title><link>http://etiennechassaing.com/fr/teaching/companies/</link><atom:link href="http://etiennechassaing.com/fr/teaching/companies/index.xml" rel="self" type="application/rss+xml"/><description>Entreprises</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>fr</language><lastBuildDate>Sat, 01 Feb 2025 00:00:00 +0000</lastBuildDate><image><url>http://etiennechassaing.com/media/sharing.jpg</url><title>Entreprises</title><link>http://etiennechassaing.com/fr/teaching/companies/</link></image><item><title>Formation contrôle PID et MPC</title><link>http://etiennechassaing.com/fr/teaching/companies/pid-mpc/</link><pubDate>Sat, 01 Feb 2025 00:00:00 +0000</pubDate><guid>http://etiennechassaing.com/fr/teaching/companies/pid-mpc/</guid><description>&lt;p>&lt;img src="featured.png" alt="Principe du MPC">
&lt;em>Principe du Model Predictive Control&lt;/em>&lt;/p>
&lt;p>Formation réalisée en &lt;strong>février 2025 chez &lt;a href="https://nehemis.com">Nehemis&lt;/a>&lt;/strong> à destination des
&lt;strong>équipes software&lt;/strong>. L&amp;rsquo;objectif : donner à des développeurs qui ne sont pas automaticiens
de quoi comprendre, régler et débugger une boucle de contrôle, puis situer le Model
Predictive Control par rapport à un PID : quand il apporte quelque chose, et à quel prix.&lt;/p>
&lt;p>Le programme ci-dessous est celui qui a été déroulé ; il est adaptable à votre système et
au temps disponible.&lt;/p>
&lt;h2 id="partie-1--comprendre-un-système-dynamique">Partie 1 : Comprendre un système dynamique&lt;/h2>
&lt;ul>
&lt;li>Système en boucle ouverte et en boucle fermée : ce que la rétroaction change.&lt;/li>
&lt;li>Modélisation d&amp;rsquo;un procédé simple, notion de fonction de transfert, pôles et stabilité.&lt;/li>
&lt;li>Lecture d&amp;rsquo;une réponse indicielle : gain statique, constante de temps, dépassement,
temps de réponse.&lt;/li>
&lt;li>Identification expérimentale d&amp;rsquo;un procédé à partir de mesures réelles.&lt;/li>
&lt;/ul>
&lt;h2 id="partie-2--le-correcteur-pid-en-pratique">Partie 2 : Le correcteur PID en pratique&lt;/h2>
&lt;ul>
&lt;li>Rôle de chaque action : proportionnelle, intégrale, dérivée, et ce que chacune coûte.&lt;/li>
&lt;li>Erreur statique, rejet de perturbation, marge de stabilité.&lt;/li>
&lt;li>Méthodes de réglage : approche empirique, Ziegler-Nichols, réglage guidé par le modèle.&lt;/li>
&lt;li>Les pièges d&amp;rsquo;implémentation qui font échouer un PID correct sur le papier :
emballement de l&amp;rsquo;intégrateur (&lt;em>anti-windup&lt;/em>), saturation d&amp;rsquo;actionneur, bruit amplifié
par l&amp;rsquo;action dérivée et filtrage de cette voie.&lt;/li>
&lt;li>Discrétisation : période d&amp;rsquo;échantillonnage, forme récurrente du correcteur, effets du
temps de calcul et des retards.&lt;/li>
&lt;/ul>
&lt;h2 id="partie-3--introduction-au-model-predictive-control">Partie 3 : Introduction au Model Predictive Control&lt;/h2>
&lt;ul>
&lt;li>Principe : optimiser une séquence de commandes sur un horizon glissant plutôt que
réagir à l&amp;rsquo;erreur instantanée.&lt;/li>
&lt;li>Formulation du problème d&amp;rsquo;optimisation : modèle de prédiction, fonction de coût,
horizons de prédiction et de commande.&lt;/li>
&lt;li>Ce que le MPC sait faire et que le PID ne sait pas : &lt;strong>contraintes explicites&lt;/strong> sur les
entrées et les états, systèmes &lt;strong>multivariables&lt;/strong> (MIMO), anticipation d&amp;rsquo;une consigne
connue à l&amp;rsquo;avance.&lt;/li>
&lt;li>Le prix à payer : besoin d&amp;rsquo;un modèle, coût de calcul, sensibilité aux erreurs de
modélisation.&lt;/li>
&lt;li>Critères de choix : dans quels cas un PID bien réglé reste la bonne réponse.&lt;/li>
&lt;/ul>
&lt;h2 id="partie-4--applications">Partie 4 : Applications&lt;/h2>
&lt;ul>
&lt;li>Mise en situation sur un système représentatif du métier des participants.&lt;/li>
&lt;li>Comparaison PID / MPC sur le même procédé : performance, respect des contraintes,
robustesse.&lt;/li>
&lt;li>Discussion des cas d&amp;rsquo;usage internes et des suites possibles.&lt;/li>
&lt;/ul>
&lt;p>Cette formation est proposée en français ou en anglais, sur site ou à distance, et se
décline en une à trois journées selon la profondeur souhaitée sur la partie MPC.&lt;/p></description></item><item><title>Formation Deep Reinforcement Learning (5 jours)</title><link>http://etiennechassaing.com/fr/teaching/companies/drl/</link><pubDate>Thu, 03 Oct 2024 00:00:00 +0000</pubDate><guid>http://etiennechassaing.com/fr/teaching/companies/drl/</guid><description>&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="Boucle agent-environnement : la politique de l&amp;amp;rsquo;agent produit des actions, l&amp;amp;rsquo;environnement renvoie observations et récompenses" srcset="
/fr/teaching/companies/drl/featured_hu6aa22660cb161ba72f620666ae4b7356_150020_db0698252c36dfb6b85666ceb8af70b2.webp 400w,
/fr/teaching/companies/drl/featured_hu6aa22660cb161ba72f620666ae4b7356_150020_cd0430aaa62ad2fc17ba109e79964c3e.webp 760w,
/fr/teaching/companies/drl/featured_hu6aa22660cb161ba72f620666ae4b7356_150020_1200x1200_fit_q80_h2_lanczos_3.webp 1200w"
src="http://etiennechassaing.com/fr/teaching/companies/drl/featured_hu6aa22660cb161ba72f620666ae4b7356_150020_db0698252c36dfb6b85666ceb8af70b2.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;em>La boucle agent-environnement du Reinforcement Learning&lt;/em>&lt;/p>
&lt;p>Une formation de cinq jours au &lt;strong>Deep Reinforcement Learning&lt;/strong>, qui alterne théorie et
pratique avec &lt;strong>Stable-Baselines3&lt;/strong> et &lt;strong>OpenAI Gym&lt;/strong> : le cours le matin, la mise en
pratique l&amp;rsquo;après-midi, et un projet final sur un environnement tiré de votre métier.&lt;/p>
&lt;p>Le programme ci-dessous est un programme type, adaptable à vos besoins et au temps
disponible.&lt;/p>
&lt;h2 id="jour-1--les-bases-du-reinforcement-learning">Jour 1 : Les bases du Reinforcement Learning&lt;/h2>
&lt;p>&lt;strong>Matin&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Ce qu&amp;rsquo;est le RL, et ce qui le distingue de l&amp;rsquo;apprentissage supervisé et non supervisé&lt;/li>
&lt;li>Les briques de base : agent, environnement, états, actions, récompenses&lt;/li>
&lt;li>Des applications concrètes : jeux, robotique, finance&lt;/li>
&lt;li>Le vocabulaire : politique, valeur d&amp;rsquo;état, valeur d&amp;rsquo;action, récompense, retour ;
processus de décision markovien (MDP)&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Après-midi&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Les méthodes tabulaires : Monte Carlo, différences temporelles (TD), SARSA, Q-learning&lt;/li>
&lt;li>Leurs forces, leurs limites et leurs cas d&amp;rsquo;usage&lt;/li>
&lt;li>&lt;em>Pratique :&lt;/em> implémenter un Q-learning simple sur FrozenLake (OpenAI Gym)&lt;/li>
&lt;/ul>
&lt;h2 id="jour-2--les-environnements-openai-gym">Jour 2 : Les environnements OpenAI Gym&lt;/h2>
&lt;p>&lt;strong>Matin&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Le rôle de l&amp;rsquo;environnement dans l&amp;rsquo;entraînement d&amp;rsquo;un agent&lt;/li>
&lt;li>Les environnements standards : CartPole, MountainCar…&lt;/li>
&lt;li>Manipuler un environnement : &lt;code>env.reset()&lt;/code>, &lt;code>env.step()&lt;/code>, &lt;code>env.render()&lt;/code>&lt;/li>
&lt;li>Les espaces d&amp;rsquo;actions et d&amp;rsquo;observations&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Après-midi&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Créer son propre environnement avec l&amp;rsquo;API de Gym&lt;/li>
&lt;li>&lt;em>Pratique :&lt;/em> un jeu simple avec une logique de récompense sur mesure&lt;/li>
&lt;/ul>
&lt;h2 id="jour-3--stable-baselines3">Jour 3 : Stable-Baselines3&lt;/h2>
&lt;p>&lt;strong>Matin&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Pourquoi SB3 : des implémentations fiables de DQN, PPO, A2C…&lt;/li>
&lt;li>Installation et configuration&lt;/li>
&lt;li>Brancher un environnement Gym sur SB3, premier entraînement de PPO sur CartPole&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Après-midi&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;em>Pratique :&lt;/em> optimiser un agent PPO sur CartPole&lt;/li>
&lt;li>Les callbacks pour piloter l&amp;rsquo;entraînement : arrêt anticipé, suivi des métriques&lt;/li>
&lt;/ul>
&lt;h2 id="jour-4--les-algorithmes-avancés">Jour 4 : Les algorithmes avancés&lt;/h2>
&lt;p>&lt;strong>Matin : Deep Q-Network (DQN)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Des méthodes tabulaires aux réseaux de neurones&lt;/li>
&lt;li>Replay buffer, target network&lt;/li>
&lt;li>&lt;em>Pratique :&lt;/em> DQN avec SB3 sur LunarLander&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Après-midi : Actor-Critic (A2C, PPO)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Le principe de l&amp;rsquo;Actor-Critic&lt;/li>
&lt;li>Ce que PPO apporte par rapport à DQN : efficacité d&amp;rsquo;échantillonnage, stabilité&lt;/li>
&lt;li>&lt;em>Pratique :&lt;/em> PPO sur un environnement continu, BipedalWalker&lt;/li>
&lt;/ul>
&lt;h2 id="jour-5--déploiement-et-projet-sur-votre-métier">Jour 5 : Déploiement et projet sur votre métier&lt;/h2>
&lt;p>&lt;strong>Matin&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Sauvegarder et recharger un agent entraîné&lt;/li>
&lt;li>L&amp;rsquo;évaluer sur des épisodes jamais vus à l&amp;rsquo;entraînement&lt;/li>
&lt;li>L&amp;rsquo;intégrer dans une application réelle : robots, simulations, jeux&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Après-midi : projet final&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Un projet complet sur un environnement tiré de votre métier : modélisation, choix de
l&amp;rsquo;algorithme, entraînement, réglage et évaluation&lt;/li>
&lt;li>Bilan : les difficultés rencontrées et les pistes pour aller plus loin&lt;/li>
&lt;/ul></description></item></channel></rss>