Interactive Visualisation of Disentangled Representations (available)

Starting Date: June 2020
Duration: 6 - 8 weeks
Time commitment: Full-Time
Prerequisites: Strong interest in machine learning and/or data visualisation. Extensive Python programming experience. Familiarity with Jupyter Notebook, IPython and plotly. Basic understanding of PyTorch. Basic understanding of video/image processing in Python (opencv, PIL, etc). Familiarity with the PyGame module may be useful.

This project aims to develop an interactive visualisation toolkit based on existing technologies (IPython & Plotly) that will assist researchers in debugging and understanding complex models in the area of representation learning. Representation learning is a sub-field of machine learning that focuses on developing techniques for representing objects that exist in high-dimensional space (e.g. faces in images) in low dimensional space. An interesting problem in this context is that of constructing disentangled representations. A disentangled representation is one in which each dimension (degree-of-freedom) of the representation corresponds to a single high-level property of the objects (e.g. colour, position, geometry). Such representations are important in domains that are concerned with interpretability – medicine, robotics etc, but also have the potential to be used more widely in other interesting domains. In the context of disentangled representation learning, the student is tasked with: 1) Developing a simple test environment that has some high-level properties, for example, it might consist of an object whose position, or geometry can be manipulated by a user (not more than one week). 2) Developing a framework that allows high-level properties to be modified and visualised interactively in IPython. 3) Working with a PhD student to integrate support for visualising a learned (disentangled) representation of the environment and create a demo of the work. The project has a practical focus and will involve a lot of programming, including some hands on experience with deep learning in PyTorch. It will also give the student an opportunity to explore some advanced topics in machine learning that are typically not otherwise taught at undergraduate level .

For more information on representation learning see: