# Présentation ## Directions de recherche (notamment avec Rémi) - Quelques directions auxquelles on a pensé - Expliquées rapidement ici (pas encore bcp boulot dessus) - Dites-nous ce que vous en pensez : + quelle(s) direction(s) favoriser + d'autres idées ? + dans quel ordre ? > *Merci d'avance !* ---- # Version poster de notre article CrownCom'17 - Déjà fait ! - Disponible en ligne $\to$ [lbo.k.vu/JdD2017](http://lbo.k.vu/JdD2017) (LaTeX et [PDF](https://bitbucket.org/scee_ietr/phd-student-day-ietr-2017-bonnefoi-and-besson/downloads/poster.pdf)) ([Bitbucket non-officiel de l'équipe SCEE](https://bitbucket.org/scee_ietr/)) - Présenté bientôt par Rémi à la Journée des Doctorants (03 juillet 2017) @ Rennes (*que j'organise*) - (?) Présenté par Lilian au [Workshop on Decentralized Machine Learning, Optimization and Privacy (Sep 11-12, 2017)](https://team.inria.fr/magnet/workshop-on-decentralized-machine-learning-optimization-and-privacy/) @ Lille ---- # Version longue de notre article CrownCom'17 $\to$ journal ! - Ajout explication algorithmes adversariaux, notamment Exp3 (presque OK) - Ajout simulation comparant Exp3 et un SoftMax à UCB, Thompson etc (OK) - Preuve détaillée/rigoureuse de l'utilisation des multiplicateurs de Lagrange pour le problème d'optimisation considéré (OK) - Simulation si les objets dynamiques :iphone: et statiques :phone: ont différents taux d'activation $p$ (ex.:iphone: plus actif que :phone:), $p_1,p_2$ - Simulation si chaque taux d'activation est différent $p_k, k \in [S+D]$ (plus compliqué) :warning: application réaliste? ---- # Version longue de notre article CrownCom'17 $\to$ journal ! - Preuve ou justification que UCB / Thompson Sampling marche dans ce cadre non-*i.i.d.* : aucune idée :warning: - Et justification face à l'activation "discrète" : l'apprentissage de chaque objet a lieu "une fois de temps en temps" (activation $\sim \mathrm{Bern}(p_k)$), à des temps différents - $\hookrightarrow$ *"sparse" learning* ? est-ce un truc connu ? (@Emilie?) ---- # CrownCom'17 $\to$ journal ! ## Essayer avec plus de stations de base :satellite: ? - But : ajouter une dimension **spatiale** à l'apprentissage *(mais les objets n'ont pas besoin de le savoir)* - Intuition : on obtiendra des regroupements automatiques, par "clusters" autours de chaque BTS :satellite: - Cf. discussion plus bas sur le *"capture effect"* qu'on pourrait aussi considérer (un autre modèle de collision) - :warning: ça fera peut-être trop pour la version journal (on ne peut pas tripler la taille de l'article !) ---- # $\hookrightarrow$ Généraliser le regret "au cas IoT" ? - $K$ canaux, $M \gg K$ objets, avec des taux d'activation très faibles (activation Bernoulli, moyenne $p$) - **Collisions** : perte de récompense si des objets utilisent le même canal en même temps (modèle classique) - $R_T$ classique est une $\mathbb{E}$ sur les récompenses ($\mathbb{E}_{\mu}$), peut-être doit-on considérer un autre regret ("sparse regret" ?) $\tilde{R}_T$ qui fasse aussi $\mathbb{E}$ sur les activations $\mathbb{E}_{\mu,p}$ - $\Longrightarrow$ Bornes inf / sup ?! - *(je n'ai pas essayé pour l'instant)* ---- # Idées pour améliorer des algorithmes de bandit 1. Être plus robuste face à des environnements "lentement dynamique" (de temps en temps, les distributions des bras changent vraiment) : - avec une fenêtre glissante - autorise à se remettre en cause "après avoir convergé" - ex : échelle de temps d'une semaine pour des objets communiquants 2. (pas encore d'autres) ---- ## Être plus robuste : *"fenêtre glissante"* - Avec une fenêtre glissante de taille $\tau$ "moyenne", on garde une petite moyenne empirique $\hat{\mu}_k(t-\tau \ldots \tau)$ (ou variance empirique) - Si la petite moyenne devient trop éloignée de la moyenne complète ($|\hat{\mu}_k(t-\tau \ldots t) - \hat{\mu}_k(0 \ldots \tau)| \geq \varepsilon$), on remet les statistiques internes de l'algorithmes avec la petite moyenne - :wrench: Peut être malin, mais dur de savoir comment choisir $\tau$ et $\varepsilon$ : dépendent de la fréquence de changement (inconnue)... ---- ## Être plus robuste : *"fenêtre glissante"* > Si la distribution des bras est connue, on peut lier les deux paramètres à un seul paramètre de "confiance" (@Rémi ?) - Facile à coder pour un algorithme basé sur $\hat{\mu}_k(t)$ et $N_k(t)$ nb sélections du bras $k$ (e.g., UCB, kl-UCB) - Déjà testé : $\to$ [`Policies.SlidingWindowsRestart`](http://banditslilian.gforge.inria.fr/docs/Policies.SlidingWindowsRestart.html) - Marche mal empiriquement... (*pour les valeurs essayées*, et impossible de savoir lesquelles peuvent marcher) - Plus dur pour des algorithmes Bayésiens (demande l'historique de taille $\tau$ pour réinitialiser les posteriors avec l'historique partiel : consomme de la mémoire), - et (je pense) impossible pour des algorithmes génériques... ----