Associate Professor, Department of Computer Science
Co-Director, Centre for Artificial Intelligence Research
University of Cape Town
My broad research area can be categorised as designing components and architectures for adaptive and cognitive systems. AI techniques, such as machine learning, agent based systems, Bayesian networks and more broadly probalistic graphical models, and ontologies can be used for automatic model learning, knowledge discovery and knowledge evolution in dynamic, complex (but bounded) physical or social environments. Examples of such systems include modeling and predicting the weather over some region, understanding the dynamics of a stock market, analysing patterns of household energy consumption behaviour in a country, monitoring and controlling indoor air quality, or learning models for individualised health care. Typically, sensors embedded in these systems continuously generate observational data which allows us to gain some insight into the dynamics, i.e. the key processes and patterns that drive the system.
Topic 1 - Spatial-temporal modelling
A number of deep learning architectures have emerged recently for spatial-temporal modeling and prediction. These models, e.g.  are designed to model both temporal and spatial patterns and can be used for discovering insights into complex and erratic systems. It can also serve as a powerful tool for automated analyse of observations emanating from sensor networks deployed in such systems. Analysis tasks will include anomaly detection, data fusion and situation analysis.
Topic 2 – Change and novel pattern detection in time series data
While time series modelling is an established area of research , the use of deep learning techniques for time series analysis is still an emerging area of research. Much of the work has been on next step prediction using point data. Open challenges include change pattern representation, anomaly detection and the identification of new or novel patterns in the data. Some work has been done in this area, e.g. , but there are many open questions in terms of understanding to what extent sequential modelling techniques from deep learning can be used for pattern recognition in time series problems. A link to our recent paper in this area can be found here .
Topic 3 – Automatic machine learning
Bayesian optimisation has emerged as a leading technique for solving the combined algorithm and hyper parameter optimisation (CASH) problem . However, other approaches that use traditional optimisation techniques from evolutionary computing methods and reinforcement learning for neural architecture search (NAS) have also shown promise in this area. This is a cross cutting topic and can either be a standalone topic or aspects of this can be introduced in topics 1 and 2 or vice versa. A link to our recent paper in this area can be found here .
Topic 4 – Adaptive and cognitive agents and systems
While significant progress has been made in different branches of AI, e.g. machine learning, the design of real world systems that incorporate different AI techniques to deliberate about and adapt to erratic and changing environments remains an open challenge. Developing and deploying ML systems is relatively fast and cheap, but maintaining them over time is difficult and expensive . From a software engineering perspective, the intelligent agent paradigm and agent oriented programming is a well established research area, but has not been widely adopted for designing and developing ML systems which are often developed in an adhoc piece meal fashion in practise. Architectures have also been proposed for intelligent monitoring systems e.g. . Next generation intelligent systems will combine techniques from different branches of AI, including intelligent agents, machine learning, Bayesian networks, ontology driven and rule based information systems. This topic will review and analyse research into agent oriented software engineering, intelligent systems, cogntive agents and architectures proposed in artificial general AI (AGI), towards developing reusable architectural patterns, frameworks and methodologies that can facilitate the design and development of intelligent systems. This is a cross cutting topic and can either be a standalone topic or aspects of this can be introduced in topics 1,2 and 3 or vice versa.