Research
My work is organised around three recurring problems.
Information retrieval and representation
My PhD research studied compact representations for large-scale retrieval: how to preserve useful neighbourhoods while replacing expensive comparisons with a small number of learned bits. I have since applied related ideas to text streams, cross-modal search, source code, and modern embedding systems.
Reliable AI systems
I work on AI systems that operate under constraints which are often absent from benchmark evaluations: sensitive data, audit requirements, changing distributions, latency limits, and costly failures. This includes code intelligence, anomaly detection, federated learning, machine unlearning, and evaluation methods for language-model systems.
Efficient and interpretable learning
A separate line of work asks when a well-chosen operator can replace a larger, less interpretable model. DeepLPF learns local parametric filters, CURL turns colour curves into differentiable layers, and SIDGAN generates training data where paired low-light video is unavailable.