If you’d like to know more about a certain topic, drop me an email. If I don’t respond within two days, please ping me.

All topics below involve a non-trivial amount of coding. For this reason, I prefer candidates who have experience with deep learning libraries (like pytorch, tensorflow and jax) and machine learning workloads (training models on data, optimizing hyperparameters, interpreting results, debugging in general). Please, be upfront about your prior experience, so as to avoid surprises down the line. It may be possible to tailor a project to your specific background.

ⓘ If you’d like to discuss your own idea, feel free to send me an email!


★ Improving Hierarchical Classification in NLP with Guarantees nesy

Hierarchical classification is a tough machine learning task: given a sentence or a document we want to predict multiple, related labels. For instance, we may want to categorize reviews of Amazon products into classes such as “Electronics”, “Toys”, “Plushies”, “Dog Plushies”, “Seal Plushies”. The issue is there are many target classes, but also that they are related. If a model predicts “Dog Plushies”, it cannot predict “Electronics”. Moreover, if it predicts “Plushies”, it also has to predict either “Dog Plushies” or “Seal Plushies”. Violating these so-called hierarchical constraints could make predictions unusable.

We want to smartly integrate the latest findings from Neuro-Symbolic integration into hierarchical NLP classifiers so as to improve their ability of satisfying hierarchical constraints. Existing models are far from perfect, and we know we can do better.

Preliminary code and data are available.

★ Debugging models with LLMs xai llm

Machine learning models – including regular neural networks, CBMs, and neuro-symbolic architectures – learned from data tend to exploit quirks of the data itself. Even if the model looks sensible on the surface, there is a chance it has misunderstood some essential aspect of the prediction problem, e.g., what features to use, how to embed the data, how to use the features/embeddings for prediction.

Typical solutions include unsupervised penalties that aim to prevent models from misunderstanding something (but these often have limited success) or asking experts to inspect and fix the models themselves (but, despite being effective, doing so is expensive).

We want to assess whether some fo the heavy lifting can be carried out by LLMs. There are several sub-questions worth answering: 1) Are LLMs able to spot likely bugs? 2) If so, what kinds of corrective information can we glean from LLMs? 3) Is this information always good, or should we be careful with replacing experts with LLMs?

Requires further thinking and expertise with LLM prompting.

★ Integrating Causal and Formal Explainability xai

Explainable AI develops techniques for understanding the inner workings of machine learning models. Out of the (very many) existing techniques, two particular clusters stand out: causal XAI and formal XAI. Causal approaches leverage ideas from the theory of causality to formalize the explanation process, making it possible also to integrate causal models of how the world works to produce more actionable explanations. Formal approaches neglect actionability, but provide guarantees about the properties of the explanations they produce.

The idea is to take the best of the two fields and come up with algorithms that produce actionable causal explanations with guarantees.

Requires further thinking and some understanding of automated reasoning (satisfiability) or, alternatively, mathematical optimization (linear programming and beyond).

★ Are GNN Explanations Understandable? xai

Graph Neural Networks take a graph – representing, for instance, a molecular structure or relational data – and produce a prediction for the graph as a whole or for its elements (nodes, edges, etc.). Researchers explain GNN predictions by attempting to identify a specific sub-graph of the input graph that is somehow causally responsible for the prediction itself. A multitude of techniques for doing so exist.

We want to understand whether this sub-graphs can indeed play the role of explanations: do stakeholders understand them at all? Can they make use of them for replicating and anticipating the model’s reasoning?

Requires some thinking and expertise with GNNs.

★ Self-Explainable GNNs with Reliable Explanations xai

Graph Neural Networks (GNNs) are powerful black-box models designed for handling relational data. Self-explainable GNNs (SEGNNs) are GNNs capable of natively explaining their own predictions. Explanations take the form of sub-graphs of the input that are – at least on paper – sufficient to justify the GNN’s prediction.

Recent works have shown that, however, SEGNNs can output explanations that – in some very specific sense – lie about what the model is in fact thinking. These go under the moniker of “degenerate explanations”. This project aims at implementing mitigation strategies for degenerate explanations; we have some ideas about how this could be accomplished by modifying the training procedure.

Initial code and data are available.

★ Help Users be Skeptical of Models iml xai

Machine learning models, including LLMs, can be made to explain their own predictions and suggestions. It is entirely possible that, however, these explanation are lies: they do not faithfully represent the reasons why the model produced the prediction in the first place. One way of figuring out whether they are lies or not, is to wait for the next time the model has to handle a similar decision and checking whether its behavior on this new instance is consistent with the explanation it declared in the past. So far, so good.

The issue is that people cannot be trusted to carry out this check correctly: they may have forgotten the past case or the model’s explanation, or they may be unable to figure out whether the explanation applies to the new case.

We want to design a support system that can automatically recover past model explanations and present them to users whenever they ask the model to help them with a similar decision. This would enable users to recognize unreliable models and explanations.

No code/data are available, requires some thinking.