Open Projects

Projects are available on the following topics (not exclusive):

Image Analysis and Vision

Interpretable Deep Learning towards cardiovascular disease prediction

Cardiovascular disease (CVD) is the leading cause of death in most European countries and is responsible for more than one in three of all potential years of life lost. Myocardial ischemia and infarction are most often the result of obstructive coronary artery disease (CAD), and their early detection is of prime importance. This could be developed based on data such as coronary angiography (CA), which is an X-ray based imaging technique used to assess the coronary arteries. However, such prediction is a non-trivial task, as i) data is typically noisy and of small volume, and ii) CVDs typically result from the complex interplay of local and systemic factors ranging from cellular signaling to vascular wall histology and fluid hemodynamics. The goal of this project is to apply advanced machine learning techniques, and in particular deep learning, in order to detect culprit lesions from CA images, and eventually predict myocardial infarction. Incorporating domain specific constraints to existing learning algorithms might be needed.

References:

[1] Yang et al., Deep learning segmentation of major vessels in X-ray coronaryangiography, Nature Scientific Reports, 2019.

[2] Du et al., Automatic and multimodal analysis for coronary angiography: training and validation of a deep learning architecture, Eurointervention 2020.


Requirements:
Good knowledge of machine learning and deep learning architectures. Experience with one of deep learning libraries and in particular Pytorch is necessary.

Contact: [email protected]

 

Neural Architecture Search with Self-expanding Search Space

Building complex deep neural networks (DNN) is a costly and complex design process for researchers and developers. Neural architecture search (NAS) aims to automate the DNN design process by replacing human expertise with efficient optimization techniques such as Gradient Descent [1][2]. In NAS methods, the user defines a hyperparameter search space and the optimization framework picks candidate DNN architectures from this search space and trains them to evaluate their accuracy. Although NAS methods are capable of finding the best DNN architectures defined in a search space, they still require human expertise for defining the search space, which limits their practicality and effectiveness. In this project, we will study techniques to detect when a predefined search spaces is insufficient while performing an architecture search, and propose methods to modify the existing search spaces without interrupting the on-going processes. The aim of this project is to eliminate the limitations imposed by predefined search spaces and improve the accuracy and effectiveness of NAS methods.

References:

[1] Liu, Hanxiao, Karen Simonyan, and Yiming Yang. “Darts: Differentiable architecture search.” arXiv preprint arXiv:1806.09055 (2018).

[2] Wan, Alvin, et al. “Fbnetv2: Differentiable neural architecture search for spatial and channel dimensions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.


Requirements:
Good knowledge of Python, at least one machine learning course. Prior experience with Pytorch would be a plus.

Contact: [email protected]

 

Error Consistency between Humans and Adversarially Robust DCNNs

Many studies [1,2] state that the properties of Robust Deep Convolution Neural Networks (DCNNs) such as representations and gradients are indeed close to those of human vision systems. In this project, we will study such similarities through the study of error consistency between Robust DCNNs and humans [3].

The main goal is to define an error consistency metric [3] to compare Robust DCNNs and humans. For adversarial samples, there comes a number of different variations in their construction:  the proposed metric should properly take these properties into consideration. Further, we will analyze the common errors in  both models  to understand the features that transfer across DCNNs to humans. Finally, using these features a new training scheme will be designed in order to build robust DCNN models.

References:

[1] Engstrom et al (2019). Adversarial Robustness as a Prior for Learned Representations.
[2] Kaur et al (2019). Are Perceptually-Aligned Gradients a General Property of Robust Classifiers?
[3] Geirhos et al (2020). Beyond accuracy: quantifying trial-by-trial behavior of CNNs and humans by measuring error consistency.

Requirements:
Good knowledge of Python and Pytorch.

Contact: [email protected]

Understanding and improving architectures in positional encoded visual representations

Representing complex visual objects such as 3D scenes, shapes, or volumes using a single neural network has recently shown impressive results in complex computer vision tasks such as view synthesis, or 3D shape reconstruction. The key for the success of this technique lies in the choice of architecture of the encoding network. Specifically, it has been shown that only certain types of networks can learn to faithfully represent the high frequency details of the encoded objects. However, we still do not understand why they can do so.
The goal of this project is therefore to explore and analyze the reasons behind the success of certain architectures in encoding complex visual objects, and if possible, propose ways to improve upon them. The main focus of the project will be on the experimental side, but a certain degree of theoretical curiosity would be very helpful.

References:.
[1] Sitzmann et al., “Implicit Neural Representations with Periodic Activation Functions”, NeurIPS 2020.
[2] Tancik et al., “Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains”, NeurIPS 2020.
[3] Mildenhall et al. “NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis”, ECCV 2020
[4] Ortiz-Jimenez et al. “Neural Anisotropy Directions”, NeurIPS 2020

Requirements:
Good knowledge of Python, sufficient familiarity with computer vision and deep learning. Experience with JAX or other deep learning library is a plus.

Contact: [email protected] and [email protected]

Input dimensionality meets robustness

Neural networks have been shown to be vulnerable to imperceptible crafted perturbations, or adversarial perturbations [1]. In image classification, it has been shown that making networks resistant to these perturbations is equivalent to making them prioritise features that are more interpretable, or “robust features” [2]. On the theoretical side, there are works that give bounds for the error added by these perturbations that depend on the input dimensionality [3]. Is it possible to train robust models by reducing the input dimensionality? In the process of doing that, can we remove non-robust features that may make the model more sensitive to adversarial perturbations?

The goal of the project will be to answer the aforementioned questions in order to gain a better understanding on the principal factors that promote robustness. Empirical results on the robustness of neural networks for different datasets suggest that input dimensionality could be an important factor. By understanding how much of that difference is due to the inherent difficulty of the classification problem or the high dimensionality of the input space, eventually it could open the ability of training models that are more efficient in time and memory complexity and more robust than their counterparts.

References:
[1] Szegedey et al., “Intriguing properties of neural networks”, ICLR 2014.
[2] Ilyas, Andrew et al. 2019. “Adversarial Examples Are Not Bugs, They Are Features.” In Advances in Neural Information Processing Systems 32, eds. H. Wallach et al. Curran Associates, Inc., 125–136
[3] Yin, Dong, et al. 2019. “Rademacher Complexity for Adversarially Robust Generalization.”

Requirements:
Good knowledge of Python or MATLAB. Experience with any deep learning library, and sufficient familiarity with machine learning, neural architectures, and image processing.

Contact: [email protected] and [email protected]

Exploiting adversarial examples for computer vision tasks

Even when neural networks perform very well on a task, they are still extremely vulnerable to carefully crafted alterations of their input data known as adversarial perturbations [1]. Methods that construct these perturbations are generally referred to as attacks, and those that protect against adversaries as defences.
Recently, some authors have shown that, besides improving robustness, some of these defences also enhance the interpretability of neural networks and their performance on downstream computer vision tasks [2].
The goal of this project is to further explore this idea and develop state-of-the-art robust models that can be used for several computer vision tasks like image generation, inpainting or denoising.

References:
[1] Szegedey et al., “Intriguing properties of neural networks”, ICLR 2014.
[2] Santurkar et al., “Image Synthesis with a Single (Robust) Classifier”, NeurIPS 2019.

Requirements:
Good knowledge of Python, sufficient familiarity with computer vision and deep learning. Experience with PyTorch or other deep learning library is a plus.

Contact: [email protected] and [email protected]

Eliminating background features in image classification

Deep neural networks are powerful models that achieve impressive performance in various tasks and fields. Nevertheless, the actual features that these networks learn and use for making decisions are quite brittle, and do not necessarily coincide with the ones that humans use [1]. Recently, it has been found out that in object recognition, such spurious features in the data can actually lie on the background of the image: the networks tend to use and overfit on brittle features that lie on irrelevant regions of the image, rather than on the actual object of interest [2]. As a result, although current DNNs work very well on very large-scale datasets, their dependency on spurious features leads to a very low robustness to small data distribution shifts.
In this project, we aim to design novel methods for identifying, understanding, and eventually eliminating such irrelevant features that live on the background of the image, with the ultimate goal being to submit our method to the “Backgrounds Challenge” [3] and beat the state of the art.

References:

[1] Ilyas et al., “Adversarial examples are not Bugs, they are Features”, NeurIPS 2019.
[2] Xiao et al., “Noise or Signal: The role of image backgrounds in object recognition”, ICLR 2021.
[3] “Backgrounds Challenge”, https://github.com/MadryLab/backgrounds_challenge

Requirements:

Good knowledge of Python. Sufficient familiarity with machine learning, neural networks, and image processing. Experience with PyTorch is a plus.

Contact: [email protected]

Defending against black-box attacks on image classifiers

Despite the undeniable success of deep neural networks, their high vulnerability to adversarial perturbations [1] is a very critical and timely issue in domains such as security, personalized medicine or autonomous systems. From a security perspective, such adversarial perturbations can be easily constructed by an adversary (attacker) even in the black-box settings, where the attacker has no access to the neural network, except from the network’s produced output for a corresponding input image [2, 3]. In fact, the black-box settings represent the most realistic scenario of an adversarial attack, and the easiness of misleading state-of-the-art classifiers raises big concerns regarding potential failure modes in real life applications.
In this project, we aim to play the role of the “defender”: by understanding the weaknesses of current black-box attacks, we aim to design novel methods that are able to improve the robustness of the classifiers, and make them resilient to small and imperceptible manipulations of their input data.

References:


[1] Szegedey et al., “Intriguing properties of neural networks”, ICLR 2014.
[2] Brendel et al., “Decision-based adversarial attacks: reliable attacks against black-box machine learning models”, ICLR 2018.
[3] Chen et al., “HopSkipJumpAttack: A query-efficient decision-based attack”, IEEE SP 2020.

Requirements:

Good knowledge of Python and PyTorch. Good familiarity with machine learning, neural networks, and image processing.

Contact: [email protected]

Vision systems for robotics

In the field of robotics and automation, one of the major goals is to design robots and algorithms that can efficiently and safely interact with humans in daily tasks that include object manipulation and handovers of unseen objects [1]. Such systems highly depend on the fusion of multimodal signals captured from a variety of sensors, but vision is probably one of the most important modalities, thanks to the current breakthroughs of deep learning. However, vision algorithms face many difficulties due to their sensitivity to natural changes in the scene (i.e., luminosity variations), occlusions, and transparency, and do not necessarily work well on every task and dataset. In fact, estimating various physical properties of previously unseen data without any priors can be quite challenging [2].

In this project we want to evaluate the state-of-the-art vision systems used in the field of robotics, understand their limitations, and eventually design new models that are interpretable and can generalize to novel datasets.

References:

[1] Sanchez-Matilla et al., “Benchmark for Human-to-Robot Handovers of Unseen Containers With Unknown Filling”, RA-L 2020.
[2] Xompero et al., ” Multi-view shape estimation of transparent containers”, ICASSP 2020.

Requirements:

Good knowledge of Python and image processing. Sufficient familiarity with machine learning and neural architectures. Experience with PyTorch or TensorFlow is a plus.

Contact: [email protected]

Investigation of Deep Convolutional Neural Networks on the Information Plane

With their success and wide application areas, there is an urge for a comprehensive understanding of learning with Deep Convolutional Neural Networks (DCNNs). There is a recent approach [1,2] that studies the information paths of Deep Neural Networks (DNNs) in the information plane, where the joint distribution of the input and output of each layer is plotted against their mutual information throughout the learning procedure. Despite bringing a new perspective and revealing details about the inner working of DNNs, these two papers experiment only with very small-scale fully-connected feedforward networks for classification, which leads to easy computations for distributions. To adapt this framework to real-world problems, one needs to apply estimation methods to compute mutual information and required distributions for the analysis. The aim of this project is to analyze simple but more realistic DCNNs, like LeNet-5 [3], in the information plane by finding and applying proper and efficient estimation techniques. Possible extension would be to examine how skip connections [4] or routing between capsules, which are groups of neurons proposed in [5] to achieve equivariance, contribute to learning process.

[1] Tishby, N., & Zaslavsky, N. (2015, April). Deep learning and the information bottleneck principle. In Information Theory Workshop (ITW), 2015 IEEE (pp. 1-5). IEEE.
[2] Shwartz-Ziv, R., & Tishby, N. (2017). Opening the Black Box of Deep Neural Networks via Information. arXiv preprint arXiv:1703.00810.
[3] LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278-2324.
[4] He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
[5] Sabour, S., Frosst, N., & Hinton, G. E. (2017). Dynamic Routing Between Capsules. In Advances in Neural Information Processing Systems (pp. 3857-3867).

Requirements:
Sufficient familiarity with machine learning and probability. Experience with one of deep learning libraries and good knowledge of the corresponding coding language (preferably Python).

Contact: [email protected]

Interpretable machine learning in personalised medicine

Modern machine learning models mostly act as a black box and their decisions cannot be easily inspected by humans. To trust the automated decision-making, we need to understand the reasons behind predictions, and gain insights into the models. This can be achieved by building models that are interpretable. Recently, different methods have been proposed for data classification, such as augmenting the training set with useful features [1], visualizing the intermediate features in order to understand the input stimuli that excite individual feature maps at any layer in the model [2-3], or introducing logical rules in the network that guide the classification decision [4], [5]. The aim of this project is to study existing algorithms, which attempt to interpret deep architectures by studying the structure of their inner layer representations, and based on these methods find patterns for classification decisions along with coherent explanations. The studied algorithms will most be considered in the context of personalised medicine applications.

[1] R. Collobert, J. Weston, L. Bottou, M. M. Karlen, K. Kavukcuoglu, and P. Kuksa, “Natural language processing (almost) from scratch,”J. Mach. Learn. Res., vol. 12, pp. 2493–2537, Nov. 2011.
[2] K. Simonyan, A. Vedaldi, and A. Zisserman, “Deep inside convolutional networks: Visualising image classification models and saliency maps,” arXiv:1312.6034, 2013.
[3] L. M. Zintgraf, T. S. Cohen, T. Adel, and M. Welling, “Visualizing deep neural network decisions: Prediction difference analysis,” arXiv:1702.04595, 2017.
[4] Z. Hu, X. Ma, Z. Liu, E. Hovy, and E. Xing, “Harnessing deep neural networks with logic rules,” in ACL, 2016.
[5] Z. Hu, Z. Yang, R. Salakhutdinov, and E. Xing, “Deep neural networks with massive learned knowledge,” in Conf. on Empirical Methods in Natural Language Processing, EMNLP, 2016.

Requirements:
Familiarity with machine learning and deep learning architectures. Experience with one of deep learning libraries and good knowledge of the corresponding coding language (preferably Python) is a plus.

Contact: [email protected]

Conditional Wassertein GANs for Video Prediction
Project Capability of future prediction requires an in-depth understanding of the physical and causal rules that govern the world. Despite having appealing applications as robotic planning or representation learning, predicting raw observations, such as video frames, is inherently challenging due to high dimensionality of the data, as well as the difficulty of modelling the uncertainties. The first attempts to solve prediction problem lacked the ability to generate different plausible frames due to the deterministic nature of the proposed schemes. Recently, two different approaches have dominated the literature: i) modelling latent variables as probability distributions to model the stochasticity (VAE-like approaches), ii) using adversarial training to improve the quality of the generated frames (GAN-like approaches). Many works from both tracks use the stochastic variable as an input the generator by sampling from a learned distribution, independently throughout time.

We would like to model the stochasticy that is conditioned not only on the input data, e.g. available frames, but also on the previously sampled variables, hence generated frames. Such a framework requires the derivation of a loss function where the inference of the latent distribution might have some Markovian characteristics. The proposed framework will be analysed in a video frame prediction application.

References:
[1] Wasserstein Autoencoders: https://arxiv.org/pdf/1711.01558.pdf
[2] Stochastic Adversarial Video Prediction: https://arxiv.org/pdf/1804.01523.pdf
[3] Sequential Neural Models with Stochastic Layers: https://arxiv.org/pdf/1605.07571.pdf Requirements: Fundamentals of linear algebra, fundamentals of image processing, basic knowledge of deep learning and machine learning, Python, PyTorch or TensorFlow.

Contact: [email protected]

Image/Video Coding and Communication

3D Point cloud compression for virtual and augmented reality

In order to make virtual and augmented reality more immersive, new methods need to be developed for processing three-dimensional data with higher resolution. In particular, one major challenge is the memory that 3d data requires: a simple 3d scan of a body in high resolution (1024x1024x1024) already takes around 6 Gigabytes in memory. There is therefore a lot of interest in developing methods for point cloud compression.

Existing methods either use codec for video compression (by projecting the point cloud on a set of planes, and compressing a video of these projections) or use a fixed rule (the octree decomposition) which does not depend on the statistics of the data. In this project we propose to develop learning-based compression instead, as it should be able to achieve better compression rates by exploiting the data structure. In particular, we will explore deep learning methods using neural networks that have recently been designed for point clouds.

The project consists of the following steps:

  1. The student will study and become familiar with the current point cloud compression techniques, and current learning-based image compression techniques.
  2. He/she will design and implement an end-to-end architecture for learning an optimized compression transform for point clouds; and
  3. Finally, he/she will compare the proposed approach to the current video-based and geometry-based approaches for point cloud compression.

Requirements:

Good knowledge of Python, at least one machine learning course. Prior experience with Pytorch would be very useful.

References:

[1]: Ballé, J., Laparra, V., & Simoncelli, E. P. (2015). Density modeling of images using a generalized normalization transformation. arXiv preprint arXiv:1511.06281.

[2] Schwarz, Sebastian, et al. “Emerging MPEG standards for point cloud compression.” IEEE Journal on Emerging and Selected Topics in Circuits and Systems 9.1 (2018): 133-148.

Contact: [email protected]

Omnidirectional Imaging meets Graph neural networks

Nowadays, cameras which allow capturing omnidirectional (i.e. 360°) images and video sequences have started to appear as commercial products.  Omnidirectional images can be seen as a 360° viewing sphere, since the real-world environment surrounding the camera is captured in all directions. In order to be processed with widely-spread deep learning methods designed for standard rectangular planar images, the viewing sphere is often mapped to a plane, resulting in a so-called panoramic image [3]. Mapping a sphere to a plane, however, brings distortions that directly impact the performance of such methods.  The alternative to this approach is to process the signal directly in its original spherical domain or as a spherical graph.  Following the latter approach, the goal of this project is to explore graph neural networks for learning tasks on omnidirectional images.  The specific task to be explored in the scope of the project can be based on the student’s interests, e.g., object/face detection, compression, visual quality assessment, or superresolution.

References:
[1] Xu, M., Li, C., Zhang, S., & Le Callet, P. (2020). State-of-the-art in 360 video/image processing: Perception, assessment and compression. IEEE Journal of Selected Topics in Signal Processing, 14(1), 5-26.

[2] Wu, Z., Pan, S., Chen, F., Long, G., Zhang, C., & Philip, S. Y. (2020). A comprehensive survey on graph neural networks. IEEE Transactions on Neural Networks and Learning Systems.

Requirements:
Good knowledge of Python and Pytorch.

Contact: [email protected]

Graph and Network Signal Processing and Analysis

Distributed Semi-Supervised Learning

The objective of this project is to design an algorithm for distributed semi-supervised classification. We will distributively learn a mapping from data points to their corresponding labels, considering that only a few labels are known. The data points are distributed in nodes that can only communicate with neighbours in a network in order to perform computations. We will use the data points to learn the structure of the network in a distributed way and eventually estimate the labels in order to satisfy pre-defined network data models. 

References:

[1] Distributed signal processing via Chebyshev polynomial approximation. Shuman, David I., et al. IEEE Transactions on Signal and Information Processing over Networks 4.4 (2018): 736-751
[2] Learning graphs from data: A signal representation perspective. Dong, Xiaowen, et al. IEEE Signal Processing Magazine 36.3 (2019): 44-63.

Requirements: 
 
Knowledge or experience on: Programming (Python preferred), Machine Learning, Signal processing. Knowledge about Graph signal processing and distributed algorithms, is a plus.
 
 

Learning multi-graph representations for classification

Deep learning algorithms have been shown to obtain successful results in computer vision, acoustic modeling and NLP tasks by exploiting the local stationarity and multi-scale compositional structure. However, the application of these algorithms to many examples of data that lack underlying grid structure, hence, can be efficiently represented by graphs, is not trivial and remains mostly an open problem. On the other hand, first attempts to use “convolutional” and “compositional’ structures for graph analysis, such as Graph Convolutional Networks [1] or Graph Attention Networks [2] have shown promising yet limited success for different problems.

This project deals with a scenario where a data can be represented by multiple graphs, each of which has a different number of nodes and different topology. It will be a hands-on experience for exploring different algorithms for learning node (such as [3,4]) and graph (as in [5,6]) representations as well as combining representations from multiple graphs for a possibly end-to-end differentiable classification task.

References:

[1] Semi-Supervised Classification with Graph Convolutional Networks. Kipf, Thomas N and Welling, Max. arXiv preprint arXiv:1609.02907, 2016 (blogpost).
[2] Graph attention networks. Veličković, P., Cucurull, G., Casanova, A., Romero, A., Lio, P., & Bengio, Y. arXiv preprint arXiv:1710.10903, 2017.
[3] Inductive Representation Learning on Large Graphs. W.L. Hamilton, R. Ying, and J. Leskovec arXiv:1706.02216 [cs.SI], 2017.
[4] On the choice of graph neural network architectures.Vignac, C., Ortiz-Jiménez, G., & Frossard, P. arXiv preprint arXiv:1911.05384, 2019.
[5] Hierarchical graph representation learning with differentiable pooling. Ying, Z., You, J., Morris, C., Ren, X., Hamilton, W., & Leskovec, J. NIPS 2018.
[6] iPool–Information-based Pooling in Hierarchical Graph Neural Networks. Gao, X., Xiong, H., & Frossard, P. arXiv preprint arXiv:1907.00832, 2019.

Requirements: 
 
Good knowledge of Python and possibly PyTorch; sufficient familiarity with machine learning, graph signal processing, and optimization.
 
 

Increasing the Robustness of DNNs using Optimal Transport

Deep Neural Networks have achieved state-of-the-art performance in many tasks. However they have been shown to be vulnerable to small perturbations to the data. 

In this project we will investigate how techniques from scaling Optimal Transportation to high dimensional data can be used in order to increase the robustness of such machine learning models. An entropic regularisation to the Optimal Transport problem has been proposed which constitutes the OT a differentiable problem with more stable solutions. We will exploit the differentiable properties of the entropy-regularized transportation problems and study their robustness with respect to different forms of perturbations.

References:

[1] Optimal mass transport: Signal processing and machine-learning applications, S. Kolouri, SR Park, M Thorpe, D Slepcev, GK Rohde – IEEE signal processing magazine, 2017
[2] Sinkhorn distances: Lightspeed computation of optimal transport, M. Cuturi – Advances in neural information processing systems, 2013

Requirements: 
 
Good knowledge of Python and Pytorch.
 
 

Distributed Graph Signal Processing under Communication Constraints

The field of graph signal processing provides many powerful tools to process signals residing on irregular structures. In order to distribute [1] the necessary computations for applications like inference or learning on networks, the graph’s nodes need to communicate by exchanging messages. Such communication has realistic constraints, which limit the performance of the distributed algorithms. In our previous work [2], we proposed a distributed graph filtering algorithm that bounds the size of transmitted messages and we optimised the bit allocation for nodes and steps of a graph filtering process, thereby decreasing the total quantisation error under communication constraints.

The objective of this project is to explore other quantisation strategies that generalise to very low bit rate settings. In this case, uniform quantization in particular is suboptimal, and more adaptive strategies need to be developed. The objective of this project is to explore different quantisation schemes, and validate their performance in constrained environments that are representative of realistic settings. 

References:

[1] D. I. Shuman, P. Vandergheynst, D. Kressner, and P. Frossard, “Distributed signal processing via chebyshev polynomial approximation,” IEEE Transactions on Signal and Information Processing over Networks, vol. 4, no. 4, pp. 736–751, Dec 2018.
[2] Nobre, I. C. M., & Frossard, P. (2019). Optimized Quantization in Distributed Graph Signal Filtering. arXiv preprint arXiv:1909.12725.
[3] B. Widrow, I. Kollar, and Ming-Chang Liu, “Statistical theory of quantization,” IEEE Transactions on Instrumentation and Measurement, vol. 45, no. 2, pp. 353–361, April 1996. 


Requirements: 
 
Knowledge or experience on: Programming (Python preferred), Probability, Signal processing. Knowledge about Graph signal processing, Quantization, or Rate-Distortion/Information theory, is a plus.
 
 

Quantization for Distributed Graph Learning

We are surrounded by data, and many times there is an irregular structure, or network, that describes this data. This structure is useful for data processing, analyses and interpretability, and in some situations, it is unavailable. The problem of Graph Learning is responsible for learning the structure from data. The distributed implementation of a graph learning algorithm may lower the communication cost of the messages transmitted by the nodes that contain the data. Such communication has realistic constraints, limiting the performance of the algorithm. The objective of this project is to study the effects of quantization in the performance of a distributed graph learning algorithm. The student can either propose an optimal quantization scheme or propose a distributed graph learning algorithm that is robust to a simple quantization scheme.

References:

[1] Dong, Xiaowen, et al. “Learning graphs from data: A signal representation perspective.” IEEE Signal Processing Magazine 36.3 (2019): 44-63.
[2] Nobre, I. C. M., & Frossard, P. (2019). Optimized Quantization in Distributed Graph Signal Filtering. arXiv preprint arXiv:1909.12725.

Requirements: 
 
Knowledge or experience on: Programming (Python preferred), Machine Learning, Signal processing. Knowledge about Graph signal processing and distributed algorithms, quantization and information theory is a plus.
 
 

Epileptic Seizure detection and forecasting

Epilepsy is a medical condition affecting over 60 million individuals worldwide, one third of whom suffer unpredictable recurrent seizures despite treatment. Reliable detection and forecasting of seizures by continuous non-invasive monitoring of patients in their daily routine activities would allow to take immediate actions to protect them from potential severe consequences of seizures.

In the context of an ambitious interdisciplinary project about ‘Personalized Detection of Epileptic Seizures in the Internet of Things (IoT) Era’, we propose projects that will study machine learning (ML) solutions to detect and predict seizures, out of data such as heart rate (HR) or electroencephalography (EEG), for example, or a combination of different types of data. The main goal of the project is to deliver personalised seizure detection and/or forecasting algorithms, with a specific focus on the interpretability aspect for the ML part.

Requirements: 
 
Knowledge of matlab or python; knowledge of machine learning, statistics or signal processing.
 
 

Learning

Deep learning based molecule generation

The design of an algorithm that can synthesize new drugs for a given disease would of course be a major milestone for deep learning. It raises however major challenges, and may not be achievable in the short term. Yet, a simpler algorithm that would simply suggest a set of molecules that are potentially active would already be of major interest. There are indeed millions of potential molecules, and chemists cannot try them all experimentally.

The goal of this project is therefore to explore deep learning methods for generating molecules. While several methods already exist, they do not really exploit the structure and symmetries of molecules which may explain why they do not perform very well. In this project, we propose to model molecules as a graph of atoms, which allows us to view the problem as graph generation and to use appropriate tools (such as graph neural networks). Several projects on this topic are available, depending on the student’s interest. While some allow to experiment with real data fast, other require more exploration of topics such as graph theory or probabilistic models.

Requirements:

Good knowledge of Python, at least one machine learning course. Prior experience with Pytorch would be very useful.

Contact: [email protected]

Learning similarity metric for video reconstruction

Obtaining an unsupervised representation of sequential visual data can be crucial for any autonomous intelligent agent. One of the simplest schemes to learn an unsupervised representation is to encode the data under some constraints in such a way that the error between the reconstructed and input data is minimized.
The use of latent random variables with neural networks has been argued to model the variability observed in the data efficiently, as in Variational Autoencoders (VAE) [1] and their counterparts for sequential data, e.g., variational Recurrent Neural Networks (RNN) in [2] (an RNN is a type of neural network which includes an inner loop so that it performs the same task for every element). The aim for the first part of the project is to understand variational RNNs and use them for video reconstruction using simple moving MNIST dataset. Later, instead of element-wise errors, the student is expected to use another neural network structure to learn a similarity metric as the basis for the reconstructive objective, as done in [3] for VAEs.


References:
[1] Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114.

[2] Chung, J., Kastner, K., Dinh, L., Goel, K., Courville, A. C., & Bengio, Y. (2015). A recurrent latent variable model for sequential data. In Advances in neural information processing systems (pp. 2980-2988)

[3] Larsen, A. B. L., Sønderby, S. K., Larochelle, H., & Winther, O. (2015). Autoencoding beyond pixels using a learned similarity metric. arXiv preprint arXiv:1512.09300.


Requirements:
Good knowledge of Python, sufficient familiarity with machine learning and probability. Having experience with one of deep learning libraries (preferably Tensorflow) is a plus.

Contact: [email protected]

Adversarial examples to fool neural machine translation models

Neural Machine Translation (NMT) systems are currently employed to convert a sequence of words from a source language to a sequence of words in a target language. By using DNN models, recent NMTs perform very well, which has resulted in their growing usage in diverse areas. In spite of their promising performance, they are highly vulnerable to intentional or unintentional manipulations, which are called adversarial examples [1]. Although adversarial examples have been investigated in the field of computer vision [2] and some tasks of NLP, such as text classification [3], they have not been well studied for the NMTs.
The goal of this project is to devise methods to generate adversarial examples that can fool NMT systems, from simple sequence-to-sequence RNN models to popular pre-trained transformers.

References:

[1] Szegedey et al., “Intriguing properties of neural networks”, ICLR 2014.
[2] Sabour et al., “Adversarial manipulation of deep representations”, ICLR 2016.
[3] Zhang et al., “Adversarial attacks on deep-learning models in natural language processing: A survey”, ACM TIST, 2020.

Requirements:

Good knowledge of Python. Sufficient familiarity with machine/deep learning, and NLP systems. Experience with PyTorch or TensorFlow is a plus.

Contact: [email protected]

Adversarial examples meet interpretability of neutral language processing models

In recent years, with the emerging high computational devices, Deep Neural Networks (DNNs) have attracted tremendous attention in many different fields such as Natural Language Processing (NLP). Due to their exceptional performance, DNN models have been used in a wide variety of areas. However, DNN models, in general, are still a mystery. The interpretability of these models remains a question since they work as a black-box and their decision making is confusing. One way to understand the vulnerabilities of DNNs is by generating adversarial examples. Recently, the impact of adversarial examples on the performance of DNN models has been explored in the literature [1]. It has been shown that even quasi-imperceptible (even for humans) perturbations can interfere with the performance of the deep-learning-based methods and make them trigger erroneous output or even a wrong predefined output [2]. It seems that adversarial examples may help to better understand the feature extracted by the network and its decision making process [3].
While this idea has been investigated more in the field of computer vision, the thorough analysis of adversarial examples for better understanding of natural language processing models is lacking. In this project, we aim to design methods to generate adversarial examples for NLP models and use them to reveal the decision making process in these complex models.

References:

[1] Szegedey et al., “Intriguing properties of neural networks”, ICLR 2014.
[2] Moosavi-Dezfooli et al, “Universal adversarial perturbations”, CVPR 2017.
[3] Ilyas et al., “Adversarial Examples Are Not Bugs, They Are Features”, NeurIPS 2019.

Requirements:

Good knowledge of Python. Sufficient familiarity with machine/deep learning, and NLP systems. Experience with PyTorch or TensorFlow is a plus.

Contact: [email protected]

Neural Decoding in Fear Prediction

Brain disorders are unfortunately among the most common, yet not well understood diseases. Fascinating research has been developed in trying to understand the behaviour of the brain, to identify informative features out of brain recordings, to develop methods able to predict specific events or seizures, and to develop different forms of treatments. With the recent advent of AI and machine learning, a vast set of opportunities have arisen along with high expectations for new impactful discoveries.

In this project, we propose to focus on detecting and predicting fear, through EEG recordings of carefully designed experiments with rodents. This can be achieved by the design of proper machine learning methods and algorithms, that will be carefully adapted to the specific task at hand. The objective will be to learn about discriminative and informative features, and confront these findings with the recent results and theory in the field. Ultimately, the project objective resides in the accurate detection and prediction of fear through brain recordings.

References:

[1] Zhang et al., Identification of psychiatric disorder subtypes from functional connectivity patterns in resting-state electroencephalography, Nature Biomedical Engineering, volume 5, pages 309–323 (2021)
[2] Widge et al., EEG Biomarkers for Treatment Response Prediction in Major Depressive Illness, The American Journal of Psychiatry, 2019

Requirements:

Good machine learning background. Experience with one of deep learning libraries and in particular Pytorch is necessary.

Contact: [email protected]

 

Hands-on