===== Tematy projektów WSHOP -- wiosna 2023 ===== ==== [KKT] How do semantic catalogues of manuscript collections work? ==== * **Student:** Mateusz Cholewa * **Namespace in the wiki:** [[..:projects:2023:semcatalog:]] * **The goal of the project:** Exploration of existing semantic catalogues for the manuscript collections * **Technology:** Semantic Web (RDF, SPARQL, ontologies), scientific papers reading/mail writing * **Description:** A survey of the systems used for the storage and management of manuscripts should be prepared (use the links below as a starting point) and then compared by presenting the content/assumptions/purpose, the semantic model underpinning the project and the practical possibilities for inferring/filtering/displaying collection items. \\ There will probably be no way to get to the details of the catalogue directly from the website, so one will need to look for scientific papers describing the systems, and if this still does not provide an answer then the people responsible for these projects should be contacted. * **Links:** * Kalliope [DE]: [[https://kalliope.staatsbibliothek-berlin.de/en/index.html]] * Fibula [PL]: [[http://info.filg.uj.edu.pl/fibula/en]] * Goethe- und Schiller-Archiv [DE]: [[https://ores.klassik-stiftung.de/ords/f?p=401:1::::::]] * Editionenportal [DE; still beta]: [[http://editionenportal.de/]] * Wittgenstein Ontology Explorer [NO]: [[http://wab.uib.no/sfb/]] * Wittgenstein Source [NO]: [[http://www.wittgensteinsource.org/]] * Letters Sampo: [[https://lettersampo.demo.seco.cs.aalto.fi/en/]] * Europeana: [[https://www.europeana.eu/]] ==== [KKT] FACE APIs comparison ==== * **Group 1:** [[..:projects:2023:faceapis1:|Drużdżel, Kamiński, Kozdęba]] * **Group 2:** [[..:projects:2023:faceapis2:|Przysucha]] * **Group 3:** [[mgr:mgr2023:emoapis:start|Panczykowski]] * **The goal of the project:** Comparison of the effectiveness of off-the-shelf APIs for emotion recognition in non-trivial images * **Technology:** Any scripting/programming language (to call the APIs) * **Description:** The facial expression recognition tools are trained and evaluated on benchmark datasets that contain many expressions generated 'at the request' of the expressor and photographed en face. This does not match the reality, where expressions are not so strong and where the face is not always facing the camera. The project should: (a) identify a catalogue of situations that may frequently arise when interacting with camera-based systems (e.g., tilt/turn of the head, various quality and resolution of the image), (b) prepare a database of images expressing facial expressions in a natural (non-forced) way in different situations, (c) identify existing APIs for recognising emotions from facial expressions, (d) evaluate the found APIs on the prepared set, (e) summarise the results by indicating the strengths and weaknesses (supported situations) for each API. * **Links:** * AffectNet: [[https://paperswithcode.com/dataset/affectnet]] (a benchmark dataset) * Our previous work is briefly summarized in the paper: [[https://link.springer.com/chapter/10.1007/978-3-031-06527-9_7|Evaluation of Selected APIs for Emotion Recognition from Facial Expressions]] * Previous workshop project: [[..:projects:2022:faceapis:]] ==== [SBK] Rozbudowa platwofmy no-code (Ludwig), lub low-code (PyCarret) o mechanizm tekstowych zapytań ==== * **Student:** FIXME * **Namespace in the wiki:** [[..:projects:2022:FIXME:]] * **The goal of the project:** Make it possible to ASK artificial intelligence questions in natural language * **Technology:** Python, Explainable AI, ChatGPT, * **Description:** The main deliverable will be a textual interface to Ludwig or PyCarret, that will allow for a selected queries. For instance: "Cluster data into 5 clusters.", "What is the main difference between cluster 1 and 2?" However, the first step will be to define a domain specific language that will allow to process such queries. ==== [SBK] Local uncertain explanations on Images ==== * **Student:** FIXME * **Namespace in the wiki:** [[..:projects:2022:FIXME:]] * **The goal of the project:** Add image modality to the explanation mechanism based on LUX * **Technology:** Python, Explainable AI, DeepNeuralNetworks, * **Description:** Explainable ai aim in providing human-readable explanations to model decisions (see more: [[https://christophm.github.io/interpretable-ml-book/|Interpretable Machine Learning]]). Local uncertain explanations is a mechanism that generates rules that explains model decisions. It now only works for tabular data, and the goal of the project is to move it to image modality. In particular following milestones are expected to be accomplished: * Use [[https://github.com/rachtibat/zennit-crp|Zenit-CRP]] or [[https://github.com/jacobgil/pytorch-grad-cam|GradCam]]to obtain concepts from image that will serve as conditional parts in the rule (you can use the VGG dataset that is given in the tutorial) * Extract this concepts from image and based on the concepts IDs train LUX to explain different classes * Present in visual rule-based form the explanations that will possibly allow to spot some biases in the dataset (like error in predicting garbage truck based on stop sign that appeared in the background most often) {{ :courses:wshop:garbage-truck.png?400 |}} * **Links:** * LUX: https://github.com/sbobek/lux ==== [SBK] Lux on Time-series ==== * **Student:** FIXME * **Namespace in the wiki:** [[..:projects:2022:FIXME:]] * **The goal of the project:** Add image modality to the explanation mechanism based on LUX * **Technology:** Python, Explainable AI, DeepNeurralNetworks, AnomalyDetection, * **Description:** The goal of the project is explain Deep neural classifier in a rule-based manner, similarly to previous project. We will be working with real data from scientific project that our team is working on (See [[https://www.hh.se/english/research/our-research/research-at-the-school-of-information-technology/technology-area-aware-intelligent-systems/research-projects-within-aware-intelligent-systems/xpm-explainable-predictive-maintenance.html|XPM]]). Following milestones will be required to accomplish the project: * Use autoencoder delivered by our team (later in the semester use the auto-encoder developed by other student-team) to detect anomalies (dataset that we will be working with: [[https://zenodo.org/record/6854240#.YzmJNdJBy-Y|Metro de Porto]] * Build classifier (based on DNN) to predict the anomalies tagged by the AE. * Use Grad-CAM to explain the classifier (obtain segments that are meaningful to detect anomaly) * Train LUX on the segments defined by GRAD-Cam heat-maps: {{ :courses:wshop:ts-lux.png?400 |}} * **Links:** * LUX: https://github.com/sbobek/lux * Dataset: [[https://zenodo.org/record/6854240#.YzmJNdJBy-Y|Metro de Porto]] ==== [SBK] DeepProbLog counterfactual explanations ==== * **Student:** FIXME * **Namespace in the wiki:** [[..:projects:2022:problogcounterfactuals:start]] * **The goal of the project:** Create Counterfactual explanations of DeepNeuralNetworks with usage of probabilistic declarative programming * **Technology:** DeepProbLog, Python * **Description:** The goal of the project is to create counterfactual explanations (i.e. What I need to change in the input of the instance to change the prediction of the classifier to desired output. For instance, if the system predicts I cannot get a loan, I want to know what should I do (how change my customer profile) to get a loan. There are several methods fro that, but they most often are "blond" searchers. Therefore you may get a suggestion to change your gender, or your date of birth. To prevent that, we want to modulate the action the counterfactual search can perform in order to find the best one. The goal is to use probabilistic programming, where we can define a meta-procedure of generating counterfactual and allow the system to induce the concrete procedure itself (similar to inductive programming). {{ :courses:wshop:deep-titanic.png?400 |}} * **Links:** * [[https://github.com/ML-KULeuven/deepproblog|DeepProbLog]] * Dataset: Lets start with simple one (like Titanic, MNIST, etc.) ==== [SBK] OpenML dataset creation script for Meta-Learning ==== * **Student:** Dominik Tyszownicki * **Namespace in the wiki:** [[..:projects:2023:openmlds:]] * **The goal of the project:** Prepare a script that will build meta-learnign dataset out of OpenML logs * **Technology:** Python, [[https://docs.openml.org/APIs/|OpenML API]] * **Description:** The main goal of the project is to create a script that will fetch all of the runs/pipelines and dataset from [[https://www.openml.org/|OpenML]] platform and create a dataset out of it. The challenge is to transform pipeline definitions which are code snippets into logical components of machine-learning pipeline (including deep neural networks). Such a dataset will serve as a learn-to-learn dataset for meta-learning solutions. {{ :courses:wshop:openml-fetch.png?400 |}} * **Links:** * [[https://www.openml.org/|OpenML]] ==== [SBK] InXAI for images ==== * **Student:** Piotr Szegda * **Namespace in the wiki:** [[..:projects:2022:inxaiimg:]] * **The goal of the project:** Contribute to the InXAI framework by extending it with image modality * **Technology:** Python * **Description:** The goal of the project is to extend the InXAI framework to include image modality. In particular the milestones required to accomplish the project will be as follows: * Implement segmentation mechanism for images * Implement permutation mechanism for segmented image (e.g. replacing segments with average value of pixels, etc.) * Obtain LIME/SHAP importance for the segments of the image * Calculate metrics with InXAI (this part is already implemented, but need to be tested with Segmenters and Perturbers for images) {{ :courses:wshop:inxai.png?400 |}} * **Links:** * [[https://github.com/sbobek/inxai|InXAI]] * You can start with: [[https://github.com/sbobek/inxai/blob/dev/examples/AUCloss(2).ipynb|some-not-entirely-working-preliminary-work]] ==== [SBK] Wizualizacja (interaktywna) drzew decyzyjnych ==== * **Student:** FIXME * **Namespace in the wiki:** [[..:projects:2023:FIXME:]] * **The goal of the project:** Implementacja warstwy wizualizacji drzew decyzyjnych, pozwalajacych na umieszczenia na nich większej ilości infromacji niż wyłącznie dane o nazwach zmiennych i wartościach * **Technology:** Python, [[https://streamlit.io/|Streamlit]] * **Description:** Celem projektu jest swtorzenie interaktywnej wizualizacji dla drzew decyzyjnych generowanych algorytmem pyUID3 w ramach wyjaśniacza LUX. Chodzi między innymi o uwzględenienie w wizualizacji drzewa: granicy decyzyjnej wyznaczanej przez warunek na krawędzi (w formie wykresu dwuwymiarowego); informacji o istotności danej zmiennej zgodnie z ich wagą oikreśloną przez SHAP, oraz niepewneością wartości; modyfikowanie drzewa; {{ :courses:wshop:topics:oblique.png?200 |}} * **Links:** * [[https://github.com/sbobek/pyuid3|PyUID3]] * [[https://github.com/sbobek/lux|LUX]] ==== [SBK] Prototypowe sieci neuronowe dla wyjaśnialnej klasteryzacji szeregów czasowych ==== * **Student:** FIXME * **Namespace in the wiki:** [[..:projects:2023:prototsnet:]] * **The goal of the project:** Przeglad i implementacja wybranej metody klasyfikacji szeregów czasowych z wykorzystaniem prototypów jako wyjaśnień * **Technology:** Python, [[https://streamlit.io/|Streamlit]] * **Description:** Celem projektu jest w pierwszej kolejności przegląd listeratury pod kątem identyfikacji istniejących rozwiązań do klasyfikacji szeregów czasowych z wykorzystaniem interpretowalnych sieci neuronowych (tzw. Prototypowe części sieci). W dalszej kolejności wybór rozwiązania do implementacji i reprodukcję wynikóœ z wybranego artykułu. * **Links:** * https://ojs.aaai.org/index.php/AAAI/article/view/6165 * https://dl.acm.org/doi/abs/10.1145/3514221.3526183 * https://bib.dbvis.de/uploadedFiles/IEEE_Access_2022___XAI_Time_Series_Review.pdf * https://link.springer.com/article/10.1007/s10618-022-00823-6 * https://arxiv.org/abs/2106.09636 * https://arxiv.org/abs/2302.05021 * https://ojs.aaai.org/index.php/AAAI/article/view/17018 * https://www.mdpi.com/2227-7390/9/23/3137 ==== [SBK] Ewaluacja wyjaśnień ==== * **Student:** FIXME * **Namespace in the wiki:** [[..:projects:2023:FIXME:]] * **The goal of the project:** Przeglad i implementacja wybranej metodologii ewaluacji wyjaśnień * **Technology:** Python, [[https://streamlit.io/|Streamlit]] * **Description:** Celem projektu jest zaimplementowanie (w formie notebooka na Google Colab) procedury ewaluacyjnej dla algorytmów wyjaśnielnaej sztucznej inteligencji. * **Links:** * https://dl.acm.org/doi/10.1145/3442188.3445941 * ==== [KKT] Template ==== * **Student:** FIXME * **Namespace in the wiki:** [[..:projects:2023:FIXME:]] * **The goal of the project:** FIXME * **Technology:** FIXME * **Description:** FIXME * **Links:** * FIXME