Research

Research overview

Interpretability

Currently I am working on the interpretability of machine learning algorithms. In a nutshell, state-of-the-art is achieved by quite complicated models such as deep neural networks, how can we understand why a particular decision is made by such a model? I am especially interested in providing theoretical guarantees for current interpretability methods, or pin-pointing failure cases when such guarantees cannot be found. Together with coauthors, I studied extensively LIME, arguably one of the most popular post hoc method. The image below is from this paper and shows what happens with a linear model on an image from MNIST. 

More recently, we showed that CAM-based methods can provably highlight parts of the image which are not used by the model. For instance, the image below shows how GradCAM behaves on a VGG-like model which does not see the lower part of the image (in red). The ears of the bear are highlighted, but never seen by the model. See my publications page for other related works, for instance we also looked into Anchors, another post-hoc interpretability method but with a rule-extraction flavor. 

Triplet-based learning

In Tübingen, I was working on something completely different, called triplet-based learning. Roughly speaking, a triplet comparison tells you that A is closer to B than to C, and machine learning is quite challenging when one only has such information. One thing we did was to propose and analyze a random forest algorithm in this setting, leveraging very neat geometrical ideas. The following picture is from the associated paper and shows the construction of the tree:

Change-point detection

In yet another life, I worked on change-point detection: given a stream of data, how can we detect that something changed suddenly? It is a surprisingly hard problem since there is no universal definition of "sudden." During my PhD, I studied a kernel-based algorithm for change-point detection. It works pretty well in some cases, here is a 20s snippet of inertial data from someone performing various tasks such as standing still, walking, and running, segmented by KCP: