Aller au contenu principal

Learning for Optimizing

This repository contains the code used to research the application of reinforcement learning techniques for local search methods to solve combinatorial optimization problems.

CIA : Data Augmentation Framework Using Stable Diffusion

Controllable Image Augmentation Framework based on Stable Diffusion :

 

This is a data generation framework that uses Stable Diffusion with ControlNet, to do Data Augmentation for Object Detection using YOLOv8. Models can be trained using a mix of real and generated data. They can also be logged and evaluated. This framework helps you train better models using data augmentation for data constrained scenarios.

 

Explainflix: Interactive Recommender System with LLM-Generated Explanations

Overview: Our project introduces an advanced interactive recommender system that combines graph-based collaborative filtering with Large Language Model (LLM)-generated explanations. Designed to enhance transparency and user trust, this system provides clear, context-rich explanations for recommendations, addressing a common issue with traditional methods.

Key Features:

  • Graph-Based Collaborative Filtering: Employs graph-based techniques to refine and personalize recommendations based on user-item relationships and preferences.
  • LLM-Generated Explanations: Utilizes state-of-the-art LLMs to generate detailed, engaging explanations for each recommendation, making the system's rationale more transparent and understandable.
  • Real-Time Interaction: Offers a user-friendly web interface for quasi-real-time feedback and interaction, allowing users to engage directly with the recommender system and explore why an item was recommended.

Explainability Integration for Convolutional Neural Networks

This software brick is designed to introduce an explainability framework into convolutional neural networks (CNNs) used for binary classification, ordinal classification, or regression tasks. 

By reshaping the network’s latent space, this tool allows for the exploration of any features of interest, providing insight into which features drive the model's final decisions.

MUSE - VSenseBox

VSenseBox

VSenseBox is a small all-in-one Python toolbox filled with many vision/visual sensing modules such as object detectors and object trackers, etc. These modules are well integrated together and can be easily selected and configurated with minimal coding.

  • Integrate with popular object detectors including YOLO v3, v4, v5, v8, v9, and more.
  • Integrate with bbox trackers including Centroid, SORT, DeepSORT, and more TBA.
  • Support Python 3.9-3.12 on Windows, Linux, and macOS.
  • Support YAML config file for each individual module.
  • Integrate with PyQt GUI for easy config.

 

This toolbox is a part of Win2Wal - MUSE project (Multimodal Sensing Environment for Mobile Applications), funded by Walloon Region, Belgium.

 

Segmentation of Histopathology Images Using SSL and AL with Missing Annotations

Real-world segmentation tasks in digital pathology require a great effort from human experts to accurately annotate a sufficiently high number of images. Hence, there is a huge interest in methods that can make use of non-annotated samples, to alleviate the burden on the annotators. In this work, we evaluate two classes of such methods, semi-supervised and active learning, and their combination on a version of the GlaS dataset for gland segmentation in colorectal cancer tissue with missing annotations. Our results show that semi-supervised learning benefits from the combination with active learning and outperforms fully supervised learning on a dataset with missing annotations. However, an active learning procedure alone with a simple selection strategy obtains results of comparable quality.

 

This work has been accepted at CVAMD 2023 (ICCV workshop), with the title "Computational Evaluation of the Combination of Semi-Supervised and Active Learning for Histopathology Image Segmentation with Missing Annotations". This work was done by Laura Galvez Jimenez, Lucile Dierckx, Maxime Amodei, Hamed Razavi Khosroshahi, Natarajan Chidambaran, Anh-Thu Phan Ho, and Alberto Franzin.

Temperature field prediction in additive manufacturing process

Additive Manufacturing (AM), also known as 3D printing, is a disruptive manufacturing technology that has grown rapidly in the manufacturing industry and has gained a lot of attention owing to its ability to manufacture parts with complex features by using a layer-by-layer approach. The variability in the final product quality is however one of the major hurdles to the widespread application of such techniques in production environment. In particular, the mechanical properties and the quality of the manufactured part largely depend on the distribution of temperature fields during the AM process. Numerical simulations, such as finite element analyses, are commonly used to simulate the thermal history during the AM process, but they are known to be expensive and time-consuming, and hence they cannot be used in real-time. In this context, we propose a machine learning approach for the fast and accurate prediction of the thermal field evolution. Our approach consists of a variational autoencoder that encodes the thermal fields into a latent space, combined with a recurrent neural network that simulates the temporal process in the latent space. In order to generate the datasets for training and testing this model, 256 finite element-based
thermal simulations were performed using Cenaero’s virtual manufacturing software, Morfeo. 

ALAMBIC

 

ALAMBIC

ALAMBIC, ou Active Learning Automation with Methods to Battle Inefficient Curation, est une plateforme web open-source sous forme de docker pour l'étude et le développement de modèles d'apprentissage automatique ave l'aide de l'apprentissage actif.


Qu'est-ce que l'apprentissage actif ?

Active learning schema

L'apprentissage actif est utilisé quand seule une portion des données totales est labellisée et que labelliser les données est coûteux en temps et/ou en prix. Cette méthode optimise la labellisation des données en sélectionnant les échantillons les "plus intéressants" pour être labelliser.

Le modèle, ici appelé l'apprenant, est initalement entraîné seulement avec la portion labellisée des données. Ensuite, il va essayer de prédire les labels de la portion non-labellisée des données. Avec ces prédictions, l'apprenant va sélectionner l'échantillon, aussi appelée la query, duquel il est le plus intéressé d'apprendre le vrai label. Ce processus est appelé la sélection de la query et peut-être faite en fonction de différentes strategies, comme par example en choisissant la query la plus représentative de la population des échantillons ou la query dont le modèle est le plus incertain de la prédiction.

La query est alors présentée à un oracle, la plupart du temps un humain, qui va la labelliser. Après ça, laquery maintenant labellisée est ajoutée aux autres données labellisées pour être utilisée dans un nouveau cycle d'entraînement.

La boucle d'entraînement-inférence-sélection-labellisation est répétée jusqu'à ce qu'un critère spécifique, comme un coût de labellisation (c-à-d, un nombre maximum de labels donnés par l'oracle) ou une performance minimale du modèle (comme la précision). En faisant cela, on peut attendre une performance décente du modèle tout en labellisant le plus efficacement ses données (merci, apprentissage actif !)


Que fait ALAMBIC ?

ALAMBIC offre une plateforme où tout le processus d'active learning est complètement implémentée avec peu voire même aucun code !

Il suffit juste de:

  1. Importer ses données ((non-)labellisées)
  2. Choisir son modèle, ses paramètre et les features à utiliser
  3. Choisir si on veut entraîner un modèle avec l'apprentissage actif ou étudier le processus de l'apprentissage actif
  4. Lancer le tout !

Le processus est automatisé avec des visualisation pour suivre la performance du modèle. Vous avez juste besoin de jouer l'oracle !


Comment puis-je l'utiliser ?

Le GitHub repository est en lien en dessous et la documentation complète du projet peut être trouvée sur https://trusted-ai-labs.github.io/ALAMBIC/.

 

 

Global explanation landscape of 2D data embeddings using multiple local explanations

(abstract from the paper: https://ceur-ws.org/Vol-3318/short23.pdf)

 

Nonlinear dimensionality reduction (NLDR) algorithms such as 𝑡-SNE are often employed to visually analyze high-dimensional (HD) data sets in the form of low-dimensional (LD) embeddings. Unfortunately, the nonlinearity of the NLDR process prohibits the interpretation of the resulting embeddings in terms of the HD features. State-of-the-art studies propose post-hoc explanation approaches to locally explain the embeddings. However, such tools are typically slow and do not automatically cover the entire LD embedding, instead providing local explanations around one selected data point at a time. This prevents users from quickly gaining insights about the general explainability landscape of the embedding. This paper presents a globally local and fast explanation framework for NLDR embeddings. This framework is fast because it only requires the computation of sparse linear regression models on subsets of the data, without ever reapplying the NLDR algorithm itself. In addition, the framework is globally local in the sense that the entire LD embedding is automatically covered by multiple local explanations. The different interpretable structures in the embedding are directly characterized, making it possible to quantify the importance of the HD features in various regions of the LD embedding. An example use-case is examined, emphasizing the value of the presented framework.

D-SAIL : Distributed & Secured Artificial Intelligence Learning

I. Introduction

Les réseaux de neurones profonds constituent une approche prometteuse pour le développement d’outils d’aide à la décision dans le domaine de la santé. Cependant, l’utilisation de ces modèles nécessite une grande quantité de données d’entraînement pour atteindre des performances satisfaisantes. En outre, le processus d’acquisition des données est souvent problématique car il est soumis à la législation sur la protection des données.
Par conséquent, le domaine de l’imagerie médicale souffre d’un manque de données réelles (provenant de nos hôpitaux), ce qui entrave le développement d’outils d’aide aux soins de santé.
L’apprentissage fédéré est une solution pour surmonter cette disponibilité limitée de données. La brique D-Sail comprend des outils nécessaires pour entraîner un modèle global à partir de plusieurs sous-modèles. L’avantage principal est que les participants n’échangent pas leurs données locales tout en bénéficiant d’un modèle plus performant.
En échange, les partenaires doivent entraîner un modèle similaire sur leurs données locales. En particulier, dans l’apprentissage fédéré, le consortium d’acteurs partage les poids de leur modèle entraîné localement et une unité centrale les agrège.

II. Principe

La figure ci-dessous (Fig. 1) illustre le fonctionnement de l’apprentissage fédéré.

Img1

Chaque site disposant de données (« Site 1 » et « Site 2 ») exécute son entraînement via des réseaux de neurones (directement sur ses propres données) sans que les données ne quittent l’institution (hôpitaux, centres de dépistage, industries, centres de recherche, universités, etc.) comme c’est généralement le cas avec l’entraînement traditionnel.
Seuls les poids résultant de l’entraînement des réseaux de neurones seront partagés avec les différents partenaires (« Site 1 » et « Site 2 »).

Une machine neutre (« Site 0 »), c’est-à-dire sans aucune donnée, joue le rôle unique d’agrégateur de poids. L’opération consiste donc à agréger les poids reçus et à les renvoyer à chaque partenaire afin de bénéficier de l’entraînement de chacun d’entre eux et ainsi permettre un entraînement de meilleure qualité grâce à son approche multicentrique et tout en respectant la confidentialité des données.
Pour éviter toute fuite éventuelle via les poids transmis à la machine neutre, le consortium s’appuiera sur un réseau privé (Virtual Private Network) afin d’assurer une communication sécurisée vers la machine neutre (« Site 0 »).

III. Méthode

Pour évaluer cette approche innovante, nous avons utilisé une base de données publique de 13 807 radiographies pulmonaires, composée de 10 192 images saines et de 3 615 images positives au COVID-19. Ces images anonymisées au format DICOM ont été converties au format PNG sans dégradation de l’image.Ce jeu de données a été divisé en trois parties (non égales) afin de valider notre approche (apprentissage fédéré) avec la réalité du terrain, c’est-à-dire avec des jeux de données qui restent dans les hôpitaux.
Quant au modèle d’apprentissage automatique utilisé pour l’analyse des images de radiographie thoracique, il peut être reformulé comme une tâche de classification binaire d’images (positif/négatif). Cela constitue un problème de Machine Learning qui peut être traité efficacement avec la technologie basée sur le Deep Learning. Nous avons opté pour le réseau neuronal ResNet-18 pré-entraîné sur la base de données publique ImageNet.

IV. Expérimentation

En pratique, les hôpitaux peuvent ne disposer que d’une quantité limitée de données, insuffisante pour entraîner efficacement un réseau de neurones compte tenu de la quantité limitée de données (notamment avec les cas positifs peu élevés et l’approche monocentrique).  Ils peuvent également être réticents à partager des contenus sensibles avec d’autres hôpitaux. Nous avons émulé donc cette situation en considérant trois hôpitaux, chacun avec une partie mutuellement exclusive et équivalente du jeu de données original. L’apprentissage fédéré est utilisé, en agrégeant les poids issus des entraînements réalisés au sein de chaque hôpital, de manière itérative.

V. Interprétation des résultats

La courbe ROC (Receiver Operating Characteristic) illustrée ci-dessous (Fig. 2), également appelée courbe de sensibilité/spécificité, est utilisée pour calculer la capacité d’un test de dépistage à distinguer les personnes saines des personnes malades.
La sensibilité du test, c’est-à-dire les vrais positifs, est représentée sur l’axe des ordonnées et les faux positifs, c’est-à-dire la spécificité, sur l’axe des abscisses. La valeur optimale se trouve dans le coin supérieur gauche du graphique, ce qui indique une proportion élevée de vrais positifs et une faible proportion de faux positifs. L’aire sous la courbe (AUC) indique donc la précision du test : elle est égale à 1 si le test est parfait et peut identifier tous les patients sans faux positifs, à 0,5 si le test est sans valeur, détectant autant de vrais positifs que de faux positifs.

Img2


Comme le montre la figure ci-dessous (Fig. 3), les résultats sont très prometteurs, et nous avons obtenu d’excellents résultats avec ce jeu de données d’images thoraciques. La courbe rouge (H) obtenue avec notre solution est proche du point idéal situé dans le coin supérieur gauche.

Img3

VI. Travaux en cours

Cette brique est en constamment en cours d'amélioration. 

Nos dernières recherches portent sur la manière de renforcer la sécurité du modèle avec des techniques telles que le cryptage homomorphique (EH) et le Secure Multi-Party Computation (SMPC).

Le cryptage homomorphique est une technique de cryptage qui permet de manipuler des données chiffrées sans avoir à les déchiffrer au préalable. Très utile pour garantir la confidentialité des données sensibles lorsqu'elles sont stockées ou traitées dans des environnements sensibles.

Le calcul multi-partite sécurisé est une technique qui permet à plusieurs parties de calculer une fonction sur leurs données sans avoir à révéler leurs données individuelles. Très utile également pour protéger la confidentialité des données dans des contextes de collaboration.

La brique logicielle est très modulable et a été utilisée dans le développement d'un système fédéré de recommandation de médicaments dont voici le lien https://www.scitepress.org/Link.aspx?doi=10.5220/0011722700003414.

Nos prochaines expérimentations porteront sur l'approche "cross-device" et plus particulièrement avec des séries temporelles.